summaryrefslogtreecommitdiffhomepage
path: root/subr/pkg_install_rpm.subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-02-25 17:26:03 +0000
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-02-25 17:26:03 +0000
commit2b85d0a1de9ec57aab6293163d9885d76a47035c (patch)
tree1af88e8d048a80a938eeb2f2ef755afb1db0d367 /subr/pkg_install_rpm.subr
parent3c8c5672d623aa069082cc9aad5af13fdd69a97a (diff)
downloadmidipix_build-2b85d0a1de9ec57aab6293163d9885d76a47035c.tar.bz2
midipix_build-2b85d0a1de9ec57aab6293163d9885d76a47035c.tar.xz
General cleanup, pt. I.
Diffstat (limited to 'subr/pkg_install_rpm.subr')
-rw-r--r--subr/pkg_install_rpm.subr82
1 files changed, 32 insertions, 50 deletions
diff --git a/subr/pkg_install_rpm.subr b/subr/pkg_install_rpm.subr
index 59667388..b3c939ab 100644
--- a/subr/pkg_install_rpm.subr
+++ b/subr/pkg_install_rpm.subr
@@ -1,69 +1,51 @@
#
-# set -o errexit -o noglob are assumed.
+# set +o errexit -o noglob is assumed.
#
pkg_install_rpm() {
- local _pkg_url="" _pkg_version_full="" _pkg_version_rpm="";
- if ex_rtl_lmatch "${ARG_DIST}" , rpm \
- && [ "${PKG_RPM_DISABLE:-0}" -eq 0 ] \
+ local _pkg_url="" _pkg_version_full="" _pkg_version_rpm="" _rc=0;
+ if ex_rtl_lmatch "${ARG_DIST}" "rpm" ","\
+ && [ "${PKG_RPM_DISABLE:-0}" -eq 0 ]\
&& [ -x "$(which rpmbuild 2>/dev/null)" ]; then
if [ -n "${PKG_URL}" ]; then
- _pkg_version_rpm="${PKG_VERSION%%-*}";
- _pkg_version_full="${PKG_VERSION}";
- _pkg_url="${PKG_URL}";
+ _pkg_url="${PKG_URL}"; _pkg_version_full="${PKG_VERSION}"; _pkg_version_rpm="${PKG_VERSION%%-*}";
elif [ -n "${PKG_URLS_GIT}" ]; then
_pkg_version_rpm="$(cd "${PKG_BASE_DIR}/${PKG_SUBDIR}" && git rev-parse HEAD)";
_pkg_version_full="${_pkg_version_rpm} ($(cd "${PKG_BASE_DIR}/${PKG_SUBDIR}" && git rev-parse --abbrev-ref HEAD))";
- _pkg_url="${PKG_URLS_GIT%% *}";
- _pkg_url="${_pkg_url##*=}"; _pkg_url="${_pkg_url%%@*}";
+ _pkg_url="${PKG_URLS_GIT%% *}"; _pkg_url="${_pkg_url##*=}"; _pkg_url="${_pkg_url%%@*}";
if [ "${_pkg_url#${DEFAULT_GITROOT_HEAD}}" != "${_pkg_url}" ]; then
_pkg_url="Unknown";
fi;
fi;
- cat > "${PKG_BASE_DIR}/${PKG_NAME}-${_pkg_version_rpm}.spec" <<EOF
-Name: ${PKG_NAME}
-Version: ${_pkg_version_rpm}
-Release: 1
-Summary: ${PKG_NAME} ${_pkg_version_full}
-License: Unknown
-Group: Applications
-Url: ${_pkg_url}
-
-%description
-${PKG_NAME} ${_pkg_version_full}
-
-%prep
-%build
-%install
-rm -rf "\${RPM_BUILD_ROOT}"
-mkdir -p "\${RPM_BUILD_ROOT}"
-cp -pPr "${PKG_DESTDIR}/." "\${RPM_BUILD_ROOT}"
-
-%post
-%postun
-%files
-/
-
-%changelog
-
-EOF
- while true; do
- if ! rpmbuild \
- -bb \
- --define="_tmppath ${BUILD_WORKDIR}" \
- --define="_topdir ${PREFIX_RPM}/${PKG_NAME}-${_pkg_version_rpm}" \
- --nodeps "${PKG_BASE_DIR}/${PKG_NAME}-${_pkg_version_rpm}.spec";
- then
- if [ "${?}" -ne 141 ]; then
+ if ! ex_rtl_fileop cp "${MIDIPIX_BUILD_PWD}/etc/package.spec" \
+ "${PKG_BASE_DIR}/${PKG_NAME}-${_pkg_version_rpm}.spec"; then
+ return 1;
+ else while true; do
+ rpmbuild \
+ -bb \
+ --define="_tmppath ${BUILD_WORKDIR}" \
+ --define="_topdir ${PREFIX_RPM}/${PKG_NAME}-${_pkg_version_rpm}" \
+ --define="pkg_destdir ${PKG_DESTDIR}" \
+ --define="pkg_name ${PKG_NAME}" \
+ --define="pkg_url ${_pkg_url}" \
+ --define="pkg_version_full ${_pkg_version_full}" \
+ --define="pkg_version_rpm ${_pkg_version_rpm}" \
+ --nodeps "${PKG_BASE_DIR}/${PKG_NAME}-${_pkg_version_rpm}.spec"; _rc="${?}";
+ if [ "${_rc}" -eq 0 ]; then
break;
+ elif [ "${_rc}" -eq 141 ]; then
+ continue;
+ else
+ return "${?}";
fi;
- else
- break;
+ done;
+ if ! find "${PREFIX_RPM}/${PKG_NAME}-${_pkg_version_rpm}/RPMS" \
+ -iname \*.rpm -exec cp -pP {} "${PREFIX_RPM}/" \; \
+ || ! ex_rtl_fileop rm "${PREFIX_RPM}/${PKG_NAME}-${_pkg_version_rpm}" \
+ || ! ex_rtl_fileop cp "${PKG_BASE_DIR}/${PKG_NAME}-${_pkg_version_rpm}.spec" "${PREFIX_RPM}/"; then
+ return "${?}";
fi;
- done;
- find "${PREFIX_RPM}/${PKG_NAME}-${_pkg_version_rpm}/RPMS" -iname \*.rpm -exec cp -pP {} "${PREFIX_RPM}/" \;;
- ex_rtl_fileop rm "${PREFIX_RPM}/${PKG_NAME}-${_pkg_version_rpm}";
- ex_rtl_fileop cp "${PKG_BASE_DIR}/${PKG_NAME}-${_pkg_version_rpm}.spec" "${PREFIX_RPM}/";
+ fi;
fi;
};