Age | Commit message (Collapse) | Author | Files |
|
|
|
|
|
|
|
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. :(
|
|
Use bash-style conditionals when setting up the hardware clock.
Trying to stick with POSIX syntax only just slows things down.
Bashify module loading in rc.sysinit.
bashify bringing up the loopback adaptor.
Simplify test to see if we should assemble arrays at startup
find has a builtin delete action. Use it instead of exec'ing rm.
Flatten adding persistent rules.
|
|
Shorten domainname conditional execution.
Use parameter expansion instead of dirname.
Clean up entropy pool saving and system clock saving.
Flatten LVM deactivation if block
|
|
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.
|
|
|
|
Change the daemon running loop to use a case statement.
This is shorter and easier to read.
Quote daemon names.
Someday, someone may have a daemon name with a space in it.
|
|
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.
|
|
All that extra checking for the first character being @ is not needed,
simple parameter expansion will trim it off if it is there.
|
|
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.
|
|
|
|
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.
|
|
Use findmnt command new in util-linux-ng 2.18 to make mtab
based on /proc/self/mountinfo. Otherwise use current method.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
(added a check whether /proc/self/mountinfo exists -- Thomas)
|
|
Setting NETWORK_PERSIST="yes" will skip network shutdown. This
is needed to cleanly halt or reboot the systemif your root device
is on NFS. It does not affect network profiles.
|
|
Our current process of initializing /etc/mtab is
hackish and probably error-prone, replace it by
simply copying /proc/mounts.
|
|
Creating the RTC device will result in an error if devtmpfs is used,
as it already exists after loading the module. The new code skips
the mknod if the device is already present.
Additionally to rtc-cmos, we now also try to load rtc and genrtc,
as some custom kernels use the "old" misc RTC device instead of
the newer RTC class. In this case, the created device is also
different. This should fix FS#18078.
|
|
This sets FSCK_STDERR to /dev/stdout, but still makes it possible
to override this behaviour in a hook.
|
|
To avoid message about busy filesystem.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
This is necessary as the new udev defaults to --action=change which
breaks network device renaming.
|
|
devtmpfs instead of tmpfs if supported by the kernel
|
|
We don't want fsck looking at any network device, and we would otherwise
check things like iSCSI devices during boot before the network was up. This
doesn't quite work.
Fixes FS#17887.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Fixes FS#19311, use POSIX compliant stdout/stderr redirection.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
See FS#18759 for more details.
Signed-off-by: Roman Kyrylych <roman@archlinux.org>
|
|
|
|
The cryptsetup binary will move to /sbin/cryptsetup and the static binary
will be removed. Add code that will try /sbin/cryptsetup first, then
/usr/sbin/cryptsetup and fall back to the old /sbin/cryptsetup.static
if everything else fails.
|
|
|
|
|
|
|
|
|
|
|
|
Kurt Bosch)
|
|
|
|
Kurt Bosch)
|
|
|
|
Signed-off-by: Roman Kyrylych <roman@archlinux.org>
|
|
This is an Arch initscripts original (commit 98c76a4), but is not actually
necessary for hwclock to operate correctly, so kill it. The file is created
automatically when `hwclock --systohc` is invoked.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
hwclock calls appear to block somewhere between 1 and 2 seconds when we have
back-to-back calls. My theory (without looking at the code) is that hwclock
has to synchronize to the 1 second intervals of the hardware clock, so it
can sometimes take up to a second to complete.
To get around this unpleasant behavior, we can background the calls at point
X in the boot sequence, and then later at point Y in the script (when we
absolutely need the clock actions to be complete), we wait on the
subprocess. This allows the rest of the boot sequence, after the hwclock
code block, to continue until the point where we wait on the subprocess.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
combination with the new udev-based device mapper node creation
|
|
after udev has settled
|
|
latest device-mapper rules
|
|
|
|
|
|
|
|
We use ": > /foo" in a few cases to truncate a file.
If noclobber happens to be set, this fails, so we'll
use bash's >| operator instead to force it
Suggested-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
This fixes an issue with mount.aufs which requires mtab to
be present and apparently will not create it on its own
See FS#16497
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Previous commit acac4f47597320f55995bdaf692d6f2335a1d67e
attempted to parse the name of the interface from the config
line, but neglected to check for "dhcp" config lines, in which
case the interface is the name
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|