Issue #2683 has been updated by Nigel Kersten.

Status changed from Unreviewed to Rejected

I think you're missing the assignment operator. I didn't realize it was 
mandatory either.

<pre>
nigelk$ ./install.rb --destdir /tmp/foobar
install -c -m 0755 ./_tmp /usr/bin/facter
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1262:in
 `initialize': Permission denied - /usr/bin/facter (Errno::EACCES)
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1262:in
 `open'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1262:in
 `copy_file'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1261:in
 `open'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1261:in
 `copy_file'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:463:in
 `copy_file'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:844:in
 `install'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1395:in
 `fu_each_src_dest'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1411:in
 `fu_each_src_dest0'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1393:in
 `fu_each_src_dest'
        from 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:840:in
 `install'
        from ./install.rb:414:in `install_binfile'
        from ./install.rb:86:in `do_bins'
        from ./install.rb:84:in `each'
        from ./install.rb:84:in `do_bins'
        from ./install.rb:437
</pre>

Whereas:

<pre>
 nigelk$ ./install.rb --destdir=/tmp/foobar
install -c -m 0755 ./_tmp /tmp/foobar/usr/bin/facter
mkdir /tmp/foobar/Library/Ruby/Site/1.8/facter
lib/facter/architecture.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/architecture.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/architecture.rb
lib/facter/Cfkey.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/Cfkey.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/Cfkey.rb
lib/facter/domain.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/domain.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/domain.rb
lib/facter/ec2.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/ec2.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/ec2.rb
lib/facter/facterversion.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/facterversion.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/facterversion.rb
lib/facter/fqdn.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/fqdn.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/fqdn.rb
lib/facter/hardwareisa.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/hardwareisa.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/hardwareisa.rb
lib/facter/hardwaremodel.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/hardwaremodel.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/hardwaremodel.rb
lib/facter/hostname.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/hostname.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/hostname.rb
lib/facter/id.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/id.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/id.rb
lib/facter/interfaces.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/interfaces.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/interfaces.rb
lib/facter/ipaddress.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/ipaddress.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/ipaddress.rb
lib/facter/iphostnumber.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/iphostnumber.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/iphostnumber.rb
lib/facter/kernel.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/kernel.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/kernel.rb
lib/facter/kernelmajversion.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/kernelmajversion.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/kernelmajversion.rb
lib/facter/kernelrelease.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/kernelrelease.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/kernelrelease.rb
lib/facter/kernelversion.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/kernelversion.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/kernelversion.rb
lib/facter/lsb.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/lsb.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/lsb.rb
lib/facter/lsbmajdistrelease.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/lsbmajdistrelease.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/lsbmajdistrelease.rb
lib/facter/macaddress.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/macaddress.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/macaddress.rb
lib/facter/macosx.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/macosx.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/macosx.rb
lib/facter/manufacturer.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/manufacturer.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/manufacturer.rb
lib/facter/memory.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/memory.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/memory.rb
lib/facter/netmask.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/netmask.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/netmask.rb
lib/facter/network.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/network.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/network.rb
lib/facter/operatingsystem.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/operatingsystem.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/operatingsystem.rb
lib/facter/operatingsystemrelease.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/operatingsystemrelease.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/operatingsystemrelease.rb
lib/facter/path.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/path.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/path.rb
lib/facter/physicalprocessorcount.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/physicalprocessorcount.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/physicalprocessorcount.rb
lib/facter/processor.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/processor.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/processor.rb
lib/facter/ps.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/ps.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/ps.rb
lib/facter/puppetversion.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/puppetversion.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/puppetversion.rb
lib/facter/rubysitedir.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/rubysitedir.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/rubysitedir.rb
lib/facter/rubyversion.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/rubyversion.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/rubyversion.rb
lib/facter/selinux.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/selinux.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/selinux.rb
lib/facter/ssh.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/ssh.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/ssh.rb
lib/facter/timezone.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/timezone.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/timezone.rb
lib/facter/uniqueid.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/uniqueid.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/uniqueid.rb
lib/facter/uptime.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/uptime.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/uptime.rb
mkdir /tmp/foobar/Library/Ruby/Site/1.8/facter/util
lib/facter/util/collection.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/collection.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/collection.rb
lib/facter/util/confine.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/confine.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/confine.rb
lib/facter/util/fact.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/util/fact.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/fact.rb
lib/facter/util/ip.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/util/ip.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/ip.rb
lib/facter/util/loader.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/loader.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/loader.rb
lib/facter/util/macosx.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/macosx.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/macosx.rb
lib/facter/util/manufacturer.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/manufacturer.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/manufacturer.rb
lib/facter/util/memory.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/memory.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/memory.rb
lib/facter/util/netmask.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/netmask.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/netmask.rb
mkdir /tmp/foobar/Library/Ruby/Site/1.8/facter/util/plist
lib/facter/util/plist/generator.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/plist/generator.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/plist/generator.rb
lib/facter/util/plist/parser.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/plist/parser.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/plist/parser.rb
lib/facter/util/plist.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/plist.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/plist.rb
lib/facter/util/resolution.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/resolution.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/resolution.rb
lib/facter/util/uptime.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/uptime.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/uptime.rb
lib/facter/util/values.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/values.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/values.rb
lib/facter/util/virtual.rb -> 
/tmp/foobar/Library/Ruby/Site/1.8/facter/util/virtual.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/util/virtual.rb
lib/facter/virtual.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter/virtual.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter/virtual.rb
lib/facter.rb -> /tmp/foobar/Library/Ruby/Site/1.8/facter.rb
chmod 0644 /tmp/foobar/Library/Ruby/Site/1.8/facter.rb
Loaded suite ./install
Started

Finished in 0.000163 seconds.

0 tests, 0 assertions, 0 failures, 0 errors
</pre>
----------------------------------------
Bug #2683: install.rb ignores the --destdir option
http://projects.reductivelabs.com/issues/2683

Author: Mikhail T.
Status: Rejected
Priority: Normal
Assigned to: 
Category: 
Target version: 1.5.7
Keywords: install
destdir
Branch: 


I'm trying to install facter 1.5.7 into a non-default location under my own 
home directory. As you can see below, it tries to install the executable into a 
read-only location anyway, ignoring my --destdir specification.

> # env PREFIX=/home/mteterin /usr/local/bin/ruby install.rb --destdir 
> /home/mteterin 
> which: no rst2man.py in 
> (/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/bin:/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin)
> Changing site_dir  to /usr/local/pub/ruby__1.8.6-p287/lib/ruby/site_ruby/1.8
> install -c -m 0755 ./_tmp /usr/local/pub/ruby__1.8.6-p287/bin/facter
> /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1262:in 
> `initialize': Read-only file system - 
> /usr/local/pub/ruby__1.8.6-p287/bin/facter (Errno::EROFS)
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1262:in `open'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1262:in 
> `copy_file'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1261:in `open'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1261:in 
> `copy_file'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:463:in 
> `copy_file'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:844:in 
> `install'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1395:in 
> `fu_each_src_dest'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1411:in 
> `fu_each_src_dest0'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:1393:in 
> `fu_each_src_dest'
> from /usr/local/pub/ruby__1.8.6-p287/lib/ruby/1.8/fileutils.rb:840:in 
> `install'
> from install.rb:418:in `install_binfile'
> from install.rb:87:in `do_bins'
> from install.rb:85:in `each'
> from install.rb:85:in `do_bins'
> from install.rb:441

The work-around is to use --bindir and --sitelibdir explicitly:

env PREFIX=/home/mteterin /usr/local/bin/ruby install.rb --destdir 
/home/mteterin --bindir=/home/mteterin/bin 
--sitelibdir=/home/mteterin/lib/site_ruby

but this method is being _deprecated_ -- according to comments inside the 
install.rb script...


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to