dracut/0011-dracut-functions.sh-dr...

78 lines
3.3 KiB
Diff

From 73575f11a9255704643b47ad0494cd2aabdce04c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Sat, 30 Jun 2012 11:34:13 +0200
Subject: [PATCH] dracut-functions.sh,dracut.sh: use xargs with "-r"
---
dracut-functions.sh | 17 ++++++++---------
dracut.sh | 2 +-
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index cd9426e..80b022f 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1197,7 +1197,7 @@ dracut_kernel_post() {
local _moddirname=${srcmods%%/lib/modules/*}
if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && [[ -f "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" ]]; then
- xargs modprobe -a ${_moddirname+-d ${_moddirname}/} --ignore-install --show-depends \
+ xargs -r modprobe -a ${_moddirname+-d ${_moddirname}/} --ignore-install --show-depends \
< "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" 2>/dev/null \
| sort -u \
| while read _cmd _modpath _options; do
@@ -1206,8 +1206,8 @@ dracut_kernel_post() {
done > "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
(
- if [[ -x $DRACUT_INSTALL ]] && [[ -z $_moddirname ]]; then
- xargs $DRACUT_INSTALL ${initdir+-D "$initdir"} -a < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
+ if [[ $DRACUT_INSTALL ]] && [[ -z $_moddirname ]]; then
+ xargs -r $DRACUT_INSTALL ${initdir+-D "$initdir"} -a < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
else
while read _modpath; do
local _destpath=$_modpath
@@ -1218,16 +1218,15 @@ dracut_kernel_post() {
fi
) &
-
- if [[ -x $DRACUT_INSTALL ]]; then
- xargs modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" \
+ if [[ $DRACUT_INSTALL ]]; then
+ xargs -r modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" \
| while read line; do
for _fwdir in $fw_dir; do
echo $_fwdir/$line;
done;
- done |xargs $DRACUT_INSTALL ${initdir+-D "$initdir"} -a -o
+ done | xargs -r $DRACUT_INSTALL ${initdir+-D "$initdir"} -a -o
else
- for _fw in $(xargs modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"); do
+ for _fw in $(xargs -r modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"); do
for _fwdir in $fw_dir; do
if [[ -d $_fwdir && -f $_fwdir/$_fw ]]; then
inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw"
@@ -1273,7 +1272,7 @@ find_kernel_modules_by_path () (
IFS=$_OLDIFS
else
( cd /sys/module; echo *; ) \
- | xargs modinfo -F filename -k $kernel 2>/dev/null
+ | xargs -r modinfo -F filename -k $kernel 2>/dev/null
fi
return 0
)
diff --git a/dracut.sh b/dracut.sh
index c4562e6..7ca3e8d 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -879,7 +879,7 @@ if [[ $do_strip = yes ]] ; then
find "$initdir" -type f \
'(' -perm -0100 -or -perm -0010 -or -perm -0001 \
-or -path '*/lib/modules/*.ko' ')' -print0 \
- | xargs -0 strip -g 2>/dev/null
+ | xargs -r -0 strip -g 2>/dev/null
dinfo "*** Stripping files done ***"
fi