Commit graph

303 commits

Author SHA1 Message Date
Morgan Haskel
199bd52cf3 Merge pull request #303 from apenney/fix-ubuntu-10-tests
Fix the tests for Ubuntu 10.04.
2014-05-29 13:08:15 -04:00
Ashley Penney
ec07797399 Fix the tests for Ubuntu 10.04. 2014-05-29 13:05:51 -04:00
Ashley Penney
6697a9c971 Merge pull request #297 from frconil/sourceslist-comment
adding notice on top of sourceslist files
2014-05-22 10:42:15 -07:00
Ashley Penney
8e0887cafb Merge branch '1.5.x' of https://github.com/puppetlabs/puppetlabs-apt into 1.5.x 2014-05-21 11:19:04 -07:00
Ashley Penney
ba074344fe Merge pull request #300 from apenney/fix-tests
Block this from running on unsupported platforms.
2014-05-21 10:39:46 -07:00
Ashley Penney
71ebb94283 Block this from running on unsupported platforms. 2014-05-21 10:38:24 -07:00
Morgan Haskel
b2381c6673 Fixing lint and adding the trusty nodeset (not sure how that was missed) 2014-05-20 16:24:28 -04:00
François Conil
3fad56d266 adding notice on top of sourceslist files
Useful to figure out what is managed by puppet and what isn't when
 not setting up the option to purge sourceslist files
2014-05-19 15:24:42 +10:00
Morgan Haskel
0da464de35 Merge pull request #287 from oc243/master
Implement fancy progress bars configuration.
2014-05-15 13:45:46 -04:00
Oliver Chick
2cdcd3b06d Implement fancy progress bars configuration.
Ubuntu 14.04 ships with apt 0.9.15, has a ``fancy progress bar'', which
is a green bar that shows at the bottom of the terminal showing progress
throughout install.

This patch enables the progress bar, which is usually done by running
echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar
2014-05-14 12:02:37 +01:00
Daniel Paulus
15630989da Fixed acceptance spec and add debian nodeset 2014-05-05 11:57:42 +02:00
Daniel Paulus
c327d3d7bf Testing if we are not touching the preference file when purge mode is off 2014-05-03 00:13:17 +02:00
Daniel Paulus
e337a24389 Remove the preference file for all supported platforms when in purge mode 2014-05-02 23:35:54 +02:00
Johan Fleury
9e789255c8 Writing proxy configuration in apt.conf.d/01proxy.
This commit changes the proxy file name to be more consistent with other files
in `apt.conf.d`. The old file (`apt.conf.d/proxy`) is removed.

Tests has been updated.
2014-04-11 13:56:29 +02:00
Ashley Penney
dfa3a62bd8 Merge pull request #280 from daenney/fix-pin-comments
Fix pin comments
2014-04-03 13:59:51 -04:00
Daniele Sluijters
fefd530362 unattended-upgrades: Fix origins for Squeeze.
Because Squeeze is now oldstable we need to add an oldstable line too
otherwise security updates won't be picked up. This is still because we
can't match on codename.
2014-04-02 11:17:04 +02:00
Daniele Sluijters
9f59f1b33a pin: Fix the template.
In APT preferences files the only allowed comments are lines that start
with `Explanation:`, commented lines that start with a # trigger a
myriad of interesting bugs. This is considered a feature of APT.

Because we're only ever writing a single file at a time with only a #
comment at the top we were getting away with this but it shouldn't be
there in the first place.
2014-03-28 08:47:19 +01:00
Daniele Sluijters
eaebe2f82d unattended_upgrades: Fix matching security archive
The default configuration we were writing for Debian was only working
for Squeeze, from Wheezy and onwards this wasn't working anymore. This
has to do with the fact that we should now be using Origins-Pattern
according to the unattended-upgrades docs. However, Ubuntu didn't
entirely get with the program yet...

This change reflects the defaults that unattended-upgrade installs on
every platform we support. In order to do so the unattended-upgrades
Debian archive for Squeeze, Wheezy, Lucid, Precise and Trusty were
downloaded and the default /etc/apt/apt.conf.d/50unattended-upgrades
checked for its content with regard to using Allow-Origins or
Origins-Pattern.

