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.
Write the pin preference filename as ${name} rather than ${release}, so
that we can pin more than one thing.
Change apt::source so that when pin is set, that it pins to the origin
rather than the release.
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.
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.
apt::pin release should default to title, but should be able to
override. This update removes unnecessary "" around $name, and add spec
tests.
Conflicts:
spec/defines/pin_spec.rb
Move apt-get update exec to a seperate class to minimize the number of
apt-get updates invoked by configuration changes.
* remove apt_update exec resource in apt class.
* remove apt-get-${name} in defines.
* apt::source notify Exec['apt update'].
* Remove dependency to Exec['apt_update'].
* fix rspec-puppet tests.
Conflicts:
manifests/source.pp
Several apt::* define resource type does not support ensurable. This
update allows ensure=>absent to support the removal of these
configuration files.
* apt::conf
* apt::pin
* apt::source
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.
Previous:
$ puppet module list
~/.puppet/modules
├── puppet-apt (v0.0.2)
├── puppetlabs-mongrodb (v0.0.1)
└── puppetlabs-stdlib (v2.3.1)
Now:
$ puppet module list
~/.puppet/modules
├── puppetlabs-apt (v0.0.2)
├── puppetlabs-mongrodb (v0.0.1)
└── puppetlabs-stdlib (v2.3.1)