cookutils annotate modules/precheck @ rev 1116

cook, modules/precheck: provide CATEGORY="nopack"; modules/pack: improve variables handling; modules/postcheck: display badge "old" both with any other badges
:
CATEGORY="nopack" is useful in the case, for example, when receipt called "libappindicator" but we want to produce only two sub-packages: "libappindicator-gtk2" and "libappindicator-gtk3" and don't want to pack "libappindicator".
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Dec 17 01:16:27 2018 +0200 (2018-12-17)
parents f92f75dce828
children
rev   line source
al@1012 1 #!/bin/sh
al@1012 2 #
al@1012 3 # precheck - module of the SliTaz Cook
paul@1014 4 # Preliminary checks of the receipt made before the beginning of work.
al@1012 5 # Copyright (C) SliTaz GNU/Linux - GNU GPL v3
al@1012 6 #
al@1012 7
al@1012 8 . /usr/lib/slitaz/libcook.sh
al@1012 9
al@1019 10 # Return immediately if QA is not used
al@1019 11 [ -n "$QA" ] || return 0
al@1012 12
al@1012 13 receipt="$(realpath $1)"
al@1012 14
al@1012 15 _ 'QA: checking package receipt...'
al@1012 16
al@1012 17 for var in PACKAGE VERSION CATEGORY SHORT_DESC MAINTAINER WEB_SITE; do
al@1012 18 unset value
al@1012 19 value="$(. $receipt; eval echo \$$var)"
al@1012 20 # L10n: QA is quality assurance
al@1012 21 [ -n "$value" ] || die 'QA: empty variable: %s' "$var=\"\""
al@1012 22
al@1012 23 case "$var" in
al@1012 24 CATEGORY)
al@1116 25 valid="$(echo $PKGS_CATEGORIES nopack)" # avoid newlines
al@1012 26 if ! echo " $valid " | grep -q " $value "; then
al@1019 27 newline
al@1012 28 _ 'QA: unknown category "%s"' "$value"
al@1019 29 longline "Please, use one of: $valid"
al@1019 30 die
al@1012 31 fi
al@1012 32 ;;
al@1012 33 WEB_SITE)
al@1012 34 # We don't check WGET_URL since if dl is needed it will fail.
al@1012 35 # Break also if we're not online. Here error is not fatal.
al@1012 36 if ifconfig | grep -A1 '^[a-z]*[0-9]' | fgrep -q 'addr:' &&
al@1012 37 ! busybox wget -T 12 --spider $value 2>/dev/null; then
al@1012 38 _ 'QA: unable to reach "%s"' "$value"
al@1012 39 fi
al@1012 40 ;;
al@1012 41 esac
al@1012 42 done