diff --git a/python-jsonpatch.changes b/python-jsonpatch.changes index 62793f0..5a6adac 100644 --- a/python-jsonpatch.changes +++ b/python-jsonpatch.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Aug 22 20:36:59 UTC 2021 - Stefan Schubert + +- Use libalternatives instead of update-alternatives. + ------------------------------------------------------------------- Tue May 18 21:54:01 UTC 2021 - Dirk Müller diff --git a/python-jsonpatch.spec b/python-jsonpatch.spec index 7f5eea3..1f5dbea 100644 --- a/python-jsonpatch.spec +++ b/python-jsonpatch.spec @@ -16,6 +16,12 @@ # +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif + %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-jsonpatch Version: 1.32 @@ -30,8 +36,12 @@ BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-jsonpointer >= 1.9 +%if %{with libalternatives} +Requires: alts +%else Requires(post): update-alternatives Requires(preun):update-alternatives +%endif BuildArch: noarch %python_subpackages @@ -48,23 +58,47 @@ Python module to apply JSON-Patches (according to RFC 6902). %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} -# Prepare for update-alternatives usage -%python_clone -a %{buildroot}%{_bindir}/jsonpatch +%if ! %{with libalternatives} + # Prepare for update-alternatives usage + %python_clone -a %{buildroot}%{_bindir}/jsonpatch +%else + %python_clone %{buildroot}%{_bindir}/jsonpatch + ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/jsonpatch + mkdir -p %{buildroot}%{_datadir}/libalternatives/jsonpatch + %python_expand echo "binary=%{_bindir}/jsonpatch-%{$python_version}" > %{buildroot}%{_datadir}/libalternatives/jsonpatch/10%{$python_version_nodots}.conf +%endif + rm %{buildroot}%{_bindir}/jsondiff %check %python_exec tests.py +%if %{with libalternatives} +%pre +# removing old update-alternatives entries +if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] ; then + %python_uninstall_alternative jsonpatch +fi +%else %post %python_install_alternative jsonpatch %preun %python_uninstall_alternative jsonpatch +%endif %files %{python_files} %license COPYING %doc AUTHORS README.md +%if ! 0%{with libalternatives} %python_alternative %{_bindir}/jsonpatch +%else +%dir %{_datadir}/libalternatives +%dir %{_datadir}/libalternatives/jsonpatch +%{_datadir}/libalternatives/jsonpatch/10%python_version_nodots.conf +%{_bindir}/jsonpatch +%{_bindir}/jsonpatch-%python_version +%endif %{python_sitelib}/* %changelog