]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- don't continue if conversion failed
[packages/rpm.git] / rpm.spec
index dec6a8d308a6b445b8a2edc90f766bf0f9b85e43..b3697727a1d6457b0703350aba40261aa18cc2dd 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -37,8 +37,8 @@ ERROR
 %endif
 
 # versions of required libraries
-%define                reqdb_pkg       db5.3
-%define                reqdb_ver       5.3
+%define                reqdb_pkg       db5.2
+%define                reqdb_ver       5.2
 %define                reqpopt_ver     1.15
 %define                beecrypt_ver    2:4.1.2-4
 %define                sover           5.4
@@ -52,7 +52,7 @@ Summary(ru.UTF-8):    Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       5.4.10
-Release:       25
+Release:       35.1
 License:       LGPL
 Group:         Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
@@ -102,7 +102,7 @@ Patch9:             %{name}-lua.patch
 Patch10:       %{name}-php-deps.patch
 Patch11:       %{name}-notsc.patch
 Patch12:       %{name}-hack-norpmlibdep.patch
-Patch13:       %{name}-epoch0.patch
+Patch13:       %{name}-dont-copy-descriptive-tags.patch
 Patch14:       %{name}-perl_req-INC_dirs.patch
 Patch15:       %{name}-debuginfo.patch
 Patch16:       vendor-pld.patch
@@ -145,6 +145,8 @@ Patch52:    %{name}-null-term-ascii-digest.patch
 Patch53:       %{name}-lua-enable-extra-libs.patch
 Patch54:       %{name}-fix-filedigests-verify.patch
 Patch55:       %{name}-disable-hmac-verify.patch
+Patch56:       rpm-macros.patch
+Patch57:       %{name}-db5.2.patch
 
 # Patches imported from Mandriva
 
@@ -254,13 +256,15 @@ Patch1040:        rpm-5.4.9-support-signatures-and-digest-disablers.patch
 # disable it to avoid errors from berkeley db..
 # status: keep locally
 Patch1041:     rpm-5.4.9-disable-l10ndir.patch
+# status: ready for merge
+Patch1042:     rpm-5.4.9-fix-rpm_qa-pattern.patch
 
 URL:           http://rpm5.org/
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake >= 1.4
 BuildRequires: beecrypt-devel >= %{beecrypt_ver}
 BuildRequires: bzip2-devel >= 1.0.2-17
-%{?with_db:BuildRequires:      db-devel >= %{reqdb_ver}}
+%{?with_db:BuildRequires:      %{reqdb_pkg}-devel >= %{reqdb_ver}}
 BuildRequires: elfutils-devel >= 0.108
 #BuildRequires:        gettext-autopoint >= 0.11.4-2
 BuildRequires: gettext-devel >= 0.11.4-2
@@ -628,10 +632,11 @@ Requires: grep
 Requires:      gzip
 Requires:      make
 Requires:      patch
-Requires:      sed
+Requires:      sed >= 4.0
 Requires:      sh-utils
-Requires:      tar
+Requires:      tar >= 1:1.22
 Requires:      textutils
+Requires:      xz
 Provides:      rpmbuild(monoautodeps)
 Provides:      rpmbuild(noauto) = 3
 %ifarch %{x8664}
@@ -808,7 +813,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch23 -p1
 %patch24 -p1
 %patch25 -p1
-%patch26 -p1
+####%patch26 -p1
 %patch27 -p1
 %patch28 -p1
 %patch29 -p1
@@ -823,7 +828,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch38 -p1
 %patch39 -p1
 %patch40 -p1
-%patch41 -p1
+####%patch41 -p1
 %patch42 -p1
 %patch43 -p1
 %patch44 -p1
@@ -838,6 +843,8 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch53 -p1
 %patch54 -p1
 %patch55 -p1
+%patch56 -p1
+%patch57 -p1
 
 %patch1000 -p1
 %patch1001 -p1
@@ -881,6 +888,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch1039 -p1
 %patch1040 -p1
 %patch1041 -p1
+%patch1042 -p1
 
 install %{SOURCE2} macros/pld.in
 install %{SOURCE8} scripts/php.prov.in
@@ -942,7 +950,7 @@ sed -i \
        --with-keyutils=%{?with_keyutils:external}%{!?with_keyutils:no} \
        --with-uuid=%{_libdir}:%{_includedir}/ossp-uuid \
        --without-path-versioned \
-       --with-extra-path-macros='%{_sysconfdir}/rpm/macros.d/*.macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/macros.build:~/etc/.rpmmacros:~/.rpmmacros' \
+       --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/%{_target}/macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/macros.build:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%{_target}/macros:%{_sysconfdir}/rpm/macros.d/*.macros:~/etc/.rpmmacros:~/.rpmmacros' \
        --with-bugreport="http://bugs.pld-linux.org/" \
        --with-vendor=pld
 
@@ -953,7 +961,7 @@ sed -i \
 
 %{?with_apidocs:%{__make} apidocs}
 
-%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
+%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -1169,17 +1177,41 @@ if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
        mkdir %{_sysconfdir}/rpm/sysinfo
 fi
 
+%if 0
 %posttrans
+if [ ! -e /var/lib/rpm/Packages ]; then
+       %{__rm} -f /var/lib/rpm/need_rpmdb_downgrade 2>/dev/null >/dev/null
+       exit 0
+fi
+NEEDDBCONV=
+if [ -e /var/lib/rpm/need_rpmdb_downgrade ]; then
+       if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && [ -x /bin/cp ] && \
+                       /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
+       %{__rm} -f /var/lib/rpm/log/*
+       /usr/bin/db5.2_dump /var/lib/rpm/Packages | /usr/bin/db5.2_load /var/lib/rpm/Packages.downgraded
+       %{__mv} -f /var/lib/rpm/Packages /var/lib/rpm/Packages.rpmsave
+       %{__mv} -f /var/lib/rpm/Packages.downgraded /var/lib/rpm/Packages
+       NEEDDBCONV="YES"
+fi
 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
+               ! %{_rpmlibdir}/bin/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
+       if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && [ -x /bin/cp ] && \
+                       /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
+       NEEDDBCONV="YES"
+fi
+if [ "x$NEEDDBCONV" = "xYES" ]; then
+       echo 'If poldek aborts after migration with rpmdb error, this is "normal", you should ignore it'
+
        if [ -x %{_rpmlibdir}/bin/dbconvert ]; then
-               if ! %{_rpmlibdir}/bin/dbconvert --rebuilddb ; then
+               if ! %{_rpmlibdir}/bin/dbconvert --rebuilddb; then
                        echo
                        echo "rpm database conversion failed!"
                        echo "You have to run  %{_rpmlibdir}/bin/dbconvert manually"
@@ -1187,6 +1219,10 @@ if [ -x %{_rpmlibdir}/bin/rpmdb_checkversion ] && \
                fi
        fi
 fi
+endif
+
+%triggerpostun -- %{name} > 5.0.0-1, %{name} < 5.4.10-36
+:>/var/lib/rpm/need_rpmdb_downgrade
 
 %triggerpostun -- %{name} < 4.4.9-44
 %{_rpmlibdir}/hrmib-cache
This page took 0.032717 seconds and 4 git commands to generate.