No description
Find a file
Reid Vandewiele d4fec561f3 Modify apt::source release parameter test
This commit modifies the release parameter test in apt::source to work
correctly within puppet-rspec for edge-case resource definitions. Previously,
the test for the $release parameter was written as

`if ! $release { fail() }`

This commit updates the test to be written as

`if $release == undef { fail() }`

Additionally, the tests for correct behavior in the presence or absence of a
$release parameter have been beefed up.

The reason for making this change relates to examples such as the following
resource definition:

apt::source { "jenkins":
  location    => "http://pkg.jenkins-ci.org/debian",
  release     => "",
  repos       => "binary/",
  key         => "D50582E6",
  key_source  => "http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key",
  include_src => false,
}

Note that the $release parameter is given as the empty string. In practice,
this is perfectly valid and everything will work great. However, it seems that
the empty string gets interpreted by something in puppet-rspec as something
equivalent to "False", and thus when testing, the above resource definition
would fail with "Puppet::Error: lsbdistcodename fact not available: release
parameter required" even though the $release parameter has been explicitely
specified (as the empty string).

See also: https://github.com/rtyler/puppet-jenkins/issues/9
2012-03-07 10:10:46 -08:00
manifests Modify apt::source release parameter test 2012-03-07 10:10:46 -08:00
spec Modify apt::source release parameter test 2012-03-07 10:10:46 -08:00
templates First commit 2010-04-27 16:38:28 -04:00
tests Test two sources with the same key 2012-02-23 15:44:26 -08:00
.gitignore ignore swap files. 2011-05-30 10:25:11 -07:00
LICENSE Update LICENSE. 2011-04-18 11:36:04 -04:00
Modulefile Add Modulefile to puppet-apt 2012-02-23 14:01:31 -08:00
Rakefile (#10451) Add test coverage to apt::ppa 2012-01-03 17:03:24 -08:00
README.md (#12917) Add contributors to README 2012-03-01 15:04:51 -08:00

Apt module for Puppet

Description

Provides helpful definitions for dealing with Apt.

Usage

apt:builddep

Install the build depends of a specified package.

apt::builddep { "glusterfs-server": }

apt::force

Force a package to be installed from a specific release. Useful when using repositories like Debian unstable in Ubuntu.

apt::force { "glusterfs-server":
	release => "unstable",
	version => '3.0.3',
	require => Apt::Source["debian_unstable"],
}

apt::pin

Add an apt pin for a certain release.

apt::pin { "karmic": priority => 700 }
apt::pin { "karmic-updates": priority => 700 }
apt::pin { "karmic-security": priority => 700 }

apt::ppa

Add a ppa repository using add-apt-repository. Somewhat experimental.

apt::ppa { "ppa:drizzle-developers/ppa": }

apt::release

Set the default apt release. Useful when using repositories like Debian unstable in Ubuntu.

apt::release { "karmic": }

apt::source

Add an apt source to /etc/apt/sources.list.d/.

apt::source { "debian_unstable":
  location          => "http://debian.mirror.iweb.ca/debian/",
  release           => "unstable",
  repos             => "main contrib non-free",
  required_packages => "debian-keyring debian-archive-keyring",
  key               => "55BE302B",
  key_server        => "subkeys.pgp.net",
  pin               => "-10",
  include_src       => true
}

apt::key

Add a key to the list of keys used by apt to authenticate packages.

apt::key { "puppetlabs":
  key        => "4BD6EC30",
  key_server => "pgp.mit.edu",
}
apt::key { "jenkins":
  key        => "D50582E6",
  key_source => "http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key",
}

Note that use of the "key_source" parameter requires wget to be installed and working.

Contributors

A lot of great people have contributed to this module. A somewhat current list follows.
Ben Godfrey ben.godfrey@wonga.com
Christian G. Warden cwarden@xerus.org
Dan Bode bodepd@gmail.com dan@puppetlabs.com
Garrett Honeycutt github@garretthoneycutt.com
Jeff Wallace jeff@evolvingweb.ca jeff@tjwallace.ca
Ken Barber ken@bob.sh
Matthaus Litteken matthaus@puppetlabs.com mlitteken@gmail.com
Matthias Pigulla mp@webfactory.de
Monty Taylor mordred@inaugust.com
Peter Drake pdrake@allplayers.com
Reid Vandewiele marut@cat.pdx.edu
Robert Navarro rnavarro@phiivo.com
Ryan Coleman ryan@puppetlabs.com
Scott McLeod scott.mcleod@theice.com
Spencer Krum spencer@puppetlabs.com
William Van Hevelingen blkperl@cat.pdx.edu wvan13@gmail.com