# use a function to be neutral with other fragments
function 01_setup_pkg_revision() {
# BASH_SOURCE can't be used as this fragment is concatenated in a larger script
local THIS=meta-agl/templates/base/01_setup_pkg_revision.sh
# RPMREVISION and LOCALCONF must be set previously in the setup script
[[ -z "$RPMREVISION" || -z "$LOCALCONF" ]] && return 0
echo "INFO: using RPM revision schema $RPMREVISION"
cat <<EOF >> $LOCALCONF
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# fragment {
# generated by $THIS "$RPMREVISION"
#
EOF
case "$RPMREVISION" in
prservice*)
[[ $RPMREVISION =~ ^prservice(:([^ \t\n]+))?$ ]] && {
echo "PRSERV_HOST ?= \"${BASH_REMATCH[2]:-localhost:0}\"" >> $LOCALCONF
} || {
echo "ERROR ($THIS): invalid address specified for PR Service"
return 1
}
;;
timestamp)
AGL_PR=$(date --utc '+%Y%m%d.%H%M%S')
cat <<'EOF' >> $LOCALCONF
# to re-generate AGL_PR the same way as aglsetup does, run:
# echo "AGL_PR ?= \"$(date --utc '+%Y%m%d.%H%M%S')\""
EOF
echo "AGL_PR ?= \"${AGL_PR}\"" >> $LOCALCONF;
cat <<'EOF' >> $LOCALCONF
PKGR = "${PR}${EXTENDPRAUTO}.${AGL_PR}"
PKGV = "${@ '${PV}'.replace('AUTOINC','${AGL_PR}')}"
BB_HASHBASE_WHITELIST_append = " PKGR PKGV"
EOF
;;
value:*)
echo "AGL_PR ?= \"${RPMREVISION#value:}\"" >> $LOCALCONF;
cat <<'EOF' >> $LOCALCONF
PKGR = "${PR}${EXTENDPRAUTO}.${AGL_PR}"
PKGV = "${@ '${PV}'.replace('AUTOINC','${AGL_PR}')}"
BB_HASHBASE_WHITELIST_append = " PKGR PKGV"
EOF
;;
none)
# do nothing
;;
*)
echo "ERROR ($THIS): unknown package revision method '$REVISION'"
return 1
;;
esac
cat <<'EOF' >> $LOCALCONF
#
# }
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
EOF
}
01_setup_pkg_revision