]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- disabling dirname_deps was a typo, we use them for a long time now
[packages/rpm.git] / rpm.spec
index 72a878306e4af7ce2936c84a191015f810e8af15..cff8c02e83044ae7b1eaf940d64cae275ae95f4a 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
 ERROR
 %endif
 
+%if %{with sqlite}
+# Error: /lib64/librpmio-5.4.so: undefined symbol: sqlite3_enable_load_extension
+%define                sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR)
+%endif
+
 # versions of required libraries
 %define                reqdb_ver       5.3
 %define                reqpopt_ver     1.15
@@ -43,7 +48,7 @@ Summary(ru.UTF-8):    Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       5.4.10
-Release:       0.19
+Release:       4
 License:       LGPL
 Group:         Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
@@ -78,6 +83,7 @@ Source22:     rpm.noautoreq
 Source23:      rpm.noautoreqdep
 Source24:      rpm.noautoreqfiles
 Source25:      %{name}-php-requires.php
+Source26:      rpmdb_checkversion.c
 Patch0:                %{name}-branch.patch
 Patch1:                %{name}-man_pl.patch
 Patch2:                %{name}-popt-aliases.patch
@@ -125,6 +131,7 @@ Patch43:    %{name}-fix-___build_pre-macro.patch
 Patch44:       %{name}-missing-patch-file-fails-build.patch
 Patch45:       %{name}-remove-misleading-missing-patch-message.patch
 Patch46:       %{name}-file-magic-can-be-mixed-case.patch
+Patch47:       %{name}-query-file-always-noisy.patch
 
 # Patches imported from Mandriva
 
@@ -228,6 +235,8 @@ Patch1037:  rpm-5.4.10-fix-neon-saving-error-pages-as-target-file.patch
 Patch1038:     rpm-5.4.10-support-ignore-arch-and-os-again.patch
 # status: ready for merge
 Patch1039:     rpm-5.4.4-fix-same-package-with-epoch-possible-to-upgrade.patch
+# we want that patch too, a bit of builder infrastructure relies on NOSIGNATURES
+Patch1040:     rpm-5.4.9-support-signatures-and-digest-disablers.patch
 
 URL:           http://rpm5.org/
 BuildRequires: autoconf >= 2.60
@@ -389,6 +398,7 @@ Requires:   beecrypt >= %{beecrypt_ver}
 Requires:      libmagic >= 1.15-2
 %{?with_selinux:Requires:      libselinux >= 1.18}
 Requires:      popt >= %{reqpopt_ver}
+%{?with_sqlite:Requires:       sqlite3 >= %{sqlite_build_version}}
 Obsoletes:     rpm-libs
 # avoid SEGV caused by mixed db versions
 Conflicts:     poldek < 0.18.1-16
@@ -794,6 +804,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch44 -p1
 %patch45 -p1
 %patch46 -p1
+%patch47 -p1
 
 %patch1000 -p1
 %patch1001 -p1
@@ -835,6 +846,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch1037 -p1
 %patch1038 -p1
 %patch1039 -p1
+%patch1040 -p1
 
 install %{SOURCE2} macros/pld.in
 install %{SOURCE8} scripts/php.prov.in
@@ -846,6 +858,8 @@ install %{SOURCE11} scripts/perl.prov.in
 # generate Group translations to *.po
 awk -f %{SOURCE6} %{SOURCE1}
 
+install %{SOURCE26} tools/rpmdb_checkversion.c
+
 %build
 %{__libtoolize}
 #%{__autopoint}
@@ -902,6 +916,8 @@ sed -i \
 
 %{?with_apidocs:%{__make} apidocs}
 
+%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
+
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm} \
@@ -1062,6 +1078,8 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
 
+install tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/bin
+
 # create macro loading wrappers for backward compatibility
 for m in gstreamer java mono perl php python; do
        echo "%%{load:%{_rpmlibdir}/macros.d/$m}" >$RPM_BUILD_ROOT%{_rpmlibdir}/macros.$m
@@ -1114,14 +1132,24 @@ if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
 fi
 
 %posttrans
-if [ -e /var/lib/rpm/__convert_needed ]; then
-       %{_rpmlibdir}/bin/dbconvert --rebuilddb
-       %{__rm} -f /var/lib/rpm/__convert_needed
+if [ -x %{_rpmlibdir}/bin/rpmdb_checkversion ] && \
+               ! %{_rpmlibdir}/bin/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm ; then
+       if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
+                       /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release} ; then
+               echo
+               echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
+               echo
+       fi
+       if [ -x %{_rpmlibdir}/bin/dbconvert ]; then
+               if ! %{_rpmlibdir}/bin/dbconvert --rebuilddb ; then
+                       echo
+                       echo "rpm database conversion failed!"
+                       echo "You have to run  %{_rpmlibdir}/bin/dbconvert manually"
+                       echo
+               fi
+       fi
 fi
 
-%triggerpostun -- %{name} < 5.4.0-1
-:>/var/lib/rpm/__convert_needed
-
 %triggerpostun -- %{name} < 4.4.9-44
 %{_rpmlibdir}/hrmib-cache
 
@@ -1177,6 +1205,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %dir %{_rpmlibdir}/bin
 %attr(755,root,root) %{_rpmlibdir}/bin/dbconvert
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_checkversion
 
 %files base
 %defattr(644,root,root,755)
This page took 0.031996 seconds and 4 git commands to generate.