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 <omosnace@redhat.com>
epel9
Ondrej Mosnacek 3 years ago
parent dff1031c08
commit 5f66a78cb0

@ -2,7 +2,7 @@
Name: quazip Name: quazip
Version: 1.1 Version: 1.1
Release: 2%{?dist} Release: 3%{?dist}
Summary: Qt/C++ wrapper for the minizip library Summary: Qt/C++ wrapper for the minizip library
License: GPLv2+ or LGPLv2+ License: GPLv2+ or LGPLv2+
URL: https://github.com/stachenov/quazip URL: https://github.com/stachenov/quazip
@ -126,8 +126,19 @@ done
ln -s libquazip1-qt4.so %{buildroot}%{_libdir}/libquazip.so ln -s libquazip1-qt4.so %{buildroot}%{_libdir}/libquazip.so
ln -s libquazip1-qt5.so %{buildroot}%{_libdir}/libquazip5.so ln -s libquazip1-qt5.so %{buildroot}%{_libdir}/libquazip5.so
ln -s QuaZip-Qt4-1.1/quazip %{buildroot}%{_includedir}/quazip install -d %{buildroot}%{_includedir}/quazip
ln -s QuaZip-Qt5-1.1/quazip %{buildroot}%{_includedir}/quazip5 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 -d %{buildroot}%{_datadir}/cmake/Modules
install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip.cmake 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}/cmake/QuaZip-Qt4-1.1/
%{_libdir}/pkgconfig/quazip1-qt4.pc %{_libdir}/pkgconfig/quazip1-qt4.pc
# pre-1.0 compat files # pre-1.0 compat files
%{_includedir}/quazip %{_includedir}/quazip/
%{_libdir}/libquazip.so %{_libdir}/libquazip.so
%{_datadir}/cmake/Modules/FindQuaZip.cmake %{_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}/cmake/QuaZip-Qt5-1.1/
%{_libdir}/pkgconfig/quazip1-qt5.pc %{_libdir}/pkgconfig/quazip1-qt5.pc
# pre-1.0 compat files # pre-1.0 compat files
%{_includedir}/quazip5 %{_includedir}/quazip5/
%{_libdir}/libquazip5.so %{_libdir}/libquazip5.so
%{_datadir}/cmake/Modules/FindQuaZip5.cmake %{_datadir}/cmake/Modules/FindQuaZip5.cmake
@ -183,6 +194,9 @@ install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip5.cm
%changelog %changelog
* Tue Sep 14 2021 Ondrej Mosnacek <omosnace@redhat.com> - 1.1-3
- Fix symlink-directory conflict on upgrade
* Thu Aug 19 2021 Ondrej Mosnacek <omosnace@redhat.com> - 1.1-2 * Thu Aug 19 2021 Ondrej Mosnacek <omosnace@redhat.com> - 1.1-2
- Add Qt6 subpackages - Add Qt6 subpackages

Loading…
Cancel
Save