чување 509991278a01b7205ec08eb02f43548663a6a2a8
родитељ e39c1451a8d4428763d1d88ae6e4aae8555cc5c8
Аутор: Страхиња Радић <sr@strahinja.org>
Датум: Mon, 6 Oct 2025 08:57:46 +0200
lib/make{date,version}: Propagate from sled
Diffstat:
измењених датотека: 2, додавања: 30(+), брисања: 8(-)
diff --git a/lib/makedate b/lib/makedate
@@ -9,12 +9,29 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then
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 -lnd . | 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
@@ -4,13 +4,13 @@ FALLBACKVER=${FALLBACKVER:-unknown}
if [ -d .got ] && command -v got >/dev/null 2>&1; then
lastcommit=$(got log |
- awk '/^commit/ {print substr($2,1,9); exit}')
+ awk '/^commit/ {print substr($2,1,7); exit}')
got tag -l |
awk -v lastcommit="$lastcommit" '
/^object: commit/ {
if (!lasttagcom)
{
- lasttagcom = substr($3,1,9)
+ lasttagcom = substr($3,1,7)
}
next
}
@@ -28,17 +28,22 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then
{
printf "-g%s", lastcommit
}
+ printf "\n"
}' >version.new
elif [ -d .git ] && command -v git >/dev/null 2>&1; then
LC_ALL=C
export LC_ALL
- 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 -lnd . | 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 describe 2>/dev/null | sed 's/^v//' >version.new
else
- su "${user}" -c 'git describe' 2>/dev/null |
+ su "$user" -c 'git describe' 2>/dev/null |
sed 's/^v//' >version.new
fi
else