summaryrefslogtreecommitdiffhomepage
path: root/subr.pkg/pkg_install_rpm.subr
diff options
context:
space:
mode:
authorLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-03-27 08:04:23 +0200
committerLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-03-27 08:04:23 +0200
commit938c5c45b976387ceea5792b0ce9717dd97667eb (patch)
treef0dfdb3728fe7b62aef4a395f24f8e66cf85d824 /subr.pkg/pkg_install_rpm.subr
parent0753bb40540d5f1754ddd508614b3b606e10bd93 (diff)
downloadmidipix_build-938c5c45b976387ceea5792b0ce9717dd97667eb.tar.bz2
midipix_build-938c5c45b976387ceea5792b0ce9717dd97667eb.tar.xz
Generalise subr.pkg/*.subr code.
Diffstat (limited to 'subr.pkg/pkg_install_rpm.subr')
-rw-r--r--subr.pkg/pkg_install_rpm.subr68
1 files changed, 16 insertions, 52 deletions
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;