aboutsummaryrefslogtreecommitdiff
path: root/functions
AgeCommit message (Collapse)AuthorFiles
2011-06-24rc.multi/rc.single: Merge duplicated bootlogd stop code into a functionKurt J. Bosch1
2011-06-24rc.sysinit/rc.single: Merge UDev stuff into a functionKurt J. Bosch1
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
2011-06-24Simplify in_array functionKurt J. Bosch1
2011-06-24Some more cosmeticsKurt J. Bosch1
2011-06-24Some cosmeticsKurt J. Bosch1
2011-06-23functions: warn if daemons are started recursivelyTom Gundersen1
In particular, recomend against using ck_depends. Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-06-23added get_pid() and ck_pidfile() (FS#18654)Andrwe Lord Weber1
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>
2011-06-22Move mount -a into functions to allow custom override (fsck on loop)Kurt J. Bosch1
2011-06-22Allow custom fsck on shutdown via hook (FS#18736)Kurt J. Bosch1
2011-06-22Simplify fsck functionsKurt J. Bosch1
2011-06-22Move fsck stuff into functions to allow custom overrides (FS#18736)Kurt J. Bosch1
2011-06-20status: adjust number of columns after loading modulesTom Gundersen1
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>
2011-06-19Adding hook sysinit_postmountjofko1
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>
2011-06-18Ensure rc.d scripts are run as rootSebastien Luttringer1
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>
2011-06-08Removed superfluous dollar signEric Bélanger1
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-05-21Improve coloring on light and transparent termSebastien Luttringer1
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>
2011-05-19add killall5 omit pid functionalityGerardo Exequiel Pozzi1
(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>
2011-04-16Add an rc helperSebastien Luttringer1
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>
2011-04-15Fix incomplete daemon detection in have_daemonSebastien Luttringer1
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>
2011-04-13Move /var/run/daemons to /run/daemonsSebastien Luttringer1
Signed-off-by: Sebastien Luttringer <seblu@seblu.net> Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-03-29whitespace cleanupDave Reisner1
* adhere to a consistant vim modeline * use top-right/bottom-left braces for functions Signed-off-by: Dave Reisner <d@falconindy.com> Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-02-10Added missing else clause in set_consolefont functionEric Bélanger1
The else clause was missing in the return value test. This caused the status to remain at BUSY instead of being changed to DONE for systems where CONSOLEMAP was not used. Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com>
2011-01-28Only call activate_vgs a second time if any logical volumes have actually ↵Thomas Bächler1
been activated.
2011-01-27Fix crypttab option column processing.Thomas Bächler1
2011-01-27Fix run_hook and add_hook definitions.Thomas Bächler1
This patch does 3 things: 1) Use declare -fr instead of -r, as -r does not affect functions. 2) Make sure everything is only defined once, as you cannot redefine a read-only function. 3) Fix indentation.
2011-01-27Allow setting the locale during boot and daemon startup.Thomas Bächler1
This is configurable by the new rc.conf option DAEMON_LOCALE.
2010-12-06lvm: run vgchange in sysinit modeTom Gundersen1
This avoids problems with lack of rw filesystems. Solves: #FS18153.
2010-07-23Rewrite /etc/crypttab processing.Victor Lowther1
Split out reading /etc/crypttab and procssing the individual lines into their own helper functions, and bashify the resulting shorter code. Processing this file is still ugly, though. :(
2010-07-11Both rc.single and rc.shutdown use the same code to kill everything.Victor Lowther1
Simplify it, and move that shared code into functions. Parsing the output of ls is Bad, especially when globbing works just as well and does not get confused by odd characters in filenames. bash has arithemetic for loops. Use them instead of while loops for iterating over arrays.
2010-07-11Finish bashifying functions.Victor Lowther1
Slightly simplify hook-running infrastructure. Go ahead and declare add_hook and run_hook as readonly functions to prevent hooks from overwriting them. Too bad bash does not have lexically scoped variables -- if it does, we could do the same with the hook_funcs associative array. If $CONSOLEFONT is not declared, then just return out of set_consolefont. We do this early so that the entire body of the function is not in an if block. Replace trivial use of grep with bash regex conditional. Bash has regex support, and it allows us to replace most trivial uses of sed, grep, and awk. The fewer processes we create, the faster we go, and every little bit helps. I also think it is more readable to use a bash regex for the trivial stuff. Replace if statement with parameter expansion. ${foo:+-p ${foo}} expands to nothing if foo is not set, -p $foo if foo is set. Replace slightly too long echo staement with a here document. This adds a line, but making things more readable is worth it. Make sourcing functions.d files a tiny bit shorter and faster.
2010-07-11Simplify in_array.Victor Lowther1
All that extra checking for the first character being @ is not needed, simple parameter expansion will trim it off if it is there.
2010-07-11Clean up status() function.Victor Lowther1
Calling your args with $* will do nasty things if any of your args has a space in it. "$@" will always do The Right Thing. Just test the command directly, don't run it and then grab its exit value.
2010-07-11A little creative parameter expansion simplifies stat_die().Victor Lowther1
2010-07-11Bashify initscripts.Victor Lowther1
We rely on bash specific features (arrays and associative arrays). Trying to maintain POSIX compatibility is a net performancle loss, since native bash constructs tend to perform better and lend themselves to less buggy code. Start off by adding #!/bin/bash to the top of functions to make it clear that we are not POSIX, and to help text editors perform appropriate syntax highlighting. Tighten up the console size finding code a bit, and simplify the code that clears USECOLOR. Use [[ ]] instead of [ ] for conditional checking when running in bash. It is worth 10 - 30% speedup whenever you want to compare something. Instead of calling a command and then testing for nonzero exit status, just test the command exit status directly.
2010-05-04Bring back \e(K to locale.shRoman Kyrylych1
See FS#18759 for more details. Signed-off-by: Roman Kyrylych <roman@archlinux.org>
2010-03-20Remove obsolete consolemap activation escape sequencesKurt J. Bosch1
2010-02-16Make consolefont code deferrable to avoid destroying splashKurt J. Bosch1
2009-09-24Fix stty/tput usage for columns againJim Pryor1
Cleans up double application of earlier fixes for this issue. Instead of calling $(tput cols 2>/dev/null), we now try tput cols silently to see whether it complains. If not, then we call $(tput cols) with no redirection of stderr. This way, we can get results other than 80. eliminate color when stdout is not terminal Signed-off-by: Jim Pryor <profjim@jimpryor.net> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-08-26Make the hook-system a bit more usableThomas Bächler1
This patch makes the hook names unique, prefixing them all with the script name (without the 'rc.') It also removes the explicit declarations of all elements of the array, bash assumes "" if they are uninitialized
2009-08-25Implement a hook-system that allows to add custom code to the initscripts at ↵Thomas Bächler1
certain places A function add_hook can be called from functions.d to register a hook function. The existing hooks are based on suggestions from Michael Towers (larch) and on the implementation of initscripts-extras-fbsplash which currently uses the strings passed to stat_busy and stat_done for this. More hooks can be added if requested. The implementation uses associative arrays and will thus only work with bash 4 or later
2009-08-22Fix in_array function2009.08-1Thomas Bächler1
In in_array a check might look like [ "!" = "@" ], which will fail because of the !, so make this check look like [ "x!" = "x@" ]. Also, when an entry is prefixed with !, it should be handled as if it was not in the array.
2009-08-05Enable in_array for prefixed daemonsAaron Griffin1
Previous code has issues with ! and @ prefixed DAEMONS Original-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-08-05Revert previous commit chunk: in_array fixesAaron Griffin1
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-08-05Fix stty/tput usage for columnsJim Pryor1
This corrects the usage of stty and tput under various non-TTY conditions such as under cron and redirected output. [Aaron: Also corrected my USECOLOR bug I introduced last patch] Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-07-30functions: refactor for non-tty outputAaron Griffin1
This commit should allow rc.d scripts to be run from non-tty's, such as a cron job Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-07-30Shutdown non-rc.conf daemons firstAaron Griffin1
Flip the order in which daemons are shutdown. First we scan for all daemons that are NOT in rc.conf and shut those down (order is based on ls, so it is dependent on LC_COLLATE). Afterwards, we shut down all daemons in rc.conf, in order Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-07-29functions: Add -- to stat_append printfJacob Winther1
printf causes scripts to fail when argument starts with a dash Calling stat_append "- hello" causes the following error: /etc/rc.d/functions: line 99: printf: - : invalid option printf: usage: printf [-v var] format [arguments] [FAIL] Ref: FS#15713 Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-04-02Make sure functions ends cleanlyAaron Griffin1
When errexit was set, sourcing functions caused a script to exit. Fix this by using a real 'if' instead of the [ a ] && b syntax. Also, fix the vim modeline :) Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-03-09Fix status display functionsAllan McRae1
The status display functions were returning the opposite of what they should have been. Also made cosmetic changes to the output. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2008-12-23Add some simple status display functionsAaron Griffin1
This is useful for displaying daemon status in functions like /etc/rc.d/$DAEMON status Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>