#
# set +o errexit -o noglob -o nounset is assumed.
#
pkg_dist_zipdist_all() {
local _pdza_group_name="${1}" _pdza_pkg_name="${2}" _pdza_restart_at="${3}" \
_pdza_dist_fname="" _pdza_pkg_name="" _pdza_pkglist_fname="${PREFIX}/pkglist.native";
if ! rtl_lmatch \$ARG_DIST "zipdist" ","; then
return 0;
fi;
echo "msg_pkg dist dist_zipdist ${MSG_zipdist_begin}" >&3;
rtl_log_msg "zipdist" "${MSG_zipdist_begin}";
for _pdza_pkg_name in $(cat "${_pdza_pkglist_fname}"); do
if [ ! -e "${BUILD_WORKDIR}/${_pdza_pkg_name}-native-${DEFAULT_TARGET}" ]; then
rtl_log_msg "fatalexit" "${MSG_zipdist_missing_pkg_build_dir}" "${_pdza_pkg_name}";
fi;
done;
_pdza_dist_fname="${DEFAULT_ZIPDIST_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.zip";
if [ -e "${BUILD_WORKDIR}/zipdist" ]\
&& ! rtl_fileop rm "${BUILD_WORKDIR}/zipdist"; then
return 1;
elif ! rtl_fileop mkdir "${BUILD_WORKDIR}/zipdist"; then
return 1;
elif ! "${BUILD_WORKDIR}/mpackage/mpackage.sh" \
--defroot="${DEFAULT_ZIPDIST_DEFROOT}" \
--flysyms \
--minroot="${PREFIX_MINIPIX}" \
--objroot="${BUILD_WORKDIR}" \
--pkgroot="${BUILD_WORKDIR}/zipdist/pkgroot" \
--product=Midipix \
--subset="${_pdza_pkglist_fname}" \
--symbols \
--sysroot="${BUILD_WORKDIR}/zipdist/sysroot" \
--target="${DEFAULT_TARGET}" \
--tmproot="${BUILD_WORKDIR}/zipdist/tmproot" \
--zipfile="${PREFIX}/${_pdza_dist_fname}"; then
return 1;
fi;
echo "msg_pkg dist dist_zipdist ${MSG_zipdist_finished}" >&3;
rtl_log_msg "zipdist" "${MSG_zipdist_finished}";
if [ "${DEFAULT_ZIPDIST_SIGN_GPG_KEY:+}" = 1 ]\
&& command which gpg >/dev/null 2>&1\
&& gpg --list-keys "${DEFAULT_ZIPDIST_SIGN_GPG_KEY}" >/dev/null 2>&1;
then
echo "msg_pkg dist dist_zipdist ${MSG_zipdist_signing}" >&3;
rtl_log_msg "zipdist" "${MSG_zipdist_signing}";
if ! gpg --armor --passphrase-file /dev/null \
--local-user "${DEFAULT_ZIPDIST_SIGN_GPG_KEY}" \
--sign "${PREFIX}/${_pdza_dist_fname}"; then
return 1;
fi;
echo "msg_pkg dist dist_zipdist ${MSG_zipdist_signed}" >&3;
rtl_log_msg "zipdist" "${MSG_zipdist_signed}";
fi;
return 0;
};
# vim:filetype=sh