From 938c5c45b976387ceea5792b0ce9717dd97667eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=ADa=20Andrea=20Illanes=20Albornoz?= Date: Mon, 27 Mar 2023 08:04:23 +0200 Subject: Generalise subr.pkg/*.subr code. --- subr.pkg/pkg_install_rpm.subr | 68 ++++++++++--------------------------------- 1 file changed, 16 insertions(+), 52 deletions(-) (limited to 'subr.pkg/pkg_install_rpm.subr') diff --git a/subr.pkg/pkg_install_rpm.subr b/subr.pkg/pkg_install_rpm.subr index fccdc7f0..ac3d4407 100644 --- a/subr.pkg/pkg_install_rpm.subr +++ b/subr.pkg/pkg_install_rpm.subr @@ -5,63 +5,27 @@ pkg_install_rpm() { local _pir_group_name="${1}" _pir_pkg_name="${2}" _pir_restart_at="${3}" \ - _pir_pkg_url="" _pir_pkg_version_full="" _pir_pkg_version_rpm="" \ - _pir_rc=0; + _pir_rc=0 _pir_url="" _pir_version="" _pir_version_rpm=""; if rtl_lmatch \$ARG_DIST "rpm" ","\ && [ "${PKG_RPM_DISABLE:-0}" -eq 0 ]\ && command which rpmbuild >/dev/null 2>&1; then - if [ "${PKG_URL:+1}" = 1 ]; then - _pir_pkg_url="${PKG_URL%% *}"; _pir_pkg_version_full="${PKG_VERSION}"; _pir_pkg_version_rpm="${PKG_VERSION%%-*}"; - elif [ "${PKG_URLS_GIT:+1}" = 1 ]; then - _pir_pkg_version_rpm="$(cd "${PKG_BASE_DIR}/${PKG_SUBDIR}" && git rev-parse HEAD)"; - _pir_pkg_version_full="${_pir_pkg_version_rpm} ($(cd "${PKG_BASE_DIR}/${PKG_SUBDIR}" && git rev-parse --abbrev-ref HEAD))"; - _pir_pkg_url="${PKG_URLS_GIT%% *}"; _pir_pkg_url="${_pir_pkg_url##*=}"; _pir_pkg_url="${_pir_pkg_url%%@*}"; - - if [ "${_pir_pkg_url#${DEFAULT_GITROOT_HEAD}}" != "${_pir_pkg_url}" ]; then - _pir_pkg_url="Unknown"; - fi; - fi; - - if ! rtl_fileop cp "${MIDIPIX_BUILD_PWD}/etc/package.spec" \ - "${PKG_BASE_DIR}/${PKG_NAME}-${_pir_pkg_version_rpm}.spec"; - then - return 1; - else - while true; do - rpmbuild \ - -bb \ - \ - --define "_binary_payload w2T16.xzdio" \ - \ - --define="_tmppath ${BUILD_WORKDIR}" \ - --define="_topdir ${PREFIX_RPM}/${PKG_NAME}-${_pir_pkg_version_rpm}" \ - --define="pkg_destdir ${PKG_DESTDIR}" \ - --define="pkg_name ${PKG_NAME}" \ - --define="pkg_url ${_pir_pkg_url}" \ - --define="pkg_version_full ${_pir_pkg_version_full}" \ - --define="pkg_version_rpm ${_pir_pkg_version_rpm}" \ - --nodeps "${PKG_BASE_DIR}/${PKG_NAME}-${_pir_pkg_version_rpm}.spec"; - _pir_rc="${?}"; - - if [ "${_pir_rc}" -eq 0 ]; then - break; - elif [ "${_pir_rc}" -eq 141 ]; then - continue; - else - return "${_pir_rc}"; - fi; - done; - - if ! find "${PREFIX_RPM}/${PKG_NAME}-${_pir_pkg_version_rpm}/RPMS" \ - -iname \*.rpm -exec cp -pP {} "${PREFIX_RPM}/" \; \ - || ! rtl_fileop rm "${PREFIX_RPM}/${PKG_NAME}-${_pir_pkg_version_rpm}" \ - || ! rtl_fileop cp "${PKG_BASE_DIR}/${PKG_NAME}-${_pir_pkg_version_rpm}.spec" "${PREFIX_RPM}/"; - then - return 1; - fi; - fi; + ex_rtl_expand_rpm_version \ + \$_pir_url \$_pir_version \$_pir_version_rpm \ + "${PKG_BASE_DIR}/${PKG_SUBDIR}" \ + "${PKG_URL:-}" "${DEFAULT_GITROOT_HEAD}" "${PKG_URLS_GIT:-}" \ + "${PKG_VERSION:-}" || return 1; + ex_rtl_build_rpm \ + "${PKG_DESTDIR}" \ + "${PKG_NAME}" \ + "${PREFIX_RPM}" \ + "${MIDIPIX_BUILD_PWD}/etc/package.spec" \ + "${PKG_BASE_DIR}/${PKG_NAME}-${_pir_version_rpm}.spec" \ + "${BUILD_WORKDIR}" \ + "${PREFIX_RPM}/${PKG_NAME}-${_pir_version_rpm}" \ + "${_pir_url}" \ + "${_pir_version}" "${_pir_version_rpm}" || return 1; fi; return 0; -- cgit v1.2.3