Hi,
I'm new to this list and I really don't know if this is the right
place to post this message. I already posted something about this on
the gentoo forums and I don't know too if the correct persons are
seeing that, so I decided to post here. Sorry for the double posting,
so I'll be straight on the fact.
In about one and a half year working with Gentoo I had a lots os
yeepies and some boring problems.
I love the /etc/env.d, env-update, /etc/profile.env thing but I think
that is something missing.
In the past I worked many years with Slackware. Now I replaced
Slackware with Gentoo and everywere I use Gentoo, even on some old
creepy IBM-PPC B50 hardware.
In Slackware I had /etc/profile.d/ as a place to customize all my
shell environment, including aliases, prompt, etc, without touching
original Slackware's files.
In Gentoo we need to "hack" files that sometimes are changed in some
"emerge world" updates, like /etc/profile, /etc/skel/.bashrc, and that
is a little mess to me, as when etc-update's list is too long I place
a "-5" (auto update) and voilá... all my customizations are gone.
I suggest Gentoo adopting a /etc/profile.d/ dir like Slackware, or
even better, have some way, some place, to customize aliases, prompts,
etc, without being replaced on "etc-update"s... some place untouchable
for Gentoo, by Gentoo and that's automatically parsed on /etc/profile
(or somewhere else) by default.
Slackware parses /etc/profile.d/ by having those lines bellow on /etc/profile:
# Append any additional sh scripts found in /etc/profile.d/:
for file in /etc/profile.d/*.sh ; do
if [ -x $file ]; then
. $file
fi
done
... and those lines in /etc/csh.login (for csh users):
# Append any additional csh scripts found in /etc/profile.d/:
[ -d /etc/profile.d ]
if ($status == 0) then
set nonomatch
foreach file ( /etc/profile.d/*.csh )
[ -x $file ]
if ($status == 0) then
source $file
endif
end
unset file nonomatch
endif
That way the root user only need to create new files on
/etc/profile.d/ to customize their shells. *.sh for bash/ash/sh and
*.csh for csh/tcsh shells.
Best regards,
Herbert G. Fischer
--
[email protected] mailing list