pack: Update with latest, more versatile version - scripts - various script and utils
HTML git clone git://z3bra.org/scripts
DIR Log
DIR Files
DIR Refs
---
DIR commit 5a91b75eb90e6069d0ebb8ae5ad3061cf9bdfcb7
DIR parent ad357d6bf774f8fe765ecdf9162d81eed89bcf09
HTML Author: Willy Goiffon <dev@z3bra.org>
Date: Thu, 20 Aug 2026 22:09:05 +0000
pack: Update with latest, more versatile version
Diffstat:
M pack | 71 ++++++++++++++++++-------------
1 file changed, 42 insertions(+), 29 deletions(-)
---
DIR diff --git a/pack b/pack
@@ -1,40 +1,53 @@
#!/bin/sh
-SICKKEY=$HOME/.sick.d/$USER.key
-DIR=$(basename `pwd`)
-TAG=$(git tag | sed -n '$p' | tr -d a-z)
-REPO=$HOME/data/repository
+set -e
-#prefix=/usr/local
+if [ -f got.conf ]; then
+ b=~/build/$(basename $PWD .git)
+ [ ! -d $b ] && got checkout $PWD $b
+ cd $b
+fi
-CONFIGURE_OPT="
---prefix=${prefix}
---mandir=/share/man
-"
+d=$(basename $PWD)
+n=${d%%-*}
+tag=${d#*-}
+[ "$tag" = "$n" ] && tag=""
-PKG=${1:-$DIR}
-VER=${TAG:-0.0}
+got_tag() {
+ base=$(got info|sed -rn 's/.*base commit: ([a-f0-9]{10}).*/\1/p')
+ got tag -ls|grep "commit:$base"|cut -d: -f2|cut -d' ' -f2|tr -d vV:
+}
-MK=make
+[ -d .git ] && tag=$(git describe --abbrev=0 --tags|tr -d vV:)
+[ -d .got ] && tag=$(got_tag)
-test -f mkfile && MK=mk
+v="${tag:-0.0}"
+t="${n}@${v}.tbz"
-case $MK in
- make) MAKEFLAGS="-e" ;;
- *) MAKEFLAGS="" ;;
-esac
+export PREFIX=/usr/local
+export MANPREFIX=${PREFIX}/man
+export MANDIR=${MANPREFIX}
+export DESTDIR=$(mktemp -d)
-mkdir /tmp/rootfs
-test -f configure && ./configure $CONFIGURE_OPT
-$MK $MAKEFLAGS PREFIX="$prefix"
-$MK $MAKEFLAGS DESTDIR=/tmp/rootfs PREFIX="$prefix" MANDIR=/share/man install
-(
- cd /tmp/rootfs
- mkdir -p $REPO
- tar cvj * | sick -asf ${SICKKEY} > $REPO/${PKG}@${VER}.tbz
-)
-rm -rf /tmp/rootfs
+trap 'rm -rf $DESTDIR' EXIT QUIT INT TERM
+
+# configure
+[ -f ./autogen.sh ] && ./autogen.sh
+[ -f ./configure ] && ./configure --prefix=$PREFIX --mandir=$MANDIR "$@"
+[ -f ./meson.build ] && meson _ --prefix=$PREFIX --mandir=$MANDIR --libdir=lib "$@"
+
+# build / install
+if [ -f ./mkfile ]; then mk PREFIX=$PREFIX MANPREFIX=$MANPREFIX MANDIR=$MANDIR DESTDIR=$DESTDIR install
+elif [ -f ./[mM]akefile ]; then make PREFIX=$PREFIX MANPREFIX=$MANPREFIX MANDIR=$MANDIR DESTDIR=$DESTDIR install
+elif [ -f ./GNUmakefile ]; then make PREFIX=$PREFIX MANPREFIX=$MANPREFIX MANDIR=$MANDIR DESTDIR=$DESTDIR install
+elif [ -f _/build.ninja ]; then DESTDIR=$DESTDIR ninja -C _ install
+elif [ -f ./build.zig ]; then zig build --prefix "$PREFIX" install
+elif [ -f ./Cargo.toml ]; then cargo install --path . --root "${DESTDIR}${PREFIX}"
+fi
+
+(cd "$DESTDIR"; tar -cvj *) > /tmp/$t
+
+printf '\n\t> %s\n' $(readlink -f /tmp/$t)
echo
-#ls $REPO/${PKG}@${VER}.tbz
-repogen $REPO
+doas pm -avf /tmp/$t