This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
RE: /etc/profile - futile try to predict order of execution
- From: "Hannu E K Nevalainen \(garbage mail\)" <garbage_collector at telia dot com>
- To: <cygwin at cygwin dot com>
- Date: Sat, 20 Sep 2003 00:14:37 +0200
- Subject: RE: /etc/profile - futile try to predict order of execution
> From: Igor Pechtchanski
Please, Igor - I got FOUR COPIES of this... <SIGH> - just one of them ended
up in the cygwin ML folder.
> On Fri, 19 Sep 2003, Hannu E K Nevalainen (garbage mail) wrote:
>
> > While looking for the reason why "less" has stopped understanding the
> > BACKSPACE key (and a bunch of others) I stumbled over the following.
As this was my main objective... I'm truly off on a side-subject now.
Anyone have any ideas here? I THINK it started when I replace /etc/profile
with one that had a better solution around line 63 (see below)
> > I'm sending this just to INFORM about it.
> > I'm NOT on the xfree list.
> > I'm NOT interested of participating in more discussions on this subject.
> >
> > > $ head -63 /etc/profile | tail -1
> > > `/bin/find /etc/profile.d -iname '*.sh' -type f`
> > >
> > > $ /bin/find /etc/profile.d -iname '*.sh' -type f
> > > /etc/profile.d/lilypond-profile.sh
> > > /etc/profile.d/mc.sh
> > > /etc/profile.d/openssl.sh
> > > /etc/profile.d/00xfree.sh
> >
> > NOTE that 00xfree is listed last...
> > THEN read what the comment in the first lines of the script says.
> >
> > > $ cat /etc/profile.d/00xfree.sh
> > > # the script name starts with 00 to ensure that it is
> executed before any
> > > # other scripts because one of them may need to know where X is to run
> > > # properly.
> > >
> > > X11PATH="/usr/X11R6/bin"
> > >
> > > if ! /bin/echo ${PATH} | /bin/grep -q ${X11PATH} ; then
> > > export PATH="${PATH}:${X11PATH}"
> > > fi
> > >
> > > $
>
> IMO, this belongs on the cygwin list, as this concerns the predictability
> of the script execution order from /etc/profile.
GAH! 8-/ I'll grow gray hairs RSN (NOTE: I'm BALD!)
> Hannu, this is really weird. I'm getting 00xfree.sh as the *first* file
> match:
>
> $ /bin/find /etc/profile.d/ -iname '*.sh' -type f
> /etc/profile.d/00xfree.sh
> /etc/profile.d/mc.sh
> /etc/profile.d/openssl.sh
> $
>
> WAGs:
>
> Could this be the result of a different collation sequence in your
> language? Can you try running "LC_ALL=C /bin/find /etc/profile.d -iname
> '*.sh' -type f" on your machine?
$ LC_ALL=C /bin/find /etc/profile.d -iname '*.sh' -type f
/etc/profile.d/lilypond-profile.sh
/etc/profile.d/mc.sh
/etc/profile.d/openssl.sh
/etc/profile.d/00xfree.sh
$ uname -a
CYGWIN_NT-5.0 P450 1.5.4s(0.94/3/2) 20030910 22:57:36 i686 unknown unknown
Cygwin
> Speaking of your machine, could this be because you're using Win98?
> (Checking) Bingo! Somehow, on Win98 find traverses files in unsorted
> order, i.e., the order they were created.
Hrm... It might be more relevant to FAT32 I believe...
I'm more and more running just "W2K Advaced Server" (as if it were a
workstation mostly), but cygwin still _resides_ on C: which is a FAT32
partition with my Win98SE still installed.
It gets updated from W2K too... I have THE SAME installation running from
within W98SE due to ~/.profile and ~/.bash_logout saving/restoring mounts
to/from a fine in the cygwin root (/).
> I guess either /etc/profile
> should guarantee alphanumeric order, or maintainers need to reassess their
> assumptions.
> Igor
UNTESTED:
$ diff -up profile.orig profile
--- profile.orig 2003-09-19 23:50:18.000000000 +0200
+++ profile 2003-09-19 23:49:56.000000000 +0200
@@ -60,7 +60,7 @@ if [ -d "/etc/profile.d" ]; then
. "$f"
fi
done <<- EOF
- `/bin/find /etc/profile.d -iname '*.sh' -type f`
+ `/bin/find /etc/profile.d -iname '*.sh' -type f | sort`
EOF
fi
/Hannu E K Nevalainen, B.Sc. EE - 59?16.37'N, 17?12.60'E
-- UTC+01, DST -> UTC+02 --
--END OF MESSAGE--
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/