Packaging puppet 3.1.1 for ARM Raspberry PI

Steps

There are some steps you can follow to create yourself a build host that matches the Raspberry Pi almost identically:

  • Install Qemu
  • Download the latest version of Raspbian
  • Expand the raspbian image with extra disk space (more info here)

When your buildhost is operational you can start packaging:

  • Install the puppetlabs source apt repository
  • Start building the arm deb packages

Prepare the buildhost

raspberry-pi_arm

Start building the packages at the buildhost

  • Add the apt-src repository of puppetlabs to your apt/sources.list: “deb-src http://apt.puppetlabs.com/ wheezy main devel depedencies” and apt-get update
  • Install the puppet sources (you’ll probably need to install & build facter first, because it’s a dependency of puppet): apt-src install facter puppet
  • Build the facter package: apt-src build facter (you’ll probably have to install the new package first)
  • Build the puppet package: apt-src build puppet
  • Continue these steps for all other packages until you built them all

Cegeka puppet apt (arm) repository

Our apt repository contains puppet deb packages for the ARM platform, they are build to manage our raspberry pi farm.
deb http://apt.cegeka.be/puppetlabs/ wheezy main dependencies

One thought on “Packaging puppet 3.1.1 for ARM Raspberry PI”

  1. Very nice! Just what I needed. After all, Puppet 3 has so many improvements over the old 2.7 that comes with Raspbian. Thanks for the instructions and providing the apt repo.

    I ran into two issue with the repo. The first one is easy to resolve, but I’m hoping you could help with the second one:

    1. The README.html in the repo has incorrect instructions on importing the GPG key. There are two errors: the repo is not reachable over https, and apt-key needs to read from standard input. They correct line is: “wget -O – http://apt.cegeka.be/puppetlabs/pubkey.gpg | apt-key add -”

    2. I try to use Ruby 1.9, but got Ruby 1.8 as a dependency from Puppet. This turns out to be caused by puppet-common depending on libaugeas-ruby1.9, which doesn’t exist! The correct dependency should be libaugeas-ruby1.9.1. Could you please fix this your repo?

    Thanks, Martijn

Leave a Reply

Your email address will not be published. Required fields are marked *