[Rubygems-developers] [ rubygems-Bugs-29077 ] [PATCH] executable wrapper should set $0
noreply at rubyforge.org
noreply at rubyforge.org
Mon Mar 14 16:45:57 EDT 2011
Bugs item #29077, was opened at 2011-03-11 12:07
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=575&aid=29077&group_id=126
Category: `gem install` command
>Group: v1.6.x
Status: Open
Resolution: None
Priority: 3
Submitted By: Suraj Kurapati (snk)
>Assigned to: Eric Hodel (drbrain)
Summary: [PATCH] executable wrapper should set $0
Initial Comment:
Hello,
The wrapper executable that RubyGems generates should set $0 to the actual executable file before loading it. This allows us to use the "if __FILE__ == $0" idiom (which is an indispensable feature for essentially single-file executables that we just want to release as ruby gems) in our executables.
Thanks for your consideration.
----------------------------------------------------------------------
>Comment By: Eric Hodel (drbrain)
Date: 2011-03-14 13:45
Message:
If this is only a single-file executable why would you need the `if __FILE__ == $0` check? RubyGems no longer places 'bin' on the load path.
----------------------------------------------------------------------
Comment By: Suraj Kurapati (snk)
Date: 2011-03-11 12:27
Message:
Here is a handy little command to fix existing wrappers:
sed -i '$s/^load G/load $0 = G/' \
$(gem env | sed -n 's/^.*EXECUTABLE DIRECTORY: *//p')/*
Cheers.
----------------------------------------------------------------------
Comment By: Suraj Kurapati (snk)
Date: 2011-03-11 12:15
Message:
Whoops, sorry for filing this patch request under the bug
tracker (I started out writing a bug report but decided to
submit a patch midway). Please move it under the patch
tracker if possible. Thanks!
----------------------------------------------------------------------
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=575&aid=29077&group_id=126
More information about the Rubygems-developers
mailing list