X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm.spec;h=08f2ebbf34a07df9d342da1c2f6933593ff0f959;hb=d272cba601ab4cd9efaa13759277510934f0391a;hp=1760001c4da41131dcdb52df9952d0ede499ac6a;hpb=633315d596d85bd1287667956315f8b4023cd6fd;p=packages%2Frpm.git diff --git a/rpm.spec b/rpm.spec index 1760001..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: 22 +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 @@ -102,7 +104,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 @@ -136,13 +138,17 @@ 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 +Patch47: %{name}-query-always-noisy.patch Patch48: %{name}-verify-ghosts-broken-logic.patch Patch49: %{name}-python-enable-compat-RPMSENSE.patch Patch50: %{name}-dont-treat-gstreamer-modules-as-font.patch Patch51: %{name}-gst-inspect-typo.patch 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 @@ -248,13 +254,19 @@ Patch1038: rpm-5.4.10-support-ignore-arch-and-os-again.patch 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 +# lack insight on actual functionality, which anyways seems broken, so let's +# 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 @@ -305,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} @@ -336,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 @@ -622,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} @@ -802,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 @@ -817,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 @@ -830,6 +842,10 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch51 -p1 %patch52 -p0 %patch53 -p1 +%patch54 -p1 +%patch55 -p1 +%patch56 -p1 +%patch57 -p1 %patch1000 -p1 %patch1001 -p1 @@ -872,6 +888,8 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch1038 -p1 %patch1039 -p1 %patch1040 -p1 +%patch1041 -p1 +%patch1042 -p1 install %{SOURCE2} macros/pld.in install %{SOURCE8} scripts/php.prov.in @@ -884,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} @@ -933,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 @@ -944,7 +963,19 @@ sed -i \ %{?with_apidocs:%{__make} apidocs} -%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb +%{__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 @@ -1108,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 @@ -1161,22 +1194,19 @@ if [ -f %{_sysconfdir}/rpm/sysinfo ]; then fi %posttrans -if [ -x %{_rpmlibdir}/bin/rpmdb_checkversion ] && \ - ! %{_rpmlibdir}/bin/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm ; then +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} ] && \ - /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release} ; then + /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 @@ -1235,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)