problems with XFree
Harold L Hunt II
huntharo@msu.edu
Thu Jul 25 14:11:00 GMT 2002
Let me see if I understand what is going on here:
We are debeating whether to:
1) Modify /etc/profile, which is not installed via a package, but is
created directly by setup.exe.
2) Add two scripts, one for bash-style shells and one for c-shell-style
shells to /etc/profile.d/. These scripts are processed by
/etc/profile. We would add this new scripts to an XFree86 package,
probably XFree86-bin, and we would install these scripts via a
post-install script if they were not already present (so we do not
overwrite modifications).
Of all the arguments for/against the two methods, so far only one seems
to be a sticking point that essentially decides how we will do this:
There is no guarantee that the sub-script in /etc/profile.d/ that
adds /usr/X11R6/bin to the path will be executed before some other shell
script, that may be added at a later date to /etc/profile.d/, that
requires that the path to the X11R6 binaries already be set. In order
to allow other scripts in /etc/profile.d/ to assume that the path to the
X11R6 binaries is known, we must set the path to the binaries in
/etc/profile before the /etc/profile.d/ scripts are processed.
I therefore throw my vote 100% behind modifying the /etc/profile script
to add /usr/X11R6/bin to the path, if that directory exists.
Robert Collins had said something about pulling the /etc/profile script
out of setup.exe and having it installed as a stand-alone package. Was
this the task that two people had volunteered for? If so, shall we wait
until this package is made before we propose any changes to
/etc/profile, or should we go ahead and submit a patch for the
/etc/profile that is distributed with setup.exe now?
Hopefully I haven't confused anything here. I have not commented until
now because I had no idea what was going on with all of this profile[.d]
stuff, but I think I have a pretty good grasp of it now.
Harold
Jehan wrote:
> Nicholas Wourms wrote:
>
>> As a rule of thumb, packages should *never* modify the /etc/profile
>> script (even if you do back it up). This is a big no-no, as most
>> *nix people would tell you. If you insist on getting into a
>> discussion on why this is, then so be it. Instead, create 2 scripts
>> (a csh and a sh) and drop them into the /etc/profile.d/ directory.
>
>
> I don't like modifying /etc/profile either because I don't think there
> any clean way to do it. But if you read the thread I summarized, someone
> said that Unixes set X path in /etc/profile. And this make sense to me:
> there are no guarantees on the order of execution of the scripts in
> /etc/profile.d. What if one of them looks for X and doesn't find it
> because the path has not yet been set? As you said in our heated thread
> last time, X is quite an important package and we will have more and
> more package depending on it.
> If the 2 scripts in profile.d are preferred, then I already sent them
> less than two weeks ago.
>
>> This way we play it safe and every one is happy. Also, your scripts
>> should check to see if the path has already been set, if it has, then
>> don't set it again. Remeber, the more entries in the path, the
>> slower Cygwin will operate.
>
>
> If you read the scripts carefully, you'll see that I do check if the
> path exists. I check in the install script if /etc/profile has a line of
> the form "...PATH=.../usr/X11R6/bin...". Sure it doesn't handle every
> single cases (what if someone uses a temporary variable). But it should
> handle 99.99% of the cases. If such a line is already in /etc/profile, I
> don't change it.
> I also check the path in /etc/profile script itself using the echo/grep
> line.
>
> Jehan
>
>
>
More information about the Cygwin-xfree
mailing list