[33591] branches/release_1_6/base/portmgr/dmg/postflight
Juan Manuel Palacios
jmpp at macports.org
Thu Jan 31 07:29:55 PST 2008
On Jan 31, 2008, at 3:36 AM, Ryan Schmidt wrote:
> On Jan 31, 2008, at 00:36, jmpp at macports.org wrote:
>
>> Revision: 33591
>> http://trac.macosforge.org/projects/macports/changeset/33591
>> Author: jmpp at macports.org
>> Date: 2008-01-30 22:36:50 -0800 (Wed, 30 Jan 2008)
>>
>> Log Message:
>> -----------
>>
>> Seems like the source of all my pains is Installer.app, which
>> aparently limits the environment I run under in some way
>> and forces SHELL to /bin/sh always (even if I run as a login shell,
>> it just doesn't seem to be possible to get to the
>> user's info), rendering useless the `case` routine that tries to
>> determine the shell I need to tweak.
>>
>> As a lame workaround, I'm going to glob for *sh to match /bin/sh
>> and thus still write my settings to the common profile file,
>> leaving all those *csh users out there a bit in dispair.
>
> Could you read the user's real shell like this?
>
> USHELL="$(nicl . -read /users/rschmidt shell | sed 's/^shell: //'')"
Very nice suggestion Ryan, thanks! I'd been making assumptions about
the environment under which a shell script runs, and not only do I
think I was mistaken in the general case, but also Installer.app seems
to make the situation even worse by apparently enforcing a very
specific environment (understandable from the security concerned point
of view), but then again it could have been just my tired eyes last
night reading that from /var/log/install.log
In any case, your suggestion seems straight forward and simple
enough, so I'll quit trying to reinvent the wheel and will give it a
shot as soon as I get a few spare minutes (there are some
implementation details, like nicl for < 10.4 and dscl for Leopard,
among others).
Regards,...
-jmpp
More information about the macports-dev
mailing list