Restore soname patch, clean SPEC file

This commit is contained in:
Simone Caronni 2018-06-13 21:12:16 +02:00
parent 2f281e396e
commit 6e2fc90b5b
2 changed files with 108 additions and 76 deletions

View File

@ -0,0 +1,35 @@
diff -Naur bacula-7.0.4.old/autoconf/ltmain.sh bacula-7.0.4/autoconf/ltmain.sh
--- bacula-7.0.4.old/autoconf/ltmain.sh 2014-07-24 17:43:23.085243360 +0200
+++ bacula-7.0.4/autoconf/ltmain.sh 2014-07-24 17:45:12.505330842 +0200
@@ -2429,6 +2429,7 @@
-R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
-shared only do dynamic linking of libtool libraries
-shrext SUFFIX override the standard shared library file extension
+ -soname SONAME override the standard shared object name
-static do not do any dynamic linking of uninstalled libtool libraries
-static-libtool-libs
do not do any dynamic linking of libtool libraries
@@ -5434,6 +5435,11 @@
prev=
continue
;;
+ soname)
+ soname_spec="$arg"
+ prev=
+ continue
+ ;;
weak)
func_append weak_libs " $arg"
prev=
@@ -5754,6 +5760,11 @@
continue
;;
+ -soname)
+ prev=soname
+ continue
+ ;;
+
-static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that

View File

@ -1,12 +1,9 @@
%global uid 133 %global uid 133
%global username bacula %global username bacula
%global __requires_exclude ^(libbaccats.*\\.so.*)$
%global __provides_exclude ^(libbaccats.*\\.so.*)$
Name: bacula Name: bacula
Version: 9.0.7 Version: 9.0.7
Release: 4%{?dist} Release: 5%{?dist}
Summary: Cross platform network backup for Linux, Unix, Mac and Windows Summary: Cross platform network backup for Linux, Unix, Mac and Windows
# See LICENSE for details # See LICENSE for details
License: AGPLv3 with exceptions License: AGPLv3 with exceptions
@ -44,6 +41,13 @@ Patch8: %{name}-9.0.2-desktop.patch
Patch9: %{name}-9.0.6-tray-monitor-task.patch Patch9: %{name}-9.0.6-tray-monitor-task.patch
Patch10: %{name}-9.0.7-g++-options.patch Patch10: %{name}-9.0.7-g++-options.patch
# Original patch removed by mistake, upstream is not willing to add it again:
# http://www.bacula.org/git/cgit.cgi/bacula/commit/?h=Branch-7.0&id=51b3b98fb77ab3c0decee455cc6c4d2eb3c5303a
# Without this, there is no library providing the correct shared object name
# required by the daemons.
# http://bugs.bacula.org/view.php?id=2084
Patch11: %{name}-7.0.4-autoconf.patch
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: perl-generators BuildRequires: perl-generators
BuildRequires: sed BuildRequires: sed
@ -310,17 +314,7 @@ Requires: nagios-common%{?_isa}
Provides check_bacula support for Nagios. Provides check_bacula support for Nagios.
%prep %prep
%setup -q %autosetup -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
cp %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} . cp %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} .
@ -462,10 +456,7 @@ chmod 755 %{buildroot}%{_libdir}/bacula/*
chmod 755 %{buildroot}%{_libexecdir}/bacula/* chmod 755 %{buildroot}%{_libexecdir}/bacula/*
chmod 644 %{buildroot}%{_libexecdir}/bacula/btraceback.* chmod 644 %{buildroot}%{_libexecdir}/bacula/btraceback.*
%post libs -p /sbin/ldconfig %ldconfig_scriptlets libs
%postun libs -p /sbin/ldconfig
exit 0
%post libs-sql %post libs-sql
/usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-mysql.so 50 /usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-mysql.so 50
@ -484,7 +475,7 @@ elif readlink /etc/alternatives/libbaccats.so | grep --silent sqlite || \
else else
/usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-postgresql.so /usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-postgresql.so
fi fi
/sbin/ldconfig %{?ldconfig}
%preun libs-sql %preun libs-sql
if [ "$1" = 0 ]; then if [ "$1" = 0 ]; then
@ -493,9 +484,7 @@ if [ "$1" = 0 ]; then
/usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-postgresql.so /usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-postgresql.so
fi fi
%postun libs-sql %ldconfig_postun libs-sql
/sbin/ldconfig
exit 0
%pre common %pre common
getent group %username >/dev/null || groupadd -g %uid -r %username &>/dev/null || : getent group %username >/dev/null || groupadd -g %uid -r %username &>/dev/null || :
@ -589,6 +578,9 @@ fi
%{_libdir}/libbacsd-%{version}.so %{_libdir}/libbacsd-%{version}.so
%files libs-sql %files libs-sql
# On Fedora 28 this gets recreated automatically even if the library is
# deleted in the install section.
%exclude %{_libdir}/libbacsql-%{version}.so
%{_libdir}/libbaccats-mysql-%{version}.so %{_libdir}/libbaccats-mysql-%{version}.so
%{_libdir}/libbaccats-mysql.so %{_libdir}/libbaccats-mysql.so
%{_libdir}/libbaccats-postgresql-%{version}.so %{_libdir}/libbaccats-postgresql-%{version}.so
@ -739,6 +731,11 @@ fi
%{_libdir}/nagios/plugins/check_bacula %{_libdir}/nagios/plugins/check_bacula
%changelog %changelog
* Wed Jun 13 2018 Simone Caronni <negativo17@gmail.com> - 9.0.7-5
- Restore soname patch and exclude versioned symlink in the files section
to fix Fedora 28.
- Update SPEC file for recent RPM macros.
* Mon Jun 11 2018 Simone Caronni <negativo17@gmail.com> - 9.0.7-4 * Mon Jun 11 2018 Simone Caronni <negativo17@gmail.com> - 9.0.7-4
- Filter out libbaccats from requirements. - Filter out libbaccats from requirements.