Sudo ruby loosing environment?

My Ruby installation is from the Ubuntu package repository. Yesterday,
I upgraded my system to Heron and since then one of my Ruby scripts
stopped working. I traced the problem to this:

$ ruby -e"p ENV[‘ROLL_PATH’]"
“/home/trans/Company/TigerOps/programs”

$ sudo ruby -e"p ENV[‘ROLL_PATH’]"
nil

At first I though it might have something to do with sudo itself, but:

$ echo $ROLL_PATH
/home/trans/Company/TigerOps/programs

$ sudo echo $ROLL_PATH
/home/trans/Company/TigerOps/programs

So that’s not it. Anyone have any idea what’s going on?

My current version of Ruby is now:

$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [x86_64-linux]

Thanks,
T.

On Tue, May 20, 2008 at 04:07:13AM +0900, Trans wrote:

At first I though it might have something to do with sudo itself, but:
Yes, it’s sudo. Your test is flawed.

$ echo $ROLL_PATH
/home/trans/Company/TigerOps/programs

$ sudo echo $ROLL_PATH
/home/trans/Company/TigerOps/programs

$ROLL_PATH is interpreted by the shell before sudo is ever invoked.

So that’s not it. Anyone have any idea what’s going on?
[…]

This is unrelated to Ruby or Ubuntu. This is how sudo works. Read the
sudoers man page, looking for env_keep. You will need to edit the
/etc/sudoers file (with visudo, not directly).

Thanks,
T.
–Greg

On May 19, 3:46 pm, Gregory S. [email protected]
wrote:

$ROLL_PATH is interpreted by the shell before sudo is ever invoked.

So that’s not it. Anyone have any idea what’s going on?

[…]

This is unrelated to Ruby or Ubuntu. This is how sudo works. Read the
sudoers man page, looking for env_keep. You will need to edit the
/etc/sudoers file (with visudo, not directly).

Ok. That makes sense. Though I don’t yet understand what changed --it
was working fine before the dist-upgrade.

Thanks,
T.