X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=22bd7380932732d960ca69aea87b6584fabe39b1;hp=c54caf8d189fb7ce0d31c993b2a0bb48e8ad7356;hb=95d6c96e6c4559eb96b94df0d96021378f63fa60;hpb=c7562413171a4792aa5282c37b39be9e348a180a diff --git a/rpm.spec b/rpm.spec index c54caf8..22bd738 100644 --- a/rpm.spec +++ b/rpm.spec @@ -11,7 +11,7 @@ %define db_ver 5.3.28.0 %define popt_ver 1.15 -%define sover 9.1.0 +%define sover 9.1.2 %if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5" %define with_recommends_tags 1 @@ -25,13 +25,13 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 4.16.0 -Release: 0.12 +Version: 4.16.1.2 +Release: 8 Epoch: 1 License: GPL v2 / LGPL v2.1 Group: Base Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2 -# Source0-md5: 434e166a812e35ef181f6dd176326920 +# Source0-md5: 0d10f63a0a4c9517cf3808a601378399 Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc # Source1-md5: 23914bb49fafe7153cee87126d966461 Source2: macros.local @@ -48,9 +48,6 @@ Source12: %{name}.noautoprovfiles Source13: %{name}.noautoreq Source14: %{name}.noautoreqfiles Source15: perl.prov -Source16: %{name}db_checkversion.c -Source17: %{name}db_reset.c -Source18: dbupgrade.sh Patch0: %{name}-man_pl.patch Patch1: %{name}-popt-aliases.patch Patch2: %{name}-perl-macros.patch @@ -82,6 +79,11 @@ Patch28: default-patch-flags.patch Patch29: %{name}-noarch_py_prov.patch Patch30: missing-ghost-terminate-build.patch Patch31: missing-doc-terminate-build.patch +Patch32: noexpand.patch +Patch33: sqlite-db-backend.patch +Patch34: skip-symlinks.patch +Patch35: pl-po.patch +Patch36: build-locale.patch URL: https://rpm.org/ BuildRequires: acl-devel BuildRequires: db-devel >= %{db_ver} @@ -103,7 +105,6 @@ BuildRequires: libselinux-devel >= 2.1.0 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros BuildRequires: libstdc++-devel BuildRequires: libtool >= 1:1.4.2-9 -BuildRequires: ossp-uuid-devel BuildRequires: patch >= 2.2 BuildRequires: pkgconfig(lua) >= 5.1 BuildRequires: popt-devel >= %{popt_ver} @@ -137,8 +138,8 @@ Recommends: rpm-plugin-prioreset Recommends: rpm-plugin-syslog Recommends: rpm-plugin-systemd-inhibit %endif -Obsoletes: rpm-utils-perl -Obsoletes: rpm-utils-static +Obsoletes: rpm-utils-perl < 1:4.15 +Obsoletes: rpm-utils-static < 1:4.15 Conflicts: glibc < 2.2.92 # db4.6 poldek needed Conflicts: poldek < 0.21-0.20070703.00.3 @@ -211,8 +212,8 @@ Summary: RPM base package - scripts used by rpm packages themselves Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm Group: Base Requires: filesystem -Obsoletes: rpm-scripts -Obsoletes: vserver-rpm +Obsoletes: rpm-scripts < 4.4 +Obsoletes: vserver-rpm < 1 %description base The RPM base package contains scripts used by rpm packages themselves. @@ -234,7 +235,7 @@ Group: Libraries Requires: db >= %{db_ver} Requires: libmagic >= 1.15-2 Requires: popt >= %{popt_ver} -Obsoletes: rpm-libs +Obsoletes: rpm-libs < 4.0.2-4 # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 @@ -445,7 +446,7 @@ Group: Development/Languages/Python Requires: %{name} = %{epoch}:%{version}-%{release} Requires: python3 Obsoletes: python-rpm < 1:4.16.0 -Obsoletes: rpm-python +Obsoletes: rpm-python < 4.0.2-50 %description -n python3-rpm The python3-rpm package contains a module which permits applications @@ -579,6 +580,13 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch29 -p1 %patch30 -p1 %patch31 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 +%patch36 -p1 + +%{__rm} po/*.gmo install %{SOURCE15} scripts/perl.prov.in @@ -587,9 +595,6 @@ install %{SOURCE15} scripts/perl.prov.in # generate Group translations to *.po awk -f %{SOURCE6} %{SOURCE5} -install %{SOURCE16} tools/rpmdb_checkversion.c -install %{SOURCE17} tools/rpmdb_reset.c - %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py %build @@ -633,17 +638,7 @@ sed -i \ %{__make} -%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb -%{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb - -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 +%{__make} -C po update-gmo %if %{with python3} cd python @@ -653,7 +648,7 @@ cd python %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \ - $RPM_BUILD_ROOT/var/lib/{banner,rpm} + $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/usr/lib/.build-id} cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc @@ -731,10 +726,6 @@ cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles -cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/ -cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/ -cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh - # move rpm to /bin %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery @@ -746,10 +737,16 @@ for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a} done -#./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb - -# Make sure we have bdb set a default backend -grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros +# init an empty database for %ghost'ing for all supported backends +for be in sqlite bdb ndb; do + ./rpmdb \ + --macros=$RPM_BUILD_ROOT%{_rpmlibdir}/macros \ + --rcfile=$RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc \ + --dbpath=${PWD}/${be} \ + --define "_db_backend ${be}" \ + --initdb + cp -va ${be}/. $RPM_BUILD_ROOT/var/lib/rpm/ +done %if %{with python3} # Remove anything that rpm make install might put there @@ -770,8 +767,7 @@ cd .. rm -rf $RPM_BUILD_ROOT %posttrans -if [ -e /var/lib/rpm/Packages ] && \ - ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then +if [ -e /var/lib/rpm/Packages ]; then if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \ /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then echo @@ -782,7 +778,24 @@ if [ -e /var/lib/rpm/Packages ] && \ echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,' echo 'you should ignore it and restart poldek' echo - %{_rpmlibdir}/dbupgrade.sh + %{__rm} -rf /var/lib/rpm/log >/dev/null 2>/dev/null || : + %{__rm} -rf /var/lib/rpm/tmp >/dev/null 2>/dev/null || : + # Unlock database for rebuild, safe since this is posttrans + %{__rm} -f /var/lib/rpm/.rpm.lock >/dev/null 2>/dev/null || : + if ! /usr/bin/rpmdb --rebuilddb; then + echo + echo "rpm database conversion failed!" + echo "You have to run '/usr/bin/rpmdb --rebuilddb' manually" + echo + exit 1 + fi +fi + +%post +if [ -d /var/cache/hrmib ]; then + %{__rm} -rf /var/cache/hrmib + echo "HR-MIB is not supported by this rpm version." + echo "/var/cache/hrmib has been removed." fi %post lib -p /sbin/ldconfig @@ -822,6 +835,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %lang(sk) %{_mandir}/sk/man8/rpm.8* %dir /var/lib/rpm +%ghost %config(missingok,noreplace) /var/lib/rpm/* +%ghost /var/lib/rpm/.*.lock %{_rpmlibdir}/rpmpopt* %{_rpmlibdir}/rpmrc @@ -865,15 +880,14 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %dir %{_rpmlibdir}/pld -%attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh -%attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion -%attr(755,root,root) %{_rpmlibdir}/rpmdb_reset %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump %attr(755,root,root) %{_rpmlibdir}/rpmdb_load # valgrind suppression file for rpm %{_rpmlibdir}/rpm.supp +%dir /usr/lib/.build-id + %files base %defattr(644,root,root,755) %dir %{_sysconfdir}/rpm