# 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"
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
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
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