Fixes #277
2014-03-27 13:56:25 +01:00
Daniele Sluijters
ed52e513db backports: Allow setting a custom priority.
The module used to always pin backports to a priority of 200. This
default is still retained but is now configurable.

Additionally the default is now an Integer, not a 'quoted Integer' and
the tests have been updated to reflect this. This matters for future
parser as it will now kick people if they pass in a stringified integer
as priority.
2014-03-26 19:10:37 +01:00
Hunter Haugen
6691c2fade Merge pull request #248 from electrical/fix_params_fail
Fix fail message
2014-03-07 10:00:58 -08:00
Richard Pijnenburg
4d0bf7cbab Fail early when its not debian or ubuntu ( or debian like distro ) 2014-03-07 16:03:44 +01:00
Hunter Haugen
a35c30fe4b Merge pull request #209 from pabl0/proxy
Make apt.conf.d/proxy world readable and add a newline
2014-03-05 11:15:26 -08:00
Hunter Haugen
de095a173f Merge pull request #249 from ghoneycutt/define_apt_source_in_hiera
Add ability to specify hash of apt sources in hiera
2014-03-05 11:06:43 -08:00
Ashley Penney
3917e080f3 Merge pull request #259 from daenney/apt-hold
apt::hold: Add a mechanism to hold a package.
2014-03-05 13:16:38 -05:00
Daniele Sluijters
b560fa265f pin: Replace invalid chars with _ in file names.
This needs to be merged for #259 to work.
2014-03-05 19:11:13 +01:00
Daniele Sluijters
519babcfb6 apt::hold: Add a mechanism to hold a package.
I am aware this can be done with `dpkg --set-selections`, `apt-mark`
or `ensure => 'held'` on a package resource. The changes to the README
include the full rationale for wanting another mechanism.
2014-03-05 10:13:42 +01:00
Daniele Sluijters
5790341890 apt:🔑 Redo apt::key, make it use apt_key.
Introducing a totally rewritten and tested apt::key. This commit also
patches the spec's of apt::source because it was passing in data that
is no longer allowed by the new validation rules in apt::key.

It does its best to not touch any other specs and where we touch them
only minimally to ensure that we're not introducing breaking changes.
2014-03-04 16:39:58 +01:00
Richard Pijnenburg
440484d26a Add spec test to test for failure 2014-02-27 10:23:11 +01:00
Hunter Haugen
fd3e07e58f Merge branch '1.4.x' 2014-02-26 14:13:57 -08:00
Daniel Tremblay
46606c9a2b Add ability to specify hash of apt sources in hiera
This patch uses create_resources() to call apt::source which lets you
specify your sources in hiera.
2014-02-26 09:15:37 -05:00
Hunter Haugen
0a645c53ff Pin quotes were removed for a Lucid bugfix 2014-02-25 11:34:12 -08:00
Henrik Ahlgren
eb40a7ae78 Make apt.conf.d/proxy world readable and add a newline 2014-02-25 19:57:10 +02:00
Martin Konrad
2a2620f597 Update out-of-date Debian signing key in remaining files.
(cherry picked from commit 3aa293a53f)
2014-02-25 09:47:37 -08:00
Matt Callaway
bffef4142a Update pin_spec test to match quote removal.
(cherry picked from commit d28dc494aa)
2014-02-25 09:43:47 -08:00
Hunter Haugen
1853951c0f Merge pull request #226 from mark0n/master
Update out of date Debian signing key for backports
2014-02-25 09:34:00 -08:00
Hunter Haugen
7875745a8b Merge pull request #216 from genome-vendor/master
Remove the quotes from the "origin" line.
2014-02-25 09:29:15 -08:00
Hunter Haugen
cb53175dbb Merge pull request #229 from daenney/apt-key-ftp
apt_key: Support fetching keys over FTP.
2014-02-25 09:27:51 -08:00
Hunter Haugen
01cff19fa8 Merge pull request #240 from daenney/manage-preferences
apt: Allow managing of preferences file.
2014-02-25 09:25:49 -08:00
Ashley Penney
450fadb86a Add lsbdistid facts where appropriate.
(cherry picked from commit 4d188443bc)
2014-02-24 17:17:17 -08:00
Ashley Penney
4d188443bc Add lsbdistid facts where appropriate. 2014-02-24 22:31:16 +00:00
Ashley Penney
0a93286ff8 Merge pull request #241 from hunner/add_unsup
Add non Debian os family unsupported test.
2014-02-24 16:53:41 -05:00
Hunter Haugen
f6816c6bb3 Add non Debian os family unsupported test. 2014-02-24 13:52:13 -08:00
Hunter Haugen
944f9d5064 Merge branch '1.4.x' 2014-02-24 13:36:48 -08:00
Daniele Sluijters
2ca97c8210 apt: Allow managing of preferences file.
We already had a feature to manage and purge entries in preferences.d
but not the preferences file in /etc/apt. This commit adds that
capability.

