mkpk

Систем за управљање пакетима који користи mk из система Plan9
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 919e94b6109a73df2f816eb8ece46f042b0229ef
родитељ 1d5fb298f8d7adb465c07e040ca0dbd41175ba8f
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sat, 29 Apr 2023 03:54:42 +0200

Rollback on mkpk.in, mkpk upgrade mkpk fix part 3

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

Diffstat:
M.gitignore | 1-
Mconfig.mk | 2+-
Mmkfile | 5+----
Amkpk | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dmkpk.in | 64----------------------------------------------------------------
измењених датотека: 5, додавања: 68(+), брисања: 70(-)

diff --git a/.gitignore b/.gitignore @@ -3,4 +3,3 @@ *.orig *.rej *.session -mkpk diff --git a/config.mk b/config.mk @@ -2,5 +2,5 @@ PREFIX=/ BINDIR=$DESTDIR/bin LIBDIR=$DESTDIR/lib/mkpk PKG=mkpk -PKGVER=0.1.15 +PKGVER=0.1.16 GZARGS=-9kf diff --git a/mkfile b/mkfile @@ -9,7 +9,7 @@ MKFILES= `{find lib -name '*.mk'} DOCS= README MAN8= mkpk.8.gz SCRIPTS= mkpk recent -JUNK= mkpk $MAN8 +JUNK= $MAN8 EXTRAFILES= $EXTRAFILES $PKGDB <lib/standard.mk @@ -23,6 +23,3 @@ preinstall:QV: printf " INST\t%s\n" "$mkfile" $INSTALL -Dm0644 "$mkfile" "$LIBDIR/${mkfile##*/}" done - -mkpk: mkpk.in config.mk - $SED 's/%PKGVER%/'$PKGVER'/g' mkpk.in > $target diff --git a/mkpk b/mkpk @@ -0,0 +1,66 @@ +#!/bin/sh + +usage() +{ + cat <<! >&2 +Usage: ${0##*/} [operation] [package] +operations: [ build | fetch | info | install | list | uninstall | update | upgrade ] +! +} + +error() +{ + local format=$1 args + shift + printf "%s: ${format}\n" "${0##*/}" $* >&2 + exit 1 +} + +if [ "$(id -u)" -ne 0 ]; then + case "$1" in + list|info|"") ;; + *) error "You must be root to $1";; + esac +fi +case "$1" in + update) ;; + *) if [ $# -lt 2 ]; then + usage + exit 1 + fi;; +esac + +command=$1 +package=$2 +version=$3 +mkpklib=${mkpklib:-/lib/mkpk} +MK=${MK:-/plan9/bin/mk} +eval $("${MK}" -f "${mkpklib}"/vars.mk mkpklib="${mkpklib}") + +files=defaults +case ${command} in + update) files=update;; + fetch) files=fetch;; + build) files=build;; + list) files=listfiles;; + info) files=info;; + install) files=install;; + upgrade) files="fetch build uninstall install";; + uninstall) files=uninstall;; + *) usage + exit 1;; +esac + +for file in $files +do + if [ "${package}" = "mkpk" ] && [ "${file}" = "uninstall" ]; then + eval $("${MK}" -f "${mkpklib}"/vars.mk mkpklib="${mkpklib}") + ln -sf "$(find ${SRCBASEDIR} -name 'mkpk-*' -type d -prune \ + | sed 's,'${SRCBASEDIR}'/,,g' | recent)" "${SRCBASEDIR}/mkpk" + mkpklib=${SRCBASEDIR}/mkpk/lib + RECENT=${SRCBASEDIR}/mkpk/recent + export mkpklib RECENT + fi + "${MK}" -f "${mkpklib}"/${file}.mk mkpklib="${mkpklib}" \ + PKGBASE="${package}" +done diff --git a/mkpk.in b/mkpk.in @@ -1,64 +0,0 @@ -#!/bin/sh - -usage() -{ - cat <<! >&2 -Usage: ${0##*/} [operation] [package] -operations: [ build | fetch | info | install | list | uninstall | update | upgrade ] -! -} - -error() -{ - local format=$1 args - shift - printf "%s: ${format}\n" "${0##*/}" $* >&2 - exit 1 -} - -if [ "$(id -u)" -ne 0 ]; then - case "$1" in - list|info|"") ;; - *) error "You must be root to $1";; - esac -fi -case "$1" in - update) ;; - *) if [ $# -lt 2 ]; then - usage - exit 1 - fi;; -esac - -command=$1 -package=$2 -version=$3 -mkpklib=${mkpklib:-/lib/mkpk} -MK=${MK:-/plan9/bin/mk} -eval $("${MK}" -f "${mkpklib}"/vars.mk mkpklib="${mkpklib}") - -files=defaults -case ${command} in - update) files=update;; - fetch) files=fetch;; - build) files=build;; - list) files=listfiles;; - info) files=info;; - install) files=install;; - upgrade) files="fetch build uninstall install";; - uninstall) files=uninstall;; - *) usage - exit 1;; -esac - -for file in $files -do - if [ "${package}" = "mkpk" ] && [ "${file}" = "uninstall" ]; then - eval $("${MK}" -f "${mkpklib}"/vars.mk mkpklib="${mkpklib}") - mkpklib=${SRCBASEDIR}/mkpk-%PKGVER%/lib - RECENT=${SRCBASEDIR}/mkpk-%PKGVER%/recent - export mkpklib RECENT - fi - "${MK}" -f "${mkpklib}"/${file}.mk mkpklib="${mkpklib}" \ - PKGBASE="${package}" -done