summaryrefslogtreecommitdiffstats
path: root/functions
AgeCommit message (Collapse)AuthorFilesLines
2011-06-16functions: remove add_deviceDave Reisner1-17/+0
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>
2011-06-16functions: refactor add_moduleDave Reisner1-31/+33
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>
2011-06-16functions: cleanup and refactor add_binaryDave Reisner1-33/+19
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>
2011-06-16Fix detection of not compressed modulesSebastien Luttringer1-1/+1
Function all_modules() doesn't correctly detect module extension. It's a one char removing patch. Signed-off-by: Sebastien Luttringer <seblu@seblu.net>
2011-06-07functions: refactor checked modulesDave Reisner1-8/+3
Do a single grep to compare the contents of the module file (if exists) against the results of all_modules for the provided arguments. If there's no module file, this is still just pass through to all_modules. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07functions: refactor all_modulesDave Reisner1-4/+8
sanitize and print during module discovery. We also strip path names during this process and null terminate path names for safety. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-06functions: refactor auto_modulesDave Reisner1-9/+6
sort/uniq the modaliases files' contents, before passing _all_ of them to modprobe -a. This cuts back on execution time as well as cleaning up the resulting list of modules. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-01-31Keep an array of added modules to prevent expensive lookupsDan McGee1-5/+8
This saves a find and grep call for every module that is added more than once, which can lead to significant savings in image generation time. Generating a fallback image went from 80 seconds to 60 seconds after this patch. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Add bash in_array functionDan McGee1-0/+15
This is what we currently use in makepkg for the same purpose. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Short circuit add module if it already exists in imageDan McGee1-1/+6
Rather than go through all the hoops, check if the module has already been added by looking for its file path and skip the addition early if we can. This helps especially in modules with many recursive dependencies, and is most noticable when generating a full image with many modules. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Use new helper functions instead of system commandsDan McGee1-13/+15
Replace all of the repeated calls to dirname and basename with our new replacments. Also replace the 'grep ... /dev/null' idiom with calls to 'grep -q', which does exactly what we want. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Use new get_module_name functionDan McGee1-7/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Add new helper functionsDan McGee1-0/+22
Replace common behavior we had in some other places with get_module_name, and add some basename/dirname replacements done in bash to avoid the forks for the number of times we call these functions. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Move output functions to top of functions fileDan McGee1-4/+3
This makes a bit more organizational sense to keep these first before we dive into the more complicated functions. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-25Support .ko.gz kernel modules, in addition to .koThomas Bächler1-4/+6
We used to expect only .ko as a kernel module name. Also accept .ko.gz, so we can reduce the installed size of the kernel26 package.
2010-06-19sed cleanupJan Steffens1-4/+4
Replace some seds with tr and bash pattern removal
2010-06-19Implement explicit module dependsJan Steffens1-5/+14
Needed to get libcrc32c and therefore btrfs to work. Also remove the equivalent section in autodetect, which wasn't working anyway.
2010-01-24Use modprobe --resolve-alias for resolving aliases in autodetect as Arch's ↵Thomas Bächler1-1/+1
udev 150-1 removes resolve-modalias
2010-01-12Fix adding duplicate symlinks into the cpio imageThomas Bächler1-1/+1
2009-08-05Do not rely on -L test; use -h instead.Loui Chang1-1/+1
See `man dash` Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-08-05Eliminate bashisms so things work in dash.Loui Chang1-1/+1
Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-05-24'added firmware parsing to add_modules #14783'0.5.24Tobias Powalowski1-1/+6
2009-05-23'added symlinks to add_binary fixes #7999'Tobias Powalowski1-1/+1
2009-04-08Improve modalias parsing lineAaron Griffin1-1/+1
Replace find-exec syntax, using + instead of \; This is faster (executes cat for all files instead of once for each file found). IMPORTANT: This also has the added benefit of fixing a bash 4.0 bug where $(find ... -exec ... \;) fails hard. Ugh Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-01-23Revert BASEDIR and dest changes0.5.23Aaron Griffin1-3/+8
These changes are potential breakers and we are not fully prepared to test them, nor are they fully usable just yet. Revert for now. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-01-23Fix a dash/underscore module name issueAaron Griffin1-3/+4
This was introduced with the switch to resolve-modalias Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-01-21Use BASEDIR for adding binaries and dependent libsAaron Griffin1-2/+2
Hook's BINARIES settings were being copied from the parent if using an alternate BASEDIR. This should fix that Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-01-21Remove 'dest' logic from add_binaryAaron Griffin1-6/+1
This was never used and has no potential to be used. Just delete it. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-01-21Use udev's resolve-modalias in place of modprobeAaron Griffin1-2/+5
This fixes issues with module resolving AND makes us run a bit faster Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2008-05-14Fix a bug in -v output, introduced in the coding style cleanupThomas Bächler1-1/+1
2008-03-16Fix a potential bug due to a wrong find callThomas Bächler1-1/+1
2008-03-16Fix various coding style issuesThomas Bächler1-11/+11
2008-03-15Fix trap call, always call cleanupThomas Bächler1-1/+1
2007-11-03Fix Archlinux bug #8490, HAS_MODULES was only set if a dependency ofThomas Bächler1-1/+1
a module is found, not for the module itself.
2007-08-11Coding style change, use -n and -z for variable testsAaron Griffin1-10/+10
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com> git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@209 880c04e9-e011-0410-abf7-b926e227c9cd
2007-05-12- adjusted all hooks for new modprobe pathThomas Bächler1-0/+11
- added compatibility symlink /bin/modprobe - 0.5.14 release git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@206 880c04e9-e011-0410-abf7-b926e227c9cd
2007-05-12- fix a bug with BINARIES= (also accept shared objects, not only executables)Thomas Bächler1-3/+3
- fix some bugs introduced by phrakture (could you be more careful?) git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@204 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-142007-03-14 Jan Peter den Heijer <jpdenheijer@gmail.com>Aaron Griffin1-1/+1
* mkinitcpio/functions (add_dir) remove existing dir check before adding git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@203 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-02Absolute paths for modinfo and modprobe, as /sbin may not be in everyone's pathAaron Griffin1-2/+2
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@197 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-01Fix the "Loading root filesystem module...-e" buggy outputAaron Griffin1-1/+1
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@196 880c04e9-e011-0410-abf7-b926e227c9cd
2007-02-12Test existance before adding directories, as per bug #5245Aaron Griffin1-3/+3
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@195 880c04e9-e011-0410-abf7-b926e227c9cd
2006-12-07- worked around "libata not added" bug. this needs to be looked at carefullyThomas Bächler1-1/+1
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@189 880c04e9-e011-0410-abf7-b926e227c9cd
2006-09-11Minor fixes from bug #5245Aaron Griffin1-3/+4
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@166 880c04e9-e011-0410-abf7-b926e227c9cd
2006-07-18'fixed dir creation for symlinks in other dirs'Tobias Powalowski1-0/+1
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@132 880c04e9-e011-0410-abf7-b926e227c9cd
2006-07-17symlink fixAaron Griffin1-1/+1
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@131 880c04e9-e011-0410-abf7-b926e227c9cd
2006-06-16add_full_dir to dump an entire dir into initramfsAaron Griffin1-0/+13
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@130 880c04e9-e011-0410-abf7-b926e227c9cd
2006-06-05git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@120 ↵Aaron Griffin1-8/+5
880c04e9-e011-0410-abf7-b926e227c9cd
2006-06-01Fix for add_bin function, without destination paramAaron Griffin1-3/+8
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@118 880c04e9-e011-0410-abf7-b926e227c9cd
2006-05-26Moved udev hook/install to udev packageAaron Griffin1-2/+2
Added destination name for add_binary git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@116 880c04e9-e011-0410-abf7-b926e227c9cd
2006-05-11Fix add_file directory parsing when using -b (base dir)Aaron Griffin1-0/+3
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@96 880c04e9-e011-0410-abf7-b926e227c9cd