diff options
-rw-r--r-- | CHANGELOG | 3 | ||||
-rwxr-xr-x | install.rb | 65 | ||||
-rwxr-xr-x | sbin/puppetd (renamed from bin/puppetd) | 0 | ||||
-rwxr-xr-x | sbin/puppetmasterd (renamed from bin/puppetmasterd) | 0 | ||||
-rw-r--r-- | test/lib/puppettest/exetest.rb | 7 |
5 files changed, 47 insertions, 28 deletions
@@ -1,3 +1,6 @@ + Moved puppetd and puppetmasterd to sbin in svn and fixed install.rb + to copy them into sbin on the local system appropriately. (#323) + Added a splay option (#501). It's disabled when running under --test in puppetd. The value is random but cached. It defaults to the runinterval but can be tuned with --splaylimit diff --git a/install.rb b/install.rb index b89f68fe1..0bfb706f4 100755 --- a/install.rb +++ b/install.rb @@ -61,13 +61,14 @@ def glob(list) end # Set these values to what you want installed. -bins = glob(%w{bin/**/*}) -rdoc = glob(%w{bin/**/* lib/**/*.rb README README-library CHANGELOG TODO Install}).reject { |e| e=~ /\.(bat|cmd)$/ } -ri = glob(%w(bin/**/*.rb lib/**/*.rb)).reject { |e| e=~ /\.(bat|cmd)$/ } +sbins = glob(%w{sbin/*}) +bins = glob(%w{bin/*}) +rdoc = glob(%w{bin/* sbin/* lib/**/*.rb README README-library CHANGELOG TODO Install}).reject { |e| e=~ /\.(bat|cmd)$/ } +ri = glob(%w(bin/*.rb sbin/* lib/**/*.rb)).reject { |e| e=~ /\.(bat|cmd)$/ } libs = glob(%w{lib/**/*.rb}) tests = glob(%w{tests/**/*.rb}) -def do_bins(bins, target, strip = 'bin/') +def do_bins(bins, target, strip = 's?bin/') bins.each do |bf| obf = bf.gsub(/#{strip}/, '') install_binfile(bf, obf, target) @@ -145,37 +146,40 @@ def prepare_installation opts.parse! end - bds = [".", ENV['TMP'], ENV['TEMP']] + tmpdirs = [".", ENV['TMP'], ENV['TEMP'], "/tmp", "/var/tmp"] version = [Config::CONFIG["MAJOR"], Config::CONFIG["MINOR"]].join(".") - ld = File.join(Config::CONFIG["libdir"], "ruby", version) - - sd = Config::CONFIG["sitelibdir"] - if sd.nil? - sd = $:.find { |x| x =~ /site_ruby/ } - if sd.nil? - sd = File.join(ld, "site_ruby") - elsif sd !~ Regexp.quote(version) - sd = File.join(sd, version) + libdir = File.join(Config::CONFIG["libdir"], "ruby", version) + + sitelibdir = Config::CONFIG["sitelibdir"] + if sitelibdir.nil? + sitelibdir = $:.find { |x| x =~ /site_ruby/ } + if sitelibdir.nil? + sitelibdir = File.join(libdir, "site_ruby") + elsif sitelibdir !~ Regexp.quote(version) + sitelibdir = File.join(sitelibdir, version) end end if (destdir = ENV['DESTDIR']) - bd = "#{destdir}#{Config::CONFIG['bindir']}" - sd = "#{destdir}#{sd}" - bds << bd - - FileUtils.makedirs(bd) - FileUtils.makedirs(sd) + bindir = "#{destdir}#{Config::CONFIG['bindir']}" + sbindir = "#{destdir}#{Config::CONFIG['sbindir']}" + sitelibdir = "#{destdir}#{sitelibdir}" + tmpdirs << bindir + + FileUtils.makedirs(bindir) + FileUtils.makedirs(sbindir) + FileUtils.makedirs(sitelibdir) else - bd = Config::CONFIG['bindir'] - bds << Config::CONFIG['bindir'] + bindir = Config::CONFIG['bindir'] + tmpdirs << Config::CONFIG['bindir'] end - InstallOptions.bin_dirs = bds.compact - InstallOptions.site_dir = sd - InstallOptions.bin_dir = bd - InstallOptions.lib_dir = ld + InstallOptions.tmp_dirs = tmpdirs.compact + InstallOptions.site_dir = sitelibdir + InstallOptions.bin_dir = bindir + InstallOptions.sbin_dir = sbindir + InstallOptions.lib_dir = libdir end ## @@ -236,7 +240,7 @@ end # windows, we add an '.rb' extension and let file associations do their stuff. def install_binfile(from, op_file, target) tmp_dir = nil - InstallOptions.bin_dirs.each do |t| + InstallOptions.tmp_dirs.each do |t| if File.directory?(t) and File.writable?(t) tmp_dir = t break @@ -251,7 +255,11 @@ def install_binfile(from, op_file, target) File.open(tmp_file, "w") do |op| ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']) op.puts "#!#{ruby}" - op.write ip.read + contents = ip.readlines + if contents[0] =~ /^#!/ + contents.shift + end + op.write contents.join() end end @@ -302,5 +310,6 @@ prepare_installation run_tests(tests) if InstallOptions.tests #build_rdoc(rdoc) if InstallOptions.rdoc #build_ri(ri) if InstallOptions.ri +do_bins(sbins, InstallOptions.sbin_dir) do_bins(bins, InstallOptions.bin_dir) do_libs(libs) diff --git a/bin/puppetd b/sbin/puppetd index e9380adb9..e9380adb9 100755 --- a/bin/puppetd +++ b/sbin/puppetd diff --git a/bin/puppetmasterd b/sbin/puppetmasterd index f290d6f1f..f290d6f1f 100755 --- a/bin/puppetmasterd +++ b/sbin/puppetmasterd diff --git a/test/lib/puppettest/exetest.rb b/test/lib/puppettest/exetest.rb index d0a85956a..8d91b88cc 100644 --- a/test/lib/puppettest/exetest.rb +++ b/test/lib/puppettest/exetest.rb @@ -13,10 +13,17 @@ module PuppetTest::ExeTest File.join(basedir, "bin") end + def sbindir + File.join(basedir, "sbin") + end + def setbindir unless ENV["PATH"].split(":").include?(bindir) ENV["PATH"] = [bindir, ENV["PATH"]].join(":") end + unless ENV["PATH"].split(":").include?(sbindir) + ENV["PATH"] = [sbindir, ENV["PATH"]].join(":") + end end def setlibdir |