diff options
author | Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de> | 2020-02-25 17:26:03 +0000 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de> | 2020-02-25 17:26:03 +0000 |
commit | 2b85d0a1de9ec57aab6293163d9885d76a47035c (patch) | |
tree | 1af88e8d048a80a938eeb2f2ef755afb1db0d367 /subr/pkg_install_rpm.subr | |
parent | 3c8c5672d623aa069082cc9aad5af13fdd69a97a (diff) | |
download | midipix_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.subr | 82 |
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; }; |