diff --git a/abuild.in b/abuild.in index 8c628e2..0807e41 100755 --- a/abuild.in +++ b/abuild.in @@ -573,10 +573,21 @@ mkusers() { # helper to update config.sub to a recent version update_config_sub() { + local myver=$("$datadir"/config.sub -t | tr -d '-') + local changed=false find . -name config.sub | while read f; do - msg "Replacing ${f##*/}" - cp "$datadir"/${f##*/} "$f" || return 1 + local ver=$(./"$f" -t | tr -d '-') + if [ "$myver" -gt "$ver" ]; then + msg "Updating $f ($myver > $ver)" + cp "$datadir"/${f##*/} "$f" || return 1 + changed=true + else + msg "Not updating newer $f" + fi + # pipe subshell will return status of last command + $changed done + return $? } runpart() {