From 7cf223fb4c13cf681fc738b7c53e273586f9dda3 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 20 Jan 2010 01:23:50 +0000 Subject: [PATCH] Apply upstream patch to fix cron resources (upstream #2845) --- ...Cron-entries-using-special-parameter.patch | 71 +++++++++++++++++++ puppet.spec | 8 ++- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch diff --git a/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch b/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch new file mode 100644 index 0000000..2191001 --- /dev/null +++ b/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch @@ -0,0 +1,71 @@ +From 441879f7999f4724e8ab344e796015a7ffbfb21b Mon Sep 17 00:00:00 2001 +From: James Turnbull +Date: Thu, 14 Jan 2010 14:14:19 +1100 +Subject: [PATCH/puppet] Revert "Fix #2845 Cron entries using "special" parameter lose their title when changed" + +This reverts commit c99f394bf8c10d13f3fa7d3ab7ab43ecf454c081. + +The fix broke cron jobs in 0.25.3 and was reverted for the 0.25.4 release. +--- + lib/puppet/provider/cron/crontab.rb | 13 +++++++++---- + spec/unit/provider/cron/crontab.rb | 21 --------------------- + 2 files changed, 9 insertions(+), 25 deletions(-) + delete mode 100755 spec/unit/provider/cron/crontab.rb + +diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb +index 28ef059..6dee2e5 100755 +--- a/lib/puppet/provider/cron/crontab.rb ++++ b/lib/puppet/provider/cron/crontab.rb +@@ -27,13 +27,18 @@ Puppet::Type.type(:cron).provide(:crontab, + + text_line :environment, :match => %r{^\w+=} + +- crontab = record_line :crontab, :fields => %w{special minute hour monthday month weekday command}, +- :match => %r{^\s*(?:@(\w+)|(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+))\s+(.+)$}, +- :optional => %w{special minute hour weekday month monthday}, :absent => "*" ++ record_line :freebsd_special, :fields => %w{special command}, ++ :match => %r{^@(\w+)\s+(.+)$}, :pre_gen => proc { |record| ++ record[:special] = "@" + record[:special] ++ } ++ ++ crontab = record_line :crontab, :fields => %w{minute hour monthday month weekday command}, ++ :match => %r{^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$}, ++ :optional => %w{minute hour weekday month monthday}, :absent => "*" + + class << crontab + def numeric_fields +- fields - [:command, :special] ++ fields - [:command] + end + # Do some post-processing of the parsed record. Basically just + # split the numeric fields on ','. +diff --git a/spec/unit/provider/cron/crontab.rb b/spec/unit/provider/cron/crontab.rb +deleted file mode 100755 +index 5904a58..0000000 +--- a/spec/unit/provider/cron/crontab.rb ++++ /dev/null +@@ -1,21 +0,0 @@ +-#!/usr/bin/env ruby +- +-Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } +- +-describe Puppet::Type.type(:cron).provider(:crontab) do +- before :each do +- @cron_type = Puppet::Type.type(:cron) +- @provider = @cron_type.provider(:crontab) +- end +- +- it "should round-trip the name as a comment for @special events" do +- parse = @provider.parse <<-CRON +-# Puppet Name: test +-@reboot /bin/echo > /tmp/puppet.txt +- CRON +- prefetch = @provider.prefetch_hook(parse) +- +- @provider.to_line(prefetch[0]).should =~ /Puppet Name: test/ +- end +- +-end +-- +1.6.6 + diff --git a/puppet.spec b/puppet.spec index ee934f0..59db0dc 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 0.25.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -14,6 +14,8 @@ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar Source1: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz.sign # https://bugzilla.redhat.com/495096 Patch0: puppet-0.25.1-0002-Correct-rundir-permissions.patch +# http://projects.reductivelabs.com/issues/show/2845 +Patch1: 0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch Group: System Environment/Base @@ -69,6 +71,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build # Fix some rpmlint complaints @@ -223,6 +226,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Jan 19 2010 Todd Zullinger - 0.25.3-2 +- Apply upstream patch to fix cron resources (upstream #2845) + * Mon Jan 11 2010 Todd Zullinger - 0.25.3-1 - Update to 0.25.3