diff options
Diffstat (limited to 'vars.dist/dist_zipdist.vars')
-rw-r--r-- | vars.dist/dist_zipdist.vars | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/vars.dist/dist_zipdist.vars b/vars.dist/dist_zipdist.vars new file mode 100644 index 00000000..51e8dad0 --- /dev/null +++ b/vars.dist/dist_zipdist.vars @@ -0,0 +1,72 @@ +# +# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 LucĂa Andrea Illanes Albornoz <lucia@luciaillanes.de> +# 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; + + ex_pkg_dispatch_send "msg_pkg" "dist" "dist_zipdist" "${MSG_zipdist_begin}"; + rtl_log_msgV "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_msgV "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; + + ex_pkg_dispatch_send "msg_pkg" "dist" "dist_zipdist" "${MSG_zipdist_finished}"; + rtl_log_msgV "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 + ex_pkg_dispatch_send "msg_pkg" "dist" "dist_zipdist" "${MSG_zipdist_signing}"; + rtl_log_msgV "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; + + ex_pkg_dispatch_send "msg_pkg" "dist" "dist_zipdist" "${MSG_zipdist_signed}"; + rtl_log_msgV "zipdist" "${MSG_zipdist_signed}"; + fi; + + ex_pkg_dispatch_send "step" "${_pdza_group_name}" "${_pdza_pkg_name}" "finish"; + ex_pkg_state_set "${_pdza_pkg_name}" "finish"; + + return 0; +}; + +# vim:filetype=sh textwidth=0 |