From 1a8c01d4a9bab4fa24e163cda94f93963be241e6 Mon Sep 17 00:00:00 2001 From: Zero_Chaos Date: Wed, 19 Nov 2014 18:15:44 +0000 Subject: [PATCH] scripts: improve threading of bug script --- scripts/bug-461824.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/bug-461824.sh b/scripts/bug-461824.sh index 02602a61f..b0f0e57a0 100755 --- a/scripts/bug-461824.sh +++ b/scripts/bug-461824.sh @@ -1,10 +1,19 @@ #!/bin/bash #work around for detecting and fixing bug #461824 -CORES="$(grep -c ^proc /proc/cpuinfo)" -if [[ "${CORES}" -eq "0" ]] ; then CORES="1" ; fi +#CORES="$(grep -c ^proc /proc/cpuinfo)" +#if [[ "${CORES}" -eq "0" ]] ; then CORES="1" ; fi -fgrep -r _portage_reinstall_ /etc {/usr,}/{*bin,lib*} | fgrep -v doebuild > /tmp/urfuct.txt +rm -f /tmp/urfuct.txt /tmp/badpkg_us.txt /tmp/badpkg.txt + +for dir in /etc {/usr,}/{*bin,lib*}; +do + fgrep -r _portage_reinstall_ $dir | fgrep -v doebuild >> /tmp/urfuct.txt & + WAITPIDS="$WAITPIDS "$! +done +wait $WAITPIDS + +#fgrep -r _portage_reinstall_ /etc {/usr,}/{*bin,lib*} | fgrep -v doebuild > /tmp/urfuct.txt #find /etc {/usr,}/{*bin,lib*} -type f | xargs -P ${CORES} fgrep '_portage_rebuild_' | fgrep -v doebuild > /tmp/urfuct.txt if [ -n "$(cat /tmp/urfuct.txt)" ]; then for badhit in $(cat /tmp/urfuct.txt) ; do @@ -12,6 +21,6 @@ if [ -n "$(cat /tmp/urfuct.txt)" ]; then done qfile -C -f /tmp/badfiles.txt | cut -d' ' -f1 >> /tmp/badpkg_us.txt cat /tmp/badpkg_us.txt | sort -u > /tmp/badpkg.txt - emerge -1 --buildpkg=y --nodeps $(cat /tmp/badpkg.txt) || /bin/bash + emerge -1 --buildpkg=y --nodeps $(cat /tmp/badpkg.txt) rm -f /tmp/urfuct.txt /tmp/badfiles.txt /tmp/badpkg_us.txt /tmp/badpkg.txt fi