table

Помоћни програм из командне линије за форматирање и приказ CSV-а
git clone https://git.sr.ht/~strahinja/table
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 8b25384116d7e4667b7a07bc80639bc2a2b02ef8
родитељ bf11072a011350ec55d244bee7fd3946af474794
Аутор: Страхиња Радић <sr@strahinja.org>
Датум:   Tue, 17 Mar 2026 11:58:17 +0100

lib/make{date,version}: Add die,exists; test for presence of diff(1)

Diffstat:
Mlib/makedate | 19++++++++++++++++---
Mlib/makeversion | 23++++++++++++++++++-----
измењених датотека: 2, додавања: 34(+), брисања: 8(-)

diff --git a/lib/makedate b/lib/makedate @@ -4,9 +4,20 @@ FALLBACKDATE=${FALLBACKDATE:-unknown} LC_ALL=C export LC_ALL +die() +{ + printf "%s\n" "$@" >&2 + exit 1 +} + +exists() +{ + command -v $* >/dev/null 2>&1 +} + getent() { - if command -v getent >/dev/null 2>&1; then + if exists getent; then command getent "$@" return fi @@ -22,7 +33,9 @@ getent() esac } -if [ -d .got ] && command -v got >/dev/null 2>&1; then +exists diff || die "The build script $0 requires diff(1), none found" + +if [ -d .got ] && exists got; then got log | awk ' /^date: / { @@ -43,7 +56,7 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then print month_names[$2] " " $3 ", " $5 exit }' >date.new -elif [ -d .git ] && command -v git >/dev/null 2>&1; then +elif [ -d .git ] && exists git; then user=$(getent passwd "$(unalias ls >/dev/null 2>&1 || true; \ command ls -nd . | awk '{print $3}')" | awk -F: '{print $1}') if [ -z "$user" ]; then diff --git a/lib/makeversion b/lib/makeversion @@ -1,10 +1,23 @@ #!/bin/sh -x # vim: set ft=bash: FALLBACKVER=${FALLBACKVER:-unknown} +LC_ALL=C +export LC_ALL + +die() +{ + printf "%s\n" "$@" >&2 + exit 1 +} + +exists() +{ + command -v $* >/dev/null 2>&1 +} getent() { - if command -v getent >/dev/null 2>&1; then + if exists getent; then command getent "$@" return fi @@ -20,7 +33,9 @@ getent() esac } -if [ -d .got ] && command -v got >/dev/null 2>&1; then +exists diff || die "The build script $0 requires diff(1), none found" + +if [ -d .got ] && exists got; then lastcommit=$(got log | awk '/^commit/ {print substr($2,1,7); exit}') got tag -l | @@ -48,9 +63,7 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then } printf "\n" }' >version.new -elif [ -d .git ] && command -v git >/dev/null 2>&1; then - LC_ALL=C - export LC_ALL +elif [ -d .git ] && exists git; then user=$(getent passwd "$(unalias ls >/dev/null 2>&1 || true; \ command ls -nd . | awk '{print $3}')" | awk -F: '{print $1}') if [ -z "$user" ]; then