]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- kill -fno-strict-aliasing, it's not needed anymore
[packages/rpm.git] / rpm.spec
index b3697727a1d6457b0703350aba40261aa18cc2dd..08f2ebbf34a07df9d342da1c2f6933593ff0f959 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -52,7 +52,7 @@ Summary(ru.UTF-8):    Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       5.4.10
-Release:       35.1
+Release:       35.2
 License:       LGPL
 Group:         Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
@@ -89,6 +89,8 @@ Source24:     rpm.noautoreqfiles
 Source25:      %{name}-php-requires.php
 Source26:      rpmdb_checkversion.c
 Source27:      macros.lang
+Source28:      rpmdb_reset.c
+Source29:      dbupgrade.sh
 Patch0:                %{name}-branch.patch
 Patch1:                %{name}-man_pl.patch
 Patch2:                %{name}-popt-aliases.patch
@@ -315,6 +317,7 @@ BuildRequires:      libsemanage-static >= 2.1.0
 BuildRequires: popt-static >= %{reqpopt_ver}
 BuildRequires: zlib-static
 %endif
+Requires(posttrans):   coreutils
 Requires:      %{name}-base = %{version}-%{release}
 Requires:      %{name}-lib = %{version}-%{release}
 Requires:      beecrypt >= %{beecrypt_ver}
@@ -346,8 +349,6 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _rpmlibdir /usr/lib/rpm
 %define                _noautocompressdoc      RPM-GPG-KEY
 
-%define                specflags       -fno-strict-aliasing
-
 %description
 RPM is a powerful package manager, which can be used to build,
 install, query, verify, update, and uninstall individual software
@@ -901,6 +902,7 @@ install %{SOURCE11} scripts/perl.prov.in
 awk -f %{SOURCE6} %{SOURCE1}
 
 install %{SOURCE26} tools/rpmdb_checkversion.c
+install %{SOURCE28} tools/rpmdb_reset.c
 
 %build
 %{__libtoolize}
@@ -961,7 +963,19 @@ sed -i \
 
 %{?with_apidocs:%{__make} apidocs}
 
-%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
+%{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_checkversion.c \
+       -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
+%{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_reset.c \
+       -o tools/rpmdb_reset -ldb-%{reqdb_ver}
+
+if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
+       echo "Error linking rpmdb tools!"
+       exit 1
+fi
+if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
+       echo "Error linking rpmdb tools!"
+       exit 1
+fi
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -1125,6 +1139,8 @@ 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
+install tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/bin
+install %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/bin/dbupgrade.sh
 
 # create macro loading wrappers for backward compatibility
 for m in gstreamer java mono perl php python; do
@@ -1177,52 +1193,21 @@ 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 ] && \
+if [ -e /var/lib/rpm/Packages ] && \
                ! %{_rpmlibdir}/bin/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
-       if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && [ -x /bin/cp ] && \
+       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
-       NEEDDBCONV="YES"
+       echo
+       echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
+       echo 'you should ignore it and restart poldek'
+       echo
+       %{_rpmlibdir}/bin/dbupgrade.sh
 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
-                       echo
-                       echo "rpm database conversion failed!"
-                       echo "You have to run  %{_rpmlibdir}/bin/dbconvert manually"
-                       echo
-               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
@@ -1280,7 +1265,9 @@ 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/dbupgrade.sh
 %attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_checkversion
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_reset
 
 %files base
 %defattr(644,root,root,755)
This page took 0.050716 seconds and 4 git commands to generate.