mkpk

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

чување 1cd81f3773da45c1f1f4a6a5b1b90135a4ea15a8
родитељ 5da1cf6f8f4cb394f810e7326f976a2ea6cf8987
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Thu,  4 Aug 2022 11:50:02 +0200

Also handle archive based on pkgdb.tsv for list operation

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

Diffstat:
Mlib/listfiles.mk | 16+++++++++++-----
измењених датотека: 1, додавања: 11(+), брисања: 5(-)

diff --git a/lib/listfiles.mk b/lib/listfiles.mk @@ -1,11 +1,17 @@ <$mkpklib/defaults.mk listfiles:QV: - recentver=$(find ${PKGDIR}/ -type f -prune -name "${PKGBASE}-*.tar.xz" \ - | sed 's,\([^0-9]\+[^-]-\)\+\([0-9].*\)\.tar\.xz,\2,' | recent) - if [ -z "${recentver}" ]; then - printf "Cannot find package %s" "$PKGBASE" >&2 + record=$(grep "^${PKGBASE}\t" "${PKGDB}" 2>/dev/null) + if [ -z "${record}" ]; then + printf "Package %s is not installed\n" "${PKGBASE}" >&2 + exit 1 + fi + ver=$(echo "${record}" | cut -f2) + if [ -z "${ver}" ]; then + printf "Corrupted record for %s in %s\n" \ + "${PKGBASE}" "${PKGDB}" >&2 + exit 1 else - pkg=${PKGDIR}/${PKGBASE}-${recentver}.tar.xz + pkg=${PKGDIR}/${PKGBASE}-${ver}.tar.xz xz -dc "${pkg}" | tar -tf - fi