Merge remote-tracking branch 'remotes/shared/master'
This commit is contained in:
commit
6c135ea7bc
34 changed files with 571 additions and 539 deletions
381
README
381
README
|
@ -15,11 +15,82 @@ prevent accidental upgrades.
|
|||
|
||||
Ubuntu support is lagging behind but not absent either.
|
||||
|
||||
! Upgrade Notice !
|
||||
|
||||
* the apt class has been moved to a paramterized class. if you were including
|
||||
this class before, after passing some variables, you will need to move to
|
||||
instantiating the class with those variables instead. For example, if you
|
||||
had the following in your manifests:
|
||||
|
||||
$apt_debian_url = 'http://localhost:9999/debian/'
|
||||
$apt_use_next_release = true
|
||||
include apt
|
||||
|
||||
you will need to remove the variables, and the include and instead do
|
||||
the following:
|
||||
|
||||
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:
|
||||
|
||||
$apticron_email = 'foo@example.com'
|
||||
$apticron_notifynew = '1'
|
||||
... any $apticron_* variables
|
||||
include apticron
|
||||
|
||||
you will need to remove the variables, and the include and instead do the
|
||||
following:
|
||||
|
||||
class { 'apt::apticron': email => 'foo@example.com', notifynew => '1' }
|
||||
|
||||
* the apt::listchanges class has been moved to a paramterized class. if you
|
||||
were including this class before, after passing some variables, you will need
|
||||
to move to instantiating the class with those variables instead. For example,
|
||||
if you had the following in your manifests:
|
||||
|
||||
$apt_listchanges_email = 'foo@example.com'
|
||||
... any $apt_listchanges_* variables
|
||||
include apt::listchanges
|
||||
|
||||
you will need to remove the variables, and the include and instead do the
|
||||
following:
|
||||
|
||||
class { 'apt::listchanges': email => 'foo@example.com' }
|
||||
|
||||
* the apt::proxy_client class has been moved to a paramterized class. if you
|
||||
were including this class before, after passing some variables, you will need
|
||||
to move to instantiating the class with those variables instead. For example,
|
||||
if you had the following in your manifests:
|
||||
|
||||
$apt_proxy = 'http://proxy.domain'
|
||||
$apt_proxy_port = 666
|
||||
include apt::proxy_client
|
||||
|
||||
you will need to remove the variables, and the include and instead do the
|
||||
following:
|
||||
|
||||
class { 'apt::proxy_client': proxy => 'http://proxy.domain', port => '666' }
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
This module needs:
|
||||
|
||||
- the lsb module: git://labs.riseup.net/shared-lsb
|
||||
- the common module: git://labs.riseup.net/shared-common
|
||||
- the concat module: git://labs.riseup.net/shared-concat
|
||||
|
||||
By default, on normal hosts, this module sets the configuration option
|
||||
DSelect::Clean to 'auto'. On virtual servers, the value is set by default to
|
||||
|
@ -45,13 +116,6 @@ site_apt/files/some.host.com/03clean_vserver)
|
|||
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
|
||||
--------------------
|
||||
|
||||
|
@ -63,27 +127,7 @@ this variable to the content that you desire to use instead.
|
|||
For example, setting the following variable before including this class will
|
||||
pull in the templates/site_apt/sources.list file:
|
||||
|
||||
$custom_sources_list = template("site_apt/sources.list")
|
||||
|
||||
$custom_preferences
|
||||
-------------------
|
||||
|
||||
Since Debian Lenny's version of APT doesn't support the use of the
|
||||
preferences.d directory for putting fragments of 'preferences', this
|
||||
module will manage a default generic apt/preferences file with more
|
||||
recent releases pinned to very low values so that any package
|
||||
installation will not accidentally pull in packages from those suites
|
||||
unless you explicitly specify the version number. This file will be
|
||||
complemented with all of the preferences_snippet calls (see below).
|
||||
|
||||
If the default preferences template doesn't suit your needs, you can create a
|
||||
template located in your site_apt module, and set $custom_preferences with the
|
||||
content (eg. $custom_preferences = template('site_apt/preferences') )
|
||||
|
||||
Setting this variable to false before including this class will force the
|
||||
apt/preferences file to be absent:
|
||||
|
||||
$custom_preferences = false
|
||||
$custom_sources_list = template('site_apt/sources.list')
|
||||
|
||||
$custom_key_dir
|
||||
---------------
|
||||
|
@ -96,73 +140,6 @@ exist there, this module will 'apt-key add' each key.
|
|||
The debian-archive-keyring package is installed and kept current up to the
|
||||
latest revision (this includes the backports archive keyring).
|
||||
|
||||
$apt_proxy / $apt_proxy_port
|
||||
----------------------------
|
||||
|
||||
When you include the apt::proxy_client class in your nodes, you can set the
|
||||
$apt_proxy variable to the URL of the proxy that will be used.
|
||||
By default, the proxy will be queried on port 3142, but you can change the port
|
||||
number by setting the $apt_proxy_port variable.
|
||||
|
||||
Here's an example of setting the proxy to 'http://proxy.domain' at port 666:
|
||||
|
||||
$apt_proxy = 'http://proxy.domain'
|
||||
$apt_proxy_port = 666
|
||||
include apt::proxy_client
|
||||
|
||||
$apt_volatile_enabled
|
||||
-----------------
|
||||
|
||||
If this variable is set to true the Debian Volatile sources (until
|
||||
Lenny) or CODENAME-updates (such as squeeze-updates, supported since
|
||||
Squeeze) are added.
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
$apt_include_src
|
||||
----------------
|
||||
|
||||
If this variable is set to true a deb-src source is added for every
|
||||
added binary archive source.
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
$apt_use_next_release
|
||||
---------------------
|
||||
|
||||
If this variable is set to true the sources for the next Debian
|
||||
release are added. The default pinning configuration pins it to very
|
||||
low values.
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
$apt_debian_url, $apt_security_url, $apt_backports_url, $apt_volatile_url
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
These variables allow to override the default APT mirrors respectively
|
||||
used for the standard Debian archives, the Debian security archive,
|
||||
the Debian official backports and the Debian Volatile archive.
|
||||
|
||||
$apt_ubuntu_url
|
||||
---------------
|
||||
|
||||
These variables allows to override the default APT mirror used for all
|
||||
standard Ubuntu archives (including updates, security, backports).
|
||||
|
||||
$apt_repos
|
||||
----------
|
||||
|
||||
If this variable is set the default repositories list ("main contrib non-free")
|
||||
is overriden.
|
||||
|
||||
$apt_disable_update
|
||||
-------------------
|
||||
|
||||
Disable "apt-get update" which is normally triggered by apt::upgrade_package
|
||||
and apt::dist_upgrade.
|
||||
Note that nodes can be updated once a day by using
|
||||
APT::Periodic::Update-Package-Lists "1";
|
||||
in i.e. /etc/apt/apt.conf.d/80_apt_update_daily.
|
||||
|
||||
Classes
|
||||
=======
|
||||
|
@ -170,27 +147,115 @@ Classes
|
|||
apt
|
||||
---
|
||||
|
||||
The apt class sets up most of the documented functionality. To use
|
||||
functionality that is not enabled by default, you must include one of
|
||||
the following classes.
|
||||
The apt class sets up most of the documented functionality. To use functionality
|
||||
that is not enabled by default, you must set one of the following parameters.
|
||||
|
||||
Example usage:
|
||||
|
||||
class { 'apt': use_next_release => true, debian_url => 'http://localhost:9999/debian/' }
|
||||
|
||||
Class parameters:
|
||||
|
||||
* use_volatile
|
||||
|
||||
If this variable is set to true the Debian Volatile sources (until
|
||||
Lenny) or CODENAME-updates (such as squeeze-updates, supported since
|
||||
Squeeze) are added.
|
||||
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
* include_src
|
||||
|
||||
If this variable is set to true a deb-src source is added for every
|
||||
added binary archive source.
|
||||
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
* use_next_release
|
||||
|
||||
If this variable is set to true the sources for the next Debian
|
||||
release are added. The default pinning configuration pins it to very
|
||||
low values.
|
||||
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
* debian_url, security_url, backports_url, volatile_url
|
||||
|
||||
These variables allow to override the default APT mirrors respectively
|
||||
used for the standard Debian archives, the Debian security archive,
|
||||
the Debian official backports and the Debian Volatile archive.
|
||||
|
||||
* ubuntu_url
|
||||
|
||||
These variables allows to override the default APT mirror used for all
|
||||
standard Ubuntu archives (including updates, security, backports).
|
||||
|
||||
* repos
|
||||
|
||||
If this variable is set the default repositories list ("main contrib non-free")
|
||||
is overriden.
|
||||
|
||||
* disable_update
|
||||
|
||||
Disable "apt-get update" which is normally triggered by apt::upgrade_package
|
||||
and apt::dist_upgrade.
|
||||
|
||||
Note that nodes can be updated once a day by using
|
||||
APT::Periodic::Update-Package-Lists "1";
|
||||
in i.e. /etc/apt/apt.conf.d/80_apt_update_daily.
|
||||
|
||||
* custom_preferences
|
||||
|
||||
Since Debian Lenny's version of APT doesn't support the use of the
|
||||
preferences.d directory for putting fragments of 'preferences', this
|
||||
module will manage a default generic apt/preferences file with more
|
||||
recent releases pinned to very low values so that any package
|
||||
installation will not accidentally pull in packages from those suites
|
||||
unless you explicitly specify the version number. This file will be
|
||||
complemented with all of the preferences_snippet calls (see below).
|
||||
|
||||
If the default preferences template doesn't suit your needs, you can create a
|
||||
template located in your site_apt module, and set custom_preferences with the
|
||||
content (eg. custom_preferences => template('site_apt/preferences') )
|
||||
|
||||
Setting this variable to false before including this class will force the
|
||||
apt/preferences file to be absent:
|
||||
|
||||
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
|
||||
-------------
|
||||
|
||||
When you include this class, apticron will be installed, with the following
|
||||
defaults, which you are free to change before you include the class:
|
||||
When you instantiate this class, apticron will be installed, with the following
|
||||
defaults, which you are free to change:
|
||||
|
||||
$apticron_ensure_version = "present"
|
||||
$apticron_email = "root"
|
||||
$apticron_config = "apt/${operatingsystem}/apticron_${lsbrelease}.erb"
|
||||
$apticron_diff_only = "1"
|
||||
$apticron_listchanges_profile = "apticron"
|
||||
$apticron_system = false
|
||||
$apticron_ipaddressnum = false
|
||||
$apticron_ipaddresses = false
|
||||
$apticron_notifyholds = "0"
|
||||
$apticron_notifynew = "0"
|
||||
$apticron_customsubject = ""
|
||||
$ensure_version = 'installed',
|
||||
$config = "apt/${::operatingsystem}/apticron_${::lsbdistcodename}.erb",
|
||||
$email = 'root',
|
||||
$diff_only = '1',
|
||||
$listchanges_profile = 'apticron',
|
||||
$system = false,
|
||||
$ipaddressnum = false,
|
||||
$ipaddresses = false,
|
||||
$notifyholds = '0',
|
||||
$notifynew = '0',
|
||||
$customsubject = ''
|
||||
|
||||
Example usage:
|
||||
|
||||
class { 'apt::apticron': email => 'foo@example.com', notifynew => '1' }
|
||||
|
||||
apt::cron::download
|
||||
-------------------
|
||||
|
@ -203,7 +268,7 @@ $apt_cron_hours variable before you include the class: its value will
|
|||
be passed as the "hours" parameter of a cronjob. Example:
|
||||
|
||||
# Run cron-apt every three hours
|
||||
$apt_cron_hours = "*/3"
|
||||
$apt_cron_hours = '*/3'
|
||||
|
||||
Note that the default 4 AM cronjob won't be disabled.
|
||||
|
||||
|
@ -239,9 +304,9 @@ file's content changes. The initiator file is copied from the first
|
|||
available source amongst the following ones, in decreasing priority
|
||||
order:
|
||||
|
||||
- puppet:///site_apt/${fqdn}/upgrade_initiator
|
||||
- puppet:///site_apt/upgrade_initiator
|
||||
- puppet:///apt/upgrade_initiator
|
||||
- puppet:///modules/site_apt/${::fqdn}/upgrade_initiator
|
||||
- puppet:///modules/site_apt/upgrade_initiator
|
||||
- puppet:///modules/apt/upgrade_initiator
|
||||
|
||||
This is useful when one does not want to setup a fully automated
|
||||
upgrade process but still needs a way to manually trigger full
|
||||
|
@ -263,22 +328,33 @@ suppress superfluous help screens.
|
|||
apt::listchanges
|
||||
----------------
|
||||
|
||||
This class, when included, installs apt-listchanges and configures it using the
|
||||
following variables, the defaults are below:
|
||||
This class, when instantiated, installs apt-listchanges and configures it using
|
||||
the following parameterized variables, which can be changed:
|
||||
|
||||
$apt_listchanges_version = "present"
|
||||
$apt_listchanges_config = "apt/${operatingsystem}/listchanges_${lsbrelease}.erb"
|
||||
$apt_listchanges_frontend = "pager"
|
||||
$apt_listchanges_email = "root"
|
||||
$apt_listchanges_confirm = "0"
|
||||
$apt_listchanges_saveseen = "/var/lib/apt/listchanges.db"
|
||||
$apt_listchanges_which = "both"
|
||||
version = 'present'
|
||||
config = "apt/${::operatingsystem}/listchanges_${::lsbrelease}.erb"
|
||||
frontend = 'pager'
|
||||
email = 'root'
|
||||
confirm = 0
|
||||
saveseen = '/var/lib/apt/listchanges.db'
|
||||
which = 'both'
|
||||
|
||||
Example usage:
|
||||
class { 'apt::listchanges': email => 'foo@example.com' }
|
||||
|
||||
apt::proxy_client
|
||||
-----------------
|
||||
|
||||
This class adds the right configuration to apt to make it fetch packages via a
|
||||
proxy. The variables $apt_proxy and $apt_proxy_port need to be set (see above).
|
||||
proxy. The class parameters apt_proxy and apt_proxy_port need to be set:
|
||||
|
||||
You can set the 'proxy' class parameter variable to the URL of the proxy that
|
||||
will be used. By default, the proxy will be queried on port 3142, but you can
|
||||
change the port number by setting the 'port' class parameter.
|
||||
|
||||
Example:
|
||||
|
||||
class { 'apt::proxy_client': proxy => 'http://proxy.domain', port => '666' }
|
||||
|
||||
apt::reboot_required_notify
|
||||
---------------------------
|
||||
|
@ -306,43 +382,54 @@ meta-parameter to define content inline or with the help of a template.
|
|||
|
||||
Example:
|
||||
|
||||
apt::apt_conf { "80download-only":
|
||||
source => "puppet:///modules/site_apt/80download-only",
|
||||
apt::apt_conf { '80download-only':
|
||||
source => 'puppet:///modules/site_apt/80download-only',
|
||||
}
|
||||
|
||||
apt::preferences_snippet
|
||||
------------------------
|
||||
|
||||
A way to add pinning information to /etc/apt/preferences
|
||||
A way to add pinning information to files in /etc/apt/preferences.d/
|
||||
|
||||
Example:
|
||||
|
||||
apt::preferences_snippet{
|
||||
apt::preferences_snippet {
|
||||
'irssi-plugin-otr':
|
||||
release => 'lenny-backports',
|
||||
release => 'squeeze-backports',
|
||||
priority => 999;
|
||||
}
|
||||
|
||||
apt::preferences_snippet{
|
||||
apt::preferences_snippet {
|
||||
'unstable_fallback':
|
||||
package => '*',
|
||||
release => 'unstable',
|
||||
priority => 1;
|
||||
}
|
||||
|
||||
apt::preferences_snippet{
|
||||
apt::preferences_snippet {
|
||||
'ttdnsd':
|
||||
pin => 'origin deb.torproject.org',
|
||||
priority => 999;
|
||||
}
|
||||
|
||||
The names of the resources will be used as the names of the files in the
|
||||
preferences.d directory, so you should ensure that resource names follow the
|
||||
prescribed naming scheme.
|
||||
|
||||
From apt_preferences(5):
|
||||
Note that the files in the /etc/apt/preferences.d directory are parsed in
|
||||
alphanumeric ascending order and need to obey the following naming
|
||||
convention: The files have no or "pref" as filename extension and which
|
||||
only contain alphanumeric, hyphen (-), underscore (_) and period (.)
|
||||
characters - otherwise they will be silently ignored.
|
||||
|
||||
apt::preseeded_package
|
||||
----------------------
|
||||
|
||||
This simplifies installation of packages for which you wish to preseed the
|
||||
answers to debconf. For example, if you wish to provide a preseed file for the
|
||||
locales package, you would place the locales.seed file in
|
||||
'site_apt/templates/$lsbdistcodename/locales.seeds' and then include the
|
||||
'site_apt/templates/${::lsbdistcodename}/locales.seeds' and then include the
|
||||
following in your manifest:
|
||||
|
||||
apt::preseeded_package { locales: }
|
||||
|
@ -350,12 +437,12 @@ following in your manifest:
|
|||
You can also specify the content of the seed via the content parameter,
|
||||
for example:
|
||||
|
||||
apt::preseeded_package { "apticron":
|
||||
content => "apticron apticron/notification string root@example.com",
|
||||
apt::preseeded_package { 'apticron':
|
||||
content => 'apticron apticron/notification string root@example.com',
|
||||
}
|
||||
|
||||
apt::sources_list
|
||||
-------------
|
||||
-----------------
|
||||
|
||||
Creates a file in the apt/sources.list.d directory to easily add additional apt
|
||||
sources. One can use either the 'source' meta-parameter to specify a list of
|
||||
|
@ -364,9 +451,9 @@ meta-parameter to define content inline or with the help of a template.
|
|||
|
||||
Example:
|
||||
|
||||
apt::sources_list { "company_internals.list":
|
||||
source => ["puppet:///modules/site_apt/${fqdn}/company_internals.list",
|
||||
"puppet:///modules/site_apt/company_internals.list"],
|
||||
apt::sources_list { 'company_internals.list':
|
||||
source => [ "puppet:///modules/site_apt/${::fqdn}/company_internals.list",
|
||||
'puppet:///modules/site_apt/company_internals.list' ],
|
||||
}
|
||||
|
||||
apt::upgrade_package
|
||||
|
@ -382,23 +469,23 @@ For example, the following upgrades the perl package to version 5.8.8-7etch1
|
|||
(if it is installed), it also upgrades the syslog-ng and perl-modules packages
|
||||
to their latest (also, only if they are installed):
|
||||
|
||||
upgrade_package { "perl":
|
||||
upgrade_package { 'perl':
|
||||
version => '5.8.8-7etch1';
|
||||
"syslog-ng":
|
||||
'syslog-ng':
|
||||
version => latest;
|
||||
"perl-modules":
|
||||
'perl-modules':
|
||||
}
|
||||
|
||||
Resources
|
||||
=========
|
||||
|
||||
Concat[apt_config]
|
||||
File['apt_config']
|
||||
------------------
|
||||
|
||||
Use this resource to depend on or add to a completed apt configuration
|
||||
|
||||
Exec[apt_updated]
|
||||
-----------------
|
||||
Exec['apt_updated']
|
||||
-------------------
|
||||
|
||||
After this point the APT indexes are up-to-date.
|
||||
|
||||
|
@ -406,7 +493,7 @@ This resource is usually used like this to ensure current packages are
|
|||
installed by Package resources:
|
||||
|
||||
include apt::update
|
||||
Package { require => Exec[apt_updated] }
|
||||
Package { require => Exec['apt_updated'] }
|
||||
|
||||
Please note that the apt::upgrade_package define automatically uses
|
||||
this resource so you don't have to manage this yourself if you need to
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
Unattended-Upgrade::Origins-Pattern {
|
||||
// Debian
|
||||
"o=${distro_id},n=${distro_codename}";
|
||||
"o=${distro_id},n=${distro_codename}-updates";
|
||||
"o=${distro_id},n=${distro_codename},l=Debian-security";
|
||||
"o=${distro_id} Backports,n=${distro_codename}-backports";
|
||||
// Ubuntu specific
|
||||
|
|
|
@ -19,8 +19,10 @@ define apt::apt_conf(
|
|||
# apparently doesn't.
|
||||
file { "/etc/apt/apt.conf.d/${name}":
|
||||
ensure => $ensure,
|
||||
owner => root, group => 0, mode => 0644,
|
||||
notify => Exec["refresh_apt"],
|
||||
owner => root,
|
||||
group => 0,
|
||||
mode => '0644',
|
||||
notify => Exec['refresh_apt'],
|
||||
}
|
||||
|
||||
if $source {
|
||||
|
|
|
@ -1,54 +1,24 @@
|
|||
class apt::apticron {
|
||||
class apt::apticron(
|
||||
$ensure_version = 'installed',
|
||||
$config = "apt/${::operatingsystem}/apticron_${::lsbdistcodename}.erb",
|
||||
$email = 'root',
|
||||
$diff_only = '1',
|
||||
$listchanges_profile = 'apticron',
|
||||
$system = false,
|
||||
$ipaddressnum = false,
|
||||
$ipaddresses = false,
|
||||
$notifyholds = '0',
|
||||
$notifynew = '0',
|
||||
$customsubject = ''
|
||||
) {
|
||||
|
||||
case $apticron_ensure_version {
|
||||
'': { $apticron_ensure_version = "present" }
|
||||
}
|
||||
package { 'apticron': ensure => $ensure_version }
|
||||
|
||||
case $apticron_config {
|
||||
'': { $apticron_config = "apt/${operatingsystem}/apticron_${lsbdistcodename}.erb" }
|
||||
}
|
||||
|
||||
case $apticron_email {
|
||||
'': { $apticron_email = "root" }
|
||||
}
|
||||
|
||||
case $apticron_diff_only {
|
||||
'': { $apticron_diff_only = "1" }
|
||||
}
|
||||
|
||||
case $apticron_listchanges_profile {
|
||||
'': { $apticron_listchanges_profile = "apticron" }
|
||||
}
|
||||
|
||||
case $apticron_system {
|
||||
'': { $apticron_system = false }
|
||||
}
|
||||
|
||||
case $apticron_ipaddressnum {
|
||||
'': { $apticron_ipaddressnum = false }
|
||||
}
|
||||
|
||||
case $apticron_ipaddresses {
|
||||
'': { $apticron_ipaddresses = false }
|
||||
}
|
||||
|
||||
case $apticron_notifyholds {
|
||||
'': { $apticron_notifyholds = "0" }
|
||||
}
|
||||
|
||||
case $apticron_notifynew {
|
||||
'': { $apticron_notifynew = "0" }
|
||||
}
|
||||
|
||||
case $apticron_customsubject {
|
||||
'': { $apticron_customsubject = "" }
|
||||
}
|
||||
|
||||
package { apticron: ensure => $apticron_ensure_version }
|
||||
|
||||
file { "/etc/apticron/apticron.conf":
|
||||
content => template($apticron_config),
|
||||
mode => 0644, owner => root, group => root,
|
||||
require => Package["apticron"];
|
||||
file { '/etc/apticron/apticron.conf':
|
||||
content => template($apt::apticron::config),
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => '0644',
|
||||
require => Package['apticron'];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class apt::cron::base {
|
||||
|
||||
package { cron-apt: ensure => installed }
|
||||
package { 'cron-apt': ensure => installed }
|
||||
|
||||
case $apt_cron_hours {
|
||||
'': {}
|
||||
|
|
|
@ -4,20 +4,26 @@ class apt::cron::dist_upgrade inherits apt::cron::base {
|
|||
dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-confold'
|
||||
"
|
||||
|
||||
file { "/etc/cron-apt/action.d/3-download":
|
||||
file { '/etc/cron-apt/action.d/3-download':
|
||||
ensure => absent,
|
||||
}
|
||||
|
||||
package { "apt-listbugs": ensure => absent }
|
||||
package { 'apt-listbugs': ensure => absent }
|
||||
|
||||
config_file { "/etc/cron-apt/action.d/4-dist-upgrade":
|
||||
file { '/etc/cron-apt/action.d/4-dist-upgrade':
|
||||
content => $action,
|
||||
require => Package[cron-apt]
|
||||
owner => root,
|
||||
group => 0,
|
||||
mode => '0644',
|
||||
require => Package[cron-apt];
|
||||
}
|
||||
|
||||
config_file { "/etc/cron-apt/config.d/MAILON":
|
||||
file { '/etc/cron-apt/config.d/MAILON':
|
||||
content => "MAILON=upgrade\n",
|
||||
require => Package[cron-apt]
|
||||
owner => root,
|
||||
group => 0,
|
||||
mode => '0644',
|
||||
require => Package[cron-apt];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,19 +3,25 @@ class apt::cron::download inherits apt::cron::base {
|
|||
$action = "autoclean -y
|
||||
dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
|
||||
"
|
||||
|
||||
file { "/etc/cron-apt/action.d/4-dist-upgrade":
|
||||
|
||||
file { '/etc/cron-apt/action.d/4-dist-upgrade':
|
||||
ensure => absent,
|
||||
}
|
||||
|
||||
config_file { "/etc/cron-apt/action.d/3-download":
|
||||
file { '/etc/cron-apt/action.d/3-download':
|
||||
content => $action,
|
||||
require => Package[cron-apt]
|
||||
require => Package[cron-apt],
|
||||
owner => root,
|
||||
group => 0,
|
||||
mode => '0644';
|
||||
}
|
||||
|
||||
config_file { "/etc/cron-apt/config.d/MAILON":
|
||||
file { '/etc/cron-apt/config.d/MAILON':
|
||||
content => "MAILON=changes\n",
|
||||
require => Package[cron-apt]
|
||||
require => Package[cron-apt],
|
||||
owner => root,
|
||||
group => 0,
|
||||
mode => '0644';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,10 +4,15 @@ class apt::dist_upgrade {
|
|||
include apt::update
|
||||
}
|
||||
|
||||
$req = $apt::disable_update ? {
|
||||
true => undef,
|
||||
default => Exec['apt_updated'],
|
||||
}
|
||||
|
||||
exec { 'apt_dist-upgrade':
|
||||
command => "/usr/bin/apt-get -q -y -o 'DPkg::Options::=--force-confold' dist-upgrade",
|
||||
command => '/usr/bin/apt-get -q -y -o \'DPkg::Options::=--force-confold\' dist-upgrade',
|
||||
refreshonly => true,
|
||||
require => Exec['apt_updated'],
|
||||
require => $req
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,15 +4,15 @@ class apt::dist_upgrade::initiator inherits apt::dist_upgrade {
|
|||
$initiator_abs = "${apt::apt_base_dir}/${initiator}"
|
||||
|
||||
file { 'apt_upgrade_initiator':
|
||||
mode => 0644,
|
||||
mode => '0644',
|
||||
owner => root,
|
||||
group => 0,
|
||||
path => "${initiator_abs}",
|
||||
path => $initiator_abs,
|
||||
checksum => md5,
|
||||
source => [
|
||||
"puppet:///modules/site_apt/${fqdn}/${initiator}",
|
||||
"puppet:///modules/site_apt/${initiator}",
|
||||
"puppet:///modules/apt/${initiator}",
|
||||
"puppet:///modules/site_apt/${::fqdn}/${initiator}",
|
||||
"puppet:///modules/site_apt/${initiator}",
|
||||
"puppet:///modules/apt/${initiator}",
|
||||
],
|
||||
}
|
||||
|
||||
|
|
|
@ -2,20 +2,20 @@ class apt::dot_d_directories {
|
|||
|
||||
# watch .d directories and ensure they are present
|
||||
file {
|
||||
"/etc/apt/apt.conf.d":
|
||||
ensure => directory,
|
||||
'/etc/apt/apt.conf.d':
|
||||
ensure => directory,
|
||||
checksum => mtime,
|
||||
notify => Exec['refresh_apt'];
|
||||
"/etc/apt/sources.list.d":
|
||||
ensure => directory,
|
||||
notify => Exec['refresh_apt'];
|
||||
'/etc/apt/sources.list.d':
|
||||
ensure => directory,
|
||||
checksum => mtime,
|
||||
notify => Exec['refresh_apt'];
|
||||
notify => Exec['refresh_apt'];
|
||||
}
|
||||
|
||||
exec {
|
||||
# "&& sleep 1" is workaround for older(?) clients
|
||||
'refresh_apt':
|
||||
command => '/usr/bin/apt-get update && sleep 1',
|
||||
command => '/usr/bin/apt-get update && sleep 1',
|
||||
refreshonly => true,
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
class apt::dselect {
|
||||
|
||||
# suppress annoying help texts of dselect
|
||||
line { dselect_expert:
|
||||
file => "/etc/dpkg/dselect.cfg",
|
||||
line => "expert",
|
||||
line { 'dselect_expert':
|
||||
file => '/etc/dpkg/dselect.cfg',
|
||||
line => 'expert',
|
||||
}
|
||||
|
||||
package { dselect: ensure => installed }
|
||||
package { 'dselect': ensure => installed }
|
||||
}
|
||||
|
|
|
@ -3,81 +3,48 @@
|
|||
# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
|
||||
# See LICENSE for the full license granted to you.
|
||||
|
||||
class apt {
|
||||
|
||||
$use_volatile = $apt_volatile_enabled ? {
|
||||
'' => false,
|
||||
default => $apt_volatile_enabled,
|
||||
}
|
||||
|
||||
$include_src = $apt_include_src ? {
|
||||
'' => false,
|
||||
default => $apt_include_src,
|
||||
}
|
||||
|
||||
$use_next_release = $apt_use_next_release ? {
|
||||
'' => false,
|
||||
default => $apt_use_next_release,
|
||||
}
|
||||
|
||||
$debian_url = $apt_debian_url ? {
|
||||
'' => 'http://cdn.debian.net/debian/',
|
||||
default => "${apt_debian_url}",
|
||||
}
|
||||
$security_url = $apt_security_url ? {
|
||||
'' => 'http://security.debian.org/',
|
||||
default => "${apt_security_url}",
|
||||
}
|
||||
$backports_url = $apt_backports_url ? {
|
||||
'' => 'http://backports.debian.org/debian-backports/',
|
||||
default => "${apt_backports_url}",
|
||||
}
|
||||
$volatile_url = $apt_volatile_url ? {
|
||||
'' => 'http://volatile.debian.org/debian-volatile/',
|
||||
default => "${apt_volatile_url}",
|
||||
}
|
||||
$ubuntu_url = $apt_ubuntu_url ? {
|
||||
'' => 'http://archive.ubuntu.com/ubuntu',
|
||||
default => "${apt_ubuntu_url}",
|
||||
}
|
||||
$disable_update = $apt_disable_update ? {
|
||||
'' => false,
|
||||
default => $apt_disable_update
|
||||
}
|
||||
|
||||
case $operatingsystem {
|
||||
class apt(
|
||||
$codename = $::lsbdistcodename,
|
||||
$use_volatile = false,
|
||||
$include_src = false,
|
||||
$use_next_release = false,
|
||||
$debian_url = 'http://http.debian.net/debian/',
|
||||
$security_url = 'http://security.debian.org/',
|
||||
$backports_url = 'http://backports.debian.org/debian-backports/',
|
||||
$volatile_url = 'http://volatile.debian.org/debian-volatile/',
|
||||
$ubuntu_url = 'http://archive.ubuntu.com/ubuntu',
|
||||
$repos = 'auto',
|
||||
$custom_preferences = '',
|
||||
$disable_update = false
|
||||
){
|
||||
case $::operatingsystem {
|
||||
'debian': {
|
||||
$repos = $apt_repos ? {
|
||||
'' => 'main contrib non-free',
|
||||
default => "${apt_repos}",
|
||||
$real_repos = $repos ? {
|
||||
'auto' => 'main contrib non-free',
|
||||
default => $repos,
|
||||
}
|
||||
}
|
||||
'ubuntu': {
|
||||
$repos = $apt_repos ? {
|
||||
$real_repos = $repos ? {
|
||||
'' => 'main restricted universe multiverse',
|
||||
default => "${apt_repos}",
|
||||
default => $repos,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
package { apt:
|
||||
ensure => installed,
|
||||
package { 'apt':
|
||||
ensure => installed,
|
||||
require => undef,
|
||||
}
|
||||
|
||||
include lsb
|
||||
|
||||
# init $release, $next_release, $codename, $next_codename, $release_version
|
||||
case $lsbdistcodename {
|
||||
'': {
|
||||
$codename = $lsbdistcodename
|
||||
$release = $lsbdistrelease
|
||||
}
|
||||
# init $release, $next_release, $next_codename, $release_version
|
||||
case $codename {
|
||||
'n/a': {
|
||||
fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.")
|
||||
}
|
||||
fail("Unknown lsbdistcodename reported by facter: '$::lsbdistcodename', please fix this by setting this variable in your manifest.")
|
||||
}
|
||||
default: {
|
||||
$codename = $lsbdistcodename
|
||||
$release = debian_release($codename)
|
||||
}
|
||||
}
|
||||
|
@ -85,40 +52,44 @@ class apt {
|
|||
$next_codename = debian_nextcodename($codename)
|
||||
$next_release = debian_nextrelease($release)
|
||||
|
||||
config_file {
|
||||
$sources_content = $::custom_sources_list ? {
|
||||
'' => template( "apt/${::operatingsystem}/sources.list.erb"),
|
||||
default => $::custom_sources_list
|
||||
}
|
||||
file {
|
||||
# include main, security and backports
|
||||
# additional sources should be included via the apt::sources_list define
|
||||
"/etc/apt/sources.list":
|
||||
content => $custom_sources_list ? {
|
||||
'' => template( "apt/$operatingsystem/sources.list.erb"),
|
||||
default => $custom_sources_list
|
||||
},
|
||||
'/etc/apt/sources.list':
|
||||
content => $sources_content,
|
||||
require => Package['lsb'],
|
||||
notify => Exec['refresh_apt'],
|
||||
notify => Exec['refresh_apt'],
|
||||
owner => root,
|
||||
group => 0,
|
||||
mode => '0644';
|
||||
}
|
||||
|
||||
apt_conf { "02show_upgraded":
|
||||
source => [ "puppet:///modules/site_apt/${fqdn}/02show_upgraded",
|
||||
"puppet:///modules/site_apt/02show_upgraded",
|
||||
"puppet:///modules/apt/02show_upgraded" ]
|
||||
apt_conf { '02show_upgraded':
|
||||
source => [ "puppet:///modules/site_apt/${::fqdn}/02show_upgraded",
|
||||
'puppet:///modules/site_apt/02show_upgraded',
|
||||
'puppet:///modules/apt/02show_upgraded' ]
|
||||
}
|
||||
|
||||
if ( $virtual == "vserver" ) {
|
||||
apt_conf { "03clean_vserver":
|
||||
source => [ "puppet:///modules/site_apt/${fqdn}/03clean_vserver",
|
||||
"puppet:///modules/site_apt/03clean_vserver",
|
||||
"puppet:///modules/apt/03clean_vserver" ],
|
||||
alias => "03clean";
|
||||
if ( $::virtual == 'vserver' ) {
|
||||
apt_conf { '03clean_vserver':
|
||||
source => [ "puppet:///modules/site_apt/${::fqdn}/03clean_vserver",
|
||||
'puppet:///modules/site_apt/03clean_vserver',
|
||||
'puppet:///modules/apt/03clean_vserver' ],
|
||||
alias => '03clean';
|
||||
}
|
||||
}
|
||||
else {
|
||||
apt_conf { "03clean":
|
||||
source => [ "puppet:///modules/site_apt/${fqdn}/03clean",
|
||||
"puppet:///modules/site_apt/03clean",
|
||||
"puppet:///modules/apt/03clean" ]
|
||||
apt_conf { '03clean':
|
||||
source => [ "puppet:///modules/site_apt/${::fqdn}/03clean",
|
||||
'puppet:///modules/site_apt/03clean',
|
||||
'puppet:///modules/apt/03clean' ]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
case $custom_preferences {
|
||||
false: {
|
||||
include apt::preferences::absent
|
||||
|
@ -130,43 +101,38 @@ class apt {
|
|||
}
|
||||
}
|
||||
|
||||
# backward compatibility: upgrade from previous versions of this module.
|
||||
file {
|
||||
[ "/etc/apt/apt.conf.d/from_puppet", "/etc/apt/apt.conf.d/99from_puppet" ]:
|
||||
ensure => 'absent',
|
||||
require => [ Apt_conf['02show_upgraded'], Apt_conf['03clean'] ];
|
||||
}
|
||||
|
||||
include apt::dot_d_directories
|
||||
|
||||
## This package should really always be current
|
||||
package { "debian-archive-keyring": ensure => latest }
|
||||
package { 'debian-archive-keyring': ensure => latest }
|
||||
|
||||
# backports uses the normal archive key now
|
||||
package { "debian-backports-keyring": ensure => absent }
|
||||
package { 'debian-backports-keyring': ensure => absent }
|
||||
|
||||
include common::moduledir
|
||||
$apt_base_dir = "${common::moduledir::module_dir_path}/apt"
|
||||
modules_dir { apt: }
|
||||
modules_dir { 'apt': }
|
||||
|
||||
if $custom_key_dir {
|
||||
if $::custom_key_dir {
|
||||
file { "${apt_base_dir}/keys.d":
|
||||
source => "$custom_key_dir",
|
||||
source => $::custom_key_dir,
|
||||
recurse => true,
|
||||
mode => 0755, owner => root, group => root,
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => '0755',
|
||||
}
|
||||
exec { "custom_keys":
|
||||
command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && /usr/bin/apt-get update",
|
||||
subscribe => File["${apt_base_dir}/keys.d"],
|
||||
exec { 'custom_keys':
|
||||
command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && /usr/bin/apt-get update",
|
||||
subscribe => File["${apt_base_dir}/keys.d"],
|
||||
refreshonly => true,
|
||||
}
|
||||
if $custom_preferences != false {
|
||||
Exec["custom_keys"] {
|
||||
before => Concat[apt_config],
|
||||
Exec['custom_keys'] {
|
||||
before => File['apt_config'],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# workaround for preseeded_package component
|
||||
file { [ "/var/cache", "/var/cache/local", "/var/cache/local/preseeding" ]: ensure => directory }
|
||||
file { [ '/var/cache', '/var/cache/local', '/var/cache/local/preseeding' ]: ensure => directory }
|
||||
}
|
||||
|
|
|
@ -1,38 +1,19 @@
|
|||
class apt::listchanges {
|
||||
class apt::listchanges(
|
||||
$ensure_version = 'installed',
|
||||
$config = "apt/${::operatingsystem}/listchanges_${::lsbdistcodename}.erb",
|
||||
$frontend = 'mail',
|
||||
$email = 'root',
|
||||
$confirm = '0',
|
||||
$saveseen = '/var/lib/apt/listchanges.db',
|
||||
$which = 'both'
|
||||
){
|
||||
package { 'apt-listchanges': ensure => $ensure_version }
|
||||
|
||||
case $apt_listchanges_version {
|
||||
'': { $apt_listchanges_version = "present" }
|
||||
}
|
||||
|
||||
case $apt_listchanges_config {
|
||||
'': { $apt_listchanges_config = "apt/${operatingsystem}/listchanges_${lsbdistcodename}.erb" }
|
||||
}
|
||||
|
||||
case $apt_listchanges_frontend {
|
||||
'': { $apt_listchanges_frontend = "mail" }
|
||||
}
|
||||
|
||||
case $apt_listchanges_email {
|
||||
'': { $apt_listchanges_email = "root" }
|
||||
}
|
||||
|
||||
case $apt_listchanges_confirm {
|
||||
'': { $apt_listchanges_confirm = "0" }
|
||||
}
|
||||
|
||||
case $apt_listchanges_saveseen {
|
||||
'': { $apt_listchanges_saveseen = "/var/lib/apt/listchanges.db" }
|
||||
}
|
||||
|
||||
case $apt_listchanges_which {
|
||||
'': { $apt_listchanges_which = "both" }
|
||||
}
|
||||
|
||||
package { apt-listchanges: ensure => $apt_listchanges_ensure_version }
|
||||
|
||||
file { "/etc/apt/listchanges.conf":
|
||||
content => template($apt_listchanges_config),
|
||||
mode => 0644, owner => root, group => root,
|
||||
require => Package["apt-listchanges"];
|
||||
file { '/etc/apt/listchanges.conf':
|
||||
content => template($apt::listchanges::config),
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => '0644',
|
||||
require => Package['apt-listchanges'];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,20 @@
|
|||
class apt::preferences {
|
||||
|
||||
concat::fragment{"apt_preferences_header":
|
||||
content => $custom_preferences ? {
|
||||
'' => $operatingsystem ? {
|
||||
'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
|
||||
'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
|
||||
},
|
||||
default => $custom_preferences
|
||||
$pref_contents = $apt::custom_preferences ? {
|
||||
'' => $::operatingsystem ? {
|
||||
'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
|
||||
'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
|
||||
},
|
||||
order => 00,
|
||||
target => '/etc/apt/preferences',
|
||||
default => $apt::custom_preferences
|
||||
}
|
||||
|
||||
concat{'/etc/apt/preferences':
|
||||
alias => apt_config,
|
||||
file { '/etc/apt/preferences':
|
||||
ensure => present,
|
||||
alias => 'apt_config',
|
||||
# only update together
|
||||
require => File["/etc/apt/sources.list"],
|
||||
owner => root, group => 0, mode => 0644;
|
||||
content => $pref_contents,
|
||||
require => File['/etc/apt/sources.list'],
|
||||
owner => root, group => 0, mode => '0644';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,5 +2,6 @@ class apt::preferences::absent {
|
|||
|
||||
file { '/etc/apt/preferences':
|
||||
ensure => absent,
|
||||
alias => 'apt_config',
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
define apt::preferences_snippet(
|
||||
define apt::preferences_snippet (
|
||||
$priority,
|
||||
$package = false,
|
||||
$ensure = 'present',
|
||||
$source = '',
|
||||
$release = '',
|
||||
$pin = '',
|
||||
$priority )
|
||||
{
|
||||
$pin = ''
|
||||
) {
|
||||
|
||||
$real_package = $package ? {
|
||||
false => $name,
|
||||
|
@ -13,21 +13,19 @@ define apt::preferences_snippet(
|
|||
}
|
||||
|
||||
if $custom_preferences == false {
|
||||
fail("Trying to define a preferences_snippet with \$custom_preferences set to false.")
|
||||
fail('Trying to define a preferences_snippet with $custom_preferences set to false.')
|
||||
}
|
||||
|
||||
if !$pin and !$release {
|
||||
fail("apt::preferences_snippet requires one of the 'pin' or 'release' argument to be set")
|
||||
fail('apt::preferences_snippet requires one of the \'pin\' or \'release\' argument to be set')
|
||||
}
|
||||
if $pin and $release {
|
||||
fail("apt::preferences_snippet requires either a 'pin' or 'release' argument, not both")
|
||||
fail('apt::preferences_snippet requires either a \'pin\' or \'release\' argument, not both')
|
||||
}
|
||||
|
||||
include apt::preferences
|
||||
|
||||
concat::fragment{"apt_preference_${name}":
|
||||
file { "/etc/apt/preferences.d/${name}":
|
||||
ensure => $ensure,
|
||||
target => '/etc/apt/preferences',
|
||||
owner => root, group => 0, mode => '0644';
|
||||
}
|
||||
|
||||
# This should really work in the same manner as sources_list and apt_conf
|
||||
|
@ -37,19 +35,19 @@ define apt::preferences_snippet(
|
|||
'': {
|
||||
case $release {
|
||||
'': {
|
||||
Concat::Fragment["apt_preference_${name}"]{
|
||||
content => template("apt/preferences_snippet.erb")
|
||||
File["/etc/apt/preferences.d/${name}"]{
|
||||
content => template('apt/preferences_snippet.erb')
|
||||
}
|
||||
}
|
||||
default: {
|
||||
Concat::Fragment["apt_preference_${name}"]{
|
||||
content => template("apt/preferences_snippet_release.erb")
|
||||
File["/etc/apt/preferences.d/${name}"]{
|
||||
content => template('apt/preferences_snippet_release.erb')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
default: {
|
||||
Concat::Fragment["apt_preference_${name}"]{
|
||||
File["/etc/apt/preferences.d/${name}"]{
|
||||
source => $source
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,21 @@
|
|||
define apt::preseeded_package ($content = "", $ensure = "installed") {
|
||||
$seedfile = "/var/cache/local/preseeding/$name.seeds"
|
||||
$real_content = $content ? {
|
||||
"" => template ( "site_apt/$lsbdistcodename/$name.seeds" ),
|
||||
define apt::preseeded_package (
|
||||
$ensure = 'installed',
|
||||
$content = ''
|
||||
) {
|
||||
$seedfile = "/var/cache/local/preseeding/${name}.seeds"
|
||||
$real_content = $content ? {
|
||||
'' => template ( "site_apt/${::lsbdistcodename}/${name}.seeds" ),
|
||||
default => $content
|
||||
}
|
||||
}
|
||||
|
||||
file { $seedfile:
|
||||
content => $real_content,
|
||||
mode => 0600, owner => root, group => root,
|
||||
}
|
||||
mode => '0600', owner => root, group => root,
|
||||
}
|
||||
|
||||
package { $name:
|
||||
ensure => $ensure,
|
||||
ensure => $ensure,
|
||||
responsefile => $seedfile,
|
||||
require => File[$seedfile],
|
||||
}
|
||||
}
|
||||
require => File[$seedfile],
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
class apt::proxy_client {
|
||||
class apt::proxy_client(
|
||||
$proxy = 'http://localhost',
|
||||
$port = '3142',
|
||||
){
|
||||
|
||||
$real_apt_proxy = $apt_proxy ? {
|
||||
"" => "http://localhost",
|
||||
default => $apt_proxy
|
||||
}
|
||||
|
||||
$real_apt_proxy_port = $apt_proxy_port ? {
|
||||
"" => "3142",
|
||||
default => $apt_proxy_port
|
||||
}
|
||||
|
||||
apt_conf { "20proxy":
|
||||
content => template("apt/20proxy.erb"),
|
||||
apt_conf { '20proxy':
|
||||
content => template('apt/20proxy.erb'),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ class apt::reboot_required_notify {
|
|||
# This package installs the script that created /var/run/reboot-required*.
|
||||
# This script (/usr/share/update-notifier/notify-reboot-required) is
|
||||
# triggered e.g. by kernel packages.
|
||||
package { update-notifier-common:
|
||||
package { 'update-notifier-common':
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
define apt::sources_list (
|
||||
$ensure = 'present',
|
||||
$source = '',
|
||||
$content = undef )
|
||||
{
|
||||
$content = undef
|
||||
) {
|
||||
|
||||
if $source == '' and $content == undef {
|
||||
fail("One of \$source or \$content must be specified for apt_sources_snippet ${name}")
|
||||
}
|
||||
if $source != '' and $content != undef {
|
||||
fail("Only one of \$source or \$content must specified for apt_sources_snippet ${name}")
|
||||
if $ensure == 'present' {
|
||||
if $source == '' and $content == undef {
|
||||
fail("One of \$source or \$content must be specified for apt_sources_snippet ${name}")
|
||||
}
|
||||
if $source != '' and $content != undef {
|
||||
fail("Only one of \$source or \$content must specified for apt_sources_snippet ${name}")
|
||||
}
|
||||
}
|
||||
|
||||
include apt::dot_d_directories
|
||||
|
@ -18,7 +20,7 @@ define apt::sources_list (
|
|||
# apparently doesn't.
|
||||
file { "/etc/apt/sources.list.d/${name}":
|
||||
ensure => $ensure,
|
||||
owner => root, group => 0, mode => 0644,
|
||||
owner => root, group => 0, mode => '0644',
|
||||
notify => Exec['refresh_apt'],
|
||||
}
|
||||
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
class apt::unattended_upgrades {
|
||||
|
||||
package { 'unattended-upgrades':
|
||||
ensure => present,
|
||||
ensure => present,
|
||||
require => undef,
|
||||
}
|
||||
|
||||
apt_conf { "50unattended-upgrades":
|
||||
source => ["puppet:///modules/site_apt/$lsbdistcodename/50unattended-upgrades",
|
||||
"puppet:///modules/site_apt/50unattended-upgrades",
|
||||
"puppet:///modules/apt/$lsbdistcodename/50unattended-upgrades",
|
||||
"puppet:///modules/apt/50unattended-upgrades" ],
|
||||
apt_conf { '50unattended-upgrades':
|
||||
source => [
|
||||
"puppet:///modules/site_apt/${::lsbdistcodename}/50unattended-upgrades",
|
||||
'puppet:///modules/site_apt/50unattended-upgrades',
|
||||
"puppet:///modules/apt/${::lsbdistcodename}/50unattended-upgrades",
|
||||
'puppet:///modules/apt/50unattended-upgrades' ],
|
||||
require => Package['unattended-upgrades'],
|
||||
}
|
||||
|
||||
if $custom_preferences != false {
|
||||
Apt_conf["50unattended-upgrades"] {
|
||||
before => Concat[apt_config],
|
||||
if $apt::custom_preferences != false {
|
||||
Apt_conf['50unattended-upgrades'] {
|
||||
before => File['apt_config'],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,11 +2,12 @@ class apt::update {
|
|||
|
||||
exec { 'update_apt':
|
||||
command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean',
|
||||
require => [ File['/etc/apt/apt.conf.d', '/etc/apt/preferences' ],
|
||||
Config_file['/etc/apt/sources.list'] ],
|
||||
require => [
|
||||
File['/etc/apt/apt.conf.d', '/etc/apt/preferences' ],
|
||||
File['/etc/apt/sources.list'] ],
|
||||
loglevel => info,
|
||||
# Another Semaphor for all packages to reference
|
||||
alias => "apt_updated"
|
||||
alias => 'apt_updated'
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
define apt::upgrade_package ($version = "") {
|
||||
define apt::upgrade_package (
|
||||
$version = ''
|
||||
) {
|
||||
|
||||
if $apt::disable_update == false {
|
||||
include apt::update
|
||||
if $apt::disable_update == false {
|
||||
include apt::update
|
||||
}
|
||||
|
||||
$version_suffix = $version ? {
|
||||
|
@ -12,25 +14,29 @@ define apt::upgrade_package ($version = "") {
|
|||
|
||||
if !defined(Package['apt-show-versions']) {
|
||||
package { 'apt-show-versions':
|
||||
ensure => installed,
|
||||
ensure => installed,
|
||||
require => undef,
|
||||
}
|
||||
}
|
||||
|
||||
if !defined(Package['dctrl-tools']) {
|
||||
package { 'dctrl-tools':
|
||||
ensure => installed,
|
||||
ensure => installed,
|
||||
require => undef,
|
||||
}
|
||||
}
|
||||
|
||||
$req = $apt::disable_update ? {
|
||||
true => Package['apt-show-versions', 'dctrl-tools'],
|
||||
default => [
|
||||
Exec['apt_updated'],
|
||||
Package['apt-show-versions', 'dctrl-tools']
|
||||
],
|
||||
}
|
||||
|
||||
exec { "apt-get -q -y -o 'DPkg::Options::=--force-confold' install ${name}${version_suffix}":
|
||||
onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ],
|
||||
require => $apt::disable_update ? {
|
||||
true => Package['apt-show-versions', 'dctrl-tools'],
|
||||
default => [ Exec['apt_updated'],
|
||||
Package['apt-show-versions', 'dctrl-tools'] ],
|
||||
}
|
||||
onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ],
|
||||
require => $req
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// This file is managed by Puppet
|
||||
// all local modifications will be overwritten
|
||||
|
||||
Acquire::http { Proxy "<%= real_apt_proxy %>:<%= real_apt_proxy_port %>"; };
|
||||
Acquire::http { Proxy "<%= proxy %>:<%= port %>"; };
|
||||
Acquire::HTTP::Proxy::bugs.debian.org "DIRECT";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#
|
||||
# set EMAIL to a list of addresses which will be notified of impending updates
|
||||
#
|
||||
EMAIL="<%= apticron_email %>"
|
||||
EMAIL="<%= scope.lookupvar('apt::apticron::email') %>"
|
||||
|
||||
#
|
||||
# Set DIFF_ONLY to "1" to only output the difference of the current run
|
||||
|
@ -10,22 +10,22 @@ EMAIL="<%= apticron_email %>"
|
|||
# are no differences, no output/email will be generated. By default, apticron
|
||||
# will output everything that needs to be upgraded.
|
||||
#
|
||||
DIFF_ONLY="<%= apticron_diff_only %>"
|
||||
DIFF_ONLY="<%= scope.lookupvar('apt::apticron::diff_only') %>"
|
||||
|
||||
#
|
||||
# Set LISTCHANGES_PROFILE if you would like apticron to invoke apt-listchanges
|
||||
# with the --profile option. You should add a corresponding profile to
|
||||
# /etc/apt/listchanges.conf
|
||||
#
|
||||
LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
||||
LISTCHANGES_PROFILE="<%= scope.lookupvar('apt::apticron::listchanges_profile') %>"
|
||||
|
||||
#
|
||||
# Set SYSTEM if you would like apticron to use something other than the output
|
||||
# of "hostname -f" for the system name in the mails it generates
|
||||
#
|
||||
# SYSTEM="foobar.example.com"
|
||||
<%- if has_variable?('apticron_system') and instance_variable_get("@#{'apticron_system'}").to_s != "false" -%>
|
||||
<%= 'SYSTEM="' + instance_variable_get("@#{'apticron_system'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::system').to_s == "false" -%>
|
||||
<%= "SYSTEM=\"#{scope.lookupvar('apt::apticron::system')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
#
|
||||
|
@ -34,8 +34,8 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
|||
# family type (inet, inet6), if available.
|
||||
#
|
||||
# IPADDRESSNUM="1"
|
||||
<%- if has_variable?('apticron_ipaddressnum') and instance_variable_get("@#{'apticron_ipaddressnum'}").to_s != "false" -%>
|
||||
<%= 'IPADDRESSNUM="' + instance_variable_get("@#{'apticron_ipaddressnum'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::ipaddressnum').to_s == "false" -%>
|
||||
<%= "IPADDRESSNUM=\"#{scope.lookupvar('apt::apticron::ipaddressnum')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
#
|
||||
|
@ -44,6 +44,7 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
|||
# "ip" command
|
||||
#
|
||||
# IPADDRESSES="192.0.2.1 2001:db8:1:2:3::1"
|
||||
<%- if has_variable?('apticron_ipaddresses') and instance_variable_get("@#{'apticron_ipaddresses'}").to_s != "false" -%>
|
||||
<%= 'IPADDRESSES="' + instance_variable_get("@#{'apticron_ipaddresses'}").to_s + '"' %>
|
||||
<%- end -%>
|
||||
<%- unless scope.lookupvar('apt::apticron::ipaddresses').to_s == "false" -%>
|
||||
<%= "IPADDRESSES=\"#{scope.lookupvar('apt::apticron::ipaddresses')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
# set EMAIL to a space separated list of addresses which will be notified of
|
||||
# impending updates
|
||||
#
|
||||
EMAIL="<%= apticron_email %>"
|
||||
EMAIL="<%= scope.lookupvar('apt::apticron::email') %>"
|
||||
|
||||
|
||||
#
|
||||
# Set DIFF_ONLY to "1" to only output the difference of the current run
|
||||
|
@ -11,51 +12,54 @@ EMAIL="<%= apticron_email %>"
|
|||
# are no differences, no output/email will be generated. By default, apticron
|
||||
# will output everything that needs to be upgraded.
|
||||
#
|
||||
DIFF_ONLY="<%= apticron_diff_only %>"
|
||||
DIFF_ONLY="<%= scope.lookupvar('apt::apticron::diff_only') %>"
|
||||
|
||||
#
|
||||
# Set LISTCHANGES_PROFILE if you would like apticron to invoke apt-listchanges
|
||||
# with the --profile option. You should add a corresponding profile to
|
||||
# /etc/apt/listchanges.conf
|
||||
#
|
||||
LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
||||
LISTCHANGES_PROFILE="<%= scope.lookupvar('apt::apticron::listchanges_profile') %>"
|
||||
|
||||
#
|
||||
# Set SYSTEM if you would like apticron to use something other than the output
|
||||
# of "hostname -f" for the system name in the mails it generates
|
||||
#
|
||||
# SYSTEM="foobar.example.com"
|
||||
<%- if has_variable?('apticron_system') and instance_variable_get("@#{'apticron_system'}").to_s != "false" -%>
|
||||
<%= 'SYSTEM="' + instance_variable_get("@#{'apticron_system'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::system').to_s == "false" -%>
|
||||
<%= "SYSTEM=\"#{scope.lookupvar('apt::apticron::system')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
|
||||
#
|
||||
# Set IPADDRESSNUM if you would like to configure the maximal number of IP
|
||||
# addresses apticron displays. The default is to display 1 address of each
|
||||
# family type (inet, inet6), if available.
|
||||
#
|
||||
# IPADDRESSNUM="1"
|
||||
<%- if has_variable?('apticron_ipaddressnum') and instance_variable_get("@#{'apticron_ipaddressnum'}").to_s != "false" -%>
|
||||
<%= 'IPADDRESSNUM="' + instance_variable_get("@#{'apticron_ipaddressnum'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::ipaddressnum').to_s == "false" -%>
|
||||
<%= "IPADDRESSNUM=\"#{scope.lookupvar('apt::apticron::ipaddressnum')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
|
||||
#
|
||||
# Set IPADDRESSES to a whitespace separated list of reachable addresses for
|
||||
# this system. By default, apticron will try to work these out using the
|
||||
# "ip" command
|
||||
#
|
||||
# IPADDRESSES="192.0.2.1 2001:db8:1:2:3::1"
|
||||
<%- if has_variable?('apticron_ipaddresses') and instance_variable_get("@#{'apticron_ipaddresses'}").to_s != "false" -%>
|
||||
<%= 'IPADDRESSES="' + instance_variable_get("@#{'apticron_ipaddresses'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::ipaddresses').to_s == "false" -%>
|
||||
<%= "IPADDRESSES=\"#{scope.lookupvar('apt::apticron::ipaddresses')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
|
||||
#
|
||||
# Set NOTIFY_HOLDS="0" if you don't want to be notified about new versions of
|
||||
# packages on hold in your system. The default behavior is downloading and
|
||||
# listing them as any other package.
|
||||
#
|
||||
# NOTIFY_HOLDS="0"
|
||||
NOTIFY_HOLDS="<%= apticron_notifyholds %>"
|
||||
NOTIFY_HOLDS="<%= scope.lookupvar('apt::apticron::notifyholds') %>"
|
||||
|
||||
#
|
||||
# Set NOTIFY_NEW="0" if you don't want to be notified about packages which
|
||||
|
@ -67,12 +71,12 @@ NOTIFY_HOLDS="<%= apticron_notifyholds %>"
|
|||
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531002#44
|
||||
#
|
||||
# NOTIFY_NEW="0"
|
||||
NOTIFY_NEW="<%= apticron_notifynew %>"
|
||||
NOTIFY_NEW="<%= scope.lookupvar('apt::apticron::notifynew') %>"
|
||||
|
||||
#
|
||||
# Set CUSTOM_SUBJECT if you want to replace the default subject used in
|
||||
# the notification e-mails. This may help filtering/sorting client-side e-mail.
|
||||
#
|
||||
# CUSTOM_SUBJECT=""
|
||||
CUSTOM_SUBJECT="<%= apticron_customsubject %>"
|
||||
CUSTOM_SUBJECT="<%= scope.lookupvar('apt::apticron::customsubject') %>"
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# set EMAIL to a space separated list of addresses which will be notified of
|
||||
# impending updates
|
||||
#
|
||||
EMAIL="<%= apticron_email %>"
|
||||
EMAIL="<%= scope.lookupvar('apt::apticron::email') %>"
|
||||
|
||||
#
|
||||
# Set DIFF_ONLY to "1" to only output the difference of the current run
|
||||
|
@ -11,22 +11,22 @@ EMAIL="<%= apticron_email %>"
|
|||
# are no differences, no output/email will be generated. By default, apticron
|
||||
# will output everything that needs to be upgraded.
|
||||
#
|
||||
DIFF_ONLY="<%= apticron_diff_only %>"
|
||||
DIFF_ONLY="<%= scope.lookupvar('apt::apticron::diff_only') %>"
|
||||
|
||||
#
|
||||
# Set LISTCHANGES_PROFILE if you would like apticron to invoke apt-listchanges
|
||||
# with the --profile option. You should add a corresponding profile to
|
||||
# /etc/apt/listchanges.conf
|
||||
#
|
||||
LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
||||
LISTCHANGES_PROFILE="<%= scope.lookupvar('apt::apticron::listchanges_profile') %>"
|
||||
|
||||
#
|
||||
# Set SYSTEM if you would like apticron to use something other than the output
|
||||
# of "hostname -f" for the system name in the mails it generates
|
||||
#
|
||||
# SYSTEM="foobar.example.com"
|
||||
<%- if has_variable?('apticron_system') and instance_variable_get("@#{'apticron_system'}").to_s != "false" -%>
|
||||
<%= 'SYSTEM="' + instance_variable_get("@#{'apticron_system'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::system').to_s == "false" -%>
|
||||
<%= "SYSTEM=\"#{scope.lookupvar('apt::apticron::system')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
#
|
||||
|
@ -35,8 +35,8 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
|||
# family type (inet, inet6), if available.
|
||||
#
|
||||
# IPADDRESSNUM="1"
|
||||
<%- if has_variable?('apticron_ipaddressnum') and instance_variable_get("@#{'apticron_ipaddressnum'}").to_s != "false" -%>
|
||||
<%= 'IPADDRESSNUM="' + instance_variable_get("@#{'apticron_ipaddressnum'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::ipaddressnum').to_s == "false" -%>
|
||||
<%= "IPADDRESSNUM=\"#{scope.lookupvar('apt::apticron::ipaddressnum')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
#
|
||||
|
@ -45,8 +45,8 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
|||
# "ip" command
|
||||
#
|
||||
# IPADDRESSES="192.0.2.1 2001:db8:1:2:3::1"
|
||||
<%- if has_variable?('apticron_ipaddresses') and instance_variable_get("@#{'apticron_ipaddresses'}").to_s != "false" -%>
|
||||
<%= 'IPADDRESSES="' + instance_variable_get("@#{'apticron_ipaddresses'}").to_s + '"' %>
|
||||
<%- unless scope.lookupvar('apt::apticron::ipaddresses').to_s == "false" -%>
|
||||
<%= "IPADDRESSES=\"#{scope.lookupvar('apt::apticron::ipaddresses')}\"" %>
|
||||
<%- end -%>
|
||||
|
||||
#
|
||||
|
@ -55,7 +55,7 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>"
|
|||
# listing them as any other package.
|
||||
#
|
||||
# NOTIFY_HOLDS="0"
|
||||
NOTIFY_HOLDS="<%= apticron_notifyholds %>"
|
||||
NOTIFY_HOLDS="<%= scope.lookupvar('apt::apticron::notifyholds') %>"
|
||||
|
||||
#
|
||||
# Set NOTIFY_NEW="0" if you don't want to be notified about packages which
|
||||
|
@ -67,7 +67,7 @@ NOTIFY_HOLDS="<%= apticron_notifyholds %>"
|
|||
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531002#44
|
||||
#
|
||||
# NOTIFY_NEW="0"
|
||||
NOTIFY_NEW="<%= apticron_notifynew %>"
|
||||
NOTIFY_NEW="<%= scope.lookupvar('apt::apticron::notifynew') %>"
|
||||
|
||||
|
||||
#
|
||||
|
@ -77,4 +77,4 @@ NOTIFY_NEW="<%= apticron_notifynew %>"
|
|||
# ='[apticron] : package update(s)'
|
||||
#
|
||||
# CUSTOM_SUBJECT=""
|
||||
CUSTOM_SUBJECT="<%= apticron_customsubject %>"
|
||||
CUSTOM_SUBJECT="<%= scope.lookupvar('apt::apticron::customsubject') %>"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[apt]
|
||||
frontend=<%= apt_listchanges_frontend %>
|
||||
email_address=<%= apt_listchanges_email %>
|
||||
confirm=<%= apt_listchanges_confirm %>
|
||||
save_seen=<%= apt_listchanges_saveseen %>
|
||||
which=<%= apt_listchanges_which %>
|
||||
frontend=<%= scope.lookupvar('apt::listchanges::frontend') %>
|
||||
email_address=<%= scope.lookupvar('apt::listchanges::email') %>
|
||||
confirm=<%= scope.lookupvar('apt::listchanges::confirm') %>
|
||||
save_seen=<%= scope.lookupvar('apt::listchanges::saveseen') %>
|
||||
which=<%= scope.lookupvar('apt::listchanges::which') %>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Explanation: Debian <%= codename %>
|
||||
Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %>
|
||||
Package: *
|
||||
Pin: release o=Debian,a=<%= release %>,v=<%= release_version %>*
|
||||
Pin: release o=Debian,a=<%= scope.lookupvar('apt::release') %>,v=<%= scope.lookupvar('apt::release_version') %>*
|
||||
Pin-Priority: 990
|
||||
|
||||
Explanation: Debian backports
|
||||
|
@ -8,7 +8,7 @@ Package: *
|
|||
Pin: origin backports.debian.org
|
||||
Pin-Priority: 200
|
||||
|
||||
Explanation: Debian <%= next_release %>
|
||||
Explanation: Debian <%= next_release=scope.lookupvar('apt::next_release') %>
|
||||
Package: *
|
||||
Pin: release o=Debian,a=<%= next_release %>
|
||||
Pin-Priority: 2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Explanation: Debian <%= codename %>
|
||||
Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %>
|
||||
Package: *
|
||||
Pin: release o=Debian,n=<%= codename %>
|
||||
Pin-Priority: 990
|
||||
|
@ -8,7 +8,7 @@ Package: *
|
|||
Pin: release o=Debian,n=<%= codename %>-updates
|
||||
Pin-Priority: 990
|
||||
|
||||
Explanation: Debian <%= next_codename %>
|
||||
Explanation: Debian <%= next_codename=scope.lookupvar('apt::next_codename') %>
|
||||
Package: *
|
||||
Pin: release o=Debian,n=<%= next_codename %>
|
||||
Pin-Priority: 2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Explanation: Debian <%= codename %>
|
||||
Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %>
|
||||
Package: *
|
||||
Pin: release o=Debian,n=<%= codename %>
|
||||
Pin-Priority: 990
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
# This file is managed by puppet
|
||||
# all local modifications will be overwritten
|
||||
|
||||
### Debian current: <%= codename %>
|
||||
### Debian current: <%= codename=scope.lookupvar('apt::codename') %>
|
||||
|
||||
# basic
|
||||
deb <%= debian_url %> <%= codename %> <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= debian_url %> <%= codename %> <%= repos %>
|
||||
deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= lrepos=scope.lookupvar('apt::real_repos') %>
|
||||
<% if scope.lookupvar('apt::include_src') -%>
|
||||
deb-src <%= debian_url %> <%= codename %> <%= lrepos %>
|
||||
<% end -%>
|
||||
|
||||
# security
|
||||
<% if (release == "unstable" || release == "experimental") -%>
|
||||
<% if ((release=scope.lookupvar('apt::release')) == "unstable" || release == "experimental") -%>
|
||||
# There is no security support for <%= release %>
|
||||
<% else -%>
|
||||
deb <%= security_url %> <%= codename %>/updates <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= security_url %> <%= codename %>/updates <%= repos %>
|
||||
deb <%= security_url=scope.lookupvar('apt::security_url') %> <%= codename %>/updates <%= lrepos %>
|
||||
<% if include_src -%>
|
||||
deb-src <%= security_url %> <%= codename %>/updates <%= lrepos %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
|
@ -23,47 +23,47 @@ deb-src <%= security_url %> <%= codename %>/updates <%= repos %>
|
|||
<% if (release == "testing" || release == "unstable" || release == "experimental") -%>
|
||||
# There is no backports archive for <%= release %>
|
||||
<% else -%>
|
||||
deb <%= backports_url %> <%= codename %>-backports <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= backports_url %> <%= codename %>-backports <%= repos %>
|
||||
deb <%= backports_url=scope.lookupvar('apt::backports_url') %> <%= codename %>-backports <%= lrepos %>
|
||||
<% if include_src -%>
|
||||
deb-src <%= backports_url %> <%= codename %>-backports <%= lrepos %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
<% if use_volatile -%>
|
||||
<% if use_volatile=scope.lookupvar('apt::use_volatile') -%>
|
||||
# volatile
|
||||
<% if (release == "testing" || release == "unstable" || release == "experimental") -%>
|
||||
# There is no volatile archive for <%= release %>
|
||||
<% else -%>
|
||||
<% if (codename == "lenny" || codename == "etch") -%>
|
||||
deb <%= volatile_url %> <%= codename %>/volatile <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= volatile_url %> <%= codename %>/volatile <%= repos %>
|
||||
deb <%= volatile_url=scope.lookupvar('apt::volatile_url') %> <%= codename %>/volatile <%= lrepos %>
|
||||
<% if include_src -%>
|
||||
deb-src <%= volatile_url %> <%= codename %>/volatile <%= lrepos %>
|
||||
<% end -%>
|
||||
<% else -%>
|
||||
deb <%= debian_url %> <%= codename %>-updates <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= debian_url %> <%= codename %>-updates <%= repos %>
|
||||
deb <%= debian_url %> <%= codename %>-updates <%= lrepos %>
|
||||
<% if include_src -%>
|
||||
deb-src <%= debian_url %> <%= codename %>-updates <%= lrepos %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
<% if use_next_release then -%>
|
||||
### Debian next: <%= next_codename %>
|
||||
<% if next_release=scope.lookupvar('apt::use_next_release') -%>
|
||||
### Debian next: <%= next_release=scope.lookupvar('apt::next_release') ; next_codename=scope.lookupvar('apt::next_codename') %>
|
||||
|
||||
# basic
|
||||
deb <%= debian_url %> <%= next_codename %> <%= repos %>
|
||||
deb <%= debian_url %> <%= next_codename %> <%= lrepos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= debian_url %> <%= next_codename %> <%= repos %>
|
||||
deb-src <%= debian_url %> <%= next_codename %> <%= lrepos %>
|
||||
<% end -%>
|
||||
|
||||
# security
|
||||
<% if (next_release == "unstable" || next_release == "experimental") -%>
|
||||
# There is no security support for <%= next_release %>
|
||||
<% else -%>
|
||||
deb <%= security_url %> <%= next_codename %>/updates <%= repos %>
|
||||
deb <%= security_url %> <%= next_codename %>/updates <%= lrepos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= security_url %> <%= next_codename %>/updates <%= repos %>
|
||||
deb-src <%= security_url %> <%= next_codename %>/updates <%= lrepos %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
|
@ -73,14 +73,14 @@ deb-src <%= security_url %> <%= next_codename %>/updates <%= repos %>
|
|||
# There is no volatile archive for <%= next_release %>
|
||||
<% else -%>
|
||||
<% if (next_codename == "lenny" || next_codename == "etch") -%>
|
||||
deb <%= volatile_url %> <%= next_codename %>/volatile <%= repos %>
|
||||
deb <%= volatile_url %> <%= next_codename %>/volatile <%= lrepos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= volatile_url %> <%= next_codename %>/volatile <%= repos %>
|
||||
deb-src <%= volatile_url %> <%= next_codename %>/volatile <%= lrepos %>
|
||||
<% end -%>
|
||||
<% else -%>
|
||||
deb <%= debian_url %> <%= next_codename %>-updates <%= repos %>
|
||||
deb <%= debian_url %> <%= next_codename %>-updates <%= lrepos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= debian_url %> <%= next_codename %>-updates <%= repos %>
|
||||
deb-src <%= debian_url %> <%= next_codename %>-updates <%= lrepos %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Explanation: Ubuntu <%= codename %> security
|
||||
Explanation: Ubuntu <%= codename=scope.lookupvar('apt::codename') %> security
|
||||
Package: *
|
||||
Pin: release o=Ubuntu,a=<%= codename %>-security
|
||||
Pin-Priority: 990
|
||||
|
@ -18,7 +18,7 @@ Package: *
|
|||
Pin: release a=<%= codename %>-backports
|
||||
Pin-Priority: 200
|
||||
|
||||
Explanation: Ubuntu <%= next_release %>
|
||||
Explanation: Ubuntu <%= next_release=scope.lookupvar('apt::next_release') %>
|
||||
Package: *
|
||||
Pin: release o=Ubuntu,a=<%= next_release %>
|
||||
Pin-Priority: 2
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
# This file is managed by puppet
|
||||
# all local modifications will be overwritten
|
||||
|
||||
# basic <%= lsbdistcodename %>
|
||||
deb <%= ubuntu_url %> <%= lsbdistcodename %> <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= ubuntu_url %> <%= lsbdistcodename %> <%= 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 %> <%= codename %> <%= lrepos %>
|
||||
<% end -%>
|
||||
|
||||
# updates
|
||||
deb <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= repos %>
|
||||
deb <%= ubuntu_url %> <%= codename %>-updates <%= lrepos %>
|
||||
<% if include_src -%>
|
||||
deb-src <%= ubuntu_url %> <%= codename %>-updates <%= lrepos %>
|
||||
<% end -%>
|
||||
|
||||
# security suppport
|
||||
deb <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= repos %>
|
||||
deb <%= ubuntu_url %> <%= codename %>-security <%= lrepos %>
|
||||
<% if include_src -%>
|
||||
deb-src <%= ubuntu_url %> <%= codename %>-security <%= lrepos %>
|
||||
<% end -%>
|
||||
|
||||
# backports
|
||||
deb <%= ubuntu_url %> <%= lsbdistcodename %>-backports main <%= repos %>
|
||||
<% if include_src then -%>
|
||||
deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-backports <%= repos %>
|
||||
deb <%= ubuntu_url %> <%= codename %>-backports main <%= lrepos %>
|
||||
<% if include_src -%>
|
||||
deb-src <%= ubuntu_url %> <%= codename %>-backports <%= lrepos %>
|
||||
<% end -%>
|
||||
|
|
Loading…
Reference in a new issue