X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm.spec;h=08f2ebbf34a07df9d342da1c2f6933593ff0f959;hb=d272cba601ab4cd9efaa13759277510934f0391a;hp=a5b825ef5cf73b7d445e2437028e6e7e69d2b9c7;hpb=50dfd4f520c4328fb13e9a105dcefd85dac5811f;p=packages%2Frpm.git diff --git a/rpm.spec b/rpm.spec index a5b825e..08f2ebb 100644 --- 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: 34 +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 @@ -145,6 +147,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 @@ -313,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} @@ -344,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 @@ -630,10 +633,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} @@ -810,7 +814,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 @@ -825,7 +829,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 @@ -840,6 +844,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 @@ -896,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} @@ -945,7 +952,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 @@ -956,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 @@ -1120,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 @@ -1173,22 +1194,19 @@ if [ -f %{_sysconfdir}/rpm/sysinfo ]; then fi %posttrans -if [ -e /var/lib/rpm/Packages ] && [ -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 - 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 + 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 %triggerpostun -- %{name} < 4.4.9-44 @@ -1247,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)