Age | Commit message (Collapse) | Author | Files | Lines |
|
This is already done in initscripts so we mirror it here.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Add in 'premount' and 'postmount' as trigger conditions, but also leave
in the old 'y' value as a synonym for premount.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This avoids errors with process substitutions in chroots, among other
things. It's important that /proc be checked first as /etc/mtab might be
a link to /proc/self/mounts.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Instead of bailing entirely, throw an error, and ensure that we exit
with a non-zero status. The user might do something as simple as
misspell a hook name which may or may not prevent a useful image from
being created.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Avoids explosions if a user has no HOOKS in their config, as seen:
https://bbs.archlinux.org/viewtopic.php?pid=966344
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Also make sure that simple variables are declared as null strings.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Without specifying this, xargs will split arguments on whitespace as
well as newlines, and will interpret quoting and backslashes. When the
delimiter is specified, every character is taken literally and only the
given delimiter in honored.
This sidesteps issues with broken modalias files as evidenced by a
MacBookAir3,1 or the bbs thread below:
https://bbs.archlinux.org/viewtopic.php?pid=971853
Also fixes FS#25450.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
We used to do this, but it was lost somewhere along the way in fixing up
basedir support. Add in a 'pathlookup' function which can do a search
within any given basedir.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Make sure these are completely safe for user input. Use the same three
step process in both cases:
1) Strip any trailing slash
2) Trim the string according to base/dir request
3) Print the result, defaulting to / if step 2 yielded an empty string
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
We conditionally, but naively, add modules in some of our install hooks,
but the kernel may not have these. Note that these modules can fail
silently by detecting a '?' suffix on the module name. In conjunction with
this, the add_module function now takes a flag, -t or --try, which will
ignore module not found errors from modinfo. The config file will also
support this syntax.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
The doubled up leading slashes annoy me in the verbose output.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
No logical code changes -- this is purely a syntactical cleanup and
standardization across the build hooks along with ensuring that help
messages are wrapped to 80 columns or less. All hooks get the same
treatment, adhering to the following style:
#!/bin/bash
build() {
COMMANDS
}
help() {
cat <<HELPEOF
This is a help message.
HELPEOF
}
# vim: set ft=sh ts=4 sw=4 et:
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This is partially in response to FS#24685, which should hopefully cut
back on configuration duplication on non-sysvinit systems. This does,
however, also fix a bug with keymap/consolefont pulling the wrong
rc.conf when BASEDIR is not '/' or unset.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
* Provide support for uncompressed font files as well as compressed
* Avoiding using an unnecessary temp file
* Support $BASEDIR
* Warn when no font is found
* Only add the runtime hook if a font is added
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Since we no longer call _add_file from add_module, we lose our 'adding
file..' feedback on -v. Explicitly mention each module alongside
addition of the path/name to the associated arrays.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
|
|
Oops.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
* Assign a better $pkgver that will be more in line with released
versions. This means we can just provide this version and let pacman
upgrade.
* raise udev dependency to 171
|
|
For distribution, a VERSION file is written to and distributed for
storing the ref.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Broken in 491a99.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
These files will never be more than one line, and they're newline
delimited already. Moreover, adding the extra null delimiters appears to
do strange things in transit to modprobe.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
I've neglected to do this along the way and some options, such as -k or
-p now have additional behaviors that should be made known.
Now that basedir support is legit, add an example showing a possible
invocation.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This also removes a superfluous check on MODULEDIR, which is already
covered by get_kernver.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This should be performed first, to avoid false positives on any checks
that would have been previously done before we knew our BASEDIR was
valid. Remove usage of readlink here as well, and use pushd/pwd to
resolve. The final trimming of any trailing slash (which might be the
entire BASEDIR value) resolves an edge case bug where specifying a
BASEDIR that resolved to '/' would cause explosions in add_symlink.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
|
|
|
|
the for loop is already a NOOP when the haystack is empty, so it already
falls through to the return 1.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
when one is set to " "
|
|
build an array of paths to modules, and install them all at once with
mkdir -p and cp --parents. Cuts back on our major source of calls to
install(1).
This is a tad ugly in that it creates some amount of data duplication,
keeping an array of paths in addition to module names. However, turns
out to be a worthwhile tradeoff as merging the two datasets into one
results in the need for massive string trimming.
|
|
Mostly, this groups "private" functions together, separate from public
functions.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
There's no use case for us calling cleanup without exiting afterwards,
so we can simplify all of our cleanup;exit; calls into just cleanup.
This means our sighandler is no longer needed (it wasn't really, to
begin with), but we split it up to make sure we exit with a posix-ish
128+signum exit value.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This avoids an expensive stat call and some other unnecessary path
juggling.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Much to my chagrin, we're going back to using ldd directly, as it's
otherwise too difficult to account for odd setups, such as idiots
wanting to create multilib initramfs images, or more commonly -- a 64
bit kernel on a 32 bit userland. Fortunately, we don't suffer too large
a regression in speed compared to the previous implementation.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Cut back to a single call to modinfo, instead of 3, which yields roughly
a 30% decrease in execution time for a single run of add_module. This of
course varies by module but it's an overall win.
Suggested-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|