Ruby packaging ============== See [this](https://wiki.debian.org/Teams/Ruby/Packaging). Example: packaging leap_cli and dependencies -------------------------------------------- First, in a *fresh* vagrant box: sudo apt-get install rubygems gem2deb sudo gem install leap_cli Then we get the dependencies and build all packages: dependencies=" `gem list | cut -d '(' -f 1` " Gem cleanup: sudo gem uninstall $dependencies Check existing dependencies: for item in $dependencies; do package=ruby-"`echo $item | sed -e 's/_/-/'`" if apt-cache search $package &> /dev/null; then packages="$packages $package" dependencies=$(echo $dependencies | sed -e "s/ $package //") sudo apt-get install $package fi done Build remaining packages: for gem in $dependencies; do gem2deb $gem done Report: echo "Existing debian dependencies: $packages" echo "New packages : $dependencies" Test: sudo dpkg -i *deb Deb cleanup: sudo dpkg -r $dependencies Additional steps: * Backport existing dependencies if needed. * Fix `debian/control` and other FIXME's on each package. * Put `debian/` folder in a `debian` branch on each source. * [Review the code](https://manual.sarava.org/specs/code/). * Automate building with pbuilder. * Upstream pull requests.