]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- unified __sed, __rm macros usage and -devel files verbosity
[packages/rpm.git] / rpm.spec
index c7bef13af7a728bb7b48c7aac45f3f5f74596700..2a82561223b3558eab4da21cd2e87e8cdb0edb53 100644 (file)
--- 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.2
 
 %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.7
+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
@@ -40,7 +48,6 @@ Source4:      %{name}.sysconfig
 Source5:       %{name}.groups
 Source6:       %{name}-groups-po.awk
 Source7:       %{name}-install-tree
-Source8:       %{name}-hrmib-cache
 Source9:       %{name}-user_group.sh
 # http://svn.pld-linux.org/banner.sh/
 Source10:      banner.sh
@@ -49,9 +56,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
@@ -69,7 +73,7 @@ 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
@@ -77,37 +81,48 @@ 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:       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
@@ -132,8 +147,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
@@ -206,8 +221,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.
@@ -229,7 +244,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
 
@@ -440,7 +456,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
@@ -468,31 +484,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}
 
@@ -500,8 +532,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}
 
@@ -510,8 +547,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
@@ -519,14 +562,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
@@ -568,17 +618,27 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch23 -p1
 %patch24 -p1
 %patch25 -p1
+%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
@@ -589,50 +649,37 @@ 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} \
+       --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
@@ -642,7 +689,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},/var/cache/hrmib}
+       $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
 
@@ -652,45 +699,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
 
-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
+%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/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
@@ -706,7 +756,6 @@ install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
 
 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
-cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
 
 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
@@ -718,10 +767,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
@@ -733,10 +778,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
@@ -757,8 +808,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
@@ -769,11 +819,25 @@ 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
 
-%triggerpostun -- %{name} < 4.4.9-44
-%{_rpmlibdir}/hrmib-cache
+%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
 %postun lib -p /sbin/ldconfig
@@ -812,10 +876,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %lang(sk) %{_mandir}/sk/man8/rpm.8*
 
 %dir /var/lib/rpm
-
-# exported package NVRA (stamped with install tid)
-# net-snmp hrSWInstalledName queries, bash-completions
-%dir /var/cache/hrmib
+%ghost %config(missingok,noreplace) /var/lib/rpm/*
+%ghost /var/lib/rpm/.*.lock
 
 %{_rpmlibdir}/rpmpopt*
 %{_rpmlibdir}/rpmrc
@@ -841,6 +903,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
@@ -856,17 +921,14 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %dir %{_rpmlibdir}/pld
 
-%attr(755,root,root) %{_rpmlibdir}/hrmib-cache
-
-%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
@@ -894,9 +956,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)
This page took 0.080134 seconds and 4 git commands to generate.