dhclient now parses dhclient_eth0 for -cf parameter to set
dhclient now strips lines starting with script and send host-name
from and adds send host-name uberlaptop; at the top
To stop this behaviour, add dhclient_edit_config=no to /etc/conf.d/net
Fixes #96322
Removed killing udhcpc hard as it now dies nicely

wpa_supplicant now respects the background=no option if
wpa_suppliant>=0.4.0 is installed
fixed network dependencies some more
You can now restart a script marked starting/inactive
Documented the use of the RC_USE_CONFIG_PROFILE variable in conf.d/rc
udhcpc now removes stale pidfiles

Fixed VLAN documentation for working with eth0.1 style names #95121
tarball.sh now works with svn
dhclient and udhcpc now report any errors to stdout
RC_DEVICE_TARBALL now defaults to no
STYLE updates to iwconfig

If /proc/net/netlink does not exist then iproute2 will fail the
check_installed function with an appropriate error - Thanks to
Jeremy Huddleston for the patch.
If /proc/net/packet does not exist then wpa_supplicant will fail
check_installed function with an appropriate error

bridge stops removing IP addresses from bridge ports.
iwconfig no longer tries to get an ESSID from non-wireless interfaces.
ifconfig no longer errors when deleting addresses on a non-existant
interface.

rc-services.sh now does a /sbin/depscan.sh -u if we have not got
our deptree loaded
removed net_start/stop function from net.lo, bridge and bonding
net.lo now supports depend() per interface like so
depend_br0() { need net.eth0 net.eth1 }

iproute2 does not need to create dummy interfaces for aliases
unlike ifconfig so we no longer do this
We now bring down all aliases and addresses properly
Split off some functions from net.lo into helpers.d/functions
so that our DHCP helper scripts can use them too :)
Deprecated interface specific setup in favour of a generic config
macchanger brings interface up now - fixes #71929
DHCP over VLAN now works - fixes #71860
Disabled modified function checking as it's far too expensive on CPU
and still isn't 100% reliable
When specifing a module that isn't emerged, you now get an error
telling you what to emerge
Removed -p option from the diff call used for function removal

tests for hostname (none) when sending hostname via dhcpcd, udhpc or pump
udhcpc now does correct signal handling so we can release leases and
terminate cleanly
Improved pump process detection
Rewrote udhcpc helper scripts around udhcpc and wrapped dhclient to udhcpc
scripts. This makes things much saner as udhcpc is much saner - also fixed
essidnet and ipv6 local link for them.

We no longer default a fallback to APIPA when no config is given
net.example fleshed out a bit more for dhcpcd - fixes #60845
Improved forced module handling a touch
modules_sort and modules_check_user in net.lo buffer _provides,
_before and _after in arrays to avoid shelling out

Split modules_load into smaller more managable functions in net.lo
Added modules_force option to net.lo with a big phat warning in
net.example about it potentially breaking networking
Fixed indentation problem in ifconfig

net-scripts/init.d/net.lo
- added use dependany on wlan incase we're using linux-wlan-ng drivers
fixes bug #64978
- moved start() to run_start() and stop() to run_stop()
created run() and new start()/stop() functions
this is so that we have one single entry point to localise variables
and to remove any added functions loaded by our modules
- removed redundant interface_exists() as it's provided by
ifconfig and/or iproute2
net-scripts/net.modules.d/ifconfig and iproute2
- added ifconfig_tunnel and iproute2_tunnel functions
addred gre/ipip tunnel support via the the tunnel module
- fixes bug #50765

net.lo - added get_type function to return the type of the interface
- eth, ippp, etc
ipppd, tuntap
- start() moved to pre_start() and we now test by type
this means you no longer need ifconfig_ippp0=( "isdn" "dhcp" )
as ippp0 is always an isdn device
bridge - fixed stop function and moved start() to pre_start()
and automatically start if the variable bridge_${iface} exists
net.example - fixed up documentation for changed behaviour above

Do not delete depscan and envupdate caches on reboot, as this should
improve bootup times - works nicely with the '-u' parameters of both.
Also move the '-u' parameter test of depscan.sh after the directory
exist test, else /started/, etc do not exist.

In net-scripts/net.modules.d/ifconfig:
- Simplify ifconfig_is_up()
- Fix ifconfig_get_aliases_rev() to actually work... you can't
specify an interface name to ifconfig if you want to see the
aliases.
- Workaround a couple ifconfig bugs dealing with aliases
- Correct a return status in ifconfig_interface_del_addresses()

