diff options
author | mpalmer <mpalmer@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-05-30 22:29:40 +0000 |
---|---|---|
committer | mpalmer <mpalmer@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-05-30 22:29:40 +0000 |
commit | e0fbd41053a5a430b4d4916cfa4a45ec5fcfdf90 (patch) | |
tree | eaa422bc972bb03a946716a031ffe021221fb91d /lib | |
parent | 37a221c32e8107ec4f436b6619a87b868449516f (diff) | |
download | puppet-e0fbd41053a5a430b4d4916cfa4a45ec5fcfdf90.tar.gz puppet-e0fbd41053a5a430b4d4916cfa4a45ec5fcfdf90.tar.xz puppet-e0fbd41053a5a430b4d4916cfa4a45ec5fcfdf90.zip |
Switch the package type to use a :versionable feature, and convert all providers to use the feature. Hope it doesn't break anything.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2543 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/puppet/provider/package/apple.rb | 4 | ||||
-rwxr-xr-x | lib/puppet/provider/package/apt.rb | 6 | ||||
-rwxr-xr-x | lib/puppet/provider/package/aptitude.rb | 2 | ||||
-rw-r--r-- | lib/puppet/provider/package/aptrpm.rb | 6 | ||||
-rwxr-xr-x | lib/puppet/provider/package/darwinport.rb | 4 | ||||
-rwxr-xr-x | lib/puppet/provider/package/dpkg.rb | 4 | ||||
-rwxr-xr-x | lib/puppet/provider/package/gem.rb | 6 | ||||
-rwxr-xr-x | lib/puppet/provider/package/openbsd.rb | 4 | ||||
-rw-r--r-- | lib/puppet/provider/package/pkgdmg.rb | 4 | ||||
-rw-r--r-- | lib/puppet/provider/package/portage.rb | 6 | ||||
-rwxr-xr-x | lib/puppet/provider/package/ports.rb | 1 | ||||
-rwxr-xr-x | lib/puppet/provider/package/rpm.rb | 4 | ||||
-rw-r--r-- | lib/puppet/provider/package/rug.rb | 6 | ||||
-rwxr-xr-x | lib/puppet/provider/package/sun.rb | 4 | ||||
-rw-r--r-- | lib/puppet/provider/package/up2date.rb | 4 | ||||
-rwxr-xr-x | lib/puppet/provider/package/yum.rb | 7 | ||||
-rw-r--r-- | lib/puppet/type/package.rb | 6 |
17 files changed, 21 insertions, 57 deletions
diff --git a/lib/puppet/provider/package/apple.rb b/lib/puppet/provider/package/apple.rb index 8e6c7eb67..ce845670f 100755 --- a/lib/puppet/provider/package/apple.rb +++ b/lib/puppet/provider/package/apple.rb @@ -48,10 +48,6 @@ Puppet::Type.type(:package).provide :apple do installer "-pkg", source, "-target", "/" end - - def versionable? - false - end end # $Id$ diff --git a/lib/puppet/provider/package/apt.rb b/lib/puppet/provider/package/apt.rb index 81b7c9a12..264e40b81 100755 --- a/lib/puppet/provider/package/apt.rb +++ b/lib/puppet/provider/package/apt.rb @@ -4,6 +4,8 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do desc "Package management via ``apt-get``." + has_feature :versionable + commands :aptget => "/usr/bin/apt-get" commands :aptcache => "/usr/bin/apt-cache" commands :preseed => "/usr/bin/debconf-set-selections" @@ -109,10 +111,6 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do def purge aptget '-y', '-q', 'remove', '--purge', @resource[:name] - end - - def versionable? - true end end diff --git a/lib/puppet/provider/package/aptitude.rb b/lib/puppet/provider/package/aptitude.rb index 32dd37627..79e853c64 100755 --- a/lib/puppet/provider/package/aptitude.rb +++ b/lib/puppet/provider/package/aptitude.rb @@ -1,6 +1,8 @@ Puppet::Type.type(:package).provide :aptitude, :parent => :apt do desc "Package management via ``aptitude``." + has_feature :versionable + commands :aptitude => "/usr/bin/aptitude" commands :aptcache => "/usr/bin/apt-cache" diff --git a/lib/puppet/provider/package/aptrpm.rb b/lib/puppet/provider/package/aptrpm.rb index 89a309857..766f52525 100644 --- a/lib/puppet/provider/package/aptrpm.rb +++ b/lib/puppet/provider/package/aptrpm.rb @@ -4,6 +4,8 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm do desc "Package management via ``apt-get`` ported to ``rpm``." + has_feature :versionable + commands :aptget => "/usr/bin/apt-get" commands :aptcache => "/usr/bin/apt-cache" commands :rpm => "/usr/bin/rpm" @@ -69,10 +71,6 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm do def purge aptget '-y', '-q', 'remove', '--purge', @resource[:name] - end - - def versionable? - true end end diff --git a/lib/puppet/provider/package/darwinport.rb b/lib/puppet/provider/package/darwinport.rb index 252e4bb39..70e6ed388 100755 --- a/lib/puppet/provider/package/darwinport.rb +++ b/lib/puppet/provider/package/darwinport.rb @@ -83,10 +83,6 @@ Puppet::Type.type(:package).provide :darwinport do def update return install() end - - def versionable? - false - end end # $Id$ diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb index 3d2083333..d309ae9e5 100755 --- a/lib/puppet/provider/package/dpkg.rb +++ b/lib/puppet/provider/package/dpkg.rb @@ -104,10 +104,6 @@ Puppet::Type.type(:package).provide :dpkg do def purge dpkg "--purge", @resource[:name] end - - def versionable? - false - end end # $Id$ diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb index 572069e9b..c902bcbe5 100755 --- a/lib/puppet/provider/package/gem.rb +++ b/lib/puppet/provider/package/gem.rb @@ -3,6 +3,8 @@ Puppet::Type.type(:package).provide :gem do desc "Ruby Gem support. By default uses remote gems, but you can specify the path to a local gem via ``source``." + has_feature :versionable + commands :gemcmd => "gem" def self.gemlist(hash) @@ -95,10 +97,6 @@ Puppet::Type.type(:package).provide :gem do def update self.install(false) end - - def versionable? - true - end end # $Id$ diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb index dca60b4df..e910a41ba 100755 --- a/lib/puppet/provider/package/openbsd.rb +++ b/lib/puppet/provider/package/openbsd.rb @@ -88,10 +88,6 @@ Puppet::Type.type(:package).provide :openbsd do def uninstall pkgdelete @resource[:name] end - - def versionable? - false - end end # $Id$ diff --git a/lib/puppet/provider/package/pkgdmg.rb b/lib/puppet/provider/package/pkgdmg.rb index 8c343850a..e3d211fef 100644 --- a/lib/puppet/provider/package/pkgdmg.rb +++ b/lib/puppet/provider/package/pkgdmg.rb @@ -114,10 +114,6 @@ Puppet::Type.type(:package).provide :pkgdmg do end self.class.installpkgdmg(source,name) end - - def versionable? - false - end end # $Id$ diff --git a/lib/puppet/provider/package/portage.rb b/lib/puppet/provider/package/portage.rb index 32a664e1b..dd69f23a4 100644 --- a/lib/puppet/provider/package/portage.rb +++ b/lib/puppet/provider/package/portage.rb @@ -1,6 +1,8 @@ Puppet::Type.type(:package).provide :portage do desc "Provides packaging support for Gentoo's portage system." + has_feature :versionable + commands :emerge => "/usr/bin/emerge", :eix => "/usr/bin/eix" defaultfor :operatingsystem => :gentoo @@ -103,10 +105,6 @@ Puppet::Type.type(:package).provide :portage do def latest return self.query[:version_available] end - - def versionable? - true - end end # $Id$ diff --git a/lib/puppet/provider/package/ports.rb b/lib/puppet/provider/package/ports.rb index 76eed9c2a..6c464cb66 100755 --- a/lib/puppet/provider/package/ports.rb +++ b/lib/puppet/provider/package/ports.rb @@ -1,6 +1,7 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd do desc "Support for FreeBSD's ports. Again, this still mixes packages and ports." + commands :portupgrade => "/usr/local/sbin/portupgrade", :portversion => "/usr/local/sbin/portversion", :portuninstall => "/usr/local/sbin/pkg_deinstall", diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb index eb3a22163..13f2589d7 100755 --- a/lib/puppet/provider/package/rpm.rb +++ b/lib/puppet/provider/package/rpm.rb @@ -124,10 +124,6 @@ Puppet::Type.type(:package).provide :rpm do self.install end - def versionable? - true - end - def nvr query unless @nvr @nvr diff --git a/lib/puppet/provider/package/rug.rb b/lib/puppet/provider/package/rug.rb index 4916aaec8..e45813ee3 100644 --- a/lib/puppet/provider/package/rug.rb +++ b/lib/puppet/provider/package/rug.rb @@ -1,6 +1,8 @@ Puppet.type(:package).provide :rug, :parent => :rpm do desc "Support for suse ``rug`` package manager." + has_feature :versionable + commands :rug => "/usr/bin/rug" defaultfor :operatingsystem => :suse confine :operatingsystem => :suse @@ -46,8 +48,4 @@ Puppet.type(:package).provide :rug, :parent => :rpm do # rug install can be used for update, too self.install end - - def versionable? - true - end end diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb index 959c0449a..ea169548d 100755 --- a/lib/puppet/provider/package/sun.rb +++ b/lib/puppet/provider/package/sun.rb @@ -163,10 +163,6 @@ Puppet::Type.type(:package).provide :sun do end self.install end - - def versionable? - false - end end # $Id$ diff --git a/lib/puppet/provider/package/up2date.rb b/lib/puppet/provider/package/up2date.rb index ad3496488..8059d796d 100644 --- a/lib/puppet/provider/package/up2date.rb +++ b/lib/puppet/provider/package/up2date.rb @@ -36,10 +36,6 @@ Puppet.type(:package).provide :up2date, :parent => :rpm do # Install in up2date can be used for update, too self.install end - - def versionable? - false - end end # $Id$ diff --git a/lib/puppet/provider/package/yum.rb b/lib/puppet/provider/package/yum.rb index 59e9bd6c7..34b9b7f10 100755 --- a/lib/puppet/provider/package/yum.rb +++ b/lib/puppet/provider/package/yum.rb @@ -1,5 +1,8 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm do desc "Support via ``yum``." + + has_feature :versionable + commands :yum => "yum", :rpm => "rpm" defaultfor :operatingsystem => [:fedora, :centos, :redhat] @@ -48,10 +51,6 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm do # Install in yum can be used for update, too self.install end - - def versionable? - true - end end # $Id$ diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb index d929a6ff4..2c3cdc41d 100644 --- a/lib/puppet/type/package.rb +++ b/lib/puppet/type/package.rb @@ -34,6 +34,10 @@ module Puppet existing configuration files. This feature is thus destructive and should be used with the utmost care.", :methods => [:purge] + feature :versionable, "The provider is capable of interrogating the + package database for installed version(s), and can select + which out of a set of available versions of a package to + install if asked." ensurable do desc "What state the package should be in. @@ -94,7 +98,7 @@ module Puppet end newvalue(/./) do - unless provider.versionable? + unless provider.class.versionable? self.fail( "Package provider %s does not support specifying versions" % @resource[:provider] |