Fixes #199
2014-02-22 11:00:22 +01:00
Hunter Haugen
afeaf57126 Use smaller build-dep package 2014-02-21 11:55:16 -08:00
Hunter Haugen
e2b7ef2da2 Using rspec filters works better
And this will make merging back to master cleaner
2014-02-21 11:45:21 -08:00
Hunter Haugen
d0b8ed8f64 Merge pull request #237 from hunner/change_port
Port 8080 is a bad choice and bumps into puppetdb
2014-02-21 11:32:10 -08:00
Hunter Haugen
8453d40138 Missed the - for -y, but also tests were missing lsbdistid 2014-02-21 09:34:46 -08:00
Daniele Sluijters
c3b3f5bb42 apt_key: Support fetching keys over FTP. 2014-02-21 09:06:47 +01:00
Hunter Haugen
904fb4a293 Don't pass options to ppa on lucid
Lucid (10.04) has `add-apt-repository` but it doesn't accept any
options. The define defaulted to `-y` but this changes that on lucid.

This was made 7 months ago, so apparently no one cares about 10.04 any
more.
2014-02-20 16:43:48 -08:00
Ashley Penney
296fdd2173 Make sure we handle PE properly. 2014-02-19 20:01:12 +00:00
Ashley Penney
bafc11df76 Make sure we handle PE properly. 2014-02-19 19:52:05 +00:00
Martin Konrad
3aa293a53f Update out-of-date Debian signing key in remaining files. 2014-02-18 16:57:01 -05:00
Daniele Sluijters
374101612c Add a type and provider to manage apt keys.
This commits introduces:
 * The apt_key type;
 * The apt_key provider;
 * Unit tests for the type;
 * Beaker/acceptance tests for the type/provider.

