Commit graph

311 commits

Author SHA1 Message Date
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
Daniele Sluijters
fd71aedda7 Merge pull request #440 from mhaskel/fix_setting_validation
Allow priorities to be zero-padded
2015-02-25 18:22:04 +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
e0f058cc20 Allow priorities to be zero-padded 2015-02-25 07:33:05 -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
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
Daniele Sluijters
7e7e3e2f50 Merge pull request #435 from mhaskel/setting_fix
Type is a reserved word in puppet 4
2015-02-22 00:22:59 +01:00
Morgan Haskel
7c5a62f13e Stop redeclaring variables from params
It really seems unnecessary.
2015-02-21 12:18:15 -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
Morgan Haskel
e75e603d33 Merge pull request #428 from puppetlabs/daenney/apt-setting
apt: Add apt::setting defined type.
2015-02-21 11:40:05 -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
92c405b19c Merge pull request #430 from mhaskel/fix_typo
Fix typo from #426
2015-02-20 22:06:50 +01:00
Morgan Haskel
12a358912a Fix typo from #426
Too many `$`s
2015-02-20 10:55:47 -08:00
Morgan Haskel
0d9bab38cc Remove 'include apt::update'
It is included in `class apt`, and there are no promises about anything
working without that.
2015-02-20 10:47:35 -08:00
Morgan Haskel
59c362a2c1 Merge pull request #426 from puppetlabs/daenney/fix-missing-param-and-naming
apt::params: Add two missing entries, use them.
2015-02-19 16:41:27 -08:00
Daniele Sluijters
3e407d70e0 apt::params: Add two missing entries, use them. 2015-02-20 01:06:26 +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
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
Daniele Sluijters
4def3987e0 Remove some vars for unattended_upgrades. 2015-02-15 19:40:42 +01:00
Morgan Haskel
501a1b5627 stop including params everywhere 2015-02-15 10:25:36 -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
61080fb676 Unbreak broken tests 2015-02-15 09:39:17 -08:00
Morgan Haskel
6cdbe562ab Starting to clean up init.pp 2015-02-15 09:09:47 -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
958a0c1750 Merge pull request #395 from udienz/master
Add Ubuntu vivid (15.04) release
2015-01-26 14:26:13 -08: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
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
Peter Souter
b3c61ce0bc Format documentation a little
Makes it a little easier to read and parse with scripts
2015-01-09 13:17:51 -08:00
Simon Kohlmeyer
b0e0024730
Allow ports that consist of 5 decimals 2015-01-08 05:26:53 +01:00
juniorsysadmin
b737557e31 (MODULES-1231) Fix apt::force locale issues
The current $install_check variable greps for 'Installed' or
'Candidate', which means that it will give the wrong result
when a non-English locale is used. This patch ensures that the
check will work properly for non-English locales by setting the
environment parameters for the exec to LC_ALL=C LANG=C
2014-12-15 23:31:09 +11: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
15fad7ec11 Fix "WARNING: case statement without a default case on line ..." 2014-10-24 12:59:15 +02:00
Raoul Bhatia
fb9b9185e4 Fix "WARNING: indentation of => is not properly aligned on line 9" 2014-10-24 12:50:43 +02: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
Bryan M. Schlief
a6b560c9b4 Add support for RandomSleep to 10periodic 2014-10-13 14:19:11 -07:00
Morgan Haskel
049e993511 Missed one case for _kick_apt needed for strict variables 2014-10-06 16:41:14 -04:00
Morgan Haskel
c41e71d0c2 Fix for future parser support 2014-10-03 19:30:33 -04:00
Wolf Noble
7a192d7bea - add bits for updating apt
- fix spec tests to include osfamily fact
- add spec tests to verify current default behavior unimpacted.
- manage the update-stamp file in puppet via content rather than a served file.
- update custom fact to return -1 if the file doesn't exist
- add spec test for custom fact
- refactor to use a variable vs a collector/override
- document parameters a bit more verbosely
- remove empty unconstrained fact
- Add osfamily fact to backports tests to facilitate functional tests on non-debian hosts
2014-09-24 16:29:27 -07:00
Daniele Sluijters
dde7f4e819 Merge pull request #326 from dabido/master
Builddep notifies apt-get update instead of requiring it
2014-09-24 15:01:17 -07:00
Martin Seener
93567aef4a apt::force: Added 2 parameters for automatic configuration file handling; fixes #modules-1306
when updating or installing newer packages with apt::force and you have changed previous
configuration files aptitude or apt-get will prompt what to do. You can suppress that
by pre-define the action with cfg_files parameter (new, old or unchanged and its backward
compatible if not defined). With a second optional parameter cfg_missing you can force
your provider to install missing configuration files as well.

Signed-off-by: Martin Seener <martin@seener.de>

apt::force: Changed selectors used in force.pp to case statements; refs #module-1306

Signed-off-by: Martin Seener <martin@seener.de>

apt::force: rspec: fixed the failing tests and added validate_re for cfg_files and validate_bool for cfg_missing. Also removed default values for both case statements and only allow pre-defined values or true/false. Furthermore enhanced the README refs #module-1306

