Age | Commit message (Collapse) | Author | Files | Lines |
|
Inspired by the PKGBUILD included with the initscripts repo
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
It would be better to catch errors in build as well, but this isn't
entirely feasible due to the expectation of some builtins to return
non-zero during normal operations (e.g., read returns 1 on EOF).
Addresses FS#20661
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Judging by the blamestat, I think I've earned this.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Display an actual error message for the user when they enter an
incorrect option, or neglect to provide $OPTARG when needed.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
These don't really serve a purpose and might actually munge a test for
an unset var. Declare vars as we need them, substituing with default
expansions where possible.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
We were never very consistent about this anyways.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is no longer used, as all of our module discovery functions will
return clean module names.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
* Create only the directories that are necessary. If others are
needed, they'll be created along the way. As part of this, we create
/new_root sooner in init, so it's less jarring to the user if they
request a break.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
alphabetize the usage while we're at it
|
|
Write directly to the build root rather than creating temp files to be
added later on. Also cleanup syntax to Bash standards.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This requires some refactoring of how we handle TMPDIR declaration and
creation, as well as protecting the way we do cleanup so that we don't
error out when cleanup is called prior to TMPDIR being declared.
We also add a shortcut to the build root based on the TMPDIR for
convenience.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
mostly consists of syntax changes in the hook parsing loop.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Always use bash's [[ ]], and apply (( )) where arithmetic calculations
are made. We also take a few other bash shortcuts to simplify code where
possible.
We also touch the Makefile here to adjust the sed'ing for directory
names.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Since we intentionally word split these variables, a variable containing
only white space will never trigger us to iterate on each for loop.
Therefore, the existance check is superfluous as it will always pass.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
We don't need to add the destination directory -- we can assume this
will always be added by another function. We also ignore $BASEDIR as we
will never be passing in a path that contains a $BASEDIR so we don't
want to erroenous trim a path.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Output style and coloring is borrowed from makepkg with minor
adjustments. Most instances where we encounter fatal errors are replaced
with a 'die' function to wrap this up neatly. In addition, we introduce
the -n flag, for no-color.
As a side effect, we need to source the functions file earlier so we
have the output functions available earlier.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
We shouldn't guess at what the user does and doesn't want, but rather
verify after parsing that what we have is sane. Also, remove the
default case label, as this will never be met.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This addresses a few issues with creation of images with a $BASEDIR, the
most alarming that images would always be created on the real root
filesystem, with no regard for any supplied base directory. This also
cleans up some repetitive path declaration wrt BASEDIR and MODULEDIR.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
We also consolidate our empty variable declarations in mkinitcpio with a
simple declare.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This also adds a /bin/bash shebang to functions. While not technically
necessary, this ensures that vim gives us the correct syntax highlight
file.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This mainly consists of removing all traces of eval and building the
options into an array instead a simple variable. We also make sure that
the SCRIPT var is unset, as it may be populated during hook processing.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This should all lead to easier maintenance.
* use git-archive to create the tarball, appending DIST_EXTRA to the
tarball afterwards.
* use commonly defined variables such as ${RM}
* always use install, rather than cp to ensure proper permissions
* functionize creation of directories
* add .PHONY targets
* combined commands wherever possible
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
update the example.preset to show this syntax as an alternative
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Properly detect symlinks using the -L shell test, resolving and
recursing on discovery. This results in removing a lot of extraneous
variable declarations and code.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is a departure from using gen_init_cpio, which proved to be a huge
bottleneck in performance. Tests for existance change from being a call
to grep, to a simple shell test.
In the process, we have to modify the behavior of the -s option, and we
lose the -a option.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is never used by anything in the official repos. Kill it with
fire.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This was only ever used in the base layout, and it's not needed.
devices will be present if we're using devtmpfs, and created for us by
init if we mount on tmpfs.
Also, this is part of our move towards using bsdcpio instead of
gen_init_cpio, and as a side effect we can no longer support this. Any
devices that need to be created should be done so by the runtime hooks,
not the install time hooks.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Simplify and fix a few bugs in the process. We rely solely on modinfo
for obtaining information about module location, dependencies and
firmware. Add a small wrapper function for modinfo that will always
specify our $BASEDIR and $KERNELVERSION for us.
Also, kill off HAS_MODULES. Since we have ADDED_MODULES, which contains
all currently added modules, we can count the elements in this when it
comes time to decide to create depmod files.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Modify the sed filter to remove PIC addresses and ignore the first line
which will always be the vdso. Also remove the tls filter, as glibc has
had threaded support mainlined for many years now. If a user has a glibc
this old, we don't have support for them elsewhere (udev, kernel).
We also cleanup the logical flow through this function and remove a lot
of cruft that would always return true, or that didn't quite make sense.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This should be set via the loglevel= parameter on the kernel cmdline.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is an unfortunate name clash with a common utility and should be
avoided. Rename the install function to 'build' and warn the user when
we discover a hook using an 'install' function.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
'raid' is the old deprecated hook name, which no longer exists. mdadm is
the proper name.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is harmless when it fails, but it might alarm users.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
|
|
|
|
Function all_modules() doesn't correctly detect module extension.
It's a one char removing patch.
Signed-off-by: Sebastien Luttringer <seblu@seblu.net>
|
|
|
|
devtmpfs is not used.
|
|
We preserve TERM, but everything else can be destroyed from the
environment. Without preserving TERM, the value is reset to 'dumb' in
userspace, and we get false readings by the initscripts on terminal
capabilities.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
/sys/class/block contains all of our block devices, including the
partitions of each parent block device, so directly check for the
existance of the dev file rather than looping.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
use blkid to resolve a tag name to a block device.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|