aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorHadrien Lacour <hadrien.lacour@posteo.net>2018-03-31 13:39:01 -0700
committerBrian Dolbec <dolsen@gentoo.org>2022-07-09 12:29:48 -0700
commitb22f6af5e32950859390dc2efd0379c572258bda (patch)
tree5f58a4d6a89523f81244753ef172a0f565a0a9f8 /bin
parentequery: run black (diff)
downloadgentoolkit-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-xbin/revdep-rebuild.sh28
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
}