From 5f66a78cb0a1c2e9061d31b4dc85bbe86967d3f2 Mon Sep 17 00:00:00 2001 From: Ondrej Mosnacek Date: Tue, 14 Sep 2021 09:38:09 +0200 Subject: [PATCH] Fix symlink-directory conflict on upgrade Due to a years-old stupid limitation of rpm [1], it is not possible to upgrade between directory and symlink without ugly hacks, so instead of symlinking the include directory, only symlink the individual include files inside it. Without this fix, upgrading quazip-devel or quazip-qt5-devel will fail. [1] https://bugzilla.redhat.com/show_bug.cgi?id=447156 Signed-off-by: Ondrej Mosnacek --- quazip.spec | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/quazip.spec b/quazip.spec index 92f8689..53f5f39 100644 --- a/quazip.spec +++ b/quazip.spec @@ -2,7 +2,7 @@ Name: quazip Version: 1.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Qt/C++ wrapper for the minizip library License: GPLv2+ or LGPLv2+ URL: https://github.com/stachenov/quazip @@ -126,8 +126,19 @@ done ln -s libquazip1-qt4.so %{buildroot}%{_libdir}/libquazip.so ln -s libquazip1-qt5.so %{buildroot}%{_libdir}/libquazip5.so -ln -s QuaZip-Qt4-1.1/quazip %{buildroot}%{_includedir}/quazip -ln -s QuaZip-Qt5-1.1/quazip %{buildroot}%{_includedir}/quazip5 +install -d %{buildroot}%{_includedir}/quazip +pushd %{buildroot}%{_includedir}/QuaZip-Qt4-1.1/quazip +for f in *; do + ln -s ../QuaZip-Qt4-1.1/quazip/$f %{buildroot}%{_includedir}/quazip/$f +done +popd + +install -d %{buildroot}%{_includedir}/quazip5 +pushd %{buildroot}%{_includedir}/QuaZip-Qt5-1.1/quazip +for f in *; do + ln -s ../QuaZip-Qt5-1.1/quazip/$f %{buildroot}%{_includedir}/quazip5/$f +done +popd install -d %{buildroot}%{_datadir}/cmake/Modules install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip.cmake @@ -147,7 +158,7 @@ install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip5.cm %{_libdir}/cmake/QuaZip-Qt4-1.1/ %{_libdir}/pkgconfig/quazip1-qt4.pc # pre-1.0 compat files -%{_includedir}/quazip +%{_includedir}/quazip/ %{_libdir}/libquazip.so %{_datadir}/cmake/Modules/FindQuaZip.cmake @@ -163,7 +174,7 @@ install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip5.cm %{_libdir}/cmake/QuaZip-Qt5-1.1/ %{_libdir}/pkgconfig/quazip1-qt5.pc # pre-1.0 compat files -%{_includedir}/quazip5 +%{_includedir}/quazip5/ %{_libdir}/libquazip5.so %{_datadir}/cmake/Modules/FindQuaZip5.cmake @@ -183,6 +194,9 @@ install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip5.cm %changelog +* Tue Sep 14 2021 Ondrej Mosnacek - 1.1-3 +- Fix symlink-directory conflict on upgrade + * Thu Aug 19 2021 Ondrej Mosnacek - 1.1-2 - Add Qt6 subpackages