slw2gmi

Конвертор из slweb-а у Џемини
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување b11e0523ee070ac339d1d4260a72e893c339dd37
родитељ e91d7d02cf91a38a8c5f4e1b5d45950fb071d3bb
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Thu, 17 Aug 2023 12:15:31 +0200

Avoid stat in redo scripts; clean.do: Add version.h; default.h.do: Remove file;
slw2gmi.c: Add date to version output

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Mclean.do | 2+-
Mdate.do | 13++++++++-----
Ddefault.h.do | 12------------
Mslw2gmi.c | 2+-
Mversion.do | 9++++++---
измењених датотека: 5, додавања: 16(+), брисања: 22(-)

diff --git a/clean.do b/clean.do @@ -1,2 +1,2 @@ redo-always -rm -f slw2gmi slw2gmi.1 slw2gmi.1.gz *.o *~ version date *.pdf +rm -f slw2gmi slw2gmi.1 slw2gmi.1.gz *.o *~ version.h version date *.pdf diff --git a/date.do b/date.do @@ -1,13 +1,16 @@ FALLBACKDATE=${FALLBACKDATE:-unknown} -user=$(stat -c %U .) -e_user=$(id -un) +user=$(unalias ls >/dev/null 2>&1 || true; \ + LC_ALL=C command ls -nd . | LC_ALL=C awk '{print $3}') +e_user=$(id -u) +user_s=$(LC_ALL=C awk 'BEGIN{FS=":"}{if ($3=="'$user'") { print $1}}' \ + </etc/passwd) if [ -d .git ] && command -v git >/dev/null 2>&1; then if [ "$e_user" = "$user" ]; then env LC_ALL=C git log --format=format:%cd \ - --date=format:"%d %b %Y" -1 @ >$3 + --date=format:"%B %d, %Y" -1 @ >$3 else - su "${user}" -c 'env LC_ALL=C git log --format=format:%cd '\ -'--date=format:"%d %b %Y" -1 @' >$3 + su "${user_s}" -c 'env LC_ALL=C git log --format=format:%cd '\ +'--date=format:"%B %d, %Y" -1 @' >$3 fi echo >>$3 else diff --git a/default.h.do b/default.h.do @@ -1,12 +0,0 @@ -if [ -r $1.in ]; then - redo-ifchange $1.in version date - read VERSION <version - read DATE <date - sed -e "s/%VERSION%/$VERSION/g" \ - -e "s/%DATE%/$DATE/g" <$1.in -else - if [ -f $2.def.h ]; then - redo-ifchange $2.def.h - cat $2.def.h > $3 - fi -fi diff --git a/slw2gmi.c b/slw2gmi.c @@ -97,7 +97,7 @@ static int incdir_only_summary = 0; int version() { - printf("%s %s\n", PROGRAMNAME, VERSION); + printf("%s %s, committed on %s\n", PROGRAMNAME, VERSION, DATE); return 0; } diff --git a/version.do b/version.do @@ -1,11 +1,14 @@ FALLBACKVER=${FALLBACKVER:-unknown} -user=$(stat -c %U .) -e_user=$(id -un) +user=$(unalias ls >/dev/null 2>&1 || true; \ + LC_ALL=C command ls -nd . | LC_ALL=C awk '{print $3}') +e_user=$(id -u) +user_s=$(LC_ALL=C awk 'BEGIN{FS=":"}{if ($3=="'$user'") { print $1}}' \ + </etc/passwd) if [ -d .git ] && command -v git >/dev/null 2>&1; then if [ "$e_user" = "$user" ]; then git describe 2>/dev/null | sed 's/^v//' >$3 else - su "${user}" -c 'git describe' 2>/dev/null | sed 's/^v//' >$3 + su "${user_s}" -c 'git describe' 2>/dev/null | sed 's/^v//' >$3 fi else echo $FALLBACKVER >$3