From cb8ac0e9b4361300320fa0ef335ea47942a874a5 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Mon, 30 Nov 2020 07:42:58 -0600 Subject: kernel-5.10.0-0.rc6.90 * Mon Nov 30 2020 Fedora Kernel Team [5.10.0-0.rc6.90] - Temporarily backout parallel xz script ("Justin M. Forbes") - build_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) - genspec.sh: Fix syntax flagged by shellcheck (Ben Crocker) - ark-rebase-patches.sh: Fix for shellcheck (Ben Crocker) - ark-create-release.sh: Fix syntax flagged by shellcheck (Ben Crocker) - merge-subtrees.sh: Fix syntax flagged by shellcheck (Ben Crocker) - rh-dist-git.sh: Fix syntax flagged by shellcheck (Ben Crocker) - update_scripts.sh: Fix syntax flagged by shellcheck (Ben Crocker) - x86_rngd.sh: Fix syntax flagged by shellcheck (Ben Crocker) - parallel_xz.sh: Fix syntax flagged by shellcheck (Ben Crocker) - expand_srpm.sh: Fix syntax flagged by shellcheck (Ben Crocker) - create-tarball.sh: Fix syntax flagged by shellcheck (Ben Crocker) - generate_bls_conf.sh: Fix syntax flagged by shellcheck (Ben Crocker) - clone_tree.sh: Fix syntax flagged by shellcheck (Ben Crocker) - new_release.sh: Fix syntax flagged by shellcheck (Ben Crocker) - download_cross.sh: Fix syntax flagged by shellcheck (Ben Crocker) - create_distgit_changelog.sh: Fix syntax flagged by shellcheck (Ben Crocker) - generate_cross_report.sh: Fix syntax flagged by shellcheck (Ben Crocker) - run_kabi-dw.sh: Fix syntax flagged by shellcheck (Ben Crocker) - mod-blacklist.sh: Fix syntax flagged by shellcheck (Ben Crocker) - scripts/configdiff.sh: Fix syntax flagged by shellcheck (Ben Crocker) - self-test/0001-shellcheck.bats: check for shellcheck (Ben Crocker) - self-test/1001-rpmlint.bats, 1003-rpminspect.bats (Ben Crocker) - Makefile, Makefile.common, egit.sh, 1005-dist-dump-variables.bats (Ben Crocker) - Add GIT macro to Makefile and Makefile.common: (Ben Crocker) Resolves: rhbz# Signed-off-by: Justin M. Forbes --- mod-blacklist.sh | 76 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 36 deletions(-) (limited to 'mod-blacklist.sh') diff --git a/mod-blacklist.sh b/mod-blacklist.sh index f2f801b5e..e8797659e 100755 --- a/mod-blacklist.sh +++ b/mod-blacklist.sh @@ -1,4 +1,5 @@ #! /bin/bash +# shellcheck disable=SC2164 RpmDir=$1 ModDir=$2 @@ -24,9 +25,9 @@ __EOF__ check_blacklist() { - mod=$(find $RpmDir/$ModDir -name "$1") + mod=$(find "$RpmDir/$ModDir" -name "$1") [ ! "$mod" ] && return 0 - if modinfo $mod | grep -q '^alias:\s\+net-'; then + if modinfo "$mod" | grep -q '^alias:\s\+net-'; then mod="${1##*/}" mod="${mod%.ko*}" echo "$mod has an alias that allows auto-loading. Blacklisting." @@ -37,7 +38,7 @@ check_blacklist() find_depends() { dep=$1 - depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"` + depends=$(modinfo "$dep" | sed -n -e "/^depends/ s/^depends:[ \t]*//p") [ -z "$depends" ] && exit for mod in ${depends//,/ } do @@ -45,14 +46,14 @@ find_depends() [ -z "$match" ] && continue # check if the module we are looking at is in mod-* too. # if so we do not need to mark the dep as required. - mod2=${dep##*/} # same as `basename $dep`, but faster + mod2=${dep##*/} # same as $(basename $dep), but faster match2=$(grep "^$mod2" "$ListName") if [ -n "$match2" ] then #echo $mod2 >> notreq.list continue fi - echo $mod.ko >> req.list + echo "$mod".ko >> req.list done } @@ -60,11 +61,11 @@ foreachp() { P=$(nproc) bgcount=0 - while read mod; do + while read -r mod; do $1 "$mod" & bgcount=$((bgcount + 1)) - if [ $bgcount -eq $P ]; then + if [ $bgcount -eq "$P" ]; then wait -n bgcount=$((bgcount - 1)) fi @@ -76,12 +77,12 @@ foreachp() # Destination was specified on the command line test -n "$4" && echo "$0: Override Destination $Dest has been specified." -pushd $Dir +pushd "$Dir" -OverrideDir=$(basename $List) +OverrideDir=$(basename "$List") OverrideDir=${OverrideDir%.*} OverrideDir=${OverrideDir#*-} -mkdir -p $OverrideDir +mkdir -p "$OverrideDir" rm -rf modnames find . -name "*.ko" -type f > modnames @@ -94,7 +95,8 @@ cp "$List" . # This variable needs to be exported because it is used in sub-script # executed by xargs -export ListName=$(basename "$List") +ListName=$(basename "$List") +export ListName foreachp find_depends < modnames @@ -102,25 +104,25 @@ sort -u req.list > req2.list sort -u "$ListName" > modules2.list join -v 1 modules2.list req2.list > modules3.list -for mod in $(cat modules3.list) +while IFS= read -r mod do - # get the path for the module - modpath=`grep /$mod modnames` - [ -z "$modpath" ] && continue - echo $modpath >> dep.list -done + # get the path for the module + modpath=$(grep /"$mod" modnames) + [ -z "$modpath" ] && continue + echo "$modpath" >> dep.list +done < modules3.list sort -u dep.list > dep2.list if [ -n "$Dest" ]; then - # now move the modules into the $Dest directory - for mod in `cat dep2.list` - do - newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"` - mkdir -p $newpath - mv $mod $newpath - echo $mod | sed -e "s/kernel\\//$Dest\//" | sed -e "s|^.|${ModDir}|g" >> $RpmDir/$ListName - done + # now move the modules into the $Dest directory + while IFS= read -r mod + do + newpath=$(dirname "$mod" | sed -e "s/kernel\\//$Dest\//") + mkdir -p "$newpath" + mv "$mod" "$newpath" + echo "$mod" | sed -e "s/kernel\\//$Dest\//" | sed -e "s|^.|${ModDir}|g" >> "$RpmDir"/"$ListName" + done < dep2.list fi popd @@ -130,31 +132,33 @@ popd # target doesn't try to sign a non-existent file. This is kinda ugly, but # so are the modules-* packages. -for mod in `cat ${Dir}/dep2.list` +while IFS= read -r mod do - modfile=`basename $mod | sed -e 's/.ko/.mod/'` - rm .tmp_versions/$modfile -done + modfile=$(basename "$mod" | sed -e 's/.ko/.mod/') + rm .tmp_versions/"$modfile" +done < "$Dir"/dep2.list -if [ ! -n "$Dest" ]; then - sed -e "s|^.|${ModDir}|g" ${Dir}/dep2.list > $RpmDir/$ListName +if [ -z "$Dest" ]; then + sed -e "s|^.|${ModDir}|g" "$Dir"/dep2.list > "$RpmDir/$ListName" echo "./$RpmDir/$ListName created." [ -d "$RpmDir/etc/modprobe.d/" ] || mkdir -p "$RpmDir/etc/modprobe.d/" - foreachp check_blacklist < $List + foreachp check_blacklist < "$List" fi # Many BIOS-es export a PNP-id which causes the floppy driver to autoload # even though most modern systems don't have a 3.5" floppy driver anymore # this replaces the old die_floppy_die.patch which removed the PNP-id from # the module -if [ -f $RpmDir/$ModDir/extra/drivers/block/floppy.ko* ]; then - blacklist "floppy" + +floppylist=("$RpmDir"/"$ModDir"/extra/drivers/block/floppy.ko*) +if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then + blacklist "floppy" fi # avoid an empty kernel-extra package -echo "$ModDir/$OverrideDir" >> $RpmDir/$ListName +echo "$ModDir/$OverrideDir" >> "$RpmDir/$ListName" -pushd $Dir +pushd "$Dir" rm modnames dep.list dep2.list req.list req2.list rm "$ListName" modules2.list modules3.list popd -- cgit