Was able to fix the failing rspec tests for the patch.
Thanks to Morgan Haskel.

Signed-off-by: Martin Seener <martin@seener.de>

Despite the puppetlabs-stdlib documentation says validation_re supports 3 arguments the tests failed telling that only 2 are supported. Fixed this by removing the 3 optional argument; refs #modules-1306

Signed-off-by: Martin Seener <martin.seener@barzahlen.de>

apt::force: updated readme refs #module-1306

Signed-off-by: Martin Seener <martin@seener.de>
2014-09-22 19:53:45 +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
Morgan Haskel
d6bdb4d925 Cleaned up unit tests. 2014-08-04 19:44:19 -04:00
Morgan Haskel
e970aa9a6d Merge pull request #333 from wilman0/master
Fix for debian/ubuntu hold and a way to add debian src only
2014-07-31 12:58:20 -04:00
wilman0
538a9f9aab Update hold.pp
fix for default debian installations

all files in /etc/apt/preferences without _ will be silently ignore according to debian manpage. Addionally its not a good idea to write versionnumber in filename cause there is no way to delete this files if you increase versionumber

Update source_spec.rb

add a way to include debsrc only (useful for debian/ubuntu build server ... jenkins ect)

Update source_spec.rb

var rename

Update source.list.erb

add include_deb "switch"

Update source.pp

"include_deb" defaultvalue = true

Update hold_spec.rb

change the name of the preferences file (hold)

Update source_spec.rb

Update README.md

Doku: 'include_deb' included next to 'include_src' in examples

Update README.md

typo
2014-07-31 18:40:46 +02:00
Morgan Haskel
84b53dcde4 Merge pull request #330 from dantman/master
Fix inconsistent $proxy_host handling in apt and apt::ppa.
2014-07-30 14:44:51 -04:00
Daniel Friesen
562e702a46 Fix mistake in my 0c2329b implementation. 2014-07-11 14:33:15 -07:00
Daniel Friesen
0c2329bd57 Fix inconsistent $proxy_host handling in apt and apt::ppa.
- The default for $proxy_host is undef
- apt considers $proxy_set to be absent if $proxy_host is undef
- apt::ppa considers proxy_env to be empty if $proxy_host is false or ''

This results in apt::ppa to consider $proxy_host to be set when the default undef is used
breaking ppa resources because $proxy_env becomes:
  [http_proxy=http://:8080, https_proxy=http://:8080]

Fix this by making both apt and apt::ppa consider $proxy_host to be unset when it is
any of false, '', or undef.
2014-07-10 16:57:38 -07: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
Dave
0308872b86 Update builddep.pp 2014-07-06 12:09:06 +09:00
Ashley Penney
3c48598eeb Merge branch '1.5.x' into merge
Conflicts:
	Gemfile
	spec/acceptance/apt_key_provider_spec.rb
2014-07-03 13:08:11 -04:00
Daniele Sluijters
4ee69d08f4 Merge pull request #321 from raoulbhatia/squeeze-lts
Enable auto-update for Debian squeeze-lts
2014-06-27 17:41:50 +02: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
345aef1d01 Merge pull request #304 from innyso/allow_url_for_key_server
Allow url for key server
2014-06-26 14:29:36 +02:00
juniorsysadmin
986bf8b02d Allow custom comment for sources list 2014-06-10 17:05:51 +10:00
innyso
3cbe24e18e Adding dash to key_server validate regex
Dashes should be allow when defining domain or url for key_server. Rspec
test cases are included to make sure no malform domain name or url are
used.
2014-06-10 01:07:04 +01:00
innyso
1a3d6625f4 Allow url or domain name for key_server parameter
As some places dont have port 11371 open, they are required to use URL as
key_server instead of domain name therefore adding the capability to use URL or
domain name as key_server parameter
2014-06-02 18:05:20 +01: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
1891912f84 Fixed regex to actually follow APT requirements
Previous implementation would overwrite the file name and
potentially include characters that would cause apt to ignore
the pref file
2014-05-19 15:33:06 +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
ee0233066e Some code cleaning 2014-05-05 12:06:39 +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
Daniel Paulus
d3d6fde6e7 Do not add bogus line to apt preference file on Debian Wheezy 2014-05-02 17:56:06 +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
13788395e6 pin: caller_module_name is not a topscope variable 2014-03-28 08:49:18 +01:00
Ashley Penney
553611b16b Small patch to fix the spacing that makes lint fail. 2014-03-27 16:40:36 +00: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
Frédéric DROUET
f546dc2d37 Fix typo in ppa.pp 2014-03-20 23:09:07 +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
Ian Unruh
7b932be82c Updated documentation 2014-03-05 16:01:37 -06:00
Ian Unruh
824da679d4 Added retry to update operation 2014-03-05 15:59:21 -06: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
c8c7659b0b Merge pull request #258 from sodabrew/patch-1
Add Ubuntu Trusty
2014-03-05 13:17:12 -05: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
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