diff options
author | Dave Reisner <dreisner@archlinux.org> | 2011-08-07 16:17:01 +0200 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2011-09-27 12:18:04 +0200 |
commit | 84226d26c065b3c1eb6f2dcf551f416d284278d5 (patch) | |
tree | 585bc83d383930e3b3bc08e315d5376be523b55c | |
parent | 111abbd9fcab6b50ee43329f19560b674c6ac97f (diff) | |
download | mkinitcpio-84226d26c065b3c1eb6f2dcf551f416d284278d5.tar.gz mkinitcpio-84226d26c065b3c1eb6f2dcf551f416d284278d5.tar.xz |
functions: specify the delimiter to xargs
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>
-rw-r--r-- | functions | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -117,7 +117,8 @@ auto_modules() { IFS=$'\n' read -rd '' -a mods < \ <(find /sys/devices -name modalias -exec sort -u {} + | - xargs modprobe -d "$BASEDIR" -aRS "$KERNELVERSION" | + # delimit each input by a newline, expanded in place + xargs -d $'\n' modprobe -d "$BASEDIR" -aRS "$KERNELVERSION" | sort -u) printf "%s\n" "${mods[@]//-/_}" |