Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ros2/choco-packages
Chocolatey package configurations for upstream dependencies
https://github.com/ros2/choco-packages
Last synced: about 1 month ago
JSON representation
Chocolatey package configurations for upstream dependencies
- Host: GitHub
- URL: https://github.com/ros2/choco-packages
- Owner: ros2
- License: apache-2.0
- Created: 2017-03-21T17:18:12.000Z (almost 8 years ago)
- Default Branch: latest
- Last Pushed: 2022-03-15T15:31:36.000Z (almost 3 years ago)
- Last Synced: 2023-03-11T12:03:31.105Z (almost 2 years ago)
- Language: PowerShell
- Size: 4.94 MB
- Stars: 18
- Watchers: 22
- Forks: 46
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chocolatey Packages for ROS2 Dependencies
This repository houses some basic Chocolatey packages for ROS2 external dependencies.
Currently [TinyXML] and [Eigen 3].## Installing packages
You'll need Chocolatey installed. They have an [installation guide](https://chocolatey.org/docs/installation) that you can follow.
Chocolatey recently announced a Pro version.
The pro version is not necessary to install the packages created here.These packages can be installed by downloading the desired packages and specifying the path to the package with choco install.
From a Windows command prompt or PowerShell console with Administrator privileges:
```
choco install Downloads\eigen-3.3.3.nupkg
```## Building packages
Each of the packages has a manual build process outlined in the package specific README file.
The instructions there should get you started.## Uploading packages
The packages here don't get uploaded to a central repository, instead they're published using GitHub Releases.
To upload a new release, follow these general steps:
- Make any desired changes to the package contents.
The contents are not version controlled by this repository and Chocolatey lacks the concept of a package revision as far as I can discern, so these changes are not tracked here.
If you have an update that consists only of altered package contents, create an empty commit describing the change.
For example
```
git commit --allow-empty -m "Rebuild TinyXML for 64-bit Windows."
```- Make any updates to the package configuration and commit the changes.
- Create a git tag in order to publish your new package version.
```
git tag 2017-03-21-1
```- Push your changes and the new tag to GitHub
```
git push
git push --tags
```- Open the tag on the GitHub releases view and attach your package as a binary.
- Check the previous release and download the other packages from it.
- Attach all other packages as binaries to your release.
In order for every package user to have the same url prefix for their downloads, every nupkg file needs to be added to each release.
This is the chief caveat of the single-repository approach.
But if the number of packages or revisions begins to climb,it's a signal that we should revisit automating this process better.- Publish the release.
The Pre-release option is unset by default but if you're tempted to set it, bear in mind that prereleases don't update the "latest" release alias.[TinyXML]: http://www.grinninglizard.com/tinyxml/
[Eigen 3]: http://eigen.tuxfamily.org