diff options
author | 2018-03-31 13:39:01 -0700 | |
---|---|---|
committer | 2022-07-09 12:29:48 -0700 | |
commit | b22f6af5e32950859390dc2efd0379c572258bda (patch) | |
tree | 5f58a4d6a89523f81244753ef172a0f565a0a9f8 /bin | |
parent | equery: run black (diff) | |
download | gentoolkit-b22f6af5e32950859390dc2efd0379c572258bda.tar.gz gentoolkit-b22f6af5e32950859390dc2efd0379c572258bda.tar.bz2 gentoolkit-b22f6af5e32950859390dc2efd0379c572258bda.zip |
revdep-rebuild.sh: use awk instead of gawk
Bug: https://bugs.gentoo.org/652078
Signed-off-by: Zac Medico <zmedico@gentoo.org>
Closes: https://github.com/gentoo/gentoolkit/pull/6
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/revdep-rebuild.sh | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/bin/revdep-rebuild.sh b/bin/revdep-rebuild.sh index 633701e..5fecf97 100755 --- a/bin/revdep-rebuild.sh +++ b/bin/revdep-rebuild.sh @@ -235,9 +235,19 @@ countdown() { # Replace whitespace with linebreaks, normalize repeated '/' chars, and sort -u # (If any libs have whitespace in their filenames, someone needs punishment.) clean_var() { - gawk 'BEGIN {RS="[[:space:]]"} - /-\*/ {exit} - /[^[:space:]]/ {gsub(/\/\/+/, "/"); print}' | sort -u + awk ' + BEGIN {FS = "[[:space:]]"} + + { + for(i = 1; i <= NF; ++i) { + if($i ~ /-\*/) + exit + else if($i){ + gsub(/\/\/+/, "/", $i) + print $i + } + } + }' | sort -u } ## # Exit and optionally output to sterr @@ -805,8 +815,8 @@ main_checks() { # Look for symbol not defined errors if grep -vF "${LD_LIBRARY_MASK:=$'\a'}" <<< "$ldd_output" | grep -q -E 'symbol .* not defined'; then - message=$(gawk '/symbol .* not defined/ {NF--; print $0}' <<< "$ldd_output") - broken_lib=$(gawk '/symbol .* not defined/ {print $NF}' <<< "$ldd_output" | \ + message=$(awk '/symbol .* not defined/ {ORS = FS; for(i = 1; i < NF; ++i) print $i; printf "\n"}' <<< "$ldd_output") + broken_lib=$(awk '/symbol .* not defined/ {print $NF}' <<< "$ldd_output" | \ sed 's/[()]//g') echo "obj $broken_lib" >> "$BROKEN_FILE" echo_v " broken $broken_lib ($message)" @@ -820,7 +830,7 @@ main_checks() { *) if grep -vF "${LD_LIBRARY_MASK:=$'\a'}" <<< "$ldd_output" | grep -q -F 'undefined symbol:'; then - message=$(gawk '/undefined symbol:/ {print $3}' <<< "$ldd_output") + message=$(awk '/undefined symbol:/ {print $3}' <<< "$ldd_output") message="${message//$'\n'/ }" echo "obj $target_file" >> "$BROKEN_FILE" echo_v " broken $target_file (undefined symbols(s): $message)" @@ -835,7 +845,7 @@ main_checks() { la_broken="" la_lib="" for depend in $( - gawk -F"[=']" '/^dependency_libs/{ + awk -F"[=']" '/^dependency_libs/{ print $3 }' "$target_file" ); do @@ -876,7 +886,7 @@ main_checks() { done < <( # Regexify LD_LIBRARY_MASK. Exclude it from the search. LD_LIBRARY_MASK="${LD_LIBRARY_MASK//$'\n'/|}" - gawk -v ldmask="(${LD_LIBRARY_MASK//./\\\\.})" ' + awk -v ldmask="(${LD_LIBRARY_MASK//./\\\\.})" ' /no version information available/ && $0 !~ ldmask { gsub(/[()]/, "", $NF) if (seen[$NF]++) next @@ -1068,7 +1078,7 @@ show_unowned_files() { ewarn "The broken files are:" while read filename junk; do [[ $junk = *none* ]] && ewarn " $filename" - done < "$OWNERS_FILE" | gawk '!s[$0]++' # (omit dupes) + done < "$OWNERS_FILE" | awk '!s[$0]++' # (omit dupes) fi } |