Init, adding corrade,magnum,magnum-plugins,magnum-integration,magnum-extras, and magnum-examples 2025.47_1
This commit is contained in:
113
common/scripts/lint-version-change
Executable file
113
common/scripts/lint-version-change
Executable file
@@ -0,0 +1,113 @@
|
||||
#!/bin/sh
|
||||
|
||||
# when $3 is empty, template is read from working directory
|
||||
template="$1" base_rev="$2" tip_rev="$3"
|
||||
status=0
|
||||
|
||||
die() {
|
||||
printf '%s\n' "$*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if ! [ "$base_rev" ]; then
|
||||
die "usage: $0 TEMPLATE BASE-REVISION [TIP-REVISION]"
|
||||
fi
|
||||
|
||||
if ! command -v git >/dev/null 2>&1; then
|
||||
die "neither chroot-git nor git could be found"
|
||||
fi
|
||||
|
||||
scan() {
|
||||
rx="$1" msg="$2"
|
||||
template_path=$template
|
||||
maybe_git=
|
||||
if [ "$tip_rev" ]; then
|
||||
template_path="${tip_rev}:${template}"
|
||||
maybe_git="git"
|
||||
revspec="[^:]*:"
|
||||
fi
|
||||
$maybe_git grep -P -Hn -e "$rx" "$template_path" |
|
||||
grep -v -P -e "[^:]*:[^:]*:\s*#" |
|
||||
sed "s/^${revspec}\([^:]*:[^:]*:\)\(.*\)/\1 $msg/"
|
||||
}
|
||||
|
||||
show_template() {
|
||||
rev="$1"
|
||||
if [ "$rev" ]; then
|
||||
git cat-file blob "${rev}:${template}" 2>/dev/null
|
||||
else
|
||||
cat "${template}" 2>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
show_template_var() {
|
||||
rev="$1" var="$2"
|
||||
(
|
||||
show_template "$rev"
|
||||
printf '%s\n' "printf '%s\\n' \"\$${var}\""
|
||||
) | bash 2>/dev/null
|
||||
}
|
||||
|
||||
revision_reset() {
|
||||
[ "${revision}" = 1 ] && return
|
||||
if [ "$prev_version" ]; then
|
||||
case "$prev_reverts" in
|
||||
*"$version"_*) return
|
||||
esac
|
||||
action=update
|
||||
else
|
||||
action=creation
|
||||
fi
|
||||
scan "^revision=" "revision should be set to 1 on ${action}"
|
||||
status=1
|
||||
}
|
||||
|
||||
reverts_on_downgrade() {
|
||||
[ "$version" ] || return
|
||||
case "$reverts" in
|
||||
*"$prev_version"_*) ;;
|
||||
*)
|
||||
scan "^version=" "missing reverts= for downgrade $prev_version to $version"
|
||||
status=1
|
||||
esac
|
||||
}
|
||||
|
||||
check_revert() {
|
||||
for vr in $reverts; do
|
||||
xbps-uhelper cmpver "${version}" "${vr%_*}"
|
||||
case "$?" in
|
||||
0 | 1)
|
||||
scan '^version=' "remove $vr from \$reverts"
|
||||
status=1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
for vr in $prev_reverts; do
|
||||
if ! xbps-uhelper cmpver "$version" "${vr%_*}"; then
|
||||
continue
|
||||
fi
|
||||
if [ $revision -gt "${vr##*_}" ]; then
|
||||
continue
|
||||
fi
|
||||
scan '^revision=' "undo a revert with same revision as before"
|
||||
status=1
|
||||
done
|
||||
}
|
||||
|
||||
version_change() {
|
||||
version="$(show_template_var "$tip_rev" version)"
|
||||
revision="$(show_template_var "$tip_rev" revision)"
|
||||
reverts="$(show_template_var "$tip_rev" reverts)"
|
||||
prev_version="$(show_template_var "$base_rev" version)"
|
||||
prev_reverts="$(show_template_var "$base_rev" reverts)"
|
||||
xbps-uhelper cmpver "$version" "$prev_version"
|
||||
case "$?" in
|
||||
1) revision_reset;;
|
||||
-1|255) reverts_on_downgrade;;
|
||||
esac
|
||||
check_revert
|
||||
}
|
||||
|
||||
version_change
|
||||
|
||||
exit $status
|
||||
Reference in New Issue
Block a user