Date: Tue, 3 Nov 2015 19:02:08 +0000 (UTC) From: Michael Moll <mmoll@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r400710 - in head/sysutils/puppet: . files Message-ID: <201511031902.tA3J28gN043346@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mmoll Date: Tue Nov 3 19:02:08 2015 New Revision: 400710 URL: https://svnweb.freebsd.org/changeset/ports/400710 Log: sysutils/puppet: update to 3.8.3 - update to 3.8.3 [1] - refactor manifest check in puppetmaster rc.d script [2] - bring in the pkgng package provider also used in Puppet 4 [3] - take maintainership PR: 203683 [1] PR: 202704 [2] Submitted by: tdb [1] Submitted by: lemon <yesthanks@lemonia.org> [2] Approved by: swills (maintainer) Obtained from: https://github.com/xaque208/puppet-pkgng [3] Differential Revision: https://reviews.freebsd.org/D4050 Added: head/sysutils/puppet/files/patch-lib_puppet_provider_package_pkgng.rb (contents, props changed) Modified: head/sysutils/puppet/Makefile head/sysutils/puppet/distinfo head/sysutils/puppet/files/puppetmaster.in Modified: head/sysutils/puppet/Makefile ============================================================================== --- head/sysutils/puppet/Makefile Tue Nov 3 18:54:34 2015 (r400709) +++ head/sysutils/puppet/Makefile Tue Nov 3 19:02:08 2015 (r400710) @@ -2,12 +2,11 @@ # $FreeBSD$ PORTNAME= puppet -PORTVERSION= 3.8.2 -PORTREVISION= 1 +PORTVERSION= 3.8.3 CATEGORIES= sysutils MASTER_SITES= http://downloads.puppetlabs.com/puppet/ -MAINTAINER= swills@FreeBSD.org +MAINTAINER= mmoll@FreeBSD.org COMMENT= Configuration management framework written in Ruby LICENSE= APACHE20 Modified: head/sysutils/puppet/distinfo ============================================================================== --- head/sysutils/puppet/distinfo Tue Nov 3 18:54:34 2015 (r400709) +++ head/sysutils/puppet/distinfo Tue Nov 3 19:02:08 2015 (r400710) @@ -1,2 +1,2 @@ -SHA256 (puppet-3.8.2.tar.gz) = 5a89c623f22fc96a2919801ff874b10f8f1a66e95c09976c73b257b8bbc39986 -SIZE (puppet-3.8.2.tar.gz) = 2637591 +SHA256 (puppet-3.8.3.tar.gz) = bbdf5e32428fe005ea7279e9396bfcdf2c9b112763595fbfed48fb599108df7f +SIZE (puppet-3.8.3.tar.gz) = 2638669 Added: head/sysutils/puppet/files/patch-lib_puppet_provider_package_pkgng.rb ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/puppet/files/patch-lib_puppet_provider_package_pkgng.rb Tue Nov 3 19:02:08 2015 (r400710) @@ -0,0 +1,153 @@ +--- /dev/null ++++ lib/puppet/provider/package/pkgng.rb +@@ -0,0 +1,150 @@ ++require 'puppet/provider/package' ++ ++Puppet::Type.type(:package).provide :pkgng, :parent => Puppet::Provider::Package do ++ desc "A PkgNG provider for FreeBSD and DragonFly." ++ ++ commands :pkg => "/usr/local/sbin/pkg" ++ ++ confine :operatingsystem => [:freebsd, :dragonfly] ++ ++ defaultfor :operatingsystem => [:freebsd, :dragonfly] ++ ++ has_feature :versionable ++ has_feature :upgradeable ++ ++ def self.get_query ++ @pkg_query = @pkg_query || pkg(['query', '-a', '%n %v %o']) ++ @pkg_query ++ end ++ ++ def self.get_version_list ++ @version_list = @version_list || pkg(['version', '-voRL=']) ++ @version_list ++ end ++ ++ def self.get_latest_version(origin) ++ if latest_version = self.get_version_list.lines.find { |l| l =~ /^#{origin} / } ++ latest_version = latest_version.split(' ').last.split(')').first ++ return latest_version ++ end ++ nil ++ end ++ ++ def self.instances ++ packages = [] ++ begin ++ info = self.get_query ++ ++ unless info ++ return packages ++ end ++ ++ info.lines.each do |line| ++ ++ name, version, origin = line.chomp.split(" ", 3) ++ latest_version = get_latest_version(origin) || version ++ ++ pkg = { ++ :ensure => version, ++ :name => name, ++ :provider => self.name, ++ :origin => origin, ++ :version => version, ++ :latest => latest_version ++ } ++ packages << new(pkg) ++ end ++ ++ return packages ++ rescue Puppet::ExecutionFailure ++ nil ++ end ++ end ++ ++ def self.prefetch(resources) ++ packages = instances ++ resources.keys.each do |name| ++ if provider = packages.find{|p| p.name == name or p.origin == name } ++ resources[name].provider = provider ++ end ++ end ++ end ++ ++ def repo_tag_from_urn(urn) ++ # extract repo tag from URN: urn:freebsd:repo:<tag> ++ match = /^urn:freebsd:repo:(.+)$/.match(urn) ++ raise ArgumentError urn.inspect unless match ++ match[1] ++ end ++ ++ def install ++ source = resource[:source] ++ source = URI(source) unless source.nil? ++ ++ # If resource[:name] is actually an origin (e.g. 'www/curl' instead of ++ # just 'curl'), drop the category prefix. pkgng doesn't support version ++ # pinning with the origin syntax (pkg install curl-1.2.3 is valid, but ++ # pkg install www/curl-1.2.3 is not). ++ if resource[:name] =~ /\// ++ installname = resource[:name].split('/')[1] ++ else ++ installname = resource[:name] ++ end ++ ++ # Ensure we handle the version ++ if resource[:ensure] =~ /\./ ++ installname += '-' + resource[:ensure] ++ end ++ ++ if not source # install using default repo logic ++ args = ['install', '-qy', installname] ++ elsif source.scheme == 'urn' # install from repo named in URN ++ tag = repo_tag_from_urn(source.to_s) ++ args = ['install', '-qy', '-r', tag, installname] ++ else # add package located at URL ++ args = ['add', '-q', source.to_s] ++ end ++ pkg(args) ++ end ++ ++ def uninstall ++ pkg(['remove', '-qy', resource[:name]]) ++ end ++ ++ def query ++ debug @property_hash ++ if @property_hash[:ensure] == nil ++ return nil ++ else ++ version = @property_hash[:version] ++ return { :version => version } ++ end ++ end ++ ++ def version ++ debug @property_hash[:version].inspect ++ @property_hash[:version] ++ end ++ ++ def version= ++ pkg(['install', '-qy', "#{resource[:name]}-#{resource[:version]}"]) ++ end ++ ++ def origin ++ debug @property_hash[:origin].inspect ++ @property_hash[:origin] ++ end ++ ++ # Upgrade to the latest version ++ def update ++ debug 'pkgng: update called' ++ install ++ end ++ ++ # Return the latest version of the package ++ def latest ++ debug "returning the latest #{@property_hash[:name].inspect} version #{@property_hash[:latest].inspect}" ++ @property_hash[:latest] ++ end ++ ++end Modified: head/sysutils/puppet/files/puppetmaster.in ============================================================================== --- head/sysutils/puppet/files/puppetmaster.in Tue Nov 3 18:54:34 2015 (r400709) +++ head/sysutils/puppet/files/puppetmaster.in Tue Nov 3 19:02:08 2015 (r400710) @@ -28,13 +28,13 @@ command_args="master ${puppetmaster_flag unset puppetmaster_flags pidfile="${puppetmaster_rundir}/master.pid" -puppet_manifestdir="$($command config print manifestdir)" +puppet_manifest="$($command config print manifest)" start_precmd="puppetmaster_checkconfig" restart_precmd="puppetmaster_checkconfig" puppetmaster_checkconfig() { echo -n "Performing sanity check of ${name} configuration: " - if ! ${command} parser validate "${puppet_manifestdir}/site.pp" + if ! ${command} parser validate "${puppet_manifest}" then echo "FAILED" return 1
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511031902.tA3J28gN043346>