Version information
Start using this module
Add this module to your Puppetfile:
mod 'puppetlabs-apt', '1.0.1'
Learn more about managing modules with a PuppetfileDocumentation
Apt module for Puppet
Description
Provides helpful definitions for dealing with Apt.
Usage
apt
The apt class provides a number of common resources and options which
are shared by the various defined types in this module. This class
should always be included in your manifests if you are using the apt
module.
class { 'apt':
always_apt_update => false,
disable_keys => undef,
proxy_host => false,
proxy_port => '8080',
purge_sources_list => false,
purge_sources_list_d => false,
purge_preferences_d => false
}
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
}
This source will configure your system for the Puppet Labs APT repository.
apt::source { 'puppetlabs':
location => 'http://apt.puppetlabs.com',
repos => 'main',
key => '4BD6EC30',
key_server => 'pgp.mit.edu',
}
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
Branan Purvine-Riley branan@puppetlabs.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
Zach Leslie zach@puppetlabs.com
2012-05-25 Puppet Labs info@puppetlabs.com - 0.0.4
- Fix ppa list filename when there is a period in the PPA name
- Add .pref extension to apt preferences files
- Allow preferences to be purged
- Extend pin support
2012-05-04 Puppet Labs info@puppetlabs.com - 0.0.3
- only invoke apt-get update once
- only install python-software-properties if a ppa is added
- support 'ensure => absent' for all defined types
- add apt::conf
- add apt::backports
- fixed Modulefile for module tool dependency resolution
- configure proxy before doing apt-get update
- use apt-get update instead of aptitude for apt::ppa
- add support to pin release
2012-03-26 Puppet Labs info@puppetlabs.com - 0.0.2 41cedbb (#13261) Add real examples to smoke tests. d159a78 (#13261) Add key.pp smoke test 7116c7a (#13261) Replace foo source with puppetlabs source 1ead0bf Ignore pkg directory. 9c13872 (#13289) Fix some more style violations 0ea4ffa (#13289) Change test scaffolding to use a module & manifest dir fixture path a758247 (#13289) Clean up style violations and fix corresponding tests 99c3fd3 (#13289) Add puppet lint tests to Rakefile 5148cbf (#13125) Apt keys should be case insensitive b9607a4 Convert apt::key to use anchors
2012-03-07 Puppet Labs info@puppetlabs.com - 0.0.1 d4fec56 Modify apt::source release parameter test 1132a07 (#12917) Add contributors to README 8cdaf85 (#12823) Add apt::key defined type and modify apt::source to use it 7c0d10b (#12809) $release should use $lsbdistcodename and fall back to manual input be2cc3e (#12522) Adjust spec test for splitting purge 7dc60ae (#12522) Split purge option to spare sources.list 9059c4e Fix source specs to test all key permutations 8acb202 Add test for python-software-properties package a4af11f Check if python-software-properties is defined before attempting to define it. 1dcbf3d Add tests for requiredpackages change f3735d2 Allow duplicate $required_packages 74c8371 (#12430) Add tests for changes to apt module 97ebb2d Test two sources with the same key 1160bcd (#12526) Add ability to reverse apt { disable_keys => true } 2842d73 Add Modulefile to puppet-apt c657742 Allow the use of the same key in multiple sources 8c27963 (#12522) Adding purge option to apt class 997c9fd (#12529) Add unit test for apt proxy settings 50f3cca (#12529) Add parameter to support setting a proxy for apt d522877 (#12094) Replace chained .with* with a hash 8cf1bd0 (#12094) Remove deprecated spec.opts file 2d688f4 (#12094) Add rspec-puppet tests for apt 0fb5f78 (#12094) Replace name with path in file resources f759bc0 (#11953) Apt::force passes $version to aptitude f71db53 (#11413) Add spec test for apt::force to verify changes to unless 2f5d317 (#11413) Update dpkg query used by apt::force cf6caa1 (#10451) Add test coverage to apt::ppa 0dd697d include_src parameter in example; Whitespace cleanup b662eb8 fix typos in "repositories" 1be7457 Fix (#10451) - apt::ppa fails to "apt-get update" when new PPA source is added 864302a Set the pin priority before adding the source (Fix #10449) 1de4e0a Refactored as per mlitteken 1af9a13 Added some crazy bash madness to check if the ppa is installed already. Otherwise the manifest tries to add it on every run! 52ca73e (#8720) Replace Apt::Ppa with Apt::Builddep 5c05fa0 added builddep command. a11af50 added the ability to specify the content of a key c42db0f Fixes ppa test. 77d2b0d reformatted whitespace to match recommended style of 2 space indentation. 27ebdfc ignore swap files. 377d58a added smoke tests for module. 18f614b reformatted apt::ppa according to recommended style. d8a1e4e Created a params class to hold global data. 636ae85 Added two params for apt class 148fc73 Update LICENSE. ed2d19e Support ability to add more than one PPA 420d537 Add call to apt-update after add-apt-repository in apt::ppa 945be77 Add package definition for python-software-properties 71fc425 Abs paths for all commands 9d51cd1 Adding LICENSE 71796e3 Heading fix in README 87777d8 Typo in README f848bac First commit
Dependencies
- puppetlabs/stdlib (>= 2.2.1)
Copyright (c) 2011 Evolving Web Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.