# ChangeLog for Gentoo Linux System Intialization ("rc") scripts # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL # Written by Daniel Robbins (drobbins@gentoo.org) * rc-scripts 1.2.9 (6 March 2002) 6 March 2002; Martin Schlemmer : General form updates and some piping fixes. Updated /etc/inittab, /etc/init.d/xdm and /etc/X11/startDM.sh to fix a problem where startDM.sh would be respawned repeatedly if xdm was not in the default runlevel. * rc-scripts 1.2.8 (4 March 2002) 4 March 2002; Martin Schlemmer : add /etc/init.d/xdm, /etc/X11/startDM.sh and updated /etc/inittab to fix the "dead key" problem we had with xdm/gdm/kdm. We should move them to the xfree ebuild later on when things settles down. Added some sanity checks to /sbin/rc, /etc/init.d/runscripts.sh. Added a basic $PATH to /etc/init.d/functions.sh to fix a problem where we had a invalid $PATH on boot in some cases. Updated /etc/init.d/keymap and /etc/init.d/consolefont to work with the new sys-apps/kbd package. * rc-scripts 1.2.7 (3 March 2002) 3 March 2002; Martin Schlemmer : fixed the problem of rc-scripts trying to start/stop a service multiple times if it fails to do so. Updated /etc/init.d/runscript.sh and /sbin/rc for this. Fixing some variable declarations in /etc/init.d/runscript.sh caused /etc/init.d/net.lo to fail on stop ($IFACE was set invalid). Fixed this. Added caching of the "depend() { need foo; } " lines, and updated /etc/init.d/depscan.sh to touch the actual files less. This should speedup dependancy caching a lot, especially on slow machines. Updated /etc/passwd to have users with no shell defined, use /bin/false for security. Update /etc/fstab to mention /dev/shm since we dont mount it anymore. 1 March 2002; Martin Schlemmer : added a wrapper for sourcing the rc-scripts to eliminate syntax errors. Thanks to Karl Trygve Kalleberg (aka karltk) for the idea. Updated /etc/init.d/depscan.sh, /etc/init.d/functions.sh and /etc/init.d/runscript.sh for this (added wrap_rcscript() function). Removed stopping of dependant services that have current service as a 'use'dependancy ... should be less confusing now. Updated /etc/init.d/runscript.sh for this. 28 Feb 2002; Martin Schlemmer : add /etc/conf.d/local.start and /etc/conf.d/local.stop for adding any misc programs to startup. This should pretty much have /etc/init.d/ static, except for baselayout updates, etc. 27 Feb 2002; Martin Schlemmer : in some wierd cases, a redundent /dev/.devfsd on a unmounted /dev can cause problems. Fixed this in /sbin/rc. Added the patches from Grant Goodyear (aka g2boojum) to enable us to use a ramdisk to store the contents of ${svcdir}. Updated /sbin/rc, /etc/init.d/functions.sh and /etc/init.d/checkroot for this. 26 Feb 2002; Martin Schlemmer : fix my brain dead update of the 25th. It really should keep "gentoo=nodevfs" in mind. Also added 'get_bootparam()' to help in retrieving kernel options. Updated /etc/init.d/functions.sh, /etc/init.d/checkroot and /sbin/rc for this. Updated /etc/init.d/consolefont to work without devfs as well. When rebooting or shutting down, a service should not fail to stop if a service it depends on, fails. Updated /etc/init.d/runscript.sh for this. 25 Feb 2002; Martin Schlemmer : added a check if /dev is mounted when creating entries for /etc/mtab. This should solve a invalid entry or /dev being mounted even with 'gentoo=nodevfs' option. Updated /etc/init.d/checkroot for this. 17 Feb 2002: Daniel Robbins : Made "xfs" the default filesystem in /etc/fstab (from ReiserFS) and removed "notail" option (it's just in a comment now) 17 Feb 2002: Martin Schlemmer (azarah@gentoo.org): more fixes to 'after' and 'before', updated /etc/init.d/runscript.sh for this. This should fix services not getting started in the correct order in a tight loop, services getting stopped out of order, and some other sanity checks. Updated rc-script.sh for updated help. 15 Feb 2002: Martin Schlemmer (azarah@gentoo.org): update /etc/profile to resolve bug #588. Reimplemented things a bit, and added the 'after' type. 'before' and 'after' will only work currently for a change of runlevel. Updated /etc/init.d/depscan.sh, /etc/init.d/runscript.sh and /sbin/rc for it. 13 Feb 2002: Martin Schlemmer (azarah@gentoo.org): add some more entries to /etc/devfsd.conf to make alsa users life easier ... thanks Tod. 12 Feb 2002: Martin Schlemmer (azarah@gentoo.org): Some more cleanups to /etc/init.d/depscan.sh and /etc/init.d/runscript.sh. Fixed some services not starting again when restarting a service. Seems simple is still the best way. Fixed some other problems created with feature additions and cleanups. 11 Feb 2002: Martin Schlemmer (azarah@gentoo.org): General cleanups to /etc/init.d/depscan.sh and /etc/init.d/runscript.sh. Added 'before *' to /etc/init.d/checkroot to make sure it gets started first. Added 'use *' to /etc/init.d/local to make sure it gets started last. 10 Feb 2002: Martin Schlemmer (azarah@gentoo.org): Fixed /sbin/rc to stop a service on change of runlevel if it is in 'use' by another service. Added the 'provide' depend type for creating virtual services. Updated /etc/init.d/depscan.sh for this. Added the 'before' depend type. This is more for changing the order services start in. Updated /etc/init.d/depscan.sh and /etc/init.d/functions.sh for this. Updated /etc/init.d/depscan.sh to work with '*' as argument for dependancy types. This can be used with 'use' and 'before' to start a script last or first respectively. Added save_options() and get_options() to /etc/init.d/functions.sh for saving misc settings between startup/shutdown. Updated /etc/init.d/net.eth0 to use these and properly down virtual interfaces. 6 Feb 2002: Martin Schlemmer (azarah@gentoo.org): updated both /etc/init.d/bootmisc and /etc/init.d/keymaps to be quiet on no errors. * rc-scripts 1.2.6 (6 Feb 2002) 2 Feb 2002: Martin Schlemmer (azarah@gentoo.org): updated /etc/net.eth0 to specify the gateway device via the $gateway variable (something like gateway="eth0/192.168.0.1"). 2 Feb 2002: Martin Schlemmer (azarah@gentoo.org): added rc-script /etc/init.d/numlock, for enabling numlock at boot. 29 Jan 2002: Martin Schlemmer (azarah@gentoo.org): hopefully the last fix to /etc/init.d/netmount to umount cleanly. This fix implements a retry if not successful the first time, and will kill processess using the mount. Also small type-o fix to /etc/init.d/halt.sh. 27 Jan 2002: Donny Davies (woodchip@gentoo.org): security fix to /etc/pam.d/sshd,login,chsh: added pam_shells.so to the stack. Fixed /etc/passwd,group for user/group mysql. 27 Jan 2002: Martin Schlemmer (azarah@gentoo.org): added charset map file support to /etc/init.d/consolefont and the setting to /etc/rc.conf. 25 Jan 2002: Martin Schlemmer (azarah@gentoo.org): fixed dircolors in skel files to support both versions of dircolors. 23 Jan 2002: Martin Schlemmer (azarah@gentoo.org): fixed bug in the restart stuff of /etc/init.d/runscript.sh that caused a restart of a 'net' service not to restart services again that depended on it. * rc-scripts 1.2.5 (20 Jan 2002) 20 Jan 2002: Martin Schlemmer (azarah@gentoo.org): updated /etc/init.d/net.eth0 to 'use' pcmcia. 8 Jan 2002: Martin Schlemmer (azarah@gentoo.org): added '--sh' to the dircolors command in /etc/skel/.bash_profile to handle cases where bash do not export $SHELL. 6 Jan 2002: Martin Schlemmer (azarah@gentoo.org): updated /etc/init.d/runscripts.sh, /etc/init.d/net.eth0, /etc/conf.d/net and removed /etc/init.d/net.eth0-dhcp to reflect a new 'bsd-ish' config scheme for the net.eth* scripts. 6 Jan 2002: Donny Davies (woodchip@gentoo.org): Removed email address from manpages; no need for that.. 5 Jan 2002: Martin Schlemmer (azarah@gentoo.org): fix type-o in /etc/devfsd.conf; had 'dvd' in the cdrw stuff. * rc-scripts 1.2.4 (30 Dec 2001) 30 Dec 2001: Daniel Robbins (drobbins@gentoo.org): Changed default umask back to 022 as it should be. 30 Dec 2001; Martin Schlemmer (azarah@gentoo.org): Updated /etc/init.d/checkfs to return 0 if the fs was successfully repaired. 29 Dec 2001; Donny Davies (woodchip@gentoo.org): sort -t: -k3,3 -n /etc/passwd,group. Ahhhh :)) 28 Dec 2001; Martin Schlemmer (azarah@gentoo.org); Updated /etc/init.d/depscan.sh to store info about missing dependancies of type 'need' in ${svcdir}/broken. Also updated /etc/init.d/runscript.sh to use this when starting a script ('need' dependancies is critical for startup). Added the broken() function to /etc/init.d/runscript.sh to list the missing dependancies. Updated /etc/init.d/runscript.sh for svc_start() to have better error checking. Updated /etc/init.d/functions.sh with ewend(), which is the same as eend(), but print a warning on error, not a error. Updated /etc/init.d/checkroot and /etc/init.d/checkfs to use this function. 27 Dec 2001; Martin Schlemmer (azarah@gentoo.org); Update /sbin/runscript.c to run /etc/init.d/rc-help.sh if no arguments is passed to a rc-script. Added /etc/init.d/rc-help.sh, simple script that prints out help for the rc-scripts. 25 Dec 2001; Martin Schlemmer (azarah@gentoo.org); Update /etc/init.d/shutdown.sh and /etc/init.d/reboot.sh not to force the halt and reboot. This fixes a problem where / was not unmounted properly in some cases. 24 Dec 2001; Martin Schlemmer (azarah@gentoo.org): Move $svcdir to to /etc/init.d/functions.sh, and update /etc/init.d/runscript.sh and /etc/init.d/depscan.sh for this Modified /etc/init.d/runscript.sh to also restart the services that depend on a service if that service is restarted. Enhanced the restart function to be able to have custom restart() functions in rc-scripts. The custom restart() have to use svc_stop() and svc_start() to restart the service. Add a pause function to /etc/init.d/runscript.sh. It will basically stop a service without stopping the services that depends on that service. Add a pause function to /etc/init.d/runscript.sh. It will basically stop a service without stopping the services that depends on that service. * rc-scripts 1.2.3 (18 Dec 2001) 16 Dec 2001; Martin Schlemmer (azarah@gentoo.org): Moved the stuff from /sbin/init (old) to /sbin/rc (basically drop the init wrapper we used). Some cleanups: take out the shm resize comment; remove the $wrongmount; remove the mountshm() function and insert it directly where needed; remove the setting of $PATH as /sbin/init already do this for us. Added the if statement to detect if it is the first time the 'boot' runlevel is executed (if [ "$RUNLEVEL" = "S" ] && [ "$argv1" = "boot" ]). $RUNLEVEL is a env var set by /sbin/init. Also added functionality to detect if the kernel have DEVFS support compiled in; seems new users thinks devfs is unstable and as they do not always read the docs, it does not get compiled in ;/ Should make live for us a bit easier. 14 Dec 2001; Martin Schlemmer (azarah@gentoo.org): Fixed /sbin/rc to kill a cosmetic bug in the part that stops all the unneeded services. * rc-scripts 1.2.2 (8 Dec 2001) 10 Dec 2001; Added a localhost entry in /etc/hosts. 8 Dec 2001; Donny Davies (woodchip@gentoo.org): Added start-stop-daemon.c to rc-scripts/sbin source. Moved rc-scripts/init.d/runscript.c to rc-scripts/sbin/runscript.c. Added manpage for start-stop-daemon. Start-stop-daemon is moved here from sysvinit by the way. There is stuff in this ChangeLog that needs to be removed! Like the changes to hosts, profile. /etc/{passwd,group} have minor UID and GID type fixes for users ftp, postgres, xfs. Tweaked tarball.sh to not include CVS directories. 29 Nov 2001; Donny Davies (woodchip@gentoo.org): Added a man directory to rc-scripts. Checked in two manpages there, one for modules.autoload.5 and one for update-modules.8. These were adapted from Debian. Updated tarball.sh to include the new man directory. Updated baselayout to install these manpages. Slightly tweak the /etc/modules.autoload comments. 28 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Updated /sbin/init to work correctly with the 'gentoo=nodevfs' option, and cleaned out old code. Updated /etc/init.d/bootmisc with additional lock files to clean. 27 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Updated /etc/init.d/depscan.sh for a virtual 'use' depend, called 'logger' that can be used for services that needs to have a logger started before they are started. Updated /etc/conf.d/basic with $SYSLOGGER that is used to define what loggers the 'logger' depend represent. 26 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Updated /etc/passwd and /etc/group with minor fixes to pass pwck and grpck. 25 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Changed umask in /etc/profile for the user to 077 for security. Added a stop() function to /etc/init.d/clock. Also removed uneeded 'source /etc/rc.conf' line. Updated /etc/init.d/hostname to set the hostname to 'localhost' if /etc/hostname is invalid. Updated /sbin/init to move the entries in /lib/dev-state to /dev before running devfsd, as it did still not save settings properly. Also removed old /dev-state/compat stuff. 25 Nov 2001; ncsd, the name service cache daemon script, has been removed from the default "default" runlevel. It still exists in the archive so that users who want/need it can add it easily. 25 Nov 2001; Updated the /etc/fstab; removed usbdevfs (explicitly mounted), removed notail from the ext2 boot partition, other cleanups. 25 Nov 2001; Fixed init.d/clock script to work in UTC mode. 24 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Added /etc/devfsd.conf and updated /sbin/init to use a new scheme for saving /dev permissions. Also moved /dev-state to /lib/dev-state which is a more standard location. Fixed a ugly bug in /etc/init.d/depscan.sh. If a service depended on itself, calling depscan.sh or changing runlevels cause a tempory effect similar to a 'mini fork bomb'. Afterwards the depends was broken, and changing runlevels did not want to work. Updated /etc/init.d/halt.sh to terminate and display message for devfsd. More cosmetic than anything else, but cant hurt with the new dev-state scheme. Updated /sbin/init to set the console log level to 1, so that bootup can be much cleaner. Also updated /etc/init.d/modules not to have a logger in it 'use' depends, as it should not be needed anymore. Updated /sbin/rc to check if devfsd is still running between runlevel changes. Updated /etc/init.d/modules to run update-modules. We want to be sure /etc/modules.conf is updated when running depmod -a. Change ftp's uid to 21 in /etc/passwd (was the same as bind). Also added a entry for xfs (X Font Server) in /etc/passwd and /etc/group. Added /etc/init.d/net.ppp0, /etc/conf.d/net.ppp0 and /usr/lib/ppp/chat-default as part of my new pppd scripts. Also updated tarball.sh to handle ppp/chat-default. Added /etc/skel/.bash* to make things cleaner. Other minor changes. 17 Nov 2001; Donny Davies (woodchip@gentoo.org): Added /etc/shells file to rc-scripts. Can remove it from sys-libs/shadow at the next release. * rc-scripts 1.1.8 (15 Nov 2001) 16 Nov 2001; removed bogus "mountall.test" script. 15 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Updated init.d/{runscript.sh,depscan.sh}, sbin/rc to the new dep being 'use' not 'uses', as it fits better with 'need' (not 'needs'). Also removed unneeded for loop from init.d/depscan.sh, and other fixes. Updated names of new functions in init.d/runscript.sh to better sounding ones. Updated init.d/modules, init.d/netmount to use 'use'. Lots of other fixes/cleanups. Removed try() out of init.d/runscript.sh (why was this here ?). 14 Nov 2001; Martin Schlemmer (azarah@gentoo.org): init.d/bootmisc: Now cleans /tmp. Also creates /etc/resolv.conf if it doesn't exist. init.d/hostname: Added check for a valid /etc/hostname. init.d/keymaps: Added check for valid $KEYMAP. init.d/modules: Added sysklogd, metalog, syslog-ng as 'use' deps. This should solve Woodchip's syslog+glue issue. We just have to change the console loglevel for metalog and syslog-ng (sysklogd already updated) not to output info and warnings, etc to the console, then boot will be much cleaner. Also the install guide will need changing to add the loggers to 'boot' and not 'default' runlevel. init.d/mountall.test: Hopefully updated to the new rc-scripts style. Is this really needed (I cannot see that it is used anywhere ...)? 13 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Updated init.d/runscript.sh, init.d/depscan.sh and sbin/rc with a new depend called 'uses'. It basically have the same usage as 'need', except that it do not start services that is not in the current and 'boot' runlevels. Updated init.d/netmount to use the 'uses' depend. 11 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Fixed init.d/runscript.sh not to destroy the 'need' depends in /${svcdir}/need. This caused subsequent starting and stopping of services not to start depends. 7 Nov 2001; Martin Schlemmer (azarah@gentoo.org): Fixed a problem in sbin/rc where the ${svcdir}/softscripts directory got destroyed before stopping running services scheduled to be stopped. This with the fact that $SOFTLEVEL was set too early, caused the services to be stopped in the wrong order. 30 Oct 2001; Martin Schlemmer (azarah@gentoo.org): Modified init.d/netmount to check if any network filesystems is mounted. 29 Oct 2001; init.d/netmount: umount -art doesn't seem to work, so I added some awk and grep magic to find all remote filesystems and umount them. 29 Oct 2001; Martin Schlemmer (azarah@gentoo.org): A fix for checkroot (missing "/"); it now actually checks the root filesystem. Also, a localmount cleanliness fix. * rc-scripts 1.1.7 (18 Oct 2001) [old changelog format follows] *lots of scripts; woodchip removed old rc5 scripts from cvs *init.d/runscript.sh; agriffis Added support for rc.conf and home-grown functions *init.d/modules; Now correctly looks at /etc/modules.autoload rc-scripts-1.1.6, released 15 Sep 2001 ====================================== *init.d/runscript.sh, others Handling of "net" dependencies resolve to all net devices in /etc/runlevels/boot and /etc/runlevels/[curr-runlevel]. INTERFACES variable in /etc/rc.conf has been removed. *init.d/runscript.sh New "zap" option for manually resetting the state of an initscript to stopped. *init.d/{samba,sysklogd,sshd} Removed from CVS; they live in their respective packages. rc-scripts-1.1.5, released 02 Sep 2001 ==================================== *sbin/rc-update New version of the rc-update command for the new initscripts. Works similarly to the old version, except this one updates our dependency cache. *init.d/functions.sh New and better looking informational message functions (einfo, einfon). Brand new message functions (ewarn). *sbin/init, init.d/checkroot We're going back to a /proc/mounts-based mtab symlink because it's just plain better. Appropriate changes made.