X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=f4a423631f1244cfd52895a9c41eac260e6606e0;hp=b8da99289c5b962632fbc9f04b9c7e43b6deabfe;hb=bdac93ae5c511c361c946514bfb82be326aa7296;hpb=5da04523d2bcb0a699dd325189eb29c774c8e69c diff --git a/rpm.spec b/rpm.spec index b8da992..f4a4236 100644 --- a/rpm.spec +++ b/rpm.spec @@ -3,20 +3,28 @@ # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985 # # Conditional build: -%bcond_without apidocs # don't generate documentation with doxygen -%bcond_without python3 # don't build python bindings -%bcond_without plugins # build plugins -%bcond_without recommends_tags # build without Recommends tag (bootstrapping) -%bcond_with imaevm # build with IMA/EVM support (requires libimaevm from ima-evm-utils) +%bcond_without apidocs # Doxygen based API documentation +%bcond_without python3 # Python (3) bindings +%bcond_without plugins # plugins (all, including: audit, imaevm, selinux, systemd) +%bcond_without recommends_tags # use of Recommends tag (disable for bootstrapping) +%bcond_with imaevm # IMA/EVM signing support (requires libimaevm from ima-evm-utils) +%bcond_without audit # audit plugin +%bcond_without selinux # SELinux plugin +%bcond_without systemd # systemd inhibit plugin %define db_ver 5.3.28.0 %define popt_ver 1.15 -%define sover 9.1.0 +%define sover 9.1.3 %if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5" %define with_recommends_tags 1 %endif +%if %{without plugins} +%undefine with_audit +%undefine with_selinux +%undefine with_systemd +%endif Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager Summary(es.UTF-8): Gestor de paquetes RPM @@ -25,13 +33,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.9 +Version: 4.16.1.3 +Release: 5 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: 576277fafa5d0681a8a92c8716aca5f0 Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc # Source1-md5: 23914bb49fafe7153cee87126d966461 Source2: macros.local @@ -48,14 +56,12 @@ 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 Patch3: %{name}-perl-req-perlfile.patch Patch4: %{name}-scripts-closefds.patch +Patch5: %{name}-dir-macros-relative.patch Patch6: %{name}-perl_req-INC_dirs.patch Patch7: %{name}-debuginfo.patch Patch8: %{name}-libtool-deps.patch @@ -68,48 +74,56 @@ Patch14: %{name}-ignore-missing-macro-files.patch Patch15: x32.patch Patch16: rpm5-db-compat.patch Patch17: python-internal-build.patch -Patch18: rpmversion.patch +Patch18: missing-macros.patch Patch19: pkgconfig.patch Patch20: uname-deps.patch -Patch21: aarch64.patch +Patch21: arm_abi.patch Patch22: ix86-platforms.patch Patch23: shortcircuited-deps.patch Patch24: cpuinfo-deps.patch Patch25: rpmio-read-proc-files.patch Patch26: allow-at-in-ver-rel.patch Patch27: no-exeonly-for-elf-reqprov.patch -Patch28: missing-macros.patch +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} +%{?with_audit:BuildRequires: audit-libs-devel} BuildRequires: autoconf >= 2.63 -BuildRequires: automake >= 1.4 +BuildRequires: automake >= 1:1.10 BuildRequires: bzip2-devel >= 1.0.2-17 +BuildRequires: db-devel >= %{db_ver} +%{?with_systemd:BuildRequires: dbus-devel >= 1.3} BuildRequires: elfutils-devel >= 0.108 BuildRequires: gettext-tools >= 0.19.2 BuildRequires: libarchive-devel BuildRequires: libcap-devel BuildRequires: libmagic-devel BuildRequires: libgcrypt-devel -%if %{with plugins} -BuildRequires: audit-libs-devel -BuildRequires: dbus-devel +BuildRequires: libgomp-devel >= 6:4.5 %{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0} -BuildRequires: libselinux-devel >= 2.1.0 -%endif +%{?with_selinux: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: lua-devel >= 5.2 BuildRequires: patch >= 2.2 -BuildRequires: pkgconfig(lua) >= 5.1 +BuildRequires: pkgconfig BuildRequires: popt-devel >= %{popt_ver} -BuildRequires: python3-modules +BuildRequires: python3-modules >= 1:3.2 %if %{with python3} -BuildRequires: python3-devel +BuildRequires: python3-devel >= 1:3.2 BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.750 %endif +BuildRequires: rpm-build >= 4.6 BuildRequires: sqlite3-devel >= 3.22.0 BuildRequires: tcl BuildRequires: xz-devel @@ -124,7 +138,7 @@ BuildRequires: tetex-pdftex Requires(posttrans): coreutils Requires: %{name}-base = %{epoch}:%{version}-%{release} Requires: %{name}-lib = %{epoch}:%{version}-%{release} -Requires: rpm-pld-macros >= 1.744 +Requires: rpm-pld-macros >= 2.002 Requires: FHS >= 3.0-2 Requires: libgcrypt Requires: popt >= %{popt_ver} @@ -134,8 +148,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 @@ -208,8 +222,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. @@ -231,7 +245,8 @@ Group: Libraries Requires: db >= %{db_ver} Requires: libmagic >= 1.15-2 Requires: popt >= %{popt_ver} -Obsoletes: rpm-libs +Requires: sqlite3-libs >= 3.22.0 +Obsoletes: rpm-libs < 4.0.2-4 # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 @@ -442,7 +457,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 @@ -470,31 +485,47 @@ Python 3 para manipular pacotes e bancos de dados RPM. %package plugin-audit Summary: Plugin for logging audit events on package operations +Summary(pl.UTF-8): Wtyczka do logowania zdarzeń audytowych przy operacjach na pakietach Group: Base Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description plugin-audit -Plugin for libaudit support +Plugin for libaudit support. + +%description plugin-audit -l pl.UTF-8 +Wtyczka do obsługi libaudit. %package plugin-syslog Summary: Plugin for syslog functionality +Summary(pl.UTF-8): Wtyczka do funkcjonalności sysloga Group: Base Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description plugin-syslog This plugin exports RPM actions to the system log. +%description plugin-syslog -l pl.UTF-8 +Ta wtyczka eksportuje akcje RPM-a do logu systemowego. + %package plugin-systemd-inhibit Summary: Plugin for systemd inhibit functionality +Summary(pl.UTF-8): Wtyczka do funkcjonalności systemd inhibit Group: Base Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Requires: dbus >= 1.3 %description plugin-systemd-inhibit This plugin blocks systemd from entering idle, sleep or shutdown while an rpm transaction is running using the systemd-inhibit mechanism. +%description plugin-systemd-inhibit -l pl.UTF-8 +Ta wtyczka blokuje systemd przed wejściem w stan bezczynności (idle), +uśpienia (sleep) lub zamykania (shutdown) podczas trwania transakcji +RPM-a, korzystając z mechanizmu systemd-inhibit. + %package plugin-ima Summary: Plugin for IMA file signatures +Summary(pl.UTF-8): Wtyczka do sygnatur plików IMA Group: Base Requires: %{name}-lib = %{epoch}:%{version}-%{release} @@ -502,8 +533,13 @@ Requires: %{name}-lib = %{epoch}:%{version}-%{release} This plugin adds support for enforcing and verifying IMA file signatures in an rpm. +%description plugin-ima -l pl.UTF-8 +Ta wtyczka dodaje obsługę wymuszania i weryfikacji podpisów plików +IMA w RPM-ie. + %package plugin-prioreset Summary: Plugin for resetting scriptlet priorities for SysV init +Summary(pl.UTF-8): Wtyczka do resetowania priorytetu skryptletów przy inicie SysV Group: Base Requires: %{name}-lib = %{epoch}:%{version}-%{release} @@ -512,8 +548,14 @@ This plugin is useful on legacy SysV init systems if you run rpm transactions with nice/ionice priorities. Should not be used on systemd systems. +%description plugin-prioreset -l pl.UTF-8 +Ta wtyczka jest przydatna w systemach ze starym procesem init w wersji +SysV, jeżeli transakcje RPM-a są uruchamiane z priorytetami +nice/ionice. Nie powinna być używana w systemach z systemd. + %package plugin-selinux Summary: Plugin for SELinux functionality +Summary(pl.UTF-8): Wtyczka do funkcjonalności SELinux Group: Base Requires: %{name}-lib = %{epoch}:%{version}-%{release} Requires: libselinux >= 2.1.0 @@ -521,14 +563,21 @@ Requires: libselinux >= 2.1.0 %description plugin-selinux Plugin for SELinux functionality. +%description plugin-selinux -l pl.UTF-8 +Wtyczka do funkcjonalności SELinux. + %package sign Summary: Package signing support +Summary(pl.UTF-8): Obsługa podpisywania pakietów Group: Base Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description sign This package contains support for digitally signing RPM packages. +%description sign -l pl.UTF-8 +Ten pakiet zawiera obsługę cyfrowego podpisywania pakietów RPM. + %package apidocs Summary: RPM API documentation and guides Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki @@ -550,6 +599,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %patch6 -p0 %patch7 -p1 %patch8 -p1 @@ -573,17 +623,24 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch26 -p1 %patch27 -p1 %patch28 -p1 +%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 -%{__mv} -f scripts/perl.req{,.in} +%{__mv} scripts/perl.req{,.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 @@ -594,50 +651,38 @@ install %{SOURCE17} tools/rpmdb_reset.c %{__automake} # rpm checks for CPU type at runtime, but it looks better -sed -i \ +%{__sed} -i \ -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \ -e 's|@host_cpu@|%{_target_cpu}|' \ -e 's|@host_os@|%{_target_os}|' \ macros.in %configure \ + PYTHON=python3 \ WITH_PERL_VERSION=no \ __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \ __GPG=%{_bindir}/gpg \ -%if %{with python3} - PYTHON=python3 \ - --enable-python \ -%endif - --disable-silent-rules \ - --enable-shared \ --enable-bdb \ --enable-bdb-ro \ --enable-ndb \ + %{!?with_plugins:--disable-plugins} \ + %{!?with_systemd:--disable-inhibit-plugin} \ + --disable-silent-rules \ --enable-sqlite \ --enable-zstd \ - --with-lua \ - %{?with_imaevm:--with-imaevm} \ - --with-cap \ --with-acl \ - --with-audit \ --with-archive \ - --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \ - %{!?with_plugins:--disable-plugins} \ + --with-audit%{!?with_audit:=no} \ + --with-cap \ + %{?with_imaevm:--with-imaevm} \ + --with-lua \ + %{?with_python3:--enable-python} \ + --with-selinux%{!?with_selinux:=no} \ --with-vendor=pld %{__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 @@ -647,7 +692,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 @@ -657,45 +702,48 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.as # cleanup %ifnarch %{ix86} %{x8664} x32 -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros %endif %ifnarch %{x8664} x32 -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros %endif %ifnarch %{ppc} -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros %endif %ifnarch aarch64 -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros +%endif + +%ifnarch %{arm} +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros %endif -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform %ifarch x32 @@ -722,10 +770,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 @@ -737,10 +781,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 @@ -761,8 +811,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 @@ -773,7 +822,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 @@ -813,6 +879,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 @@ -838,6 +906,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %ifarch aarch64 %{_rpmlibdir}/platform/aarch64* %endif +%ifarch %{arm} +%{_rpmlibdir}/platform/arm* +%endif %ifarch ia64 %{_rpmlibdir}/platform/ia64* %endif @@ -853,15 +924,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 @@ -889,9 +959,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{_libdir}/librpmbuild.so %attr(755,root,root) %{_libdir}/librpmio.so %attr(755,root,root) %{_libdir}/librpmsign.so -%{_libdir}/librpm*.la +%{_libdir}/librpm.la +%{_libdir}/librpmbuild.la +%{_libdir}/librpmio.la +%{_libdir}/librpmsign.la %{_includedir}/rpm -%{_pkgconfigdir}/*.pc +%{_pkgconfigdir}/rpm.pc %files utils %defattr(644,root,root,755) @@ -1004,10 +1077,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so %{_mandir}/man8/rpm-plugin-syslog.8* +%if %{with systemd} %files plugin-systemd-inhibit %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so %{_mandir}/man8/rpm-plugin-systemd-inhibit.8* +%endif %files plugin-ima %defattr(644,root,root,755)