SHA256
1
0
forked from pool/suse-hpc

Accepting request 798280 from home:eeich:branches:science:HPC

- Add 'Obsolete:' option to master package. This way, a removed
  master package may be declared obsolte. 
- Allow 'Empty' package - without a 'Requires:' to keep master
  package for backward compatibility.

OBS-URL: https://build.opensuse.org/request/show/798280
OBS-URL: https://build.opensuse.org/package/show/science:HPC/suse-hpc?expand=0&rev=46
This commit is contained in:
2020-04-27 13:41:38 +00:00
committed by Git OBS Bridge
parent b1328c63b1
commit 37307aed0b
4 changed files with 29 additions and 6 deletions

View File

@@ -32,9 +32,12 @@
%hpc_libexecdir %{hpc_prefix}/lib
%hpc_localstatedir %{_localstatedir}
%hpc_sharedstatedir %{_sharedstatedir}
# MANPATH
%hpc_mandir %{hpc_datadir}/man
%hpc_docdir %{hpc_datadir}/doc/packages
# INFOPATH
%hpc_infodir %{hpc_datadir}/info
# PKG_CONFIG_PATH
%hpc_pkgconfigdir %{hpc_libdir}/pkgconfig
%hpc_cmake_dir %{hpc_datadir}/cmake
%hpc_cmake_moddir %{hpc_cmake_dir}/Modules
@@ -369,8 +372,13 @@ cat << EOF > %{buildroot}%{hpc_module_dep_base}%{version}
# -N <pname>: Specify if a sub-package has different basename (pname)
# -q: For internal use only!
# -M: use specified name in place of %%name
# -O: Obsoleted package with version %version, multiple obsoletes may be
# separated by ":"
# -E: create an 'empty' master package with no requires. This allows to
# keep the macro package around for compatibility even if the underlying
# package has been removed.
#
%hpc_master_package(n:g:s:lLaqN:M:) \
%hpc_master_package(n:g:s:lLaqN:M:O:E) \
%define _mylib %{-s:lib}%{!-s:%{-l:lib}} \
%define _p_ext %(test -n "%{*}" && echo -%{*}) \
%{-M: \ %define name %{-M*}} \
@@ -415,7 +423,14 @@ cat << EOF > %{buildroot}%{hpc_module_dep_base}%{version}
Summary: Dependency package for %{s_name} \
Group: %_group \
Obsoletes: %_lname < %version \
Requires: %{s_name} = %version \
%{-O:%(\
v=%{-O*}; \
for i in ${v//:/ }; \
do echo "Obsoletes: $i < %version"; \
echo "Provides: %i = %version"; \
done)\
} \
%{!-E:Requires: %{s_name} = %version} \
%{!-l:%{!-s:%{!-a:BuildArch: noarch}}} \
%description -n %_lname \
%{pname}: %{SUMMARY} \