You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Contributing.md
+3-8Lines changed: 3 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,11 +18,10 @@ We follow the [NumFOCUS code of conduct](https://numfocus.org/code-of-conduct).
18
18
# Adding new packages via pull requests
19
19
You can open a pull request that will get build automatically in our CI.
20
20
21
-
An example can be found [here](https://github.com/RoboStack/ros-humble/pull/257). Simply add the required packages to the `vinca_*.yaml` files, where the * indicates the desired platform (linux_64, osx, win or linux_aarch64). Ideally, try to add packages to all of these platforms. The name of the package is accepted both with underscores and dashes as word separators, but it is suggested to type the name of the package exactly as https://index.ros.org knows it.
22
-
23
-
Sometimes, it may be required to patch the packages. An example of how to do so can be found in [this PR](https://github.com/RoboStack/ros-noetic/pull/32).
21
+
An example can be found [here](https://github.com/RoboStack/ros-humble/pull/257). Simply add the required packages to the `vinca_*.yaml` files, where the `*` indicates the desired platform (`linux_64`, `linux_aarch64` (for ARM processors), `osx_64` (old Intel Macs), `osx_arm64` (Apple Silicon), or `win`). Ideally, try to add packages to all of these platforms. The name of the package is accepted both with underscores and dashes as word separators, but it is suggested to type the name of the package exactly as https://index.ros.org knows it.
24
22
25
23
## Creating a new patch file
24
+
Sometimes, it may be required to patch the packages. An example of how to do so can be found in [this PR](https://github.com/RoboStack/ros-noetic/pull/32). Generating the patch can be done as follows:
26
25
27
26
1. Modify the `vinca_*.yaml` file, but just adding the package you want to create the patch for
28
27
2. Run `pixi run build`. This will either succeded it the package can be built without any patch, or fail if a patch is required to actually build the package.
@@ -67,11 +66,7 @@ pixi run build
67
66
68
67
- The `vinca_*.yaml` files specify which packages should be built.
69
68
- Add the desired package under `packages_select_by_deps`. This will automatically pull in all dependencies of that package, too.
70
-
- The `vinca_*.yaml files contain lots of commented-out package names. That is okay. Not all packages need to be rebuilt with every pull request. Do not be afraid if you see your package commented out after some time - it just means it is not being built now. Probably it will be built with next full rebuild. Full rebuilds happen occasionally (few times a year).
71
69
- Note that all packages that are already build in one of the channels listed under `skip_existing` will be skipped.
72
-
- If you want to manually skip packages, you can list them under `packages_skip_by_deps`.
73
-
- If you set`skip_all_deps` to `True`, you will only build packages listed under `packages_select_by_deps` but none of their dependencies.
74
70
- The `packages_remove_from_deps` list allows you to never build packages, even if they are listed as dependencies of other packages, by removing them from the dependencies of other packages. We use it fore.g. the stage simulator which is not availablein conda-forge, but is listed as one of the dependencies of the ros-simulator metapackage.
75
-
- If you want to rebuild a package (for example because it had a problem forwhich you added a patch), set it build number explicitlyin the `pkg_additional_info.yaml` file. Note that this will not update the package, unless the `rosdistro_snapshot.yaml` file is also updated (and that tipically happens only for full rebuild)
76
-
- If the package does not build successfully out of the box, you might need to patch it. To do so, create a new file `ros-$ROSDISTRO-$PACKAGENAME.patch`in the `patch` directory (replace `$PACKAGENAME` with the name of the package, and replace any underscores with hyphens; and replace `$ROSDISTRO` with the distro name, for example `humble`). You can also use platform specifiers to only apply the patch on a specific platform, e.g. `ros-$ROSDISTRO-$PACKAGENAME.win.patch`.
71
+
- If you want to rebuild a package (for example because it had a problem forwhich you added a patch), set it build number explicitlyin the `pkg_additional_info.yaml` file. Note that this will not update the package, unless the `rosdistro_snapshot.yaml` file is also updated (and that typically happens only for full rebuild)
77
72
- The `robostack.yaml` and `packages-ignore.yaml` files are the equivalent of the [rosdep.yaml](http://wiki.ros.org/rosdep/rosdep.yaml) and translate ROS dependencies into conda package names (or in the case of the dependencies listed in`packages-ignore.yaml` the dependencies are ignored by specifying an empty list).
0 commit comments