diff options
-rw-r--r-- | TODO.md | 1 | ||||
-rw-r--r-- | Vagrantfile | 2 | ||||
-rw-r--r-- | puppet/manifests/bootstrap/debian.pp | 10 | ||||
-rw-r--r-- | ruby.md | 101 |
4 files changed, 105 insertions, 9 deletions
@@ -28,6 +28,7 @@ Backport Port ---- +* [acpi-call](http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Acpi_call). * [Pond](https://pond.imperialviolet.org/). * [Octopress](http://octopress.org/). * [leap-cli](https://leap.se) (check http://deb.leap.se). diff --git a/Vagrantfile b/Vagrantfile index 0ebd36e..b40b97a 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -10,7 +10,7 @@ Vagrant::Config.run do |config| # Enable provisioning with Puppet stand alone. config.vm.provision :puppet do |puppet| - puppet.manifest_file = "bootstrap/vagrant.pp" + puppet.manifest_file = "bootstrap/debian.pp" puppet.manifests_path = "puppet/manifests" puppet.module_path = "puppet/modules" puppet.temp_dir = "/etc/puppet" diff --git a/puppet/manifests/bootstrap/debian.pp b/puppet/manifests/bootstrap/debian.pp new file mode 100644 index 0000000..3038324 --- /dev/null +++ b/puppet/manifests/bootstrap/debian.pp @@ -0,0 +1,10 @@ +# +# This manifest is intended to configure a vagrant +# virtual machine for debian development. +# + +# Import vagrant configuration +import "vagrant.pp" + +# Debian utilities +include nodo::utils::development::debian @@ -6,7 +6,7 @@ See [this](https://wiki.debian.org/Teams/Ruby/Packaging). Example: packaging leap_cli and dependencies -------------------------------------------- -First, in a *fresh* vagrant box: +First, in a *fresh* vagrant box with *sid* and *testing* in the `sources.list`: sudo apt-get install rubygems gem2deb sudo gem install leap_cli @@ -15,6 +15,36 @@ Then we get the dependencies and build all packages: dependencies=" `gem list | cut -d '(' -f 1` " +Which currently gives us the following result: + +* activemodel +* activesupport +* base32 +* blockenspiel +* builder +* capistrano +* colored +* command_line_reporter +* gli +* gpgme +* highline +* i18n +* json +* json_pure +* leap_cli +* mini_portile +* minitest +* net-scp +* net-sftp +* net-ssh +* net-ssh-gateway +* paint +* tee +* thread_safe +* tzinfo +* versionomy +* ya2yaml + Gem cleanup: sudo gem uninstall $dependencies @@ -23,17 +53,72 @@ 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 + packages="$packages $packages" done + apt-get install --dry-run $packages + +Then: + +* Check for non-existing packages. +* Try different package names. +* Update your list of existing packages. + +In this example, that gives us the following already ported dependencies: + +* capistrano +* ruby-activemodel +* ruby-activesupport +* ruby-base32 +* ruby-blockenspiel +* ruby-builder +* ruby-colored +* ruby-command-line-reporter +* ruby-gli +* ruby-gpgme +* ruby-highline +* ruby-i18n +* ruby-json +* ruby-json-pure +* ruby-leap-cli +* ruby-mini-portile +* ruby-minitest +* ruby-net-scp +* ruby-net-sftp +* ruby-net-ssh +* ruby-net-ssh-gateway +* ruby-paint +* ruby-tee +* ruby-thread-safe +* ruby-tzinfo +* ruby-versionomy +* ruby-ya2yaml + +That means the following gems need to be packaged: + +* base32 +* command_line_reporter +* gli +* json_pure +* leap_cli +* mini_portile +* tee +* ya2yaml + +In summary, we need to port the following packages: + +* ruby-base32 +* ruby-command-line-reporter +* ruby-gli +* ruby-json-pure +* ruby-leap-cli +* ruby-mini-portile +* ruby-tee +* ruby-ya2yaml + Build remaining packages: - for gem in $dependencies; do + for gem in $gems; do gem2deb $gem done |