[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. puppet-0.24.5-rc3-1601-gf8c1b08
James Turnbull
james at lovedthanlost.net
Fri Jan 15 09:08:44 UTC 2010
The following commit has been merged in the upstream branch:
commit c99f394bf8c10d13f3fa7d3ab7ab43ecf454c081
Author: Jesse Wolfe <jes5199 at gmail.com>
Date: Tue Jan 5 19:08:23 2010 -0800
Fix #2845 Cron entries using "special" parameter lose their title when changed
Merged the "freebsd_special" pattern into the other crontab records,
since its definition was incomplete
Signed-off-by: Jesse Wolfe <jes5199 at gmail.com>
diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb
index 6dee2e5..28ef059 100755
--- a/lib/puppet/provider/cron/crontab.rb
+++ b/lib/puppet/provider/cron/crontab.rb
@@ -27,18 +27,13 @@ Puppet::Type.type(:cron).provide(:crontab,
text_line :environment, :match => %r{^\w+=}
- 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 => "*"
+ 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 => "*"
class << crontab
def numeric_fields
- fields - [:command]
+ fields - [:command, :special]
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
new file mode 100755
index 0000000..5904a58
--- /dev/null
+++ b/spec/unit/provider/cron/crontab.rb
@@ -0,0 +1,21 @@
+#!/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
+ at reboot /bin/echo > /tmp/puppet.txt
+ CRON
+ prefetch = @provider.prefetch_hook(parse)
+
+ @provider.to_line(prefetch[0]).should =~ /Puppet Name: test/
+ end
+
+end
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list