Add v-e-commands (veinfo, vbegin, etc) to sbin/functions.sh that
depend on RC_VERBOSE which defaults to no. Add --verbose to args
understood by runscript.sh.
Use veinfo and friends in net-scripts/init.d/net.lo when loading
modules since this information is confusing to users.
Always load global "modules" setting in following "modules_iface"
since this is a little easier for users to understand.

Install net.modules.d to /lib/rcscripts instead of /etc so we
don't have to deal with CONFIG_PROTECT
Fix diff code in modules_load so it can identify which functions
have been modified
Fix fallback mechanism in iface_start so that it works correctly
and doesn't report a bogus error message when trying the fallback
Get rid of need_begin trickery in iface_stop
Simplify eend processing in dhcp modules
Implement eindent, eoutdent, esetdent in functions.sh and adjust
net-scripts to use them.
Re-write einfo, ewarn, eerror, ebegin, eend, ewend to use
RC_INDENTATION and to work better on serial terminals
Remove conf.d/net.ppp0 since that is provided by net-dialup/ppp

Fix sorting of after/before/need/use variables. The arguments are
space-separated, not newline-separated, so they need to be massaged
before sorting. Sort the arguments on calling the
after/before/need/use callback rather than while sorting modules; this
should speed things up since they won't be sorted every time through
the loop in modules_load
Use some descriptive variable names in modules_load: loaded_interface,
changed_something, tmp, modnums, missingdeps. Try to avoid re-using
variables for different purposes
Don't test true or false in [[ ]], instead call them directly
Remove an unnecessary eval when setting umods
Use sort -n for sorting the modules numerically
Normalize spacing for loops: for ((var=0; ...))

Related to bug 38955, don't set INPUTRC. Instead patch bash so that it looks for /etc/inputrc automatically if ~/.inputrc is missing. This is better than using INPUTRC since that will override even after the user creates ~/.inputrc.

Fix dhcp in iface_start_ifconfig: It was re-using the variable
${i} which would result in the following error:
/sbin/runscript.sh: line 441: ((: 16.141.88.153: syntax error
in expression (error token is ".141.88.153")
Use vlan_IFACE instead of iface_IFACE_vlans in net.eth0 for more
consistent vlan configuration. Thanks to robbat2 in bug 55394
(not fully resolved)
Add example for checking if root filesystem is NFS-mounted via
predown function in conf.d/net for bug 53104. This might be
better integrated at some point into net.eth0

Fix bug 34607: provide examples for in conf.d/net for preup, postup, predown, postdown functions. Also pay attention to return value from postdown (previously ignored). Bump version to 1.5.0 to include in new baselayout release

rc-scripts-1.4.16. Only call generate-modprobe.conf with --assume-kernel if modules-update was called with --assume-kernel. This means that only catalyst has the dependency on module-init-tools, not everybody with the newer baselayout

Fix bug 50434: The new version of start-stop-daemon changes directory to / by default unless --chdir is specified. Revert this behavior to maintain working directory. This fixes openvpn startup (probably among other things)

Fix bug 20597: Skip RCS files when updating modules.
Fix bug 49926: Add a --assume-kernel flag to modules-update. This
requires a companion patch in module-init-tools-3.0-r2 to handle the
same flag in generate-modprobe.conf; this dependency won't be handled
in the baselayout ebuild since it only affects livecd building.

In net.eth0, fix many instances of loops like "for ((i = 0; i < 100; i
= i + 1))". The problem here is that the middle comparison is being
interpreted as a bash conditional, which means that it's doing string
comparison by default. It needs to be "i -lt 100"

Patch init.d/checkroot to list / (root) only once in mtab; see bug 38360. Patch from Gustavoz to livecd-functions.sh to run bash instead of login on serial consoles, necessary due to scrambled root password.

