bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: I can't get bash-3.2.17 to process startup/login scripts to save me,


From: SciFi
Subject: Re: I can't get bash-3.2.17 to process startup/login scripts to save me, please help!
Date: Sun, 12 Aug 2007 08:53:09 +0000 (UTC)
User-agent: Pan/0.132 (Waxed in Black; SVNr318; i386-apple-darwin8.10.1)

Thank you for getting back to this.
Just a quick followup & acknowledgement,
then I will investigate details.

On Sat, 11 Aug 2007 18:22:44 -0600, Bob Proulx wrote:

> SciFi wrote:
>> Bob Proulx wrote:
>> > Is this a self-compiled binary?
>> 
>> Yes, I do not use pkg-mgrs such as fink or macports, maybe only for
>> clues when a regular build bombs (straight from the tarballs).
> 
> If you have self compiled it then it should be possible to debug it.
> What is the value of SYS_PROFILE in pathnames.h?
> 
>   $ grep SYS_PROFILE pathnames.h
>   #define SYS_PROFILE "/etc/profile"

$ grep SYS_PROFILE pathnames.h
#define SYS_PROFILE "/etc/profile"

(no I didn't just merely copy your lines ;) )


> What paths were compiled into your bash?  Using strings and grep can
> pull it out of the compiled binary.
> 
>   $ strings bash | grep profile
>   /etc/profile
>   ~/.profile
>   ~/.bash_profile
>   noprofile

[cd to where bash-3.2 is built]

$ strings bash | grep profile
noprofile
/etc/profile
~/.profile
~/.bash_profile

[cd ~]

$ ls -al noprofile /etc/profile ~/.profile ~/.bash_profile
ls: cannot access noprofile: No such file or directory
-rwxrwxrwx 1 scifi scifi  14 2007-08-04 16:36 /Users/scifi/.bash_profile
-rwxrwxrwx 1 scifi scifi  14 2007-08-04 16:36 /Users/scifi/.profile
-rw-r--r-- 1 root  wheel 162 2007-08-04 16:46 /etc/profile

$ cat .bash_profile
. /etc/bashrc

$ cat .profile
. /etc/bashrc

(btw permissions on /etc/profile were fixed with Apple's Disk Util recently
and after our previous conversation here)


> Since you say that it is not being source I am guessing that instead of
> /etc/profile we will see /usr/local/etc/profile or some such location
> there instead.  If that is the case then changing the configuration and
> recompiling should resolve the issue.

I previously noted my entire ./configure setup,
it includes --prefix=/usr .
Placing a copy of /etc/profile into /usr/etc/profile still does not
get sourced.


>> I already have /etc/profile set up this way:
>> 
>> -bash-3.2$ ls -al /etc/profile
>> -rwxrwxrwx   1 root  wheel  162 Aug  4 16:46 /etc/profile
> 
> The profile should not be executable.  It is "sourced" by the shell, not
> "executed" by the shell.  Plus it should not be world writable. Please
> fix that.
> 
>   $ sudo chmod 0644 /etc/profile

I *know* that!
What I was striving for was to get at all the problems to be sure it
is executable if need-be.  It does not hurt to be executable, bash
shouldn't prevent sourcing just because it is executable, and so on
and so forth.  I said I was trying to cover all the bases.  Yes this
is becoming frustrating to debug, I've already run out of ideas,
which is why I'm posting to this group (gmane) / maillist.

I previously mentioned that a really big clue is that my other boxes
don't run bash at this patch-level, they froze before May'07 I
believe, so that gives me a clue to use in tracking down a possible
buggy patch somehow somewhere.


>> -bash-3.2$ cat /etc/profile
>> # System-wide .profile for sh(1)
>> 
>> #PATH="/bin:/sbin:/usr/bin:/usr/sbin" #export PATH
>> 
>> if [ "x${BASH-no}" != "xno" ]; then
>>         [ -r /etc/bashrc ] && . /etc/bashrc
>> fi
> 
> I personally do not use a /etc/bashrc configuration.  But whatever.

Apple installs bash-2.05b that way.  I only commented out the PATH
line because we inherit a proper one from another source (which
includes /usr/local stuff & other places).


>> -bash-3.2$ echo "x${BASH-no}"
>> x/bin/bash
>> -bash-3.2$ ls -al /etc/bashrc
>> -rwxrwxrwx   1 root  wheel  1739 Aug  4 17:18 /etc/bashrc
> 
> Same file mode problems here.
> 
>   $ sudo chmod 0644 /etc/bashrc

...and see above why I did it that way...


>> In meantime I am manually able to
>> . /etc/bashrc
>> every time I start a Terminal or xterm window, but doing this is a real
>> pain y'know...
> 
> If you want /etc/bashrc to be sourced you could always source it in your
> ~/.bashrc file.

~sigh~
earlier in this discussion thread I already mentioned
~/.bashrc is not being sourced as well.  I keep re-iterating that I
believe I've covered all the bases, else I wouldn't bother pestering
ppl on this list...


> My preferred system software distribution does not include a system wide
> /etc/bashrc file at all.  It is not required.  You seem to be using it
> where I would normally be using /etc/profile.

As I said, this comes from Apple's installed version of bash.  It does
not hurt things, but it also does not get sourced as the 'strings' above
are hinting at.


> Bob

I'm still open for ideas.  But remember as I said I believe I've got
all the usual bases covered.  If we need to run internal traces on
things, I'd be much obliged for a crash course in how to test
bash-3.2 in this manner, please.

Thank you for taking time, I'm just at the end of this rope.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]