Fix uniqueness check of initrd in fedora-minimal

The check suffered from various flaws.

First, due to missing quotes around $initrd, 'wc -l' would always see
1 line no matter how many results the find returned.

Second, echo adds a line break making 'wc -l' count 1 even for empty
string. We need to add a check for empty string.

Change-Id: Ib2c67960f566dbdc471d9585a4cef1beb1cc38ab
Closes-Bug: #1506692
This commit is contained in:
Martin André 2015-10-16 11:11:14 +09:00 committed by Ian Wienand
parent 449b4e205e
commit d8a0e13261

View File

@ -9,7 +9,7 @@ set -o pipefail
initrd=$(find /boot -name initrd) initrd=$(find /boot -name initrd)
kernel_version=$(rpm -qa | grep kernel | sort | head -n 1 | cut -d '-' -f 2,3) kernel_version=$(rpm -qa | grep kernel | sort | head -n 1 | cut -d '-' -f 2,3)
if [ "$(echo $initrd | wc -l)" -eq 1 ]; then if [ -n "$initrd" -a $(echo "$initrd" | wc -l) -eq 1 ]; then
cp $initrd /boot/initrd-$kernel_version.img cp $initrd /boot/initrd-$kernel_version.img
else else
echo "Zero or multiple initrds found. This should not happen." echo "Zero or multiple initrds found. This should not happen."