summaryrefslogtreecommitdiffhomepage
path: root/subr.ex/ex_rtl_rpm.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr.ex/ex_rtl_rpm.subr')
-rw-r--r--subr.ex/ex_rtl_rpm.subr33
1 files changed, 25 insertions, 8 deletions
diff --git a/subr.ex/ex_rtl_rpm.subr b/subr.ex/ex_rtl_rpm.subr
index 563ded8f..d6044c54 100644
--- a/subr.ex/ex_rtl_rpm.subr
+++ b/subr.ex/ex_rtl_rpm.subr
@@ -21,6 +21,12 @@
# @_version_rpm: package RPM version
#
# Returns: zero (0) on success, non-zero (>0) on failure
+# N.B.: The following variables are substituted prior to running rpmbuild(1):
+# %{pkg_destdir}
+# %{pkg_name}
+# %{pkg_url}
+# %{pkg_version_full}
+# %{pkg_version_rpm}
#
ex_rtl_build_rpm() {
local _erbr_destdir="${1}" _erbr_jobs_max="${2}" _erbr_jobs_semaphore="${3}" _erbr_jobs_wait="${4}" \
@@ -72,21 +78,32 @@ ex_rtl_build_rpm() {
if ! rtl_fileop cp "${_erbr_spec_fname}" "${_erbr_spec_fname_tgt}"; then
_erbr_rc=1;
+ elif ! sed -i"" \
+ -ne '/^#REMOVEDBYSED#/!p' \
+ "${_erbr_spec_fname_tgt}"; \
+ then
+ _erbr_rc=1;
+ #
+ # N.B. Keep list in sync w/ list in function documentation comment block at top.
+ #
+ elif ! sed -i"" \
+ -e 's#%{pkg_destdir}#'"${_erbr_destdir}"'#g' \
+ -e 's#%{pkg_name}#'"${_erbr_name}"'#g' \
+ -e 's#%{pkg_url}#'"${_erbr_url}"'#g' \
+ -e 's#%{pkg_version_full}#'"${_erbr_version}"'#g' \
+ -e 's#%{pkg_version_rpm}#'"${_erbr_version_rpm}"'#g' \
+ "${_erbr_spec_fname_tgt}"; \
+ then
+ _erbr_rc=1;
else
while true; do
rpmbuild \
-bb \
- \
--define "_binary_payload w2T16.xzdio" \
- \
--define="_tmppath ${_erbr_tmp_dname=}" \
--define="_topdir ${_erbr_topdir}" \
- --define="pkg_destdir ${_erbr_destdir}" \
- --define="pkg_name ${_erbr_name}" \
- --define="pkg_url ${_erbr_url}" \
- --define="pkg_version_full ${_erbr_version}" \
- --define="pkg_version_rpm ${_erbr_version_rpm}" \
- --nodeps "${_erbr_spec_fname_tgt}";
+ --nodeps \
+ "${_erbr_spec_fname_tgt}";
_erbr_rc="${?}";
if [ "${_erbr_rc}" -eq 141 ]; then