Bug 171188 - sysutils/puppet shell_config example no longer works due to puppet bug #15080
Summary: sysutils/puppet shell_config example no longer works due to puppet bug #15080
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Steve Wills
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-30 18:00 UTC by Christopher McCoy
Modified: 2012-09-06 07:20 UTC (History)
0 users

See Also:


Attachments
file.diff (524 bytes, patch)
2012-08-30 18:00 UTC, Christopher McCoy
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher McCoy 2012-08-30 18:00:19 UTC
sysutils/puppet 2.7.19

Puppet provides an example which makes modifying /etc/sysctl.conf /etc/rc.conf and a few other key values files much easier.

This example is here: http://projects.puppetlabs.com/projects/1/wiki/Puppet_Free_Bsd

This no longer works in certain cases due to this bug:
http://projects.puppetlabs.com/issues/15080

I've essentially just made this patch more freebsd/portstree friendly.

Fix: Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2012-08-31 08:53:20 UTC
Responsible Changed
From-To: freebsd-ports-bugs->swills

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2012-09-06 07:15:44 UTC
Author: swills
Date: Thu Sep  6 06:15:28 2012
New Revision: 303746
URL: http://svn.freebsd.org/changeset/ports/303746

Log:
  - Fix issue with installing packages [1]
  - Fix shell config issue [2]
  
  PR:		ports/169481 [1]
  PR:		ports/171188 [2]
  Submitted by:	romain [1]
  Submitted by:	Christopher McCoy <syseng@wayfair.com> [2]

Added:
  head/sysutils/puppet/files/patch-exec.rb   (contents, props changed)
Modified:
  head/sysutils/puppet/Makefile   (contents, props changed)
  head/sysutils/puppet/files/optpatch-package_origin   (contents, props changed)

Modified: head/sysutils/puppet/Makefile
==============================================================================
--- head/sysutils/puppet/Makefile	Thu Sep  6 06:12:30 2012	(r303745)
+++ head/sysutils/puppet/Makefile	Thu Sep  6 06:15:28 2012	(r303746)
@@ -7,6 +7,7 @@
 
 PORTNAME=	puppet
 PORTVERSION=	2.7.19
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	http://downloads.puppetlabs.com/puppet/
 

Modified: head/sysutils/puppet/files/optpatch-package_origin
==============================================================================
--- head/sysutils/puppet/files/optpatch-package_origin	Thu Sep  6 06:12:30 2012	(r303745)
+++ head/sysutils/puppet/files/optpatch-package_origin	Thu Sep  6 06:15:28 2012	(r303746)
@@ -1,6 +1,9 @@
---- lib/puppet/provider/package/freebsd.rb.orig	Thu Nov  3 10:58:56 2011
-+++ lib/puppet/provider/package/freebsd.rb	Thu Nov  3 10:59:02 2011
-@@ -1,37 +1,165 @@
+
+$FreeBSD$
+
+--- lib/puppet/provider/package/freebsd.rb.orig
++++ lib/puppet/provider/package/freebsd.rb
+@@ -1,37 +1,163 @@
 -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
@@ -16,14 +19,14 @@
 -    :pkgdelete => "/usr/sbin/pkg_delete"
 +Puppet::Type.type(:package).provide :freebsd, :parent => Puppet::Provider::Package do
 +  include Puppet::Util::Execution
- 
++
 +  desc "The specific form of package management on FreeBSD. Resource names must be
 +  specified as the port origin: <port_category>/<port_name>."
 +
 +  commands :pkginfo    => "/usr/sbin/pkg_info",
 +           :pkgadd     => "/usr/sbin/pkg_add",
 +           :pkgdelete  => "/usr/sbin/pkg_delete"
-+
+ 
    confine :operatingsystem => :freebsd
 +  defaultfor :operatingsystem => :freebsd
  
@@ -96,14 +99,12 @@
 +        uri = source.merge "INDEX.bz2"
 +        Puppet.debug "Fetching INDEX: #{uri.inspect}"
 +        begin
-+          open(uri, "r") do |f|
-+            Bzip2::Reader.open(f.path) do |f|
-+              while (line = f.gets)
-+                fields = line.split("|")
-+                pkg_info = self.class.parse_pkg_string(fields[0])
-+                origin = self.class.parse_origin(fields[1])
-+                @@ports_index[origin] = pkg_info
-+              end
++          Bzip2::Reader.open(uri) do |f|
++            while (line = f.gets)
++              fields = line.split("|")
++              pkg_info = self.class.parse_pkg_string(fields[0])
++              origin = self.class.parse_origin(fields[1])
++              @@ports_index[origin] = pkg_info
 +            end
 +          end
 +        rescue IOError, OpenURI::HTTPError, Net::FTPError
@@ -188,7 +189,7 @@
    end
  
    def query
-@@ -44,6 +172,7 @@
+@@ -44,6 +170,7 @@
    end
  
    def uninstall

Added: head/sysutils/puppet/files/patch-exec.rb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/puppet/files/patch-exec.rb	Thu Sep  6 06:15:28 2012	(r303746)
@@ -0,0 +1,17 @@
+--- lib/puppet/provider/exec.rb.orig    2012-08-21 17:41:17.000000000 -0400
++++ lib/puppet/provider/exec.rb 2012-08-30 12:31:32.000000000 -0400
+@@ -66,11 +66,9 @@
+   end
+
+   def extractexe(command)
+-    if command.is_a? Array
+-      command.first
+-    elsif match = /^"([^"]+)"|^'([^']+)'/.match(command)
+-      # extract whichever of the two sides matched the content.
+-      match[1] or match[2]
++    # easy case: command was quoted
++    if command =~ /^"([^"]+)"/
++      $1
+     else
+       command.split(/ /)[0]
+     end
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Steve Wills freebsd_committer freebsd_triage 2012-09-06 07:16:24 UTC
State Changed
From-To: open->closed

Committed. Thanks!