#
# set +o errexit -o noglob is assumed.
#
pkg_invariants_zipdist_all() {
local _dist_fname="" _pkg_name="" _pkglist_fname="${PREFIX}/pkglist.native";
if rtl_lmatch "${ARG_DIST}" "zipdist" ","; then
echo "msg_pkg invariants invariants_zipdist Building deployable distribution ZIP archive..." >&3;
rtl_log_msg info "Finished building deployable distribution ZIP archive.";
for _pkg_name in $(cat "${_pkglist_fname}"); do
if ! stat "${BUILD_WORKDIR}/${_pkg_name}-native-${DEFAULT_TARGET}" >/dev/null 2>&1; then
rtl_log_msg failexit "Error: missing package build directory for package \`${_pkg_name}'.";
fi;
done;
_dist_fname="${DEFAULT_ZIPDIST_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.zip";
if [ -e "${BUILD_WORKDIR}/zipdist" ]; then
rtl_fileop rm "${BUILD_WORKDIR}/zipdist";
fi;
rtl_fileop mkdir "${BUILD_WORKDIR}/zipdist";
"${BUILD_WORKDIR}/mpackage/mpackage.sh" \
--defroot="${DEFAULT_ZIPDIST_DEFROOT}" \
--flysyms \
--minroot="${PREFIX_MINIPIX}" \
--objroot="${BUILD_WORKDIR}" \
--pkgroot="${BUILD_WORKDIR}/zipdist/pkgroot" \
--product=Midipix \
--subset="${_pkglist_fname}" \
--symbols \
--sysroot="${BUILD_WORKDIR}/zipdist/sysroot" \
--target="${DEFAULT_TARGET}" \
--tmproot="${BUILD_WORKDIR}/zipdist/tmproot" \
--zipfile="${PREFIX}/${_dist_fname}";
echo "msg_pkg invariants invariants_zipdist Finished building deployable distribution ZIP archive." >&3;
rtl_log_msg info "Finished building deployable distribution ZIP archive.";
if [ -n "${DEFAULT_ZIPDIST_SIGN_GPG_KEY}" ]\
&& [ -x "$(which gpg 2>/dev/null)" ]\
&& gpg --list-keys "${DEFAULT_ZIPDIST_SIGN_GPG_KEY}" >/dev/null 2>&1; then
echo "msg_pkg invariants invariants_zipdist Signing deployable distribution ZIP archive..." >&3;
rtl_log_msg info "Signing deployable distribution ZIP archive...";
gpg --armor --passphrase-file /dev/null \
--local-user "${DEFAULT_ZIPDIST_SIGN_GPG_KEY}" \
--sign "${PREFIX}/${_dist_fname}";
echo "msg_pkg invariants invariants_zipdist Signed deployable distribution ZIP archive." >&3;
rtl_log_msg info "Signed deployable distribution ZIP archive.";
fi;
fi;
};
# vim:filetype=sh