чување eb31ac3d6a115a95bb3b5f73d466bf85e4553c26
родитељ ea650e7127fb322695d72c3d428af7355d46a87b
Аутор: Страхиња Радић <sr@strahinja.org>
Датум: Thu, 5 Feb 2026 20:47:59 +0100
lib: Synchronize build scripts with other projects
Diffstat:
измењених датотека: 2, додавања: 57(+), брисања: 4(-)
diff --git a/lib/makedate b/lib/makedate
@@ -4,17 +4,52 @@ FALLBACKDATE=${FALLBACKDATE:-unknown}
LC_ALL=C
export LC_ALL
+getent()
+{
+ if command -v getent >/dev/null 2>&1; then
+ command getent "$@"
+ return
+ fi
+ case "$1" in
+ passwd|group)
+ if [ -z "$2" ]; then
+ cat /etc/"$1"
+ else
+ awk -F: -vu="$2" '{ if ($3 == u) print }' /etc/"$1"
+ fi
+ ;;
+ *) ;;
+ esac
+}
+
if [ -d .got ] && command -v got >/dev/null 2>&1; then
got log |
awk '
/^date: / {
sub(/^date: /,"",$0)
- print $2 " " $3 ", " $5
+ # Convert to proper form for `mandoc -Tlint`
+ month_names["Jan"] = "January"
+ month_names["Feb"] = "February"
+ month_names["Mar"] = "March"
+ month_names["Apr"] = "April"
+ month_names["May"] = "May"
+ month_names["Jun"] = "June"
+ month_names["Jul"] = "July"
+ month_names["Aug"] = "August"
+ month_names["Sep"] = "September"
+ month_names["Oct"] = "October"
+ month_names["Nov"] = "November"
+ month_names["Dec"] = "December"
+ print month_names[$2] " " $3 ", " $5
exit
}' >date.new
elif [ -d .git ] && command -v git >/dev/null 2>&1; then
- user=$(unalias ls >/dev/null 2>&1 || true; \
- command ls -ld . | awk '{print $3}')
+ user=$(getent passwd "$(unalias ls >/dev/null 2>&1 || true; \
+ command ls -nd . | awk '{print $3}')" | awk -F: '{print $1}')
+ if [ -z "$user" ]; then
+ printf "$0: error: Cannot determine owner of %s" "$(pwd)" >&2
+ exit 1
+ fi
e_user=$(id -un)
if [ "$e_user" = "$user" ]; then
git log --format=format:%cd \
diff --git a/lib/makeversion b/lib/makeversion
@@ -2,6 +2,24 @@
# vim: set ft=bash:
FALLBACKVER=${FALLBACKVER:-unknown}
+getent()
+{
+ if command -v getent >/dev/null 2>&1; then
+ command getent "$@"
+ return
+ fi
+ case "$1" in
+ passwd|group)
+ if [ -z "$2" ]; then
+ cat /etc/"$1"
+ else
+ awk -F: -vu="$2" '{ if ($3 == u) print }' /etc/"$1"
+ fi
+ ;;
+ *) ;;
+ esac
+}
+
if [ -d .got ] && command -v got >/dev/null 2>&1; then
lastcommit=$(got log |
awk '/^commit/ {print substr($2,1,7); exit}')
@@ -34,7 +52,7 @@ elif [ -d .git ] && command -v git >/dev/null 2>&1; then
LC_ALL=C
export LC_ALL
user=$(getent passwd "$(unalias ls >/dev/null 2>&1 || true; \
- command ls -lnd . | awk '{print $3}')" | awk -F: '{print $1}')
+ command ls -nd . | awk '{print $3}')" | awk -F: '{print $1}')
if [ -z "$user" ]; then
printf "$0: error: Cannot determine owner of %s" "$(pwd)" >&2
exit 1