class { 'apt': debian_url => "http://localhost:9999/debian/", use_next_release => true }
+ previously, you could manually set $lsbdistcodename which would enable forced
+ upgrades, but because this is a top-level facter variable, and newer puppet
+ versions do not let you assign variables to other namespaces, this is no
+ longer possible. However, there is a way to obtain this functionality, and
+ that is to pass the 'codename' parameter to the apt class, which will change
+ the sources.list and preferences files to be the codename you set, allowing
+ you to trigger upgrades:
+
+ include apt::dist_upgrade
+ class { 'apt': codename => 'wheezy', notify => Exec['apt_dist-upgrade'] }
+
* the apticron class has been moved to a parameterized class. if you were
including this class before, you will need to move to instantiating the
class instead. For example, if you had the following in your manifests:
Variables
=========
-$::lsbdistcodename
-----------------
-
-Contains the codename ("etch", "lenny", ...) of the client's
-release. While these values come from lsb-release by default, this
-value can be set manually too, e.g. to enable forced upgrades.
-
$custom_sources_list
--------------------
class { 'apt': custom_preferences => false }
+codename
+--------
+
+Contains the codename ("squeeze", "wheezy", ...) of the client's release. While
+these values come from lsb-release by default, this parameter can be set
+manually, e.g. to enable forced upgrades. For example:
+
+ include apt::dist_upgrade
+ class { 'apt': codename => 'wheezy', notify => Exec['apt_dist-upgrade'] }
+
apt::apticron
-------------
# See LICENSE for the full license granted to you.
class apt(
+ $codename = '',
$use_volatile = false,
$include_src = false,
$use_next_release = false,
include lsb
# init $release, $next_release, $codename, $next_codename, $release_version
- case $::lsbdistcodename {
+ case $codename {
'': {
+ $codename = $::lsbdistcodename
$release = $::lsbdistrelease
}
default: {
- $release = debian_release($::lsbdistcodename)
+ $release = debian_release($codename)
}
}
- $release_version = debian_release_version($::lsbdistcodename)
- $next_codename = debian_nextcodename($::lsbdistcodename)
+ $release_version = debian_release_version($codename)
+ $next_codename = debian_nextcodename($codename)
$next_release = debian_nextrelease($release)
file {
concat::fragment{"apt_preferences_header":
content => $apt::custom_preferences ? {
'' => $::operatingsystem ? {
- 'debian' => template("apt/${::operatingsystem}/preferences_${::lsbdistcodename}.erb"),
- 'ubuntu' => template("apt/${::operatingsystem}/preferences_${::lsbdistcodename}.erb"),
+ 'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
+ 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
},
default => $custom_preferences
},
-Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>
+Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %>
Package: *
Pin: release o=Debian,a=<%= scope.lookupvar('apt::release') %>,v=<%= scope.lookupvar('apt::release_version') %>*
Pin-Priority: 990
Pin: origin backports.debian.org
Pin-Priority: 200
-Explanation: Debian <%= scope.lookupvar('apt::next_release') %>
+Explanation: Debian <%= next_release=scope.lookupvar('apt::next_release') %>
Package: *
-Pin: release o=Debian,a=<%= scope.lookupvar('apt::next_release') %>
+Pin: release o=Debian,a=<%= next_release %>
Pin-Priority: 2
Explanation: Debian sid
-Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>
+Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %>
Package: *
-Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>
+Pin: release o=Debian,n=<%= codename %>
Pin-Priority: 990
-Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>-updates
+Explanation: Debian <%= codename %>-updates
Package: *
-Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>-updates
+Pin: release o=Debian,n=<%= codename %>-updates
Pin-Priority: 990
-Explanation: Debian <%= scope.lookupvar('apt::next_codename') %>
+Explanation: Debian <%= next_codename=scope.lookupvar('apt::next_codename') %>
Package: *
-Pin: release o=Debian,n=<%= scope.lookupvar('apt::next_codename') %>
+Pin: release o=Debian,n=<%= next_codename %>
Pin-Priority: 2
Explanation: Debian sid
-Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>
+Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %>
Package: *
-Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>
+Pin: release o=Debian,n=<%= codename %>
Pin-Priority: 990
-Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>-updates
+Explanation: Debian <%= codename %>-updates
Package: *
-Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>-updates
+Pin: release o=Debian,n=<%= codename %>-updates
Pin-Priority: 990
Explanation: Debian sid
# This file is managed by puppet
# all local modifications will be overwritten
-### Debian current: <%= codename = scope.lookupvar('::lsbdistcodename') %>
+### Debian current: <%= codename=scope.lookupvar('apt::codename') %>
# basic
deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= lrepos=scope.lookupvar('apt::real_repos') %>
-Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> security
+Explanation: Ubuntu <%= codename=scope.lookupvar('apt::codename') %> security
Package: *
-Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %>-security
+Pin: release o=Ubuntu,a=<%= codename %>-security
Pin-Priority: 990
-Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> updates
+Explanation: Ubuntu <%= codename %> updates
Package: *
-Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %>-updates
+Pin: release o=Ubuntu,a=<%= codename %>-updates
Pin-Priority: 980
-Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %>
+Explanation: Ubuntu <%= codename %>
Package: *
-Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %>
+Pin: release o=Ubuntu,a=<%= codename %>
Pin-Priority: 970
Explanation: Ubuntu backports
Package: *
-Pin: release a=<%= scope.lookupvar('::lsbdistcodename') %>-backports
+Pin: release a=<%= codename %>-backports
Pin-Priority: 200
-Explanation: Ubuntu <%= scope.lookupvar('apt::next_release') %>
+Explanation: Ubuntu <%= next_release=scope.lookupvar('apt::next_release') %>
Package: *
-Pin: release o=Ubuntu,a=<%= scope.lookupvar('apt::next_release') %>
+Pin: release o=Ubuntu,a=<%= next_release %>
Pin-Priority: 2
Explanation: Ubuntu fallback
# This file is managed by puppet
# all local modifications will be overwritten
-# basic <%= lsbdistcodename=scope.lookupvar('::lsbdistcodename') %>
-deb <%= ubuntu_url=scope.lookupvar('apt::ubuntu_url') %> <%= lsbdistcodename %> <%= lrepos=scope.lookupvar('apt::real_repos') %>
+# basic <%= codename=scope.lookupvar('apt::codename') %>
+deb <%= ubuntu_url=scope.lookupvar('apt::ubuntu_url') %> <%= codename %> <%= lrepos=scope.lookupvar('apt::real_repos') %>
<% if include_src=scope.lookupvar('apt::include_src') -%>
-deb-src <%= ubuntu_url %> <%= lsbdistcodename %> <%= lrepos %>
+deb-src <%= ubuntu_url %> <%= codename %> <%= lrepos %>
<% end -%>
# updates
-deb <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= lrepos %>
+deb <%= ubuntu_url %> <%= codename %>-updates <%= lrepos %>
<% if include_src -%>
-deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= lrepos %>
+deb-src <%= ubuntu_url %> <%= codename %>-updates <%= lrepos %>
<% end -%>
# security suppport
-deb <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= lrepos %>
+deb <%= ubuntu_url %> <%= codename %>-security <%= lrepos %>
<% if include_src -%>
-deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= lrepos %>
+deb-src <%= ubuntu_url %> <%= codename %>-security <%= lrepos %>
<% end -%>
# backports
-deb <%= ubuntu_url %> <%= lsbdistcodename %>-backports main <%= lrepos %>
+deb <%= ubuntu_url %> <%= codename %>-backports main <%= lrepos %>
<% if include_src -%>
-deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-backports <%= lrepos %>
+deb-src <%= ubuntu_url %> <%= codename %>-backports <%= lrepos %>
<% end -%>