Roman Skvazh [Thu, 24 May 2012 09:46:00 +0000 (13:46 +0400)]
Add functionality to pin source with originator "release o=..."
If you need to pin certain Launchpad PPA (ppa:rskvazh/php), you may do:
apt::pin { 'my-launchpad-repo':
priority => 700,
originator =>'LP-PPA-rskvazh-php',
}
add spec_prep, spec_clean, and spec_full rake tasks
These targets automate the fixtures directory using a configuration stored in
fixtures.yml. Because we can now handle the fixtures directory with a rake task,
the clone commands have been removed from the Travis config.
Nan Liu [Wed, 9 May 2012 18:50:43 +0000 (11:50 -0700)]
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.
Nan Liu [Mon, 7 May 2012 22:27:53 +0000 (15:27 -0700)]
(#11966) apt module containment for apt_update.
The update to separate Exec["apt-get update ${name}"] to single exec in
apt::update class resulted in apt-get update command to be dangled.
Previously if user specified Package['package_a'] <-
Apt::Resource['source_a'], the original refactor would no longer
guarantee apt-get update is executed before the package is installed.
This patch fixes the problem using the anchor resource and ensuring the
old behaviour is maintained and user can depend on apt-get update
command being invoked if they specify dependency on any apt::*
define resource type as well as the apt class.
Nan Liu [Thu, 3 May 2012 21:55:16 +0000 (14:55 -0700)]
(#14299) Resolve Modulefile name mismatch.
The modulefile name is puppet-apt, but the module is released to forge
under puppetlabs. This causes a dependency confusion for puppet module
tool, which has been fixed by this patch.
Nan Liu [Wed, 2 May 2012 23:00:27 +0000 (16:00 -0700)]
(#14287) Fix apt::pin resource for rspec-puppet.
The shorthand syntax cause rspec-puppet failure for external modules
depending on the puppet-apt module. This patch uses the require
metaparameter to avoid this issue.
Daniel Thornton [Mon, 23 Apr 2012 20:40:24 +0000 (20:40 +0000)]
(#14138) Modify apt::ppa's update-apt exec to use the ${apt::params::provider} parameter rather than explicitly calling aptitude.
Previously the update-apt exec would always use /usr/bin/aptitude, which is not necessarily present. This change makes it use ${apt::params::provider} which defaults to /usr/bin/apt-get. This also adds some consistency so that ${apt::params::provider} is used everywhere.
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.
With the addition of this patch two new defines will be added; one to
manage APT configuration files (apt::conf) and one that abstracts out the
requirements needed to turn on backport repositories (apt::backports).
In addition, the patch takes the opportunity to clean up variable
definitions so they follow a consistent pattern of setting local
variables to the fully qualified value stored in the apt::params
class. Previously all variable used within a class directly addressed
the apt::params namespace when ever the variable was used. In the
pattern they now adhere to we can more easily switch the namespace
data lives in or externalize it even more using hiera.
Ryan Coleman [Tue, 20 Mar 2012 22:52:44 +0000 (15:52 -0700)]
(#13261) Add real examples to smoke tests.
This commit modifies some smoke tests with real-world usage examples
instead of providing things like 'foo' that the module user must
replace in order to conduct a smoke test or try out example functionality.
Ryan Coleman [Tue, 20 Mar 2012 21:52:43 +0000 (14:52 -0700)]
(#13261) Replace foo source with puppetlabs source
Prior to this commit, the source.pp test included an apt source
named foo which broke the apt-get update exec when applied on a
target system. This commit removes it in favor of the puppetlabs
apt source which is valid on all target platforms.
Ken Barber [Wed, 21 Mar 2012 13:21:50 +0000 (13:21 +0000)]
(#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.