Debian-Project - Release Goals for Version 2.1
Support for multipackages users profile
This has been proposed by Joey.At the moment we have /etc/profile for bourne shells /etc/cshrc for C shells and /etc/zshrc for zsh as main configuration file that are issued when a user logs in. Also at the moment there is no mechanism for packages to register either variables or programs that have to be issued when the users logs in. The policy even prohibits this since these are not configuration files of the given package.
Therefore I believe that we should elaborate a mechanism that can be used for all shells. This could be /etc/profile.d/ containing scripts or fragments. It could alternatively contain some data that will be evaluated and changed into code that can be read by the used shell.
This could be implemented like:
- /etc/env contains information about variables, aliases and programs that have to be called when a user logs in
- A general package knows about the syntax of various shells and how they issue a global profile.
- A program update-env is invented that uses the information from above and creates appropriate profiles
- env-add and env-remove are invented to serve /etc/env in order to give packages the possibility to install/remove entries from it.
- All programs that use env-add / env-remove have to call update-env (maybe it should consitantly be called env-update) in their postinst and it uses the same mechanism like update-menus in order to not run in 10 instances.