Age | Commit message (Collapse) | Author | Files |
|
This keeps the functionality, but disables it by default.
Individual scripts/functions can turn it on if they want.
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Categorize actions as 'create' or 'remove', for finer control.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This is the same concept as systemd's tmpfiles handling, slightly
simplified to avoid timed re-triggering of file cleaning. Most of our
current file cleaning that takes place in rc.single and rc.sysinit is
replaced by this, with the exception that we hold onto the /var/lock and
/var/run for finer control, since we still check for the possibility of
these directories being symlinks and adjust accordingly.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
|
|
The rules should be:
* Use quotes when literal strings are involved.
* Use quotes when ever using a substitution which might produce blanks
as a possitional parameter unless word splitting is intended.
* Use quotes on the right hand side within '[[ = ]]'
unless pattern matching is intended.
* Don't use quotes for substitutions where not needed as in assignments.
|
|
|
|
|
|
Move it into a function to allow clean error detection of all steps performed
and also to be able to reuse this in rc.single.
|
|
For checking whether a daemon is started via the DAEMONS array we use ck_autostart() now.
So make in_array() generic as the name suggests instead of removing '@'-prefixes from array members behind ones back.
Suggested-by: Dave Reisner <d@falconindy.com>
|
|
This is just a bit simpler.
in_array() should be fixed to be non daemon specific in a later patch.
|
|
Currently $NETFS is used only for fsck and mount in rc.sysinit.
Since we moved it into functions, we can use it in netfs too to get rid of redundancy.
functions:
* Move 'nosysfs' from $NETFS into the mount -a type list because thats obviously the only meaningfull place.
* Add 'nofuse.glusterfs' to $NETFS to match the lists in netfs.
* Remove all 'no'-prefixes from $NETFS to make it more useful and readable.
* Add 'no'-prefixes to fsck and mount -a commands by parameter substitution.
netfs:
* Instead of the literals use $NETFS from functions which contains the same types now
|
|
killall5 returns 2 if it didn't find any processes to send to. Using this avoids sleeping longer than needed. This saves another up to six seconds of reboot/shutdown/go-single time.
|
|
The exit code returned by the given command might be useful/expected, so don't discard but return it.
|
|
$FSCK_OUT/$FSCK_ERR might not be set when:
* unset in some custom sysinit_prefsck hook
* calling fsck() from a shutdown hook
|
|
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>
|
|
Now that we set PATH in functions, we can use is everywhere.
|
|
Prevent any word splitting where not intended.
|
|
Braces are not needed in this case as a variable name can not begin with a number.
|
|
|
|
Also sanitze the PATH for rc.single, rc.multi, rc.local and daemons.
|
|
|
|
|
|
|
|
|
|
All credits go to: Dave Reisner <d@falconindy.com>
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
In particular, recomend against using ck_depends.
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Implemented suggestions of Dave.
get_pid:
Arguments: programname
Returns: PID of program
ck_pidfile:
Arguments: PID-file programname
Returns: 0 - PID in PID-file is of program
1 - PID in PID-file is not of program
Signed-off-by: Andrwe Lord Weber <archlinux@andrwe.org>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
|
|
|
|
|
|
|
|
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>
|
|
By default all script should be run as root.
If NEED_ROOT=0 is set before loading /etc/rc.d/functions in a rc.d scripts, this will not apply.
This allow script with only some part which require root level to call need_root() function
at beginning of those parts.
Close FS#24095
Signed-off-by: Sebastien Luttringer <seblu@seblu.net>
|
|
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
This patch improve coloring in light and transparent term.
It uses tput if available or default color code.
It remplace \033 by \e. It's a kind of rollback from commit 65f410,
because initscripts are now in bash, and argument
"\e isn't recongized in all shells" is not an issue anymore.
This is not done in locale.sh script which can be sourced by others shell,
so we try to be the more compliant as possible
Signed-off-by: Sebastien Luttringer <seblu@seblu.net>
|
|
(me) Update the offsets so can be merged now without any issues and respect
the indentation.
Implements FS#10536 - [initscripts] internal: save a pid from killall5
All credits to: Kurt J. Bosch
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
This is allow a quick calling to /etc/rc.d scripts by calling a shell command.
By example, starting sshd and gpm can be done by typing: rc start sshd gpm
rc can also list available scripts and show which is started/stopped in DAEMONS
[tomegun: fixed detection of autostart of background services]
Signed-off-by: Sebastien Luttringer <seblu@seblu.net>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
A daemon is an executable _file_ in /etc/rc.d.
Directory like functions.d is not a daemon.
Signed-off-by: Sebastien Luttringer <seblu@seblu.net>
|