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

-- 
gentoo-dev@gentoo.org mailing list

Reply via email to