facter 1.6.12 → 1.6.13.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of facter might be problematic. Click here for more details.
- data/LICENSE +1 -1
- data/Rakefile +24 -19
- data/ext/build_defaults.yaml +5 -2
- data/ext/debian/control +2 -2
- data/ext/debian/docs +0 -1
- data/ext/debian/rules +3 -2
- data/ext/ips/facter.p5m.erb +10 -0
- data/ext/ips/rules +7 -0
- data/ext/ips/transforms +18 -0
- data/ext/osx/prototype.plist.erb +2 -2
- data/ext/packaging/README-Solaris.md +117 -0
- data/ext/packaging/tasks/00_utils.rb +49 -9
- data/ext/packaging/tasks/10_setupvars.rake +23 -18
- data/ext/packaging/tasks/apple.rake +3 -3
- data/ext/packaging/tasks/deb.rake +9 -11
- data/ext/packaging/tasks/gem.rake +13 -13
- data/ext/packaging/tasks/ips.rake +64 -63
- data/ext/packaging/tasks/mock.rake +2 -2
- data/ext/packaging/tasks/release.rake +50 -16
- data/ext/packaging/tasks/ship.rake +12 -2
- data/ext/packaging/tasks/sign.rake +16 -0
- data/ext/packaging/tasks/tag.rake +8 -0
- data/ext/packaging/tasks/version.rake +20 -0
- data/ext/redhat/facter.spec.erb +8 -8
- data/install.rb +12 -33
- data/lib/facter/ipaddress.rb +1 -1
- data/lib/facter/ipaddress6.rb +1 -1
- data/lib/facter/macaddress.rb +27 -2
- data/lib/facter/rubysitedir.rb +3 -9
- data/lib/facter/util/ip.rb +29 -4
- data/lib/facter/util/netmask.rb +1 -1
- data/lib/facter/version.rb +1 -1
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +8 -0
- data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +8 -0
- data/spec/unit/ipaddress6_spec.rb +1 -1
- data/spec/unit/macaddress_spec.rb +3 -3
- data/spec/unit/util/ip_spec.rb +31 -0
- metadata +23 -11
- data/CHANGELOG +0 -938
- data/INSTALL +0 -7
@@ -1,4 +1,4 @@
|
|
1
|
-
if @build_gem
|
1
|
+
if @build_gem
|
2
2
|
require 'rubygems/package_task'
|
3
3
|
|
4
4
|
def glob_gem_files
|
@@ -15,18 +15,18 @@ if @build_gem == TRUE or @build_gem == 'true' or @build_gem == 'TRUE'
|
|
15
15
|
end
|
16
16
|
|
17
17
|
spec = Gem::Specification.new do |s|
|
18
|
-
s.name = @name
|
19
|
-
s.version = @gemversion
|
20
|
-
s.author = @author
|
21
|
-
s.email = @email
|
22
|
-
s.homepage = @homepage
|
23
|
-
s.summary = @summary
|
24
|
-
s.description = @description
|
25
|
-
s.files = glob_gem_files
|
26
|
-
s.
|
27
|
-
s.
|
28
|
-
s.
|
29
|
-
s.rubyforge_project = @gem_forge_project
|
18
|
+
s.name = @name unless @name.nil?
|
19
|
+
s.version = @gemversion unless @gemversion.nil?
|
20
|
+
s.author = @author unless @author.nil?
|
21
|
+
s.email = @email unless @email.nil?
|
22
|
+
s.homepage = @homepage unless @homepage.nil?
|
23
|
+
s.summary = @summary unless @summary.nil?
|
24
|
+
s.description = @description unless @description.nil?
|
25
|
+
s.files = glob_gem_files unless glob_gem_files.nil?
|
26
|
+
s.executables = @gem_executables unless @gem_executables.nil?
|
27
|
+
s.require_path = @gem_require_path unless @gem_require_path.nil?
|
28
|
+
s.test_files = FileList[@gem_test_files.split(' ')] unless @gem_test_files.nil?
|
29
|
+
s.rubyforge_project = @gem_forge_project unless @gem_forge_project.nil?
|
30
30
|
|
31
31
|
@gem_runtime_dependencies.each do |gem, version|
|
32
32
|
s.add_runtime_dependency("#{gem}", "#{version}") unless (version.nil? or version.empty?)
|
@@ -1,79 +1,80 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
namespace :
|
4
|
-
|
5
|
-
|
1
|
+
if @build_ips
|
2
|
+
require 'erb'
|
3
|
+
namespace :package do
|
4
|
+
namespace :ips do
|
5
|
+
workdir = "pkg/ips"
|
6
|
+
proto = workdir + '/proto'
|
7
|
+
repo = workdir + '/repo'
|
8
|
+
pkgs = workdir + '/pkgs'
|
9
|
+
repouri = "file://#{`pwd`.strip + '/' + repo}"
|
10
|
+
artifact = "#{pkgs}/#{@name}@#{@ipsversion}.p5p"
|
6
11
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
+
# Create a source repo
|
13
|
+
# We dont clean the base pkg directory only ips work dir.
|
14
|
+
task :clean do
|
15
|
+
%x[rm -rf #{workdir}]
|
16
|
+
end
|
12
17
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
# Create an installation image at ips/proto
|
19
|
+
task :prepare => :clean do
|
20
|
+
check_tool('pkgsend')
|
21
|
+
x %[mkdir -p #{workdir}]
|
22
|
+
x %[gmake -f ext/ips/rules DESTDIR=#{proto} 2>#{workdir}/build.out ]
|
23
|
+
end
|
19
24
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
25
|
+
# Process templates and write the initial manifest
|
26
|
+
task :prototmpl do
|
27
|
+
erb("ext/ips/#{@name}.p5m.erb", workdir + '/' + @name + '.p5m.x')
|
28
|
+
end
|
24
29
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
+
# Update manifest to include the installation image information.
|
31
|
+
task :protogen => :prototmpl do
|
32
|
+
x %[pkgsend generate #{proto} >> #{workdir}/#{@name}.p5m.x ]
|
33
|
+
os=%x[uname -p].chomp
|
34
|
+
end
|
30
35
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
36
|
+
# Generate and resolve dependency list
|
37
|
+
task :protodeps => :protogen do
|
38
|
+
x %[pkgdepend generate -d #{proto} #{workdir}/#{@name}.p5m.x > #{workdir}/#{@name}.depends ]
|
39
|
+
x %[pkgdepend resolve -m #{workdir}/#{@name}.depends ]
|
40
|
+
x %[cat #{workdir}/#{@name}.depends.res >> #{workdir}/#{@name}.p5m.x]
|
41
|
+
end
|
37
42
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
43
|
+
# Mogrify manifest to remove unncecessary info, and other kinds of transforms.
|
44
|
+
task :protomogrify => :protodeps do
|
45
|
+
x %[pkgmogrify ./ext/ips/transforms ./#{workdir}/#{@name}.p5m.x| pkgfmt >> #{workdir}/#{@name}.p5m ]
|
46
|
+
end
|
42
47
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
48
|
+
# Generate and resolve dependency list
|
49
|
+
task :license => :protomogrify do
|
50
|
+
x %[cp LICENSE #{proto}/#{@name}.license]
|
51
|
+
end
|
47
52
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
# the older versions may require --fmri-in-manifest
|
54
|
-
task :package => :lint do
|
55
|
-
x %[pkgsend -s #{@ips_repo} publish -d #{proto} --fmri-in-manifest #{workdir}/#{@name}.p5m]
|
56
|
-
end
|
53
|
+
# Ensure that our manifest is sane.
|
54
|
+
task :lint => :license do
|
55
|
+
x %[pkglint #{workdir}/#{@name}.p5m]
|
56
|
+
end
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
58
|
+
task :package => :lint do
|
59
|
+
x %[rm -rf #{pkgs}]
|
60
|
+
x %[mkdir -p #{pkgs}]
|
61
|
+
x %[pkgrepo create #{repo}]
|
62
|
+
x %[pkgrepo set -s #{repo} publisher/prefix=puppetlabs.com]
|
63
|
+
x %[pkgsend -s #{repouri} publish -d #{proto} --fmri-in-manifest #{workdir}/#{@name}.p5m]
|
64
|
+
x %[rm -f #{artifact}]
|
65
|
+
x %[pkgrecv -s #{repouri} -a -d #{artifact} #{@name}@#{@ipsversion}]
|
66
|
+
end
|
63
67
|
|
64
|
-
|
65
|
-
|
68
|
+
task :dry_install do
|
69
|
+
x %[pkg install -nv -g #{artifact} #{@name}@#{@ipsversion}]
|
70
|
+
end
|
66
71
|
end
|
67
72
|
|
68
|
-
|
69
|
-
|
73
|
+
desc "Creates an ips version"
|
74
|
+
task :ips do
|
75
|
+
Rake::Task['package:ips:prepare'].invoke
|
76
|
+
Rake::Task['package:ips:package'].invoke
|
70
77
|
end
|
71
|
-
end
|
72
78
|
|
73
|
-
desc "Uploads an ips version"
|
74
|
-
task :ips do
|
75
|
-
Rake::Task['package:ips:prepare'].invoke
|
76
|
-
Rake::Task['package:ips:package'].invoke
|
77
79
|
end
|
78
|
-
|
79
80
|
end
|
@@ -49,7 +49,7 @@ def build_rpm_with_mock(is_rc, subdir)
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
case rpm
|
52
|
+
case File.basename(rpm)
|
53
53
|
when /debuginfo/
|
54
54
|
rm_rf(rpm)
|
55
55
|
when /src\.rpm/
|
@@ -60,7 +60,7 @@ def build_rpm_with_mock(is_rc, subdir)
|
|
60
60
|
cp_pr(rpm, "pkg/#{family}/#{version}/#{subdir}/x86_64")
|
61
61
|
when /noarch/
|
62
62
|
cp_pr(rpm, "pkg/#{family}/#{version}/#{subdir}/i386")
|
63
|
-
ln("pkg/#{family}/#{version}/#{subdir}/i386/#{File.basename
|
63
|
+
ln("pkg/#{family}/#{version}/#{subdir}/i386/#{File.basename(rpm)}", "pkg/#{family}/#{version}/#{subdir}/x86_64/")
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
@@ -1,20 +1,54 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
# These tasks are "release" chains that couple as much of the release process for a package as possible
|
2
|
+
|
3
|
+
namespace :pl do
|
4
|
+
if @build_gem
|
5
|
+
desc "Build and ship a gem"
|
6
|
+
task :release_gem do
|
7
|
+
invoke_task("package:gem")
|
8
|
+
if confirm_ship(FileList["pkg/*.gem"])
|
9
|
+
invoke_task("pl:ship_gem")
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Release deb RCs, e.g. package:tar, pl:{deb_all_rc, sign_deb_changes, ship_debs}"
|
15
|
+
task :release_deb_rc do
|
16
|
+
invoke_task("pl:deb_all_rc")
|
17
|
+
invoke_task("pl:sign_deb_changes")
|
18
|
+
if confirm_ship(FileList["pkg/deb/**/*"])
|
19
|
+
invoke_task("pl:ship_debs")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "Release deb FINALs, e.g. package:tar, pl:{deb_all, sign_deb_changes, ship_debs}"
|
24
|
+
task :release_deb_final do
|
25
|
+
invoke_task("pl:deb_all")
|
26
|
+
invoke_task("pl:sign_deb_changes")
|
27
|
+
if confirm_ship(FileList["pkg/deb/**/*"])
|
28
|
+
invoke_task("pl:ship_debs")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "Release rpm RCs, e.g. package:tar, pl:{mock_rc, sign_rpms, ship_rpms, update_yum_repo}"
|
33
|
+
task :release_rpm_rc do
|
34
|
+
invoke_task("pl:mock_rc")
|
35
|
+
invoke_task("pl:sign_rpms")
|
36
|
+
if confirm_ship(FileList["pkg/el/**/*", "pkg/fedora/**/*"])
|
37
|
+
invoke_task("pl:ship_rpms")
|
38
|
+
invoke_task("pl:update_yum_repo")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
desc "Release rpm FINALs, e.g. package:tar, pl:{mock_final, sign_rpms, ship_rpms, update_yum_repo}"
|
43
|
+
task :release_rpm_final do
|
44
|
+
invoke_task("pl:mock_final")
|
45
|
+
invoke_task("pl:sign_rpms")
|
46
|
+
if confirm_ship(FileList["pkg/el/**/*", "pkg/fedora/**/*"])
|
47
|
+
invoke_task("pl:ship_rpms")
|
48
|
+
invoke_task("pl:update_yum_repo")
|
13
49
|
end
|
14
|
-
file = File.open(@version_file, 'w')
|
15
|
-
file.write contents
|
16
|
-
file.close
|
17
|
-
git_commit_file(@version_file)
|
18
50
|
end
|
19
51
|
end
|
20
52
|
|
53
|
+
|
54
|
+
|
@@ -7,7 +7,7 @@ namespace :pl do
|
|
7
7
|
|
8
8
|
desc "Update remote rpm repodata on #{@yum_host}"
|
9
9
|
task :update_yum_repo do
|
10
|
-
remote_ssh_cmd(@yum_host, '/var/lib/gems/1.8/gems/rake-0.9.2.2/bin/rake -
|
10
|
+
remote_ssh_cmd(@yum_host, '/var/lib/gems/1.8/gems/rake-0.9.2.2/bin/rake -f /opt/repository/Rakefile mk_repo')
|
11
11
|
end
|
12
12
|
|
13
13
|
desc "Ship cow-built debs to #{@apt_host}"
|
@@ -15,7 +15,17 @@ namespace :pl do
|
|
15
15
|
rsync_to('pkg/deb/', @apt_host, @apt_repo_path)
|
16
16
|
end
|
17
17
|
|
18
|
-
if @
|
18
|
+
if @build_ips
|
19
|
+
desc "Update remote ips repository on #{@ips_host}"
|
20
|
+
task :update_ips_repo do
|
21
|
+
rsync_to('pkg/ips/pkgs', @ips_host, @ips_store)
|
22
|
+
remote_ssh_cmd(@ips_host, "pkgrecv -s #{@ips_store}/pkgs/#{@name}@#{@ipsversion}.p5p -d #{@ips_repo} \\*")
|
23
|
+
remote_ssh_cmd(@ips_host, "pkgrepo refresh -s #{@ips_repo}")
|
24
|
+
remote_ssh_cmd(@ips_host, "/usr/sbin/svcadm restart svc:/application/pkg/server")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
if @build_gem
|
19
29
|
desc "Ship built gem to rubygems"
|
20
30
|
task :ship_gem do
|
21
31
|
ship_gem("pkg/#{@name}-#{@gemversion}.gem")
|
@@ -15,6 +15,13 @@ def sign_deb_changes(file)
|
|
15
15
|
%x{debsign --re-sign -k#{@gpg_key} #{file}}
|
16
16
|
end
|
17
17
|
|
18
|
+
# requires atleast a self signed prvate key and certificate pair
|
19
|
+
def sign_ips(pkg)
|
20
|
+
%x{pkgsign -s pkg/ips/repo/ -k #{@privatekey_pem} -c #{@certificate_pem} #{@name}@#{@ipsversion}}
|
21
|
+
%x{rm -f #{pkg}}
|
22
|
+
%x{pkgrecv -s pkg/ips/repo -a -d #{pkg} #{@name}@#{@ipsversion}}
|
23
|
+
end
|
24
|
+
|
18
25
|
namespace :pl do
|
19
26
|
desc "Sign the tarball, defaults to PL key, pass GPG_KEY to override or edit build_defaults"
|
20
27
|
task :sign_tar do
|
@@ -35,6 +42,15 @@ namespace :pl do
|
|
35
42
|
sign_modern modern_rpms
|
36
43
|
end
|
37
44
|
|
45
|
+
if @build_ips
|
46
|
+
desc "Sign ips package, Defaults to PL Key, pass KEY to override"
|
47
|
+
task :sign_ips do
|
48
|
+
ips_pkgs = Dir["pkg/ips/pkgs/*.p5p"].join(' ')
|
49
|
+
puts "Signing ips packages..."
|
50
|
+
sign_ips ips_pkgs
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
38
54
|
desc "Check if all rpms are signed"
|
39
55
|
task :check_rpm_sigs do
|
40
56
|
signed = TRUE
|
@@ -0,0 +1,20 @@
|
|
1
|
+
namespace :package do
|
2
|
+
desc "Update the version in #{@version_file} to current and commit."
|
3
|
+
task :versionbump do
|
4
|
+
old_version = get_version_file_version
|
5
|
+
contents = IO.read(@version_file)
|
6
|
+
new_version = '"' + @version.to_s.strip + '"'
|
7
|
+
if contents.match("VERSION = #{old_version}")
|
8
|
+
contents.gsub!("VERSION = #{old_version}", "VERSION = #{new_version}")
|
9
|
+
elsif contents.match("#{@name.upcase}VERSION = #{old_version}")
|
10
|
+
contents.gsub!("#{@name.upcase}VERSION = #{old_version}", "#{@name.upcase}VERSION = #{new_version}")
|
11
|
+
else
|
12
|
+
contents.gsub!(old_version, @version)
|
13
|
+
end
|
14
|
+
file = File.open(@version_file, 'w')
|
15
|
+
file.write contents
|
16
|
+
file.close
|
17
|
+
git_commit_file(@version_file)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
data/ext/redhat/facter.spec.erb
CHANGED
@@ -3,23 +3,23 @@
|
|
3
3
|
%if 0%{?fedora} >= 17
|
4
4
|
%global facter_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["vendorlibdir"]')
|
5
5
|
%else
|
6
|
-
%global facter_libdir %(ruby -rrbconfig -e 'puts
|
6
|
+
%global facter_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]')
|
7
7
|
%endif
|
8
8
|
|
9
9
|
# VERSION is subbed out during rake srpm process
|
10
|
-
|
11
|
-
|
10
|
+
%global realversion <%= @version %>
|
11
|
+
%global rpmversion <%= @rpmversion %>
|
12
12
|
|
13
13
|
Summary: Ruby module for collecting simple facts about a host operating system
|
14
14
|
Name: facter
|
15
15
|
Version: %{rpmversion}
|
16
16
|
Release: <%= @rpmrelease -%>%{?dist}
|
17
|
-
|
18
|
-
License:
|
17
|
+
Epoch: 1
|
18
|
+
License: ASL 2.0
|
19
19
|
Group: System Environment/Base
|
20
20
|
URL: http://www.puppetlabs.com/puppet/related-projects/%{name}
|
21
|
+
# Note this URL will only be valid at official tags from Puppet Labs
|
21
22
|
Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{realversion}.tar.gz
|
22
|
-
Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{realversion}.tar.gz.asc
|
23
23
|
|
24
24
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
25
25
|
|
@@ -64,11 +64,11 @@ rm -rf %{buildroot}
|
|
64
64
|
%{facter_libdir}/facter.rb
|
65
65
|
%{facter_libdir}/facter
|
66
66
|
%{_mandir}/man8/facter.8.gz
|
67
|
-
%doc
|
67
|
+
%doc LICENSE README.md
|
68
68
|
|
69
69
|
|
70
70
|
%changelog
|
71
|
-
* <%= Time.now.strftime("%a %b %d %Y") %> Puppet Labs Release <info@puppetlabs.com> -
|
71
|
+
* <%= Time.now.strftime("%a %b %d %Y") %> Puppet Labs Release <info@puppetlabs.com> - 1:<%= @rpmversion %>-<%= @rpmrelease %>
|
72
72
|
- Build for <%= @version %>
|
73
73
|
|
74
74
|
* Wed Aug 08 2012 Moses Mendoza <moses@puppetlabs.com> - 1.6.11-2
|
data/install.rb
CHANGED
@@ -47,12 +47,6 @@ rescue LoadError
|
|
47
47
|
$haverdoc = false
|
48
48
|
end
|
49
49
|
|
50
|
-
# Monkey patch RbConfig->Config for Rubies older then 1.8.5.
|
51
|
-
unless defined? ::RbConfig
|
52
|
-
require 'rbconfig'
|
53
|
-
::RbConfig = ::Config
|
54
|
-
end
|
55
|
-
|
56
50
|
begin
|
57
51
|
if $haverdoc
|
58
52
|
rst2man = %x{which rst2man.py}
|
@@ -77,15 +71,13 @@ def glob(list)
|
|
77
71
|
g = list.map { |i| Dir.glob(i) }
|
78
72
|
g.flatten!
|
79
73
|
g.compact!
|
80
|
-
g.reject! { |e| e =~ /\.svn/ }
|
81
74
|
g
|
82
75
|
end
|
83
76
|
|
84
77
|
# Set these values to what you want installed.
|
85
|
-
sbins = glob(%w{sbin/*})
|
86
78
|
bins = glob(%w{bin/*})
|
87
|
-
rdoc = glob(%w{bin/*
|
88
|
-
ri = glob(%w(bin/*.rb
|
79
|
+
rdoc = glob(%w{bin/* lib/**/*.rb README README-library TODO }).reject { |e| e=~ /\.(bat|cmd)$/ }
|
80
|
+
ri = glob(%w(bin/*.rb lib/**/*.rb)).reject { |e| e=~ /\.(bat|cmd)$/ }
|
89
81
|
man = glob(%w{man/man8/*})
|
90
82
|
libs = glob(%w{lib/**/*.rb lib/**/*.py})
|
91
83
|
tests = glob(%w{tests/**/*.rb})
|
@@ -190,8 +182,8 @@ def prepare_installation
|
|
190
182
|
opts.on('--bindir[=OPTIONAL]', 'Installation directory for binaries', 'overrides RbConfig::CONFIG["bindir"]') do |bindir|
|
191
183
|
InstallOptions.bindir = bindir
|
192
184
|
end
|
193
|
-
opts.on('--
|
194
|
-
InstallOptions.
|
185
|
+
opts.on('--ruby[=OPTIONAL]', 'Ruby interpreter to use with installation', 'overrides ruby used to call install.rb') do |ruby|
|
186
|
+
InstallOptions.ruby = ruby
|
195
187
|
end
|
196
188
|
opts.on('--sitelibdir[=OPTIONAL]', 'Installation directory for libraries', 'overrides RbConfig::CONFIG["sitelibdir"]') do |sitelibdir|
|
197
189
|
InstallOptions.sitelibdir = sitelibdir
|
@@ -221,14 +213,12 @@ def prepare_installation
|
|
221
213
|
version = [RbConfig::CONFIG["MAJOR"], RbConfig::CONFIG["MINOR"]].join(".")
|
222
214
|
libdir = File.join(RbConfig::CONFIG["libdir"], "ruby", version)
|
223
215
|
|
224
|
-
# Mac OS X 10.5 and higher declare bindir
|
216
|
+
# Mac OS X 10.5 and higher declare bindir
|
225
217
|
# /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin
|
226
|
-
# /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/sbin
|
227
218
|
# which is not generally where people expect executables to be installed
|
228
219
|
# These settings are appropriate defaults for all OS X versions.
|
229
220
|
if RUBY_PLATFORM =~ /^universal-darwin[\d\.]+$/
|
230
221
|
RbConfig::CONFIG['bindir'] = "/usr/bin"
|
231
|
-
RbConfig::CONFIG['sbindir'] = "/usr/sbin"
|
232
222
|
end
|
233
223
|
|
234
224
|
if not InstallOptions.bindir.nil?
|
@@ -237,12 +227,6 @@ def prepare_installation
|
|
237
227
|
bindir = RbConfig::CONFIG['bindir']
|
238
228
|
end
|
239
229
|
|
240
|
-
if not InstallOptions.sbindir.nil?
|
241
|
-
sbindir = InstallOptions.sbindir
|
242
|
-
else
|
243
|
-
sbindir = RbConfig::CONFIG['sbindir']
|
244
|
-
end
|
245
|
-
|
246
230
|
if not InstallOptions.sitelibdir.nil?
|
247
231
|
sitelibdir = InstallOptions.sitelibdir
|
248
232
|
else
|
@@ -267,30 +251,25 @@ def prepare_installation
|
|
267
251
|
if (destdir = ENV['DESTDIR'])
|
268
252
|
warn "DESTDIR is deprecated. Use --destdir instead."
|
269
253
|
bindir = join(destdir, bindir)
|
270
|
-
sbindir = join(destdir, sbindir)
|
271
254
|
mandir = join(destdir, mandir)
|
272
255
|
sitelibdir = join(destdir, sitelibdir)
|
273
256
|
|
274
257
|
FileUtils.makedirs(bindir)
|
275
|
-
FileUtils.makedirs(sbindir)
|
276
258
|
FileUtils.makedirs(mandir)
|
277
259
|
FileUtils.makedirs(sitelibdir)
|
278
260
|
# This is the new way forward
|
279
261
|
elsif (destdir = InstallOptions.destdir)
|
280
262
|
bindir = join(destdir, bindir)
|
281
|
-
sbindir = join(destdir, sbindir)
|
282
263
|
mandir = join(destdir, mandir)
|
283
264
|
sitelibdir = join(destdir, sitelibdir)
|
284
265
|
|
285
266
|
FileUtils.makedirs(bindir)
|
286
|
-
FileUtils.makedirs(sbindir)
|
287
267
|
FileUtils.makedirs(mandir)
|
288
268
|
FileUtils.makedirs(sitelibdir)
|
289
269
|
end
|
290
270
|
|
291
271
|
InstallOptions.site_dir = sitelibdir
|
292
272
|
InstallOptions.bin_dir = bindir
|
293
|
-
InstallOptions.sbin_dir = sbindir
|
294
273
|
InstallOptions.lib_dir = libdir
|
295
274
|
InstallOptions.man_dir = mandir
|
296
275
|
end
|
@@ -382,17 +361,18 @@ end
|
|
382
361
|
def install_binfile(from, op_file, target)
|
383
362
|
tmp_file = Tempfile.new('facter-binfile')
|
384
363
|
|
385
|
-
|
364
|
+
if not InstallOptions.ruby.nil?
|
365
|
+
ruby = InstallOptions.ruby
|
366
|
+
else
|
367
|
+
ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
|
368
|
+
end
|
386
369
|
|
387
370
|
File.open(from) do |ip|
|
388
371
|
File.open(tmp_file.path, "w") do |op|
|
389
|
-
ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
|
390
372
|
op.puts "#!#{ruby}"
|
391
373
|
contents = ip.readlines
|
392
|
-
if contents[0] =~ /^#!/
|
393
|
-
|
394
|
-
end
|
395
|
-
op.write contents.join()
|
374
|
+
contents.shift if contents[0] =~ /^#!/
|
375
|
+
op.write contents.join
|
396
376
|
end
|
397
377
|
end
|
398
378
|
|
@@ -436,7 +416,6 @@ run_tests(tests) if InstallOptions.tests
|
|
436
416
|
#build_rdoc(rdoc) if InstallOptions.rdoc
|
437
417
|
#build_ri(ri) if InstallOptions.ri
|
438
418
|
#build_man(bins) if InstallOptions.man
|
439
|
-
do_bins(sbins, InstallOptions.sbin_dir)
|
440
419
|
do_bins(bins, InstallOptions.bin_dir)
|
441
420
|
do_libs(libs)
|
442
421
|
do_man(man)
|