Code Review
/
puppet-modules
/
puppetlabs-apt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge pull request #583 from tdb/fix_ppa_pluses
[puppet-modules/puppetlabs-apt.git]
/
manifests
/
ppa.pp
diff --git
a/manifests/ppa.pp
b/manifests/ppa.pp
index 1dc8e26fce80519d67c00c21cb16c894f00b029b..d6b49007608c2f6811d3d4d812b017a200727173 100644
(file)
--- a/
manifests/ppa.pp
+++ b/
manifests/ppa.pp
@@
-1,27
+1,25
@@
# ppa.pp
define apt::ppa(
$ensure = 'present',
# ppa.pp
define apt::ppa(
$ensure = 'present',
- $release = $::lsbdistcodename,
$options = $::apt::ppa_options,
$options = $::apt::ppa_options,
+ $release = $::apt::xfacts['lsbdistcodename'],
$package_name = $::apt::ppa_package,
$package_manage = false,
$package_name = $::apt::ppa_package,
$package_manage = false,
- $proxy = {},
) {
) {
-
if !
$release {
+
unless
$release {
fail('lsbdistcodename fact not available: release parameter required')
}
fail('lsbdistcodename fact not available: release parameter required')
}
- if $::
operatingsystem != 'Ubuntu
' {
- fail('apt::ppa is
currently supported on Ubuntu only
.')
+ if $::
apt::xfacts['lsbdistid'] == 'Debian
' {
+ fail('apt::ppa is
not currently supported on Debian
.')
}
$filename_without_slashes = regsubst($name, '/', '-', 'G')
$filename_without_dots = regsubst($filename_without_slashes, '\.', '_', 'G')
}
$filename_without_slashes = regsubst($name, '/', '-', 'G')
$filename_without_dots = regsubst($filename_without_slashes, '\.', '_', 'G')
- $filename_without_ppa = regsubst($filename_without_dots, '^ppa:', '', 'G')
+ $filename_without_pluses = regsubst($filename_without_dots, '\+', '_', 'G')
+ $filename_without_ppa = regsubst($filename_without_pluses, '^ppa:', '', 'G')
$sources_list_d_filename = "${filename_without_ppa}-${release}.list"
$sources_list_d_filename = "${filename_without_ppa}-${release}.list"
- $_proxy = merge($apt::proxy, $proxy)
-
if $ensure == 'present' {
if $package_manage {
package { $package_name: }
if $ensure == 'present' {
if $package_manage {
package { $package_name: }
@@
-31,13
+29,15
@@
define apt::ppa(
$_require = File['sources.list.d']
}
$_require = File['sources.list.d']
}
- case $_proxy['host'] {
-
false, '', undef:
{
- $_proxy_env = []
- }
-
default:
{
- $_proxy_env = ["http_proxy=http://${
_proxy['host']}:${_proxy['port']}", "https_proxy=http://${_proxy['host']}:${
_proxy['port']}"]
+ $_proxy = $::apt::_proxy
+
if $_proxy['host']
{
+ if $_proxy['https'] {
+ $_proxy_env = ["http_proxy=http://${$_proxy['host']}:${$_proxy['port']}", "https_proxy=https://${$_proxy['host']}:${$_proxy['port']}"]
+
} else
{
+ $_proxy_env = ["http_proxy=http://${
$_proxy['host']}:${$
_proxy['port']}"]
}
}
+ } else {
+ $_proxy_env = []
}
exec { "add-apt-repository-${name}":
}
exec { "add-apt-repository-${name}":
@@
-46,7
+46,7
@@
define apt::ppa(
unless => "/usr/bin/test -s ${::apt::sources_list_d}/${sources_list_d_filename}",
user => 'root',
logoutput => 'on_failure',
unless => "/usr/bin/test -s ${::apt::sources_list_d}/${sources_list_d_filename}",
user => 'root',
logoutput => 'on_failure',
- notify =>
Exec['apt_
update'],
+ notify =>
Class['apt::
update'],
require => $_require,
}
require => $_require,
}
@@
-58,12
+58,7
@@
define apt::ppa(
else {
file { "${::apt::sources_list_d}/${sources_list_d_filename}":
ensure => 'absent',
else {
file { "${::apt::sources_list_d}/${sources_list_d_filename}":
ensure => 'absent',
- notify =>
Exec['apt_
update'],
+ notify =>
Class['apt::
update'],
}
}
}
}
-
- # Need anchor to provide containment for dependencies.
- anchor { "apt::ppa::${name}":
- require => Class['apt::update'],
- }
}
}