Installing packages from a third-party repository
Most often you will want to install packages from the main distribution repo, so a simple package
resource will do:
package { 'exim4': ensure => installed }
Sometimes, though, you need a package which is only found in a third-party repository (an Ubuntu PPA, for example). Or it might be that you need a more recent version of a package than that provided by the distribution, which is available from a third party.
On a manually-administered machine, you would normally do this by adding the repo source configuration to /etc/apt/sources.list.d
(and, if necessary, a GPG key for the repo) before installing the package. We can automate this process easily with Puppet.
How to do it…
In this example we'll use the popular Percona APT repo (Percona is a MySQL consulting firm who maintain and release their own specialized version of MySQL).
Create the file
modules/admin/manifests/percona_repo.pp
with the following contents:# Install Percona APT repo class...