The idea behind apt_key is that apt::key will simply become a wrapper
that uses apt_key. Being a native type/provider apt_key is a lot less
error prone than the current exec behaviour of apt::key and adds a few
nice bonuses like inventory capabilities for mcollective users.
2014-02-18 22:51:08 +01:00
Matt Callaway
d28dc494aa Update pin_spec test to match quote removal. 2014-02-18 08:08:19 -06:00
Daniele Sluijters
ffe55a9758 beaker: Randomize SSH port. 2014-02-16 14:51:39 +01:00
Daniele Sluijters
ef7d149d5a apt::pin: Allow for packages to be an array. 2014-02-16 14:51:39 +01:00
Hunter Haugen
3be1f4323f Merge pull request #224 from hunner/change_port
Port 8080 is a bad choice and bumps into puppetdb
2014-02-14 16:40:13 -08:00
Hunter Haugen
80ea5a72ca Port 8080 is a bad choice and bumps into puppetdb 2014-02-14 16:17:44 -08:00
Hunter Haugen
4b8aa9e55a Revert "Undo backwards-incompatible changes and features."
This reverts commit f9e2fe2a7c.
2014-02-14 14:49:43 -08:00
Hunter Haugen
398309fc37 Enforce dependency version in tests 2014-02-14 14:34:37 -08:00
Hunter Haugen
3876813845 Add foss types to nodesets 2014-02-14 14:34:08 -08:00
Hunter Haugen
f9e2fe2a7c Undo backwards-incompatible changes and features.
Undoes the parameter changes in #140 and #184
2014-02-14 14:33:30 -08:00
Ashley Penney
1ce7dbb4c3 Merge pull request #208 from apenney/ppa-debian
Ensure apt::ppa fails on non-Ubuntu.
2014-01-09 15:28:20 -08:00
Ashley Penney
04ca249ee0 Fixes to make the tests run under Debian as well as Ubuntu. 2014-01-09 18:26:32 -05:00
Ashley Penney
558954bedf Ensure apt::ppa fails on non-Ubuntu. 2014-01-09 14:35:17 -05:00
Ashley Penney
c2f0ed219e Improve apt::force tests and ensure cleanup happens consistently. 2014-01-09 14:26:59 -05:00
Ashley Penney
16e57d4e45 Add additional acceptance testing.
This work adds a test for every parameter in every class/define in apt.
2014-01-09 12:09:22 -05:00
Ashley Penney
661c6731d7 Convert existing tests over to beakr-rspec. 2014-01-06 17:39:48 -05:00
Ryan Tandy
38c0208673 change include_class to contain_class in specs
include_class was deprecated starting from rspec-puppet 1.0.0.
2013-12-06 08:33:05 -08:00
Ashley Penney
9d32257f85 Merge pull request #188 from sd63/fix_regex_warning
escape more braces properly
2013-12-03 14:54:25 -08:00
Marco Nenciarini
935d3ce15b Fix the name of sources.list.d file resource in apt::ppa 2013-12-02 13:40:22 +01:00
Ryan Tandy
0001a03cd9 escape more braces properly
Fixes a couple of rspec regex warnings.
2013-11-21 09:37:11 -08:00
Stefan van Wouw
67e8968fe0 Fixed tests for fe594950c5
We actually expect an extra space. The previous build failed because a test is issued for location='', which indeed results in 2 spaces between the architecture specification and the release. According to the sources.list man page a location is always required though (unlike the missing/empty location in the :default_params of the source_spec test).
2013-10-23 12:29:47 +02:00
Ashley Penney
d1e87d4774 Merge pull request #140 from hunner/apt_force
Handling of release parameter and apt provider in force manifest
2013-10-15 10:45:17 -07:00
lkoranda
7dd4a14848 Fixed tests for cf04f76 2013-10-14 14:27:17 +02:00
Ashley Penney
39cbeeb9d2 This work flips from onlyif to unless (mistakenly looked at the
wrong return code).
2013-10-08 10:50:30 -07:00
Ashley Penney
ee24679f6d Fix other tests to include apt appropriately. 2013-10-02 14:46:00 -04:00
Ashley Penney
2f9c16a273 This switches us to doing a test -s instead of checking for the
files existence as add-apt-repository --remove leaves a 0 byte file
behind instead of deleting everything properly.
2013-10-02 14:46:00 -04:00
Ashley Penney
621111ee73 Add initial rspec-system tests.
This covers:

apt::builddep
apt::key
apt::ppa
apt::source
apt
2013-10-02 12:49:22 -04:00
Dan Carley
e0926f370d [#153] Remove trailing whitespace from spec. 2013-09-16 13:57:44 +01:00
Dan Carley
dc88fe6ef6 [#153] Install unattended configs after package
To ensure that the default configs from the package are always overwritten
within a single Puppet run.
2013-09-16 13:57:44 +01:00
Dan Carley
f90805dafd [#153] Test defaults for some unattended params
For params which have any logic embedded in the template:

- origins
- blacklist
- mail_to
- dl_limit
2013-09-16 13:57:44 +01:00
Dan Carley
f185a57cd6 [#153] Variablise file paths in unattended spec
Reduce some duplication of long file paths.
2013-09-16 13:57:32 +01:00
Dan Carley
ea40999381 [#153] Convert t/f params to bools and validate
Per lint check: http://puppet-lint.com/checks/quoted_booleans/
2013-09-16 09:06:15 +01:00
Dan Carley
2fea399a09 [#153] Rename unattended_upgrades s/-/_/
It's preferable to use underscores rather than hyphens in class names. Refs:

- http://projects.puppetlabs.com/issues/5268
- http://docs.puppetlabs.com/puppet/3/reference/lang_reserved.html#classes-and-types
2013-09-16 08:53:01 +01:00
Philip Cohoe
ee047f6593 Added spec test for unattended-upgrades class 2013-09-13 23:39:09 +00:00
Hunter Haugen
5db24d8e33 Update specs for #145 2013-08-05 13:41:25 -07:00
Hunter Haugen
6cde028332 Merge pull request #145 from PierreGambarotto/master
ppa: fix empty environment definition in exec ressource when no proxy
2013-07-31 09:32:27 -07:00
Oleiade
1e940d19f6 Fix: ppa options support specs 2013-07-17 09:56:24 +02:00
Pierre Gambarotto
19fbdab794 ppa: fix empty environment definition in exec ressource when no proxy 2013-07-16 09:52:06 +02:00
Hunter Haugen
4d8a99aead Adding specs for proxy and apt::ppa 2013-07-11 15:49:00 -07:00
Hunter Haugen
711420739d Update specs to test all parameter cases 2013-07-03 13:11:18 -07:00
Hunter Haugen
9568ecf26d Merge pull request #134 from spali/my_changes
replace aptitude with apt in apt::force
2013-07-02 13:54:12 -07:00
Thomas Spalinger
7c66ab5f39 fixed test for changing aptitude to apt-get 2013-07-02 21:59:26 +02:00
Hunter Haugen
46d47f79d2 Merge pull request #118 from opeckojo/apt-sources-arch
Add optional architecture qualifier to apt-sources
2013-07-02 11:48:06 -07:00
Hunter Haugen
91d917495e Merge pull request #123 from ctrlaltdel/fix-required-packages
Install required_packages before 'apt-get update'
2013-07-02 11:37:39 -07:00
Mathieu Bornoz
414c57926c apt::pin: handling all apt preferences properties
The two forms of APT preferences records (general & specific) can now be
completely and not partially defined. All distribution properties can be passed
as resource parameters. This change is totally backward-compatible.
2013-06-18 11:31:38 +02:00
Francois Deppierraz
37a0dcd0b6 Install required_packages before 'apt-get update'
This is necessary when required_packages contains GPG keys that are used for
authenticating other packages. Tested with package ubuntu-cloud-keyring which
is included in Ubuntu main and used by the Ubuntu Cloud Archive.

I think the same problem applies to other *-keyring packages as well.
2013-06-03 09:57:58 +00:00
Joe O'Pecko
b3d67c8937 Add optional architecture qualifier to apt-sources 2013-06-02 11:55:36 -07:00
Dean Reilly
d8e2cf24a5 Add spec test for removing proxy configuration. 2013-06-02 18:51:27 +01:00
Ken Barber
a7e6048103 Remove deprecation warnings for pin.pref.erb as well
Signed-off-by: Ken Barber <ken@bob.sh>
2013-06-02 18:24:33 +01:00
Jarl Nicolson
ac86fab459 Changed PPA manifest and tests for new package which started in Quantal 2012-11-05 19:33:38 +10:00
Erik Dalén
75092fdbf1 (#16076) Ability to fill in pin explanation
Adds the ability to fill it in and sets a reasonable default.
2012-10-25 15:44:20 -04:00
Branan Purvine-Riley
bd68302783 Merge pull request #83 from dalen/pin_order
(#16070) Allow optional order parameter to apt::pin
2012-10-18 16:45:15 -07:00
Erik Dalén
40f8755217 (#16070) Allow optional order parameter to apt::pin
As the apt pinnings are parsed in ascending alphabetical order with
first match wins within a given scope it is useful to be able to specify
a ordering parameter. Then the name parameter can be kept to something
meaningful.
2012-08-23 11:25:17 +02:00
Steffen Zieger
d49dbb49ae fix check of release parameter 2012-07-10 01:39:53 +02:00
Jonathan Araña Cruz
145a2853d4 Add «main» to Ubuntu backports repos. 2012-06-29 13:15:13 +02:00
Branan Purvine-Riley
918a3767ff Switch to the new puppetlabs_spec_helper gem 2012-05-31 15:32:03 -07:00
Branan Purvine-Riley
7450a5ffc0 Fix the spec test for apt::source
the $location paramater is meant to be a deb location, so it should be
formatted as a URI.
2012-05-25 15:32:49 -07:00
Branan Purvine-Riley
ebd05e5c51 Fix spec tests 2012-05-25 11:23:54 -07:00
Branan Purvine-Riley
a4e1ee7508 fallback to the puppet modulepath if a module is missing from fixtures 2012-05-22 13:27:28 -07:00
Branan Purvine-Riley
fbe44e8b27 Remove recursive symlink from fixtures 2012-05-22 13:27:20 -07:00
Dan Bode
cdfad26d83 Merge pull request #56 from branan/travisci
Add files for travis CI
2012-05-22 09:21:52 -07:00
Nan Liu
2ce47f0652 Fix apt::dep spec tests.
Some of the existing tests were not verifying anything useful. This
update replace them with more meaningful tests.
2012-05-09 12:22:28 -07:00
Nan Liu
e3784987fc Fix dependency issues introduced with anchor.
apt::ppa and apt::builddep requires apt class. The anchor introduced for
containment of apt-get update causes a dependency loop. apt::ppa appears
to depend on apt class sources.d direcory. While apt::builddep have no
clear reason for a dependency on apt class. This change refactor both
define type, so they no longer cause a dependency loop.
2012-05-09 12:04:17 -07:00
Branan Purvine-Riley
05fba437a3 Add configuration for Travis CI 2012-05-08 11:01:31 -07:00
Nan Liu
e8977deea1 (#14321) apt::pin resource support release.
apt::pin release should default to title, but should be able to
override. This update removes unnecessary "" around $name, and add spec
tests.

Conflicts:

	spec/defines/pin_spec.rb
2012-05-04 13:56:35 -07:00
Thomas Broyer
0ffe484c7c Move Package['python-software-properties'] to apt:ppa
Also updates the apt-update in Apt::Ppa to use $apt::params::provider
instead of aptitude.
2012-05-04 13:46:08 -07:00
Nan Liu
f13f3cfac7 (#11966) Change apt update to apt_update.
Based on code review change exec from apt update to apt_update.
2012-05-04 13:35:25 -07:00
Nan Liu
82967a22fa (#11966) Update apt::ppa to use apt::update.
Change apt::ppa define type to also use the apt::update class to invoke
apt-get update once.
2012-05-04 13:35:25 -07:00
Nan Liu
3684f88372 (#11966) Only invoke apt-get update once.
Move apt-get update exec to a seperate class to minimize the number of
apt-get updates invoked by configuration changes.

* remove apt_update exec resource in apt class.
* remove apt-get-${name} in defines.
* apt::source notify Exec['apt update'].
* Remove dependency to Exec['apt_update'].
* fix rspec-puppet tests.

Conflicts:

	manifests/source.pp
2012-05-04 13:35:13 -07:00
Nan Liu
effb3f7ff3 (#14308) Add ensure=>absent for define resource.
Several apt::* define resource type does not support ensurable. This
update allows ensure=>absent to support the removal of these
configuration files.

* apt::conf
* apt::pin
* apt::source
2012-05-03 16:59:13 -07:00
Nan Liu
67023aa435 (#14138) Fix spec test for aptitude changes.
Fix spec test related to apttitude update -> apt-get update change,
2012-05-02 21:35:13 -07:00
Nan Liu
51a7596b03 Merge pull request #41 from tbroyer/install-proxy-first
Make sure we configure the proxy before doing apt-get update.
2012-05-02 17:31:57 -07:00
Cody Herriges
644ed232a0 Tests to validate apt::{conf,backports}
This patch adds the appropriate spec tests to validate the changes
  introduced by e5f2dfe.  As a bonus it includes fixes to the manifests
  that were discovered while writing the tests.
2012-04-20 13:43:38 -07:00
Thomas Broyer
e656c65818 Make sure we configure the proxy before doing apt-get update. 2012-03-30 17:48:31 +02:00
Ken Barber
0ea4ffa9a2 (#13289) Change test scaffolding to use a module & manifest dir fixture path
This removes the need for depending on a global site.pp, and depending on the
checked out apt module to be called 'apt' as well.

It pulls in stdlib via sub-modules as I don't have a better way to deal with
dependencies yet. It has pinned the revision for stdlib to 2.2.1 which is the
minimum required version for apt to work.
2012-03-21 13:21:50 +00:00
Ken Barber
a758247f26 (#13289) Clean up style violations and fix corresponding tests 2012-03-21 13:21:11 +00:00
William Van Hevelingen
5148cbf5a6 (#13125) Apt keys should be case insensitive
Previously lowercase keys would be installed every
puppet run because apt-key list returns an uppercase
key. This commit makes the comparison case insensitive.
2012-03-15 00:06:27 -07:00
Reid Vandewiele
b9607a440d Convert apt::key to use anchors
Previously, apt::key used a noop exec hack to do exactly what anchors were
intended to be used for. This commit removes the exec hack and achieves the
same end using Anchor resources from the puppetlabs/stdlib module.
2012-03-07 14:20:34 -08:00
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
Ryan Coleman
76dbf992e0 Merge pull request #26 from pdxcat/ticket_12823_aptkey_defined_type
(#12823) Add apt::key defined type and modify apt::source to use it

Reviewed and tested by Ryan Coleman (ryan@puppetlabs.com)
2012-03-01 14:40:44 -08:00
Reid Vandewiele
8cdaf855a1 (#12823) Add apt::key defined type and modify apt::source to use it
Adding this defined type allows puppet to add keys to the apt keystore without
needing to add a corresponding source; it also adds the "key_source" parameter
for wget'ing keys from arbitrary URLs, and allows for keys to be explicity
removed.

apt::key allows a key to be ensured present multiple times to account for
apt::source resources that all reference the same key. However, this means
that it is possible for a given key to be defined multiple times with
differing source parameters. e.g.

apt::key { "Add key: 4BD6EC30 from Apt::Source bunny":
  key        => "4BD6EC30",
  key_server => "pgp.mit.edu",
}

apt::key { "Add key: 4BD6EC30 from Apt::Source rabbit":
  key        => "4BD6EC30",
  key_server => "keyserver.ubuntu.com",
}

The defined type will accept both definitions and will create multiple exec
resources. This was deemed preferable to the alternative (creating only one
exec resource) in that one broken definition won't hose an entire catalog. If
one definition fails to install the key because of a bad "key_server", the
next apt::key that uses the key will get it done.
2012-03-01 14:15:52 -08:00
William Van Hevelingen
7c0d10b392 (#12809) $release should use $lsbdistcodename and fall back to manual input
This commit changes $release to default to Facter's $lsbdistcodename
and fall back to a Parse Error if $release is not set and $lsbdistcodename
does not exist. Previously $release was hardcoded to karmic.

This commit also modifies apt::ppa to use $release and sets the
files to be ensured so that they are not purged when purge_sources_list_d
is set to true.
2012-03-01 11:15:02 -08:00
Ryan Coleman
b1eb28956e Merge pull request #23 from haus/python_properties
Check if python-software-properties is defined before attempting to define it.

Reviewed and tested by Ryan Coleman (ryan@puppetlabs.com)
2012-02-24 11:20:52 -08:00
Ryan Coleman
fab62e6de7 Merge pull request #22 from haus/unique_required_packages
Allow duplicate required_packages between sources

Reviewed and tested by Ryan Coleman (ryan@puppetlabs.com)
2012-02-24 11:12:39 -08:00
Ryan Coleman
2a57cbb8ca Merge pull request #24 from haus/fix_source_key_tests
Fix source specs to test all key permutations

Reviewed and tested by Ryan Coleman (ryan@puppetlabs.com)
2012-02-24 10:56:55 -08:00
Ryan Coleman
be2cc3ec1b (#12522) Adjust spec test for splitting purge
Now that the purge parameter is split into two, the spec test needs
adjusted. This commit makes that adjustment.
2012-02-24 10:17:26 -08:00
Matthaus Litteken
9059c4e2a8 Fix source specs to test all key permutations
Previously only one should in each block was being evaluated. This moves each
should to its own block so that all values are tested. It also adds another set
of params so that all useful permutations of key, key_server, and key_content
are generated. It also replaces the previous ternary assignment for param_set
with a hash merge.
2012-02-23 22:14:38 -08:00
Matthaus Litteken
8acb202685 Add test for python-software-properties package
This test adds the precondition that the python-software-packages package be
installed before the apt class is synced. If the defined function were not
called around the package resource, this test would fail with a duplicate
package resource error.
2012-02-23 21:40:42 -08:00
Matthaus Litteken
1dcbf3d303 Add tests for required_packages change
This updates the tests for the apt::source defined type to use the new name for
the exec resource and the new parameter for the same exec.
2012-02-23 21:04:57 -08:00
Matthaus Litteken
8171d35470 Merge branch 'allow-same-key' 2012-02-23 20:54:10 -08:00
Matthaus Litteken
74c8371533 (#12430) Add tests for changes to apt module
This update reflects the changes to the apt module to allow duplicate keys. It
mostly involves tests for changes to the resource names to make them unique
between defines.
2012-02-23 20:51:27 -08:00
William Van Hevelingen
1160bcd6d1 (#12526) Add ability to reverse apt { disable_keys => true }
The setting `disable_keys => true` parameter in the apt module creates
/etc/apt/apt.conf.d/99unauth with the contents
"APT::Get::AllowUnauthenticated 1;". Changing `disable_keys`
does not remove this file. This patch makes it so that
`disable_keys => false` will remove /etc/apt/apt.conf.d/99unauth.
2012-02-23 14:37:04 -08:00
William Van Hevelingen
8c279636f5 (#12522) Adding purge option to apt class
Adds a purge option to the apt class to remove repositories
that are not managed by apt::source
2012-02-14 10:51:56 -08:00
Dan Bode
997c9fdc40 (#12529) Add unit test for apt proxy settings
This commit adds unit tests to validate that the
apt proxy is configured as expected when the class
parameter proxy_host is set as a class parameter for
the apt class.
2012-02-13 09:58:30 -08:00
Matthaus Litteken
d522877cdd (#12094) Replace chained .with_* with a hash
The hash passing to the with method is cleaner and closer to puppet code, so
all of the with_$param have been replaced with with($hash). This also
includes two minor whitspace changes to unstable.pp and source.pp.
This also replaces the ternary switch on param_set with a hash merge,
which is cleaner and will support more use cases.
2012-02-08 09:24:43 -08:00
Matthaus Litteken
8cf1bd0289 (#12094) Remove deprecated spec.opts file
Rspec no longer uses the spec.opts file, and this particular file also uses
options for rspec that are no longer honored or available, like loadby. So this
commit removes the file. Users that want to customize rspec behavior should use
a .rspec file in the repository root or in their home directory.
2012-01-23 13:38:09 -08:00
Matthaus Litteken
2d688f4cdc (#12094) Add rspec-puppet tests for apt
This commit adds full coverage for the apt module as it currently exists. It
adds rspec-puppet tests for the defines (apt::builddep, apt::force, apt::pin,
apt::ppa, apt::source) and classes (apt, debian::testing, debian::unstable,
apt::params, apt::release).
2012-01-23 13:37:42 -08:00
Matthaus Litteken
f759bc039a (#11953) Apt::force passes $version to aptitude
Previously, even if $version were passed to apt::force, aptitude would just
install the default version of the package available. This updates the aptitude
call to use the version string if it exists. If no version is passed, or if it
is false, no version is added to the aptitude call.  This also updates the
rspec-puppet tests for the define, to reflect the changes to the exec.
2012-01-13 15:29:47 -08:00
Dan Bode
f71db53130 (#11413) Add spec test for apt::force to verify changes to unless
In the Previous commits, the query being done by the
apt::force install command was not strict enough and
could lead to false positives.

These queries represented by the unless parameter have been
resolved in another commit. This commit accompanies that commit
and adds basic unit tests to correspond to the changes.
2012-01-13 12:04:09 -08:00
Dan Bode
cf6caa1f15 (#10451) Add test coverage to apt::ppa
This commit adds test coverage for apt::ppa.

This test coverage is suficient to verify the
code changes that resolve the issue with
aptitude update not being called when ppas were
added (#10451).
2012-01-03 17:03:24 -08:00