Commit graph

63 commits

Author SHA1 Message Date
Hunter Haugen
360f04dcc1
(MODULES-3414) Limit non-strict parsing to pre-3.5.0 only
Puppet 3.5.0 introduced strict variables and the module handles strict
variables by using the defined() function. This does not work on prior
versions of puppet so we must gate based on that version.

Puppet 4 series has a new setting `strict` that may be set to enforce
strict variables while `strict_variables` remains unset (see PUP-6358)
which causes this conditional to erroniously use non-strict 3.5-era
parsing and fail.

The new conditional corrects the cases such that strict variable
behavior happens on versions 3.5.0 and later.
2016-07-27 08:39:42 -07:00
Daniele Sluijters
47b9b6dee7 apt/params: Remove unused LSB facts 2016-06-05 12:29:00 +02:00
Philipp Wagner
e651d7d25c Install software-properties-common for xenial
Instead of adding every newer release of Ubuntu, let's assume that the
package name that is used today will be used in the future, until the
next change is necessary.
2016-05-02 13:53:09 +02:00
Patrick Hervieux
b11a45ec69 Add 15.10 support 2015-11-04 16:48:22 +01:00
Vincent
a531b2b424 Corrected regression with preference files name
Signed-off-by: Vincent Deygas <Vincent.Deygas@rewardgateway.com>
2015-09-02 12:06:16 +01:00
Callahan, Michael Joseph
afa4d45ee9 Added an ensure parameter for user control of proxy presence. Defaults to undef to resist breaking any current setup.
added spec entry

Added validation

fixed ensure hash
2015-08-05 16:03:28 -04:00
Raoul Bhatia
b8462bdc43 Use Debian's new official mirrors redirector
See https://www.debian.org/News/weekly/2015/05/#httpredir
2015-07-05 09:17:12 +02:00
Morgan Haskel
3838c666f5 Only use the strict variables workaround if using strict variables
This should avoid issues with defined on earlier versions of puppet
2015-05-11 10:55:46 -07:00
Daniele Sluijters
1318344500 Give clearer instructions around lsb-release 2015-04-29 21:04:27 +02:00
Morgan Haskel
21a2462a58 Compatibility for puppet < 3.5.0 2015-04-27 13:48:41 -07:00
Morgan Haskel
3a20254108 Don't purge by default. That seems unnecessarily destructive. 2015-04-14 11:03:17 -07:00
Morgan Haskel
d3ca10fd2f Remove default support for Linux Mint and Cumulus Networks
NOTE: While out-of-the box support is disabled, it is still possible to
get the same configurations, it will just require explicitly setting the
necessary codename-munging.

This should only affect `apt::ppa`
2015-04-13 10:35:19 -07:00
Morgan Haskel
044fb5faf5 Add testing, docs, and examples for backports 2015-04-12 11:25:47 -07:00
Daniele Sluijters
37043dff85 backports: Add support back for backports.
This is currently lacking tests.
2015-04-09 15:44:20 -07:00
Morgan Haskel
dc746734f1 Merge remote-tracking branch 'upstream/master' into merge_master_to_next 2015-03-25 18:32:09 -04:00
Morgan Haskel
df47ca7ff4 Remove update['always'] = true support
We don't really need both of `update['always'] = true` and
`update['frequency'] = 'always'`.
2015-03-18 13:52:12 -07:00
Morgan Haskel
0c35704245 Make installation of software-properties optional
This is cherry-picked from the PPA cleanup happening for the 2.0.0 release.

Conflicts:
	manifests/params.pp
	manifests/ppa.pp
2015-03-13 13:38:38 -07:00
Morgan Haskel
79db539f33 Inheritance of apt::params means it can't be private
Otherwise, if another module has `class { 'apt': }` in it everything
fails, as `$caller_module_name` will be the other module name.
2015-03-10 17:16:43 -07:00
Leslie Carr
4802a6fc77 MODULES-1827 adding Cumulus Linux detection
the apt module did not correctly detect Cumulus Linux with lsbdistid.
This change adds several lines in params.pp to detect Cumulus Linux and
set $distid and $distcodename
2015-03-05 16:56:03 -08:00
Daniele Sluijters
a220dcf08c apt::source: Merge include_* options into hash.
This makes its behaviour similar to the `update`, `proxy` and `purge`
hashes on the main classes bringing its API more in line with the rest
of the module.
2015-03-05 17:37:51 +01:00
Daniele Sluijters
1c707c7d32 apt::params: Complete $xfacts.
`$xfacts` now contains and guards all `lsb*` facts. Looking up any
`lsb*`-related fact should now always be done through `$::apt::xfacts`
to ensure that the values are always set to either the value of the fact
or undef. This avoids all sorts of kerfuffles with strict variables.
2015-03-03 18:07:48 +01:00
Daniele Sluijters
c57d2dd5dd apt: Fix all strict variable cases.
A few of these fixes are absolutely horrendous but we have no choice as
we need to stay current- and future-parser compatible for now.

