On Friday 31 March 2006 16:25, you wrote:
> > Attached are 2 versions of patches with 2 competing solutions to do so:
> > 1) modularized_zlogin: this version of csh_login modularizes this file
> > so any zsh scripts dropped into /etc/zsh/zlogin.d are sourced. -> IMO
> > this is the preferred solution as:
> >       - it can be used by other packages also (e.g. the user-es, and
> > user-de configuration packages could use this to configure things for
> > zsh users)
> >       - doesn't clutter the system unnecessarely (though minimally)
> > when desktop-profiles isn't installed .
> >       (if this is adopted I'll provide patches for user-es, user-de and
> >        similar configuration packags I know of to automate the setup
> > they do for tcsh users)
> > 2) with_bugfix_zlogin: this just adds the shell-snippet needed to fix
> > bug #344030 directly into csh.login
>
> Yes, running bash on startup would seem less-than-ideal.
> The other (modularized) solution has been strongly opposed for other
> shells in the past (see for example the flame wars regarding sendfile).

As a another datapoint: 
I know that the fish, psh, en zoidberg shells currently provide such a 
modularized solution. And, more generally, the practice of having 
modularized configuration files is widespread in Debian packages, to name 
af few I find on my system:
    - apache -> /etc/apache/conf.d
    - apt -> /etc/apt/conf.d
    - cron -> /etc/cron.{d,hourly,daily,monthly}             
    - bash -> /etc/bash_completion.d
    - discover -> /etc/discover.conf.d & /etc/discover.d
    - fish -> /etc/fish.d
    - hotplug -> /etc/hotplug/blacklist.d & /etc/hotplug.d
    - libpam -> /etc/pam.d
    - logrotate -> /etc/logrotate.d
    - psh -> /etc/pshrc.d 
    - sane -> /etc/sane.d
    - sysv-rc -> /etc/rc[0-6S].d & /etc/init.d
    - udev -> /etc/udev/rules.d
    - x11-common -> /etc/X11/Xsession.d
    - zoidberg -> /etc/zoidrc.d

Some searching on "sendfile profile.d site:debian.org" yields, the following 
old threads on devel, which I guess is what you were referring to:
http://lists.debian.org/debian-devel/1998/07/msg02557.html
http://lists.debian.org/debian-devel/1999/06/msg00556.html
http://lists.debian.org/debian-devel/2000/06/msg00232.html

The arguments against in those threads seem to boil down to:
1) programs shouldn't depend on environment variables to work
   -> this is the use case that everyone is afraid of, note however that it
      is explicitly forbidden by policy nowadays, so doing so would be an RC
      bug anyway.
      Given that there are other use cases (see below), and that this
      particular use is an RC bug now, the argument obviously is not a
      good one.
   -> as mentioned above there now is a use-case, were there didn't seem to
      be one at the time of those threads, I'll explain:
      
      Custom Debian Distributions are aimed at a narrower defined set of
      users then Debian in general. This often allows choices for more
      specific defaults/settings to be made that would be inappropriate for
      the regular Debian package or Debian in general. This leads to the
      creation of configuration packages whose sole purpose is to set up a
      Debian system with the more specific default configuration suited for
      the target group.
 
      Obviously for this to be possible there needs to be a mechanism to do
      so. At the cdd-devcamp in malaga last may [1] this topic was discussed
      and the conclusion was that the used mechanisms for adapting the
      configuration of a debian-system are (in order of preference):
        1) modularized/multilevel configuration (such as a .d directory, or the 
           various config-set stacking mechanisms of the free desktop 
environments)
        2) debconf pre-seeding (con: only works if done before the installation 
of
           the preseeded package)
        3) use cfengine (or similar frameworks) to change the configuration 
files
           themselve (con: can't be done automatically as it conflicts with
           policy)

     Regarding the on-login script of the various shells customization is
     currently needed by the user-es and -de configuration packages, and to
     fix the corner case bug #344030 of the desktop-profiles configuration
     framework (which provides management of the config set stacking
     mechanisms provided by the different desktop environments)

2) the default system environment should be minimal:
   -> this actually becomes an argument for modularization IF a real need is
      demonstrated by the reasoning that in such a case the modularization
      means that the extra config is only there when needed, instead of
      always because it's made part of the configuration shipped by the
      basic package (even if that configuration disables it in the general
      case).
   -> note that the modularized_zlogin I provided has a minimal overhead
      equal to testing for the existence of /etc/zlogin.d when no
      configuration changes are present, which should be unnoticable on any
      reasonable machine IMO.

[1] http://lists.debian.org/debian-custom/2005/05/msg00014.html
    has Sergio's summary of the devcamp meeting 
-- 
mvg, Bart Cornelis

Attachment: pgpbEPtxs7ujh.pgp
Description: PGP signature

Reply via email to