Commit graph

241 commits

Author SHA1 Message Date
Daniele Sluijters
ea4f615735 apt::source: Allow passing in a complex key.
Turn `$key` into something that accepts a string or a hash of four keys
representing the different options that can be passed on to `apt::key`.
2015-03-01 14:40:17 +01:00
Daniele Sluijters
0f3bdcdf5a apt(::key|_key) Remove the key.*_ prefixes.
Remove a lot of the redundant `key_` prefixes on `apt::key` and the
`keyserver_` prefix on `apt_key`.
2015-03-01 14:20:46 +01:00
Daniele Sluijters
95ae9ab48f apt: Add settings, keys and ppas.
* Allow any configuration of apt to be done through data bindings by
  passing in hashes representing the resources.
* Switch apt::ppa to use `distid` as set in `apt::params. This makes
  `apt::ppa` also work for LinuxMint.
2015-03-01 14:20:45 +01:00
Daniele Sluijters
fe228435b1 apt: Change how update is managed.
* Instead of having 4 options controlling purging we now have a single
  hash with four possible keys.
* Include `apt::update` only _after_ we've assembled the `$_update`
  hash.
2015-03-01 13:17:47 +01:00
Daniele Sluijters
a1ce8bdea4 apt: Change how purging is managed.
* Instead of having 4 options controlling purging we now have a single
  hash with four possible keys.
* We purge everything by default.
* `/etc/apt/preferences` is now always managed.
* Add missing `mode` to some of the files.
2015-02-28 16:50:31 +01:00
Daniele Sluijters
d81c3d9476 apt: Add proxy support on the class.
Re-introduce proxy support at the class level. Needing to configure a
proxy is such a common scenario that having it on the class is a
reasonable thing. It also affects `apt::ppa`.

Change `apt::ppa` to no longer have its own `proxy` parameter but use
the proxy as configured on the main `apt` class.
2015-02-27 21:14:24 +01:00
Daniele Sluijters
b53ea1b90c spec/(apt|ppa): Enough with all the strings.
Most options can and should be named through symbols, makes it much
easier to read too with syntax highlighting.
2015-02-27 12:20:41 +01:00
Morgan Haskel
0475e50be8 Make apt::setting notify Exec['apt_update'] by default
Can be disabled by setting `notify_update => false`
2015-02-26 12:44:06 -08:00
Daniele Sluijters
d261d8f11b apt::setting: Parse type and name from title.
Instead of having two additional parameters, `base_name` and
`setting_type` simply parse it from `title`.

We need to prefix most resources with `list-`, `conf-`, or `pref-` any
way to avoid duplicate resources so we might as well leverage that.
2015-02-26 20:15:42 +01:00
Daniele Sluijters
e588ab622b Merge pull request #443 from mhaskel/proxy_updates
proxy_* params were removed from class apt
2015-02-26 18:00:17 +01:00
Morgan Haskel
351c8d5941 Convert to use apt::setting instead of file resources
This adds consistency across the module
2015-02-25 10:24:56 -08:00
Morgan Haskel
3e44b685d2 proxy_* params were removed from class apt
Add them to PPA since they were being used there, and add a placeholder
example for setting up the proxy files.
2015-02-25 09:56:24 -08:00
Daniele Sluijters
1c0c6f106a Merge pull request #442 from mhaskel/add_base_name
Add base_name parameter to apt::setting
2015-02-25 18:22:37 +01:00
Morgan Haskel
1236ecff2c Add base_name parameter to apt::setting
This allows you to work around duplicate resource issues when you have
settings of different types with the same name. When the files are built
it is path/${priority}${base_name}${extension}.
2015-02-25 07:37:16 -08:00
Morgan Haskel
1139f801eb Convert specs to RSpec 3.1.7 syntax with Transpec
This conversion is done by Transpec 3.0.8 with the following command:
    transpec spec/classes spec/defines spec/unit

* 87 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 14 conversions
    from: obj.should
      to: expect(obj).to

* 7 conversions
    from: == expected
      to: eq(expected)

* 1 conversion
    from: it { should_not ... }
      to: it { is_expected.not_to ... }

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2015-02-24 13:20:29 -08:00
Morgan Haskel
1b6e046bea PPA Cleanup, pt 1
Make the code much cleaner, but don't make a t&p.
2015-02-22 14:44:27 -08:00
Morgan Haskel
10f313cfb4 Convert apt::source to use apt::setting
May as well use the define since we added it
2015-02-21 15:26:48 -08:00
Morgan Haskel
0a178c3382 Cleanup for apt::source
* Update `release` to default to `$::lsbdistcodename`
* Default `include_src` to false
* Validate more things!
* Stop redefining variables from `apt::params`
2015-02-21 15:26:48 -08:00
Morgan Haskel
4f4d8aeafd Type is a reserved word in puppet 4
So replace `type` with `setting_type` in apt::setting
2015-02-21 11:50:00 -08:00
Daniele Sluijters
76c88af041 apt: Add apt::setting defined type.
This is a 'base' type. It's a simple wrapper around a file which takes
`type`, `ensure`, `content`, `source` and `file_perms`. It is intended
for usage by `apt::conf`, `apt::source` and an upcoming `apt::pref`.
2015-02-21 20:13:01 +01:00
Morgan Haskel
bb3a1f0af0 Remove required packages
I'm not entirely clear on the history behind this feature, and this
feels sort of hack-y. If you could explain why this is needed that would
be awesome, or if it isn't just merge this :)
2015-02-19 15:39:14 -08:00
Morgan Haskel
9f758e8b5f Fix acceptance tests 2015-02-18 13:42:55 -08:00
Morgan Haskel
1534042c93 Fix broken unit tests 2015-02-18 11:43:50 -08:00
Morgan Haskel
8ef58a456d Get rid of hold 2015-02-15 10:59:00 -08:00
Morgan Haskel
0809774006 Get rid of release 2015-02-15 10:54:33 -08:00
Morgan Haskel
8cc7d40dd9 Get rid of force 2015-02-15 10:52:57 -08:00
Morgan Haskel
90cc951753 get rid of builddep 2015-02-15 10:45:54 -08:00
Morgan Haskel
9debb1a909 Remove backports and debian 2015-02-15 10:22:37 -08:00
Morgan Haskel
87b087e9c0 Get rid of unattended upgrades and cleanup unused templates 2015-02-15 09:46:04 -08:00
Morgan Haskel
6b5e4d1790 and an acceptance test 2015-02-15 09:41:20 -08:00
Morgan Haskel
61080fb676 Unbreak broken tests 2015-02-15 09:39:17 -08:00
Colleen Murphy
e05810d032 Update spec tests for future parser
Strings must be quoted in the future parser.
2015-02-12 12:24:02 -08:00
Stefan Dietrich
443db5a7c2 (MODULES-1200) Fix inconsistent header across files 2015-02-06 21:16:05 +01:00
Morgan Haskel
2415f23fca Merge pull request #398 from irconan/backports-pin
Separate apt::pin for apt::backports to allow pin by release instead of ...
2015-01-28 08:36:01 -08:00
Richard Connon
64f9c76a49 Separate apt::pin for apt::backports to allow pin by release instead of origin
Updated tests for backports
2015-01-28 12:34:18 +00:00
Morgan Haskel
3d25c08ec1 Trusted will be a reserved word in Puppet 4
Rename the new `trusted` parameter to `trusted_source`.
2015-01-21 10:54:37 -08:00
Merritt Krakowitzer
4f0ebaced7 Merge branch 'master' of https://github.com/puppetlabs/puppetlabs-apt into f3792625/trusted_param 2015-01-20 21:27:52 +02:00
WolverineFan
e7fee16589 Fix apt_has_updates fact not parsing apt-check output correctly
The /usr/lib/update-notifier/apt-check script returns its output
to STDERR but a recent change to the script redirects STDERR to
/dev/null.  This will cause the array to always be empty.

Combined with that problem, while we were checking for the result
being nil, we never checked for an invalid array.  As a result,
the apt_has_updates was always true and the apt_updates and
apt_security_updates facts were trying to read from an empty array
and failing.
2015-01-16 17:45:55 -05:00
Travis Fields
f1ca76dec5 MODULES-1661 Fix issue with apt_key destroy, also added mutliple deletes 2015-01-13 17:40:18 -08:00
Merritt Krakowitzer
38582d02cd Add support for parameter trusted
* Add support for paramater trusted, valid options are 'true' and false.
defaults to false. True sets the value to trusted=yes.

trusted=yes can be set to indicate that packages from this source are
always authenticated even if the Release file is not signed or the
signature can't be checked.

* Update documentation
2015-01-13 17:41:20 +02:00
rfkrocktk
445ad0b6fe Allow full length GPG key fingerprints.
Also add support for ECC and ECDSA key_types
2015-01-10 00:45:57 -05:00
Simon Kohlmeyer
b0e0024730
Allow ports that consist of 5 decimals 2015-01-08 05:26:53 +01:00
Morgan Haskel
342b90f4cc Use puppet() instead of shell() to install module dependencies 2014-12-12 12:53:18 -08:00
Morgan Haskel
e5338f2e53 Merge remote-tracking branch 'upstream/1.6.x' into merge_1.6.x
Conflicts:
	lib/facter/apt_package_updates.rb
	lib/facter/apt_security_updates.rb
	lib/facter/apt_updates.rb
2014-11-21 11:59:04 -05:00
Travis Fields
559787268a MODULES-1119 Fixed to now have username and passwords passed in again 2014-11-20 20:57:40 -05:00
Daniele Sluijters
84340fda16 Merge pull request #376 from raoulbhatia/unattended-upgrades-oldstable
Unattended upgrades oldstable for wheezy
2014-11-13 19:23:07 +01:00
Morgan Haskel
2fdad79f74 Fix tests to reflect behavior fixed on 1.7.x
The facts don't really work with 2>&1 in the case of an error, so you
want 2>/dev/null instead.
2014-10-27 10:10:52 -04:00
Morgan Haskel
20ddb67714 Merge remote-tracking branch 'upstream/master' into 1.7.x-merge
Conflicts:
	lib/facter/apt_package_updates.rb
	lib/facter/apt_security_updates.rb
	lib/facter/apt_updates.rb
2014-10-27 09:57:46 -04:00
Travis Fields
bc7601dfed Fix issue with puppet_module_install, removed and using updated method from beaker core copy_module_to 2014-10-27 09:49:27 -04:00
Raoul Bhatia
7f3acf40f9 Add "oldstable" to the default update origins for wheezy
Add "oldstable" to the default update origins to ensure
the updates keep working after wheezy+1 gets released

See unattended-upgrades 0.79.5+wheezy1 and https://bugs.debian.org/711826
2014-10-24 12:50:43 +02:00