The changes in this commit pertain primarily to
http://bugs.gentoo.org/show_bug.cgi?id=19695http://bugs.gentoo.org/show_bug.cgi?id=35736
- Specify routes as an array per interface, for example:
routes_eth0=(
"-net 10.1.0.0 netmask 255.255.0.0 gw 10.0.0.5"
"-net 10.2.0.0 netmask 255.255.0.0 gw 10.0.0.6"
"-host 10.3.0.1 dev eth0"
)
- You can optionally use the gateway variable or just put the default
route in the routes variable. The following two are REDUNDANT:
routes_eth0=( "default gw 10.0.0.5" )
gateway="eth0/10.0.0.5"
- Old configuration variables in /etc/conf.d/net are fully supported
and used transparently if ifconfig_eth0 is missing. In other words,
this new script is fully backward-compatible. However you can get
rid of iface_eth0, alias_eth0, broadcast_eth0 and netmask_eth0 if
you want by using the new syntax:
ifconfig_eth0=(
"10.0.0.6 broadcast 10.0.255.255 netmask 255.255.0.0"
"192.168.1.1 netmask 255.255.255.0"
"123.456.789.1"
)
- Full backward compatibility so no danger to screwing up users
relying on existing /etc/conf.d/net setup
- NET_DEBUG can be set in the environment for copious debugging output
- Deprecate [ ] in favor of [[ ]] which has fewer quoting issues and
better functionality (and is even slightly faster)
- Properly localize all variables, including variables returned by
setup_vars
- Allow full options for every ifconfig command, both base address and
aliases via ifconfig_eth0, replacing the convoluted and
less-functional iface_eth0, alias_eth0, broadcast_eth0, netmask_eth0
- Provide full support for static routes via routes_eth0
- Fix potential quoting problems in setup_vars by using better eval
syntax instead of eval echo
- Display IP addresses while configuring, both DHCP-retrieved and
statically set addresses
- Collapse redundant caching of $? since eend returns $? again
- Report when keeping kernel configuration for an interface along with
IP address gleaned
- Don't reset the default gateway if it is already set correctly
- Don't bind default gateway to particular interface when /sbin/route
is called so that it can survive if there is more than one interface
on the required subnet. (Old behavior can be obtained by setting
routes_eth0="default gw 1.2.3.4 dev eth0" if you really want it)
- Don't bomb if default gateway can't be set since that doesn't
necessarily mean that the interface configuration is invalid.
(Old behavior was completely broken, but commented section
demonstrates how to do it right if necessary)
- iface_stop no longer relies on configuration in /etc/conf.d/net AT
ALL. This is very good because it means you can put new
configuration in /etc/conf.d/net, then restart the interface and the
old configuration will be properly shut down.
- iface_stop reports when it is releasing the DHCP lease

Update /sbin/depscan.sh, /sbin/env-update.sh, src/awk/cachedepends.awk,
src/awk/gendepends.awk and src/awk/genenviron.awk to use ENVIRON rather
then gawk -v. Also add some tests to see if we got the environment
variables.

The unmount stuff in /etc/init.d/halt.sh was flawed, in the fact that
it called 'umount -t no<insert_fs_here>', which resulted in /proc, etc
unmounted anyhow. Change it to remount the last filesystems readonly
without trying to unmount any. This fixes a few cases where reboot
would halt due to unmounted /proc, etc.

Bootsplash fixes from Michael Aichler <micha@aichler.net>, (comment #15
and #16 from bug #21019).
Bootsplash coded did not play nice with boot profiles, so I fixed that
as well. Some other style tweaks.

Apply a patch from Mike Frysinger <vapier@gentoo.org> for rc-status.
It now will work with runlevels named with any characters (other than
ones found in default bash IFS). It also adds a few sanity/error
checks, bug #26432.

Add /bin/rc-status and 'show' support to /sbin/rc-update (long overdue),
bug #4222, thanks to Sean E Russell <ser@germane-software.com>,
Michael Frysinger <vapier@gentoo.org> (/bin/rc-status) and for the 'show'
stuff to /sbin/rc-update, Max Kalika <max@gentoo.org>.
Fixed modules-update to only do the /etc/modprobe.conf generation if we
are actually running a 2.5+ kernel.

Pointed out in bug #3650 -- local VARNAME=... -- always returns 0 with
the exception of invalid variable names. The eval wasn't being checked.
Moved the 'local errstr' to its own line. (Credit: Felix von Leitner)

sort -t: -k3,3 -n /etc/passwd,group. Makes it easier to see whats
going on. I dont like the way several users are currently setup,
and hope to eventually fix them. Sadly, they werent added with
very much thought. Ick.

runscript is moved here, instead of sitting in init.d.
this was desired, as a note, FIXME, deal, was around in baselayout..
start-stop-daemon is latest and greatest, coming from Debian project,
moved from our sysvinit package to here now.

initial checkin of a manpage for update-modules.8. i need to edit this file to remove the stuff gutted from update-modules, perhaps tidying up other bits as well. checking it in now so i dont forget it. heh