From: Kaj de Vos <syllable@fr...> - 2006-01-18 23:13:55
A while ago I mentioned that I couldn't get the new initialization scripts
that packages in /usr can have in their init directories to set
environment variables. As usual, there were several different problems to
confuse the issue. The code that runs them in /system/user_init.sh
contained some bugs, so I fixed those, but it didn't help my problem. This
baffled me for some time, until it dawned on me that all user processes
descend from the DLogin process, so of course no environment variables can
be expected to end up in the environment after DLogin is started.
We could just move this initialization in front of DLogin, but that would
slow down our lovely boot process. Not only package-specific
initialization would have to be moved, but also the network initialization
before that. We could introduce a separate facility for environment
variables, but to keep it more general, I propose to add an extra optional
directory "early-init" to packages, for scripts that need to run before
Note that neither init nor early-init scripts are executed yet, because
pkgmanager needs to be extended. I will rewrite that soon, so I expect
this to work in Syllable 0.6.1.
I would also like to keep user_init.sh empty for user additions. For
example, I have a command in there to mount my FAT partition, but it gets
destroyed on system updates that update our init procedure. I guess a
user-early-init.sh would make this complete.
Another problem would be to install packages that set environment
variables without needing a reboot. DLogin would have to offer some sort
of facility to set them in its own environment, for subsequent logins.
Preventing relogins as well would be more complicated still.
Get latest updates about Open Source Projects, Conferences and News.