Sha256: ea8892462e2f953cc0f254b78af02f733cd52d266579672d9b02717152c6d267

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do
    desc "The specific form of package management on FreeBSD.  This is an
        extremely quirky packaging system, in that it freely mixes between
        ports and packages.  Apparently all of the tools are written in Ruby,
        so there are plans to rewrite this support to directly use those
        libraries."

    commands :pkginfo => "/usr/sbin/pkg_info",
             :pkgadd => "/usr/sbin/pkg_add",
             :pkgdelete => "/usr/sbin/pkg_delete"
    
    confine :operatingsystem => :freebsd

    def self.listcmd
        command(:pkginfo)
    end

    def install
        should = @model.should(:ensure)

        if @model[:source]
            return super
        end

        pkgadd "-r", @model[:name]
    end

    def query
        self.class.list

        if @model.is(:ensure)
            return :listed
        else
            return nil
        end
    end

    def uninstall
        pkgdelete "%s-%s" % [@model[:name], @model.should(:ensure)]
    end
end

# $Id: freebsd.rb 1979 2006-12-28 08:06:46Z luke $

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puppet-0.22.4 lib/puppet/provider/package/freebsd.rb