Age | Commit message (Collapse) | Author | Files |
|
Revert to using in_array() instead of is_in_array() which actually doesn't exist.
|
|
There are only two possible situations:
a) /var/run is a symlink to /run: Conditional result is always 'false' even without checking /var/run/daemons (which doesn't exist).
b) /var/run is a directory: Conditional result is always 'true' because any symlink was removed when cleaning /var/run.
So following changes can be made:
* /var/run/daemons can be removed unconditionally because a symlink doesn't survive cleaning of /var/run anyway.
* The check whether /var/run/daemons is a symlink can be dropped because it has actually no effect.
Furthermore we can refactor to use the same conditional used for cleaning /var/run because we can't create the symlink if /var/run is not a directory.
|
|
Variables should be empty anyway here.
|
|
$FSCK_OUT/$FSCK_ERR might not be set when:
* unset in some custom sysinit_prefsck hook
* calling fsck() from a shutdown hook
|
|
This prevents sysinit_prefsck hooks from overwriting the value.
|
|
Genaral scheme for hook positions is now:
run_hook pre_foo
if [[$WE_WANT_TO_DO_FOO]]]; then
stat_busy "Doing foo"
if [[$PRECONDITIONS_FOR_FOO_NOT_SATISFIED]]; then
stat_fail
else
...
stat_done
fi
fi
run hook post_foo
rc.sysinit
-----------
run_hook pre_foo
[[$WE_WANT_TO_DO_FOO]] && status "Doing foo" foo
run hook post_foo
functions
------------
foo() {
[[$PRECONDITIONS_FOR_FOO_NOT_SATISFIED]] && return 1
...
}
Rationale
Following this scheme as close as possible (without duplicating code and status messages)
makes stuff more readable and uniform.
Splitting kill_everything() into two new functions stop_all_daemons() and kill_all() also
allows customization of either daemons stopping or process killing in an easy way.
Suggested-by: Tom Gundersen <teg@jklm.no>
|
|
The general rule is now: Align stat_{fail,done} with stat_busy
|
|
|
|
|
|
Also sanitze the PATH for rc.single, rc.multi, rc.local and daemons.
|
|
|
|
|
|
|
|
|
|
|
|
kill_everything
|
|
This avoids errors if one should set the noclobber shell option somewhere (within a daemon script or some custom function).
We already had this, but it seems gone lost mostly.
|
|
When using process substitution with status(), the resulting /dev/fd/* might get lost before it is actualy used. This happens in case a custom stat_busy() forks a subshell.
|
|
Note: The code
status "$text" $command > $file
writes nothing because there's a &>/dev/null within status().
|
|
|
|
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
To avoid setting the kernel timezone with an out-of-date /etc/localtime, we pass TZ
directly to hwclock.
Also document how TIMEZONE and HARDWARECLOCK are optional in rc.conf
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
This is a cleanup of a commit 171da3d. We get errors because /tmp/. and /tmp/.. cannot
be deleted on boot. Send them to /dev/null.
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
|
|
|
|
rc.single changes (when coming from multi-user):
* avoid settling UDev quietly as in rc.sysinit
* modules defined in rc.conf are loaded if missing
* minilogd is started before udevd as in rc.sysinit
rc.sysinit behaviour is unchanged
|
|
|
|
|
|
|
|
|
|
|
|
Error/stat_fail when $TIMEZONE is invalid instead of skipping silently.
|
|
|
|
|
|
|
|
|
|
In case loading modules enables a frambuffer with higher resolution than the
standard 80 columns, we recalculate the number of columns after all modules
have been loaded.
Original-patch-by: Aaron Griffin <aaronmgriffin@gmail.com>
Original-patch-by: Søren Poulsen <nikorpoulsen@gmail.com>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
In some cases is good to know when rc.sysinit is going to use /usr
See FS#24712
Signed-off-by: jofko <joffko@gmail.com>
[tomegun: added comment to 'functions' and changed name of hook]
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Although silly, this would positively match something such as
USRBTRFS=deadeyes
Instead, enumerate the match as a simple glob.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is some unfinished business from our removal of load-modules.sh.
We call modprobe with -ab for the contents of the MODULES array, which
should no longer contain ! prefixed module names. --quiet is explicitly
ommitted, as users should be aware of any errors that might occur here.
Signed-off-by: Dave Reisner <d@falconindy.com>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
This allows us to ignore the hostname utility, whose home is currently in flux.
Suggested-by: Thomas Bächler <thomas@archlinux.org>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Conflicts:
rc.single
rc.sysinit
Mostly trivial conflicts with Dave's path purging
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
This has been removed from the udev package, so this code would never
be executed. Can finally be removed.
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
This allows HARDWARECLOCK to be removed from rc.conf, if you want to
rely on /var/lib/hwclock/adjtime (or wherever the file ends up in the
future). It assumes the relevant path is on the rootfs.
Furthermore, we can assume (since kernel2.6.??) that the rtc modules
set the time from rtc themselves, so our job is just to adjust the tz.
(FWIW, this coincides with what systemd does).
To get the old behavior of not touching the rtc, set it to anything
anything else.
We should probably have chosen a syntax for this, like IGNORE. Maybe
another time...
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
If settle finishes too early, we want to know as some needed devices might not
yet have been enumerated. Do not pass --quiet.
Do not check for running udev before doing trigger/settle. Worst case, if someone
does not have udev (which is not supported), they will see some extra status lines,
but boot will still continue.
Lastly, remove obvious comments (they were repeating the status message in the line
below).
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Since we're declaring a PATH anyways, we may as well use it. This gives
us immunity against binaries moving around, as in the recent case of
iproute2. A few other minor, associated, tweaks to go along with this:
* any -x tests are modified to use 'type -P' to resolve the path before
checking for execute permission
* any pidof checks are stripped of paths as well.
|
|
Conflicts:
rc.sysinit
Conflict with ip move away from /usr
|
|
The move to iproute2 broke the setup of loopback for users having
a separate /usr, as it was not monuted before /usr/bin/ip was called.
Together with iprouet2-2.6.38-3, this fixes the problem by using
/sbin/ip instead.
Signed-off-by: Tom Gundersen <teg@jklm.no>
|