Merge pull request #683 from HelenCampbell/rpreppy
[puppet-modules/puppetlabs-apt.git] / CHANGELOG.md
1 ## Supported Release 4.1.0
2 ### Summary
3
4 This release removes Data in Modules due to current compatibility issues and reinstates the params.pp file. Also includes a couple of bug fixes.
5
6 #### Features
7 - (MODULES-4973) Data in Modules which was introduced in the last release has now been reverted due to compatibility issues.
8
9 #### Bugfixes
10 - Now apt_key only sends the auth basic header when userinfo can be parsed from the URL.
11 - Reverted the removal of Evolving Web's attribution in NOTICE file.
12 - Test added to ensure empty string allowed for $release in apt::source.
13
14
15 ## Supported Release 3.0.0 and 4.0.0
16 ###Summary
17
18 This release adds new Puppet 4 features: data in modules, EPP templates, the $facts hash, and data types. This release is fully backwards compatible to existing Puppet 4 configurations and provides you with deprecation warnings for every argument that will not work as expected with the final 4.0.0 release. See the stdlib docs here for an in-depth discussion of this: https://github.com/puppetlabs/puppetlabs-stdlib#validate_legacy
19
20 If you want to learn more about the new features used or you wish to upgrade a module yourself, have a look at the NTP: A Puppet 4 language update blog post.
21
22 If you're still running Puppet 3, remain on the latest puppetlabs-apt 2.x release for now, and see the documentation to upgrade to Puppet 4.
23
24 Changes
25
26 Data in modules: Moves all distribution and OS-dependent defaults into YAML files in data/, alleviating the need for a params class. Note that while this feature is currently still classed as experimental, the final implementation will support the changes here.
27 EPP templating: Uses the Puppet language as a base for templates to create simpler and safer templates. No need for Ruby anymore!
28 The $facts hash: Makes facts visibly distinct from other variables for more readable and maintainable code. This helps eliminate confusion if you use a local variable whose name happens to match that of a common fact.
29 Data types for validation: Helps you find and replace deprecated code in existing validate functions with stricter, more readable data type notation. First upgrade to the 3.0.0 release of this module, and address all deprecation warnings before upgrading to the final 4.0.0 release. Please see the stdlib docs for an in-depth discussion of this process.
30
31 ## Supported Release 2.4.0
32 ### Summary
33 A release that includes only a couple of additional features, but includes several cleanups and bugfixes around existing issues.
34
35 #### Features
36 - Tests updated to check for idempotency.
37 - (MODULES-4224) Implementation of beaker-module_install_helper.
38 - Deprecation warnings are now handled by the deprecation function in stdlib.
39
40 #### Bugfixes
41 - Now http and https sources fixed for apt_key and can take a userinfo.
42 - GPG key update.
43 - Notify_update param now defaults to true to avoid validation errors.
44 - Implement retry on tests which pull key from a key server which sometimes times out (transient error).
45 - String comparison error now comphensated for in update.pp.
46 - (MODULES-4104) Removal of the port number from repository location in order to get the host name of the repository.
47 - Puppet lint warnings addressed.
48 - A few small readme issues addressed.
49
50 ## Supported Release 2.3.0
51 ### Summary
52 A release containing many bugfixes with additional features.
53
54 #### Features
55 - Apt_updates facts now use /usr/bin/apt-get.
56 - Addition of notify update to apt::source.
57 - Update to newest modulesync_configs.
58 - Installs software-properties-common for Xenial.
59 - Modulesync updates.
60 - Add ability to specify a hash of apt::conf defines.
61
62 #### Bugfixes
63 - A clean up of spec/defines/key_compat_specs, also now runs under STRICT_VARIABLES.
64 - Apt::setting expects priority to be an integer, set defaults accordingly.
65 - Fixed version check for Ubuntu on 16.04.
66 - Now uses hkps.pool.sks-keyservers.net instead of pgp.mit.edu.
67 - Updates and fixes to tests. General cleanup.
68 - Fixed regexp for $ensure params.
69 - Apt/params: Remove unused LSB facts.
70 - Replaced `-s` with `-f` in ppa rspec tests - After the repository is added, the "${::apt::sources_list_d}/${sources_list_d_filename}" file is created as an empty file. The unless condition of Exec["add-apt-repository-${name}"] calls test -s, which returns 1 if the file is empty. Because the file is empty, the unless condition is never true and the repository is added on every execution. This change replaces the -s test condition with -f, which is true if the file exists or false otherwise.
71 - 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 now 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 the conditional in manifests/params.pp to erroniously use non-strict 3.5-era parsing and fail. This new conditional corrects the cases such that strict variable behavior happens on versions 3.5.0 and later.
72
73 ##Supported Release 2.2.2
74 ###Summary
75
76 Several bug fixes and the addition of support updates to Debian 8 and Ubuntu Wily.
77
78 ####Bugfixes
79 - Small fixes to descriptions within the readme and the addition of some examples.
80 - Updates to run on Ubuntu Wily.
81 - Fixed apt_key tempfile race condition.
82 - Run stages limitation added to the documentation.
83 - Remove unneeded whitespace in source.list template.
84 - Handle PPA names that contain a plus character.
85 - Update to current msync configs.
86 - Avoid duplicate package resources when package_manage => true.
87 - Avoid multiple package resource declarations.
88 - Ensure PPAs in tests have valid form.
89 - Look for correct sources.list.d file for apt::ppa.
90 - Debian 8 support addiiton to metadata.
91
92 ##Supported Release 2.2.1
93 ###Summary
94
95 Small release for support of newer PE versions. This increments the version of PE in the metadata.json file.
96
97 ##2015-09-29 - Supported Release 2.2.0
98 ###Summary
99
100 This release includes a few bugfixes.
101
102 ####Features
103 - Adds an `ensure` parameter for user control of proxy presence.
104 - Adds ability to set `notify_update` to `apt::conf` (MODULES-2269).
105 - Apt pins no longer trigger an `apt-get update` run.
106 - Adds support for creating pins from main class.
107
108 ####Bugfixes
109 - Updates to use the official Debian mirrors.
110 - Fixes path to `preferences` and `preferences.d`
111 - Fixes pinning for backports (MODULES-2446).
112 - Fixes the name/extension of the preferences files.
113
114 ##2015-07-28 - Supported Release 2.1.1
115 ###Summary
116
117 This release includes a few bugfixes.
118
119 ####Bugfixes
120 - Fix incorrect use of anchoring (MODULES-2190)
121 - Use correct comment type for apt.conf files
122 - Test fixes
123 - Documentation fixes
124
125 ##2015-06-16 - Supported Release 2.1.0
126 ###Summary
127
128 This release largely makes `apt::key` and `apt::source` API-compatible with the 1.8.x versions for ease in upgrading, and also addresses some compatibility issues with older versions of Puppet.
129
130 ####Features
131 - Add API compatibility to `apt::key` and `apt::source`
132 - Added `apt_reboot_required` fact
133
134 ####Bugfixes
135 - Fix compatibility with Puppet versions 3.0-3.4
136 - Work around future parser bug PUP-4133
137
138 ##2015-04-28 - Supported Release 2.0.1
139 ###Summary
140
141 This bug fixes a few compatibility issues that came up with the 2.0.0 release, and includes test and documentation updates.
142
143 ####Bugfixes
144 - Fix incompatibility with keyrings containing multiple keys
145 - Fix bugs preventing the module from working with Puppet < 3.5.0
146
147 ##2015-04-07 - Supported Release 2.0.0
148 ###Summary
149
150 This is a major rewrite of the apt module. Many classes and defines were removed, but all existing functionality should still work. Please carefully review documentation before upgrading.
151
152 ####Backwards-incompatible changes
153
154 As this is a major rewrite of the module there are a great number of backwards incompatible changes. Please review this and the updated README carefully before upgrading.
155
156 #####`apt_key`
157 - `keyserver_options` parameter renamed to `options`
158
159 #####`apt::backports`
160 - This no longer works out of the box on Linux Mint. If using this on mint, you must specify the `location`, `release`, `repos`, and `key` parameters. [Example](examples/backports.pp)
161
162 #####`apt::builddep`
163 - This define was removed. Functionality can be matched passing 'build-dep' to `install_options` in the package resource. [Example](examples/builddep.pp)
164
165 #####`apt::debian::testing`
166 - This class was removed. Manually add an `apt::source` instead. [Example](examples/debian_testing.pp)
167
168 #####`apt::debian::unstable`
169 - This class was removed. Manually add an `apt::source` instead. [Example](examples/debian_unstable.pp)
170
171 #####`apt::force`
172 - This define was removed. Functionallity can be matched by setting `install_options` in the package resource. See [here](examples/force.pp) for how to set the options.
173
174 #####`apt::hold`
175 - This define was removed. Simply use an `apt::pin` with `priority => 1001` for the same functionality.
176
177 #####`apt`
178 - `always_apt_update` - This parameter was removed. Use `update => { 'frequency' => 'always' }` instead.
179 - `apt_update_frequency` - This parameter was removed. Use `update => { 'frequency' => <frequency> }` instead.
180 - `disable_keys` - This parameter was removed. See this [example](examples/disable_keys.pp) if you need this functionality.
181 - `proxy_host` - This parameter was removed. Use `proxy => { 'host' => <host> }` instead.
182 - `proxy_port` - This parameter was removed. Use `proxy => { 'port' => <port> }` instead.
183 - `purge_sources_list` - This parameter was removed. Use `purge => { 'sources.list' => <bool> }` instead.
184 - `purge_sources_list_d` - This parameter was removed. Use `purge => { 'sources.list.d' => <bool> }` instead.
185 - `purge_preferences` - This parameter was removed. Use `purge => { 'preferences' => <bool> }` instead.
186 - `purge_preferences_d` - This parameter was removed. Use `purge => { 'preferences.d' => <bool> }` instead.
187 - `update_timeout` - This parameter was removed. Use `update => { 'timeout' => <timeout> }` instead.
188 - `update_tries` - This parameter was removed. Use `update => { 'tries' => <tries> }` instead.
189
190 #####`apt::key`
191 - `key` - This parameter was renamed to `id`.
192 - `key_content` - This parameter was renamed to `content`.
193 - `key_source` - This parameter was renamed to `source`.
194 - `key_server` - This parameter was renamed to `server`.
195 - `key_options` - This parameter was renamed to `options`.
196
197 #####`apt::release`
198 - This class was removed. See this [example](examples/release.pp) for how to achieve this functionality.
199
200 #####`apt::source`
201 - `include_src` - This parameter was removed. Use `include => { 'src' => <bool> }` instead. ***NOTE*** This now defaults to false.
202 - `include_deb` - This parameter was removed. Use `include => { 'deb' => <bool> }` instead.
203 - `required_packages` - This parameter was removed. Use package resources for these packages if needed.
204 - `key` - This can either be a key id or a hash including key options. If using a hash, `key => { 'id' => <id> }` must be specified.
205 - `key_server` - This parameter was removed. Use `key => { 'server' => <server> }` instead.
206 - `key_content` - This parameter was removed. Use `key => { 'content' => <content> }` instead.
207 - `key_source` - This parameter was removed. Use `key => { 'source' => <source> }` instead.
208 - `trusted_source` - This parameter was renamed to `allow_unsigned`.
209
210 #####`apt::unattended_upgrades`
211 - This class was removed and is being republished under the puppet-community namespace. The git repository is available [here](https://github.com/puppet-community/puppet-unattended_upgrades) and it will be published to the forge [here](https://forge.puppetlabs.com/puppet/unattended_upgrades).
212
213 ####Changes to default behavior
214 - By default purge unmanaged files in 'sources.list', 'sources.list.d', 'preferences', and 'preferences.d'.
215 - Changed default for `package_manage` in `apt::ppa` to `false`. Set to `true` in a single PPA if you need the package to be managed.
216 - `apt::source` will no longer include the `src` entries by default. 
217 - `pin` in `apt::source` now defaults to `undef` instead of `false`
218
219 ####Features
220 - Added the ability to pass hashes of `apt::key`s, `apt::ppa`s, and `apt::setting`s to `apt`.
221 - Added 'https' key to `proxy` hash to allow disabling `https_proxy` for the `apt::ppa` environment.
222 - Added `apt::setting` define to abstract away configuration.
223 - Added the ability to pass hashes to `pin` and `key` in `apt::backports` and `apt::source`.
224
225 ####Bugfixes
226 - Fixes for strict variables.
227
228 ##2015-03-17 - Supported Release 1.8.0
229 ###Summary
230
231 This is the last planned feature release of the 1.x series of this module. All new features will be evaluated for puppetlabs-apt 2.x.
232
233 This release includes many important features, including support for full fingerprints, and fixes issues where `apt_key` was not supporting user/password and `apt_has_updates` was not properly parsing the `apt-check` output.
234
235 ####Changes to default behavior
236 - The apt module will now throw warnings if you don't use full fingerprints for `apt_key`s
237
238 ####Features
239 - Use gpg to check keys to work around https://bugs.launchpad.net/ubuntu/+source/gnupg2/+bug/1409117 (MODULES-1675)
240 - Add 'oldstable' to the default update origins for wheezy
241 - Add utopic, vivid, and cumulus compatibility
242 - Add support for full fingerprints
243 - New parameter for `apt::source`
244   - `trusted_source`
245 - New parameters for `apt::ppa`
246   - `package_name`
247   - `package_manage`
248 - New parameter for `apt::unattended_upgrades`
249   - `legacy_origin`
250 - Separate `apt::pin` from `apt::backports` to allow pin by release instead of origin
251
252 ####Bugfixes
253 - Cleanup lint and future parser issues
254 - Fix to support username and passwords again for `apt_key` (MODULES-1119)
255 - Fix issue where `apt::force` `$install_check` didn't work with non-English locales (MODULES-1231)
256 - Allow 5 digit ports in `apt_key`
257 - Fix for `ensure => absent` in `apt_key` (MODULES-1661)
258 - Fix `apt_has_updates` not parsing `apt-check` output correctly
259 - Fix inconsistent headers across files (MODULES-1200)
260 - Clean up formatting for 50unattended-upgrades.erb
261
262 ##2014-10-28 - Supported Release 1.7.0
263 ###Summary
264
265 This release includes several new features, documentation and test improvements, and a few bug fixes.
266
267 ####Features
268 - Updated unit and acceptance tests
269 - Update module to work with Linux Mint
270 - Documentation updates
271 - Future parser / strict variables support
272 - Improved support for long GPG keys
273 - New parameters!
274   - Added `apt_update_frequency` to apt
275   - Added `cfg_files` and `cfg_missing` parameters to apt::force
276   - Added `randomsleep` to apt::unattended_upgrades
277 - Added `apt_update_last_success` fact
278 - Refactored facts for performance improvements
279
280 ####Bugfixes
281 - Update apt::builddep to require Exec['apt_update'] instead of notifying it
282 - Clean up lint errors
283
284 ##2014-08-20 - Supported Release 1.6.0
285 ###Summary
286
287 ####Features
288 - Allow URL or domain name for key_server parameter
289 - Allow custom comment for sources list
290 - Enable auto-update for Debian squeeze LTS
291 - Add facts showing available updates
292 - Test refactoring
293
294 ####Bugfixes
295 - Allow dashes in URL or domain for key_server parameter
296
297 ##2014-08-13 - Supported Release 1.5.3
298 ###Summary
299
300 This is a bugfix releases.  It addresses a bad regex, failures with unicode
301 characters, and issues with the $proxy_host handling in apt::ppa.
302
303 ####Features
304 - Synced files from Modulesync
305
306 ####Bugfixes
307 - Fix regex to follow APT requirements in apt::pin
308 - Fix for unicode characters
309 - Fix inconsistent $proxy_host handling in apt and apt::ppa
310 - Fix typo in README
311 - Fix broken acceptance tests
312
313 ##2014-07-15 - Supported Release 1.5.2
314 ###Summary
315
316 This release merely updates metadata.json so the module can be uninstalled and
317 upgraded via the puppet module command.
318
319 ##2014-07-10 - Supported Release 1.5.1
320 ###Summary
321
322 This release has added tests to ensure graceful failure on OSX.
323
324 ##2014-06-04 - Release 1.5.0
325 ###Summary
326
327 This release adds support for Ubuntu 14.04.  It also includes many new features 
328 and important bugfixes.  One huge change is that apt::key was replaced with
329 apt_key, which allows you to use puppet resource apt_key to inventory keys on
330 your system.
331
332 Special thanks to daenney, our intrepid unofficial apt maintainer!
333
334 ####Features
335 - Add support for Ubuntu Trusty!
336 - Add apt::hold define
337 - Generate valid *.pref files in apt::pin
338 - Made pin_priority configurable for apt::backports
339 - Add apt_key type and provider
340 - Rename "${apt_conf_d}/proxy" to "${apt_conf_d}/01proxy"
341 - apt::key rewritten to use apt_key type
342 - Add support for update_tries to apt::update
343
344 ####Bugfixes
345 - Typo fixes
346 - Fix unattended upgrades
347 - Removed bogus line when using purge_preferences
348 - Fix apt::force to upgrade allow packages to be upgraded to the pacakge from the specified release
349
350 ##2014-03-04 - Supported Release 1.4.2
351 ###Summary
352
353 This is a supported release. This release tidies up 1.4.1 and re-enables
354 support for Ubuntu 10.04
355
356 ####Features
357
358 ####Bugfixes
359 - Fix apt:ppa to include the -y Ubuntu 10.04 requires.
360 - Documentation changes.
361 - Test fixups.
362
363 ####Known Bugs
364
365 * No known issues.
366
367
368
369 ##2014-02-13 1.4.1
370 ###Summary
371 This is a bugfix release.
372
373 ####Bugfixes
374 - Fix apt::force unable to upgrade packages from releases other than its original
375 - Removed a few refeneces to aptitude instead of apt-get for portability
376 - Removed call to getparam() due to stdlib dependency
377 - Correct apt::source template when architecture is provided
378 - Retry package installs if apt is locked
379 - Use root to exec in apt::ppa
380 - Updated tests and converted acceptance tests to beaker
381
382 ##2013-10-08 - Release 1.4.0
383
384 ###Summary
385
386 Minor bugfix and allow the timeout to be adjusted.
387
388 ####Features
389 - Add an `updates_timeout` to apt::params
390
391 ####Bugfixes
392 - Ensure apt::ppa can read a ppa removed by hand.
393
394
395 ##2013-10-08 - Release 1.3.0
396 ###Summary
397
398 This major feature in this release is the new apt::unattended_upgrades class,
399 allowing you to handle Ubuntu's unattended feature.  This allows you to select
400 specific packages to automatically upgrade without any further user
401 involvement.
402
403 In addition we extend our Wheezy support, add proxy support to apt:ppa and do
404 various cleanups and tweaks.
405
406 ####Features
407 - Add apt::unattended_upgrades support for Ubuntu.
408 - Add wheezy backports support.
409 - Use the geoDNS http.debian.net instead of the main debian ftp server.
410 - Add `options` parameter to apt::ppa in order to pass options to apt-add-repository command.
411 - Add proxy support for apt::ppa (uses proxy_host and proxy_port from apt).
412
413 ####Bugfixes
414 - Fix regsubst() calls to quote single letters (for future parser).
415 - Fix lint warnings and other misc cleanup.
416
417
418 ##2013-07-03 - Release 1.2.0
419
420 ####Features
421 - Add geppetto `.project` natures
422 - Add GH auto-release
423 - Add `apt::key::key_options` parameter
424 - Add complex pin support using distribution properties for `apt::pin` via new properties:
425   - `apt::pin::codename`
426   - `apt::pin::release_version`
427   - `apt::pin::component`
428   - `apt::pin::originator`
429   - `apt::pin::label`
430 - Add source architecture support to `apt::source::architecture`
431
432 ####Bugfixes
433 - Use apt-get instead of aptitude in apt::force
434 - Update default backports location
435 - Add dependency for required packages before apt-get update
436
437
438 ##2013-06-02 - Release 1.1.1
439 ###Summary
440
441 This is a bug fix release that resolves a number of issues:
442
443 * By changing template variable usage, we remove the deprecation warnings
444   for Puppet 3.2.x
445 * Fixed proxy file removal, when proxy absent
446
447 Some documentation, style and whitespaces changes were also merged. This
448 release also introduced proper rspec-puppet unit testing on Travis-CI to help
449 reduce regression.
450
451 Thanks to all the community contributors below that made this patch possible.
452
453 #### Detail Changes
454
455 * fix minor comment type (Chris Rutter)
456 * whitespace fixes (Michael Moll)
457 * Update travis config file (William Van Hevelingen)
458 * Build all branches on travis (William Van Hevelingen)
459 * Standardize travis.yml on pattern introduced in stdlib (William Van Hevelingen)
460 * Updated content to conform to README best practices template (Lauren Rother)
461 * Fix apt::release example in readme (Brian Galey)
462 * add @ to variables in template (Peter Hoeg)
463 * Remove deprecation warnings for pin.pref.erb as well (Ken Barber)
464 * Update travis.yml to latest versions of puppet (Ken Barber)
465 * Fix proxy file removal (Scott Barber)
466 * Add spec test for removing proxy configuration (Dean Reilly)
467 * Fix apt::key listing longer than 8 chars (Benjamin Knofe)
468
469
470
471
472 ## Release 1.1.0
473 ###Summary
474
475 This release includes Ubuntu 12.10 (Quantal) support for PPAs.
476
477 ---
478
479 ##2012-05-25 - Puppet Labs <info@puppetlabs.com> - Release 0.0.4
480 ###Summary
481
482  * Fix ppa list filename when there is a period in the PPA name
483  * Add .pref extension to apt preferences files
484  * Allow preferences to be purged
485  * Extend pin support
486
487
488 ##2012-05-04 - Puppet Labs <info@puppetlabs.com> - Release 0.0.3
489 ###Summary
490  
491  * only invoke apt-get update once
492  * only install python-software-properties if a ppa is added
493  * support 'ensure => absent' for all defined types
494  * add apt::conf
495  * add apt::backports
496  * fixed Modulefile for module tool dependency resolution
497  * configure proxy before doing apt-get update
498  * use apt-get update instead of aptitude for apt::ppa
499  * add support to pin release
500
501
502 ##2012-03-26 - Puppet Labs <info@puppetlabs.com> - Release 0.0.2
503 ###Summary
504
505 * 41cedbb (#13261) Add real examples to smoke tests.
506 * d159a78 (#13261) Add key.pp smoke test
507 * 7116c7a (#13261) Replace foo source with puppetlabs source
508 * 1ead0bf Ignore pkg directory.
509 * 9c13872 (#13289) Fix some more style violations
510 * 0ea4ffa (#13289) Change test scaffolding to use a module & manifest dir fixture path
511 * a758247 (#13289) Clean up style violations and fix corresponding tests
512 * 99c3fd3 (#13289) Add puppet lint tests to Rakefile
513 * 5148cbf (#13125) Apt keys should be case insensitive
514 * b9607a4 Convert apt::key to use anchors
515
516
517 ##2012-03-07 - Puppet Labs <info@puppetlabs.com> - Release 0.0.1
518 ###Summary
519
520 * d4fec56 Modify apt::source release parameter test
521 * 1132a07 (#12917) Add contributors to README
522 * 8cdaf85 (#12823) Add apt::key defined type and modify apt::source to use it
523 * 7c0d10b (#12809) $release should use $lsbdistcodename and fall back to manual input
524 * be2cc3e (#12522) Adjust spec test for splitting purge
525 * 7dc60ae (#12522) Split purge option to spare sources.list
526 * 9059c4e Fix source specs to test all key permutations
527 * 8acb202 Add test for python-software-properties package
528 * a4af11f Check if python-software-properties is defined before attempting to define it.
529 * 1dcbf3d Add tests for required_packages change
530 * f3735d2 Allow duplicate $required_packages
531 * 74c8371 (#12430) Add tests for changes to apt module
532 * 97ebb2d Test two sources with the same key
533 * 1160bcd (#12526) Add ability to reverse apt { disable_keys => true }
534 * 2842d73 Add Modulefile to puppet-apt
535 * c657742 Allow the use of the same key in multiple sources
536 * 8c27963 (#12522) Adding purge option to apt class
537 * 997c9fd (#12529) Add unit test for apt proxy settings
538 * 50f3cca (#12529) Add parameter to support setting a proxy for apt
539 * d522877 (#12094) Replace chained .with_* with a hash
540 * 8cf1bd0 (#12094) Remove deprecated spec.opts file
541 * 2d688f4 (#12094) Add rspec-puppet tests for apt
542 * 0fb5f78 (#12094) Replace name with path in file resources
543 * f759bc0 (#11953) Apt::force passes $version to aptitude
544 * f71db53 (#11413) Add spec test for apt::force to verify changes to unless
545 * 2f5d317 (#11413) Update dpkg query used by apt::force
546 * cf6caa1 (#10451) Add test coverage to apt::ppa
547 * 0dd697d include_src parameter in example; Whitespace cleanup
548 * b662eb8 fix typos in "repositories"
549 * 1be7457 Fix (#10451) - apt::ppa fails to "apt-get update" when new PPA source is added
550 * 864302a Set the pin priority before adding the source (Fix #10449)
551 * 1de4e0a Refactored as per mlitteken
552 * 1af9a13 Added some crazy bash madness to check if the ppa is installed already. Otherwise the manifest tries to add it on every run!
553 * 52ca73e (#8720) Replace Apt::Ppa with Apt::Builddep
554 * 5c05fa0 added builddep command.
555 * a11af50 added the ability to specify the content of a key
556 * c42db0f Fixes ppa test.
557 * 77d2b0d reformatted whitespace to match recommended style of 2 space indentation.
558 * 27ebdfc ignore swap files.
559 * 377d58a added smoke tests for module.
560 * 18f614b reformatted apt::ppa according to recommended style.
561 * d8a1e4e Created a params class to hold global data.
562 * 636ae85 Added two params for apt class
563 * 148fc73 Update LICENSE.
564 * ed2d19e Support ability to add more than one PPA
565 * 420d537 Add call to apt-update after add-apt-repository in apt::ppa
566 * 945be77 Add package definition for python-software-properties
567 * 71fc425 Abs paths for all commands
568 * 9d51cd1 Adding LICENSE
569 * 71796e3 Heading fix in README
570 * 87777d8 Typo in README
571 * f848bac First commit