# ChangeLog for Gentoo System Intialization ("rc") scripts # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2 01 Nov 2007; Roy Marples : Work cleanly with bridges on kernels without TCP, #197791. Fix fallback, #197788. * baselayout-2.0.0_rc6 (31 Oct 2007) 31 Oct 2007; Roy Marples : You can now log baselayout-2 again, through the RC_LOGGER conf.d/rc setting. The log is temp stored in /lib/rc/init.d/rc.log and appended to /var/log/rc.log if it's writeable. sysinit cannot be logged in Linux as we rely on sysinit to bring the system up to a point where we can log. single user cannot be logged on FreeBSD due to waitpid(0,0,0) incorrectly waiting for the log daemon in another process group. 30 Oct 2007; Roy Marples : You can now spoof the source address for arping as the third parameter in gateways_eth0 if you have arping2 installed, #180888. 29 Oct 2007; Roy Marples : rc --override foo will override the runlevel to load after boot or single user runlevels to avoid rc recursion, #196338 /etc/mtab is now a true reflection on /proc/mounts. The only exception is that we punt any / on tmpfs entry, #194615. Network config arrays are now split by embedded new lines instead of being evaled into space separated values. This makes it easier to read, maintain and document as discussed on gentoo-dev. 23 Oct 2007; Roy Marples : clock init script now works with busybox hwclock. clock init script now handles /etc/adjtime correctly. CLOCK_ADJTIME hinted that it could change the location of /etc/adjtime. This is not the case. 19 Oct 2007; Roy Marples : Mount /dev/shm for Linux systems, even not when in /etc/fstab, #196345. 16 Oct 2007; Roy Marples : We now build and optionally work with static libraries. 15 Oct 2007; Roy Marples : rc-status now orders services in start order, #195630 * baselayout-2.0.0_rc5 (11 Oct 2007) 11 Oct 2007; Roy Marples : Bump librc and libeinfo to .so.1 If / block device as in /etc/fstab does not exist, use /dev/root if it's available in checkroot, #171593. 09 Oct 2007; Roy Marples : netmount, localmount, halt.sh and net scripts now check OS specific flags to see if a mount is network mounted (linux = fstab, *bsd = "local" in mount options) or not, #192772. txqueuelen_eth0= now works, #190538. 03 Oct 2007; Roy Marples : librc.so and libeinfo.so now have symbol versions. Default to tunctl so we can create the device as a specific user, #194588 thanks to Jaco Kroon. 28 Sep 2007; Roy Marples : rc_service_state now returns the state as a mask, which means that we can do things with just the one call making is more efficient. keymaps now sets unicode keyboard on all defined ttys, #192442 thanks to Pacho Ramos. net.sh now checks to see if root is net mounted if no predown function exists, #194074. enums are now fixed to specific values and are in UPPER CASE. 26 Sep 2007; Roy Marples : rc_is_env is now rc_env_bool and just works with boolean values. errno is set when it's not a boolean or does not exist. 25 Sep 2007; Mike Frysinger : Skip consolefont setup when RC_TTY_NUMBER is set to 0. Add support for describing the options in the C programs. Retain behavior where `rc-update del foo` deletes foo from all runlevels. Retain behavior where `rc-update del` warns if nothing changed. 24 Sep 2007; Mike Frysinger : Do not require portmap in netmount when nolock option is used with nfs mounts and fixup the test so that it actually works. 24 Sep 2007; Roy Marples : Fix pppd metric, #193574 thanks to Martin Väth. 21 Sep 2007; Roy Marples : Use a pty for prefixed output instead of pipes for stdout/stderr. This is so that programs can get information about the controlling terminal. This change was triggered by bug #188506 where it's possible that stdin, stdout and stderr didn't point to a terminal but ended up on one via our pipes. Using a pty means that stdout and stderr always point to a terminal, but we lose the ability to tell them apart. If there is not a pty available then we use un-prefixed output as normal. This change has also introduced the need for a signal pipe so that SIGCHLD can exit the loop cleanly. 20 Sep 2007; Roy Marples : libeinfo now works out the number of columns from stdout rather than stdin, #188506. 19 Sep 2007; Roy Marples : Added the checkown applet based on the work by Renato Caldas, #192682 checkdir ensures that the specified files (or directories) are owned by the current user/group or as specified on the command line. You can optionally check permissions too. Change from /lib/rcscripts to /lib/rc and adjust our files so changing our libdir is much easier in future. This move makes sense it's so much more than a holding place for our scripts now. It also has the added benefit of not loading the splash plugin for rc4 and lower which is ABI incompatible with us now. plugin hook function is now rc_plugin_hook instead of a name based on the name of the plugin. 18 Sep 2007; Roy Marples : Only mount /sys if it's not mounted, #192436. API changes! rc_ls_dir, rc_get_config and rc_get_list no longer take a starting list as a first argument. Instead, use rc_strlist_join to append or prepend the new list to an existing list. rc_strlist_add and friends now take char *** instead of char ** and return a pointer to the item added instead of the new list head. This is so we can easily tell if the item was successfully added or not instead of iterating through the list looking for it. list = rc_strlist_add (list, item); becomes rc_strlist_add (&list, item); 17 Sep 2007; Roy Marples : Document the preferance of wpa_supplicant, #192828. 09 Sep 2007; Mike Frysinger : Allow people to specify a list of dirs to clean in bootmisc #191807. Force the +t bit on /tmp and /var/tmp paths. 04 Sep 2007; Roy Marples : start-stop-daemon now works with userids correctly when a pidfile is not specified, #191206. 02 Sep 2007; Mike Frysinger : Always attempt to mount /dev/pts when devpts is available as it may appear in some 2.4 setups. * baselayout-2.0.0_rc4 (02 Sep 2007) 02 Sep 2007; Roy Marples : RC_TTY_NUMBER now defaults to 12, #190996 thanks to Pacho Ramos. 31 Aug 2007; Roy Marples : Only generate dependencies for Gentoo scripts, #190547. 28 Aug 2007; Roy Marples : Undocument pause action, fix --nodeps and --ifstarted, #190045. Fix ksoftlevel handling, #190420. 26 Aug 2007; Mike Frysinger : Add /etc/gentoo-release to CONFIG_PROTECT_MASK. 25 Aug 2007; Mike Frysinger : Make sure we list all config files in rc help output. Punt PAGER and EDITOR. People need to set this themselves now. 22 Aug 2007; Roy Marples : Only open /proc/cmdline if it exists, #189686 thanks to Christian Affolter. 21 Aug 2007; Roy Marples : Fix pppd getting the interface metric. * baselayout-2.0.0_rc3 (20 Aug 2007) 20 Aug 2007; Roy Marples : As discussed on the -dev ml, RC_DEPEND_STRICT now defaults to yes. 17 Aug 2007; Roy Marples : Stop un-needed services when changing runlevels, #189050. 15 Aug 2007; Roy Marples : `config /etc/fstab' can now be used in depend() functions to show that the deptree should be regenerated if /etc/fstab has changed. Add bzr port 4155 to /etc/services, #188970 thanks to Andrew Cowie. 08 Aug 2007; Roy Marples : Add help to rc-update #188170. If given a pidfile, just match on that for seeing if we have crashed or not, #186159. * baselayout-2.0.0_rc2 (04 Aug 2007) 04 Aug 2007; Roy Marples : Boot properly when we cannot set an early font, #187628. rc-update works again, #187487. 03 Aug 2007; Roy Marples : Fix adding multiple IP addresses, #187526. Fix static IPv6 routes, #187514. * baselayout-2.0.0_rc1 (02 Aug 2007) 01 Aug 2007; Mike Frysinger : Punt /dev/shm from default /etc/fstab as we handle it and add a helpful hint about the RC_USE_FSTAB option. 31 Jul 2007; Roy Marples : All our binaries are now multicalls into rc, which makes our on disk size a lot smaller. 23 Jul 2007; Roy Marples : appending noinitd=xdm will skip the xdm service when first booting, #181858. 22 Jul 2007; Roy Marples : Harden gendepends.sh some more so we only capture the stdout we want from the depend function, #186072. 21 Jul 2007; Roy Marples : RC_DEPEND_STRICT now controls dependency strictness. If yes then we only use services in the boot and default runlevels, regradless of service state. If no then we take into account coldplugged services and the state of currently running services. Fixes #185640. 15 Jul 2007; Roy Marples : adsl module now finds the correct exe, #185276 thanks to Marcello Laganà. 14 Jul 2007; Mike Frysinger : Add --remove-destination to example /dev recover command #40987. * baselayout-2.0.0_alpha4 (12 Jul 2007) 11 Jul 2007; Roy Marples : Don't unmount network filesystems in localmount or halt.sh, #175602. Don't do interactive when changing init, #174141. 10 Jul 2007; Roy Marples : init scripts and their extra options can now have descriptions, #184327. We no longer care about numerical runlevels, #184733. 09 Jul 2007; Roy Marples : Add an option to fork ldconfig in env-update, #182794 06 Jul 2007; Roy Marples : Add and delete IPv6 addresses and routes correctly on FreeBSD, #184430 thanks to Friedrich Oslage. 02 Jul 2007; Roy Marples : Don't wait for services that were inactive, #183667 thanks to Daniel Drake 30 Jun 2007; Roy Marples : Don't set an early font if consolefont isn't in a runlevel, #183773. 27 Jun 2007; Roy Marples : Add --no-ldconfig option to env-update to match portage. 26 Jun 2007; Roy Marples : --nocolor works again, #181011 thanks to Daniel Drake. Change pwd to / for all init scripts, #181224. 21 Jun 2007; Mike Frysinger : Allow urandom location to be customized #134489. 02 Jun 2007; Mike Frysinger : Fix from comio for /proc/filesystems typo in localmount #180621. Use -q option with modprobe rather than sending to /dev/null. 31 May 2007; Mike Frysinger : Don't warn about Factory clock when booting off of livecd. 30 May 2007; Roy Marples : Only call systohw in clock when we don't have adjfile or we aren't UTC. Use killall5 again so we can cleanly remount / readonly, #168977 and #177689. * baselayout-2.0.0_alpha3 (14 May 2007) 14 May 2007; Roy Marples : RC_INTERACTIVE now works, #178331. Add --startas back to s-s-d, #175980, #175981. Allow time for pidfiles to be created, #178274. Use int instead of char for getopt, #177202 #178084 thanks to drizztbsd. 11 May 2007; Roy Marples : Store the defined random pool size, #177722 thanks to Yaroslav Isakov. Use auto for /mnt/cdrom, #177990. Use clock MONOTONIC to timeout, not localtime, #177514. 08 May 2007; Roy Marples : When we don't have an address return 1, #176577. 05 May 2007; Roy Marples : Fix KV_to_int working with funky kernel versions, #177197. * baselayout-2.0.0_alpha2 (04 May 2007) 04 May 2007; Roy Marples : Fix unicode keymaps, #173528. Some fonts show the currency symbol instead of the Euro when doing AltGr-E, so we provide an easy setting to fix this. 03 May 2007; Roy Marples : Allow ip6to4 tunnels to use any derived address, #170290. dns_sortlist and dns_options now work as documented, #175367. 02 May 2007; Roy Marples : SSD_NICELEVEL can now affect the nicelevel for daemons started by start-stop-daemon, #175397. Don't delete addresses for PPP interfaces, #176764. 30 Apr 2007; Roy Marples : Stop using the [ -z "$@" ] test, use [ $# = 0 ] instead, #176554. /etc/init.d/foo start and stop no longer exit when service is fully started or stopped, #176452. 27 Apr 2007; Roy Marples : env-update now respects COLON_SEPARATED and SPACE_SEPARATED env.d values, #176198. 26 Apr 2007; Roy Marples : checkroot and checkfs now use more friendly generic options, #116016. 25 Apr 2007; Roy Marples : We now have an alternative to buffering stdout and stderr. RC_PREFIX="yes" will put the service name as a prefix to all output made by the service. Thanks to Ciaran McCreesh for the idea. 24 Apr 2007; Roy Marples : We now buffer stdout and stderr to a file and flush that when running in parallel. RC_PARALLEL_STARTUP has been renamed to RC_PARALLEL. 20 Apr 2007; Mike Frysinger : Automatically mount selinuxfs on /selinux in localmount. 20 Apr 2007; Roy Marples : Added the rc-abort command, #175106 thanks to Daniel Drake. Plugins now run in a forked process for extra resliance. 17 Apr 2007; Roy Marples : Fix bridge, vlan and bonding modules to work together, #174792. env vars ECOLOR_GOOD and friends now override our hardcoded builtins. 16 Apr 2007; Mike Frysinger : Allow addons to pass up their exit status in import_addon. Simplify /dev handling in init.sh and add mdev as an option. 16 Apr 2007; Roy Marples : Punted the volumes init script. Volume handling will be handled by init script that can be run at any point, even before checkroot. Don't search for a space after interface names in /proc/net, #174792 thanks to Mike Auty. 13 Apr 2007; Roy Marples : Fix module loading, #174360. s-s-d now changes group when changing user, #174362. netmask -> CIDR is worked out correctly #174341. * baselayout-2.0.0_alpha1 (11 Apr 2007) 07 Apr 2007; Mike Frysinger : "modules-update" -> "update-modules". 05 Apr 2007; Roy Marples : Rewrite the core parts in C. We now provide librc so other programs can query runlevels, services and state without using bash. We also provide libeinfo so other programs can easily use our informational functions. As such, we have dropped the requirement of using bash as the init script shell. We now use /bin/sh and have strived to make the scripts as portable as possible. Shells that work are bash and dash. busybox works provided you disable s-s-d. If you have WIPE_TMP set to yes in conf.d/bootmisc you should disable find too. zsh and ksh do not work at this time. Networking support is currently being re-vamped also as it was heavily bash array based. As such, a new config format is available like so config_eth0="1.2.3.4/24 5.6.7.8/16" or like so config_eth0="'1.2.3.4 netmask 255.255.255.0' '5.6.7.8 netmask 255.255.0.0'" We will still support the old bash array format provided that /bin/sh IS a link it bash. ChangeLog for baselayout-1 can be found in our SVN repo.