Once we can go Puppet 4 only we can use the `$facts` hash lookup instead
which will return undef/nil for things that aren't set instead of them
not being defined at all.
2015-03-03 17:33:14 +01:00
Daniele Sluijters
0cb48b0c47 apt:🔑 Be explicit about the keyserver.
The behaviour of passing down undef through multiple layers gets fuzzy
so for now be explicit about the keyserver.

Once Puppet 4 is out and this behaviour has been crystallised and tested
we can revisit it.
2015-03-01 14:49:04 +01:00
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
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
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
3b5145bf51 apt::params: Make the class private.
Prevent direct access to apt::params. This will ensure that any other
module cannot blindly access apt::params and get settings that have been
potentially overridden at the apt level.

Our own module still can since any class in apt has a module_name of
'apt' but that's up to us to prevent from happening.

Every setting must now be accessed by a qualified lookup into the apt
namespace.
2015-02-24 21:43:36 +01: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
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
Daniele Sluijters
3e407d70e0 apt::params: Add two missing entries, use them. 2015-02-20 01:06:26 +01:00
Daniele Sluijters
4def3987e0 Remove some vars for unattended_upgrades. 2015-02-15 19:40:42 +01:00
Morgan Haskel
9debb1a909 Remove backports and debian 2015-02-15 10:22:37 -08:00
Morgan Haskel
61080fb676 Unbreak broken tests 2015-02-15 09:39:17 -08:00
Mahyuddin Susanto
29dbe051db Add Ubuntu vivid (15.04) release
Signed-off-by: Mahyuddin Susanto <udienz@gmail.com>
2014-12-11 11:22:48 +07:00
Patrick Hervieux
1a7d1f3d43 Add utopic support 2014-11-14 15:01:29 +01: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
Daniele Sluijters
bc55471caa Merge pull request #353 from Smartesting/add-support-for-linuxmint-operatingsystem
add support for LinuxMint operating system
2014-09-07 11:56:08 +02:00
Matthias Baur
1044886150 Fix some Puppet Lint errors 2014-09-05 18:51:39 +02:00
Christophe Bliard
ec3c20e288 Prefer if/else over ? selector with default 2014-08-29 16:57:09 +02:00
Christophe Bliard
636cacd72c add support for LinuxMint operating system 2014-08-29 16:23:21 +02:00
Spencer Owen
64b8eb1e4a Adds check to params.pp if lab-release is not installed
Adds spec test

If lab-release is not installed, then the end user sees a confusing/ vague message
Error: Unsupported lsbdistid () at /modules/apt/manifests/params.pp:52
It is common for docker containers to not include this package by default

After fix, the user sees a friendlier message if lab-release is not installed
Error: Unable to determine lsbdistid, is lsb-release installed? at /modules/apt/manifests/params.pp:52
2014-07-10 11:48:54 -06:00
Raoul Bhatia
5ed7396a31 Enable auto-update for Debian squeeze-lts
Quoting https://wiki.debian.org/LTS

Official security support for Debian GNU/Linux 6.0
(code name "Squeeze") has ended on 31 May 2014.
However long term support for the distribution
is going to be extended until February 2016,
i.e. five years after the initial release.

See https://wiki.debian.org/LTS for more details.
2014-06-26 20:03:04 +02: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
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
Hunter Haugen
6691c2fade Merge pull request #248 from electrical/fix_params_fail
Fix fail message
2014-03-07 10:00:58 -08:00
Aaron Stone
f110d4a366 Oneiric is available on the old-releases mirror 2014-03-04 12:51:32 -08:00
Aaron Stone
62ea527c3e Remove hardy, maverick, natty
They are not on the mirrors anymore.
2014-03-04 12:50:37 -08:00
Aaron Stone
cba6bb4a42 Add Ubuntu Trusty
It's in Beta now and has landed on the main mirrors.
2014-03-04 12:46:27 -08:00