]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- release 7 (by relup.sh)
[packages/rpm.git] / rpm.spec
index 2afcb8610dc133b16b55c119448ddff6bd0e2638..32e18a026645793f7b559a4ff26eeda585280070 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -1,30 +1,21 @@
 #
 # TODO:
-# - build python stuff with libs from build tree
-# - rebuild database after upgrading from rpm5
 # - 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 python2         # don't build python bindings
 %bcond_without python3         # don't build python bindings
 %bcond_without plugins         # build plugins
 %bcond_without recommends_tags # build without Recommends tag (bootstrapping)
-%bcond_with    db61            # use DB 6.1 instead of 5.3
+%bcond_with    imaevm          # build with IMA/EVM support (requires libimaevm from ima-evm-utils)
 
-# versions of required libraries
-%if %{with db61}
-%define                reqdb_pkg       db6.1
-%define                reqdb_ver       6.1
-%define                reqdb_pkgver    6.1.19
-%else
-%define                reqdb_pkg       db5.3
-%define                reqdb_ver       5.3
-%define                reqdb_pkgver    5.3.28.0
+%define                db_ver          5.3.28.0
+%define                popt_ver        1.15
+%define                sover           9.1.2
+
+%if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
+%define        with_recommends_tags    1
 %endif
-%define                reqpopt_ver     1.15
-%define                openssl_ver     1.1.1d
-%define                sover           9.0.1
 
 Summary:       RPM Package Manager
 Summary(de.UTF-8):     RPM Packet-Manager
@@ -34,95 +25,96 @@ Summary(pt_BR.UTF-8):       Gerenciador de pacotes RPM
 Summary(ru.UTF-8):     Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
-Version:       4.15.1
-Release:       0.1
+Version:       4.16.1.2
+Release:       7
 Epoch:         1
 License:       GPL v2 / LGPL v2.1
 Group:         Base
-Source0:       http://ftp.rpm.org/releases/rpm-4.15.x/%{name}-%{version}.tar.bz2
-# Source0-md5: ed72147451a5ed93b2a48e2f8f5413c3
-Source1:       %{name}.groups
-Source2:       macros.pld.in
-Source3:       %{name}-install-tree
-Source4:       %{name}-find-spec-bcond
-Source5:       %{name}-hrmib-cache
+Source0:       http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
+# Source0-md5: 0d10f63a0a4c9517cf3808a601378399
+Source1:       ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
+# Source1-md5: 23914bb49fafe7153cee87126d966461
+Source2:       macros.local
+Source3:       macros.lang
+Source4:       %{name}.sysconfig
+Source5:       %{name}.groups
 Source6:       %{name}-groups-po.awk
-Source7:       %{name}-compress-doc
-Source8:       %{name}-php-provides
-Source9:       %{name}-php-requires
-Source10:      %{name}.sysinfo
-Source11:      perl.prov
-Source12:      %{name}-user_group.sh
-Source13:      %{name}.sysconfig
-Source14:      %{name}-java-requires
+Source7:       %{name}-install-tree
+Source9:       %{name}-user_group.sh
 # http://svn.pld-linux.org/banner.sh/
-Source15:      banner.sh
-Source16:      ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
-# Source16-md5:        23914bb49fafe7153cee87126d966461
-Source17:      %{name}-mimetypedeps
-Source18:      macros.local
-Source19:      %{name}.noautocompressdoc
-Source20:      %{name}.noautoprov
-Source21:      %{name}.noautoprovfiles
-Source22:      %{name}.noautoreq
-Source24:      %{name}.noautoreqfiles
-Source25:      %{name}-php-requires.php
-Source26:      %{name}db_checkversion.c
-Source27:      macros.lang
-Source28:      %{name}db_reset.c
-Source29:      dbupgrade.sh
-Source30:      rubygems.rb
-Source31:      gem_helper.rb
+Source10:      banner.sh
+Source11:      %{name}.noautoprov
+Source12:      %{name}.noautoprovfiles
+Source13:      %{name}.noautoreq
+Source14:      %{name}.noautoreqfiles
+Source15:      perl.prov
 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}-php-macros.patch
-Patch6:                %{name}-lua.patch
-Patch7:                %{name}-perl_req-INC_dirs.patch
-Patch8:                %{name}-debuginfo.patch
-Patch9:                %{name}-javadeps.patch
-Patch10:       %{name}-libtool-deps.patch
-Patch11:       %{name}-builddir-readlink.patch
-Patch12:       %{name}-changelog_order_check_nonfatal.patch
-Patch13:       %{name}-postun-nofail.patch
-Patch14:       %{name}-clean-docdir.patch
-Patch15:       %{name}-perl-magic.patch
-Patch16:       %{name}-ignore-missing-macro-files.patch
-Patch17:       x32.patch
-Patch18:       %{name}-fix-compress-doc.patch
-Patch19:       vendor-pld.patch
-Patch20:       rpm5-db-compat.patch
+Patch6:                %{name}-perl_req-INC_dirs.patch
+Patch7:                %{name}-debuginfo.patch
+Patch8:                %{name}-libtool-deps.patch
+Patch9:                %{name}-builddir-readlink.patch
+Patch10:       %{name}-changelog_order_check_nonfatal.patch
+Patch11:       %{name}-postun-nofail.patch
+Patch12:       %{name}-clean-docdir.patch
+Patch13:       %{name}-perl-magic.patch
+Patch14:       %{name}-ignore-missing-macro-files.patch
+Patch15:       x32.patch
+Patch16:       rpm5-db-compat.patch
+Patch17:       python-internal-build.patch
+Patch18:       missing-macros.patch
+Patch19:       pkgconfig.patch
+Patch20:       uname-deps.patch
+Patch21:       aarch64.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:       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: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
-BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
+BuildRequires: acl-devel
+BuildRequires: db-devel >= %{db_ver}
 BuildRequires: autoconf >= 2.63
 BuildRequires: automake >= 1.4
 BuildRequires: bzip2-devel >= 1.0.2-17
 BuildRequires: elfutils-devel >= 0.108
 BuildRequires: gettext-tools >= 0.19.2
 BuildRequires: libarchive-devel
+BuildRequires: libcap-devel
 BuildRequires: libmagic-devel
-BuildRequires: openssl-devel >= %{openssl_ver}
+BuildRequires: libgcrypt-devel
 %if %{with plugins}
 BuildRequires: audit-libs-devel
 BuildRequires: dbus-devel
+%{?with_imaevm:BuildRequires:  libimaevm-devel >= 1.0}
 BuildRequires: libselinux-devel >= 2.1.0
 %endif
 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
 BuildRequires: libstdc++-devel
 BuildRequires: libtool >= 1:1.4.2-9
-BuildRequires: lua53-devel >= 5.3.5
-BuildRequires: ossp-uuid-devel
 BuildRequires: patch >= 2.2
-BuildRequires: popt-devel >= %{reqpopt_ver}
-%{?with_python2:BuildRequires: python-devel >= 1:2.3}
-%{?with_python3:BuildRequires: python3-devel}
-BuildRequires: python-modules >= 1:2.3
-%if %{with python2} || %{with python3}
+BuildRequires: pkgconfig(lua) >= 5.1
+BuildRequires: popt-devel >= %{popt_ver}
+BuildRequires: python3-modules
+%if %{with python3}
+BuildRequires: python3-devel
 BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.750
 %endif
+BuildRequires: sqlite3-devel >= 3.22.0
 BuildRequires: tcl
 BuildRequires: xz-devel
 BuildRequires: zlib-devel
@@ -136,17 +128,16 @@ 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:      FHS >= 3.0-2
-Requires:      openssl >= %{openssl_ver}
-Requires:      popt >= %{reqpopt_ver}
+Requires:      libgcrypt
+Requires:      popt >= %{popt_ver}
 %if %{with recommends_tags}
 Recommends:    rpm-plugin-audit
 Recommends:    rpm-plugin-prioreset
 Recommends:    rpm-plugin-syslog
 Recommends:    rpm-plugin-systemd-inhibit
 %endif
-Provides:      rpm-db-ver = %{reqdb_ver}
-Obsoletes:     rpm-getdeps
 Obsoletes:     rpm-utils-perl
 Obsoletes:     rpm-utils-static
 Conflicts:     glibc < 2.2.92
@@ -166,7 +157,6 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                x8664   amd64 ia32e x86_64
 
 %define                _rpmlibdir /usr/lib/rpm
-%define                _noautocompressdoc      RPM-GPG-KEY
 
 %description
 RPM is a powerful package manager, which can be used to build,
@@ -242,11 +232,9 @@ Zawiera on:
 Summary:       RPMs library
 Summary(pl.UTF-8):     Biblioteki RPM-a
 Group:         Libraries
-Requires:      %{reqdb_pkg} >= %{reqdb_pkgver}
-Requires:      %{reqdb_pkg}-sql >= %{reqdb_pkgver}
+Requires:      db >= %{db_ver}
 Requires:      libmagic >= 1.15-2
-Requires:      openssl >= %{openssl_ver}
-Requires:      popt >= %{reqpopt_ver}
+Requires:      popt >= %{popt_ver}
 Obsoletes:     rpm-libs
 # avoid SEGV caused by mixed db versions
 Conflicts:     poldek < 0.18.1-16
@@ -267,17 +255,17 @@ Summary(ru.UTF-8):        Хедеры и библиотеки для программ,
 Summary(uk.UTF-8):     Хедери та бібліотеки для програм, що працюють з пакетами rpm
 Group:         Development/Libraries
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
-Requires:      %{reqdb_pkg}-devel >= %{reqdb_pkgver}
 Requires:      bzip2-devel
+Requires:      db-devel >= %{db_ver}
 Requires:      elfutils-devel
 Requires:      libmagic-devel
-Requires:      openssl-devel >= %{openssl_ver}
+Requires:      libgcrypt-devel
 %if %{with selinux}
 Requires:      libselinux-devel
 Requires:      libsemanage-devel
 Requires:      libsepol-devel
 %endif
-Requires:      popt-devel >= %{reqpopt_ver}
+Requires:      popt-devel >= %{popt_ver}
 Requires:      zlib-devel
 
 %description devel
@@ -331,7 +319,7 @@ Summary(de.UTF-8):  Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
 Summary(pl.UTF-8):     Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
 Group:         Applications/File
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      popt >= %{reqpopt_ver}
+Requires:      popt >= %{popt_ver}
 %if %{with recommends_tags}
 Recommends:    bzip2
 Recommends:    gzip
@@ -357,8 +345,8 @@ Summary(uk.UTF-8):  Скрипти та утиліти, необхідні для
 Group:         Applications/File
 Requires(pretrans):    coreutils
 Requires(pretrans):    findutils
-Requires:      %{name}-build-macros >= 1.712
 Requires:      %{name}-utils = %{epoch}:%{version}-%{release}
+Requires:      rpm-pld-macros-build >= 1.744
 Requires:      /bin/id
 Requires:      awk
 Requires:      bzip2
@@ -385,7 +373,6 @@ Requires:   tar >= 1:1.22
 Requires:      textutils
 Requires:      which
 Requires:      xz
-Provides:      rpmbuild(monoautodeps)
 Provides:      rpmbuild(noauto) = 3
 %ifarch %{x8664}
 Conflicts:     automake < 1:1.7.9-2
@@ -413,24 +400,6 @@ construir pacotes usando o RPM.
 Різноманітні допоміжні скрипти та утиліти, які використовуються для
 побудови RPM'ів.
 
-%package javaprov
-Summary:       Additional utilities for checking Java provides/requires in RPM packages
-Summary(pl.UTF-8):     Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach RPM
-Group:         Applications/File
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      file
-Requires:      findutils >= 1:4.2.26
-Requires:      mktemp
-Requires:      unzip
-
-%description javaprov
-Additional utilities for checking Java provides/requires in RPM
-packages.
-
-%description javaprov -l pl.UTF-8
-Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach
-RPM.
-
 %package perlprov
 Summary:       Additional utilities for checking Perl provides/requires in RPM packages
 Summary(de.UTF-8):     Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
@@ -457,9 +426,9 @@ Summary:    Python macros, which simplifies creation of RPM packages with Python so
 Summary(pl.UTF-8):     Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
 Group:         Applications/File
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      python
-Requires:      python-modules
-Requires:      python-setuptools
+Requires:      python3
+Requires:      python3-modules
+Requires:      python3-setuptools
 
 %description pythonprov
 Python macros, which simplifies creation of RPM packages with Python
@@ -469,71 +438,6 @@ software.
 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
 Pythonie.
 
-%package php-pearprov
-Summary:       Additional utilities for checking PHP PEAR provides/requires in RPM packages
-Summary(pl.UTF-8):     Dodatkowe narzędzia do sprawdzania zależności skryptów php w RPM
-Group:         Applications/File
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      sed >= 4.0
-Suggests:      php-pear-PHP_CompatInfo
-
-%description php-pearprov
-Additional utilities for checking PHP PEAR provides/requires in RPM
-packages.
-
-%description php-pearprov -l pl.UTF-8
-Dodatkowe narzędzia do sprawdzenia zależności skryptów PHP PEAR w
-pakietach RPM.
-
-%package rubyprov
-Summary:       Ruby tools, which simplify creation of RPM packages with Ruby software
-Summary(pl.UTF-8):     Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Ruby
-Group:         Applications/File
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      ruby
-Requires:      ruby-modules
-Requires:      ruby-rubygems
-
-%description rubyprov
-Ruby tools, which simplifies creation of RPM packages with Ruby
-software.
-
-%description rubyprov -l pl.UTF-8
-Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
-Ruby.
-
-%package -n python-rpm
-Summary:       Python interface to RPM library
-Summary(pl.UTF-8):     Pythonowy interfejs do biblioteki RPM-a
-Summary(pt_BR.UTF-8):  Módulo Python para aplicativos que manipulam pacotes RPM
-Group:         Development/Languages/Python
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      python
-Obsoletes:     rpm-python
-
-%description -n python-rpm
-The python-rpm package contains a module which permits applications
-written in the Python programming language to use the interface
-supplied by RPM (RPM Package Manager) libraries.
-
-This package should be installed if you want to develop Python
-programs that will manipulate RPM packages and databases.
-
-%description -n python-rpm -l pl.UTF-8
-Pakiet python-rpm zawiera moduł, który pozwala aplikacjom napisanym w
-Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
-
-Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
-Pythonie programy manipulujące pakietami i bazami danych rpm.
-
-%description -n python-rpm -l pt_BR.UTF-8
-O pacote python-rpm contém um módulo que permite que aplicações
-escritas em Python utilizem a interface fornecida pelas bibliotecas
-RPM (RPM Package Manager).
-
-Esse pacote deve ser instalado se você quiser desenvolver programas em
-Python para manipular pacotes e bancos de dados RPM.
-
 %package -n python3-rpm
 Summary:       Python 3 interface to RPM library
 Summary(pl.UTF-8):     Interfejs Pythona 3 do biblioteki RPM-a
@@ -541,6 +445,8 @@ Summary(pt_BR.UTF-8):       Módulo Python 3 para aplicativos que manipulam pacotes RP
 Group:         Development/Languages/Python
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      python3
+Obsoletes:     python-rpm < 1:4.16.0
+Obsoletes:     rpm-python
 
 %description -n python3-rpm
 The python3-rpm package contains a module which permits applications
@@ -552,7 +458,8 @@ programs that will manipulate RPM packages and databases.
 
 %description -n python3-rpm -l pl.UTF-8
 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
-Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki RPM-a.
+Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
+RPM-a.
 
 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
@@ -567,7 +474,7 @@ Python 3 para manipular pacotes e bancos de dados RPM.
 
 %package plugin-audit
 Summary:       Plugin for logging audit events on package operations
-Group:         System/Base
+Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-audit
@@ -575,7 +482,7 @@ Plugin for libaudit support
 
 %package plugin-syslog
 Summary:       Plugin for syslog functionality
-Group:         System/Base
+Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-syslog
@@ -583,7 +490,7 @@ This plugin exports RPM actions to the system log.
 
 %package plugin-systemd-inhibit
 Summary:       Plugin for systemd inhibit functionality
-Group:         System/Base
+Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-systemd-inhibit
@@ -647,9 +554,8 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p0
+%patch6 -p0
+%patch7 -p1
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
@@ -660,26 +566,36 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch15 -p1
 %patch16 -p1
 %patch17 -p1
-#%patch18 -p1
-#%patch19 -p1
+%patch18 -p1
+%patch19 -p1
 %patch20 -p1
-
-install %{SOURCE2} pld.in
-install %{SOURCE8} scripts/php.prov.in
-install %{SOURCE9} scripts/php.req.in
-install %{SOURCE11} scripts/perl.prov.in
-cp -p %{SOURCE30} scripts/rubygems.rb
-cp -p %{SOURCE31} scripts/gem_helper.rb
+%patch21 -p1
+%patch22 -p1
+%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}
 
 # generate Group translations to *.po
-awk -f %{SOURCE6} %{SOURCE1}
+awk -f %{SOURCE6} %{SOURCE5}
 
-install %{SOURCE26} tools/rpmdb_checkversion.c
-install %{SOURCE28} tools/rpmdb_reset.c
-
-%{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py
+%{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
 
 %build
 %{__libtoolize}
@@ -695,55 +611,34 @@ sed -i \
        -e 's|@host_os@|%{_target_os}|' \
        macros.in
 
-CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}"
 %configure \
        WITH_PERL_VERSION=no \
        __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
        __GPG=%{_bindir}/gpg \
-       %{?with_python3:PYTHON=python3} \
-       %{!?with_python3:%{?with_python2:PYTHON=python2}} \
+%if %{with python3}
+       PYTHON=python3 \
+       --enable-python \
+%endif
        --disable-silent-rules \
        --enable-shared \
        --enable-bdb \
+       --enable-bdb-ro \
+       --enable-ndb \
+       --enable-sqlite \
        --enable-zstd \
-       --with-crypto=openssl \
        --with-lua \
+       %{?with_imaevm:--with-imaevm} \
        --with-cap \
        --with-acl \
        --with-audit \
        --with-archive \
-%if %{with python2} || %{with python3}
-       --enable-python \
-%endif
        --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
        %{!?with_plugins:--disable-plugins} \
        --with-vendor=pld
 
-#  --enable-ndb (EXPERIMENTAL) enable the new rpm database format
-#  --enable-lmdb=[yes/no/auto] (EXPERIMENTAL) build with LMDB rpm database format support (default=auto)
-#  --with-imaevm           build with imaevm support
-
 %{__make}
 
-%{__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
-
-%if %{with python2}
-cd python
-%py_build
-cd ..
-%endif
+%{__make} -C po update-gmo
 
 %if %{with python3}
 cd python
@@ -753,9 +648,9 @@ 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 %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
 
 %{__make} install \
        pkgconfigdir=%{_pkgconfigdir} \
@@ -790,9 +685,15 @@ 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/alpha*-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/ia64-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
@@ -800,41 +701,30 @@ 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
+%{_target_cpu}-%{_target_vendor}-linux-gnux32
+%else
+%{_target_cpu}-%{_target_vendor}-linux
+%endif
+EOF
+
 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
 
-cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
-cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
-cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
-cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
-cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires
-cp -p scripts/php.{prov,req}   $RPM_BUILD_ROOT%{_rpmlibdir}
-cp -p %{SOURCE25} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php
-cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh
-cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
-cp -p %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm
-
-cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh
-
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
-
-cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
-cp -p %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
-cp -p %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc
-cp -p %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
-cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
-cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
-cp -p %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
-
-touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
-touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
-cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
-touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
-touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
-touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
-
-cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
-cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
-cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
+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 %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
+
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
+
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
+cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
+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
 
 # move rpm to /bin
 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
@@ -847,16 +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
-
-%if %{with python2}
-# Remove anything that rpm make install might put there
-%{__rm} -rf $RPM_BUILD_ROOT%{py_sitedir}
-cd python
-%py_install
-%py_postclean
-cd ..
-%endif
+# 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
@@ -876,17 +766,8 @@ cd ..
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%pretrans
-# this needs to be a dir
-if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
-       umask 022
-       mv -f %{_sysconfdir}/rpm/sysinfo{,.rpmsave}
-       mkdir %{_sysconfdir}/rpm/sysinfo
-fi
-
 %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
@@ -897,12 +778,19 @@ 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  lib -p /sbin/ldconfig
 %postun lib -p /sbin/ldconfig
 
@@ -924,14 +812,14 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
-%dir %{_sysconfdir}/rpm/sysinfo
-# these are ok to be replaced
-%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
+# this is ok to be replaced
+%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
 
 %{_mandir}/man8/rpm.8*
 %{_mandir}/man8/rpmdb.8*
 %{_mandir}/man8/rpmkeys.8*
 %{_mandir}/man8/rpm-misc.8*
+%{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
 %lang(fr) %{_mandir}/fr/man8/rpm.8*
 %lang(ja) %{_mandir}/ja/man8/rpm.8*
 %lang(ko) %{_mandir}/ko/man8/rpm.8*
@@ -940,16 +828,13 @@ 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
 %{_rpmlibdir}/macros
 %dir %{_rpmlibdir}/macros.d
-#%{_rpmlibdir}/macros.d/pld
 %dir %{_rpmlibdir}/platform
 %{_rpmlibdir}/platform/noarch-*
 %ifarch %{ix86} %{x8664} x32
@@ -967,6 +852,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %ifarch alpha
 %{_rpmlibdir}/platform/alpha*
 %endif
+%ifarch aarch64
+%{_rpmlibdir}/platform/aarch64*
+%endif
+%ifarch %{arm}
+%{_rpmlibdir}/platform/arm*
+%endif
 %ifarch ia64
 %{_rpmlibdir}/platform/ia64*
 %endif
@@ -980,15 +871,16 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_rpmlibdir}/platform/sparc*
 %endif
 
-%attr(755,root,root) %{_rpmlibdir}/hrmib-cache
+%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
@@ -1027,10 +919,10 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_bindir}/rpmgraph
 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
-%attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
 %attr(755,root,root) %{_rpmlibdir}/tgpg
 %attr(755,root,root) %{_rpmlibdir}/debugedit
 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
+%{_mandir}/man8/rpm2archive.8*
 %{_mandir}/man8/rpm2cpio.8*
 %{_mandir}/man8/rpmdeps.8*
 %{_mandir}/man8/rpmgraph.8*
@@ -1047,31 +939,21 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
 %attr(755,root,root) %{_rpmlibdir}/brp-*
 %attr(755,root,root) %{_rpmlibdir}/check-files
-%attr(755,root,root) %{_rpmlibdir}/compress-doc
-%attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
 %attr(755,root,root) %{_rpmlibdir}/elfdeps
 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
-%attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
 # needs hacked pkg-config to return anything
 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
-# we always used scripts provided by mono-devel, maybe move them here
-#%attr(755,root,root) %{_rpmlibdir}/mono-find-provides
-#%attr(755,root,root) %{_rpmlibdir}/mono-find-requires
 
 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
 # must be here for "Requires: rpm-*prov" to work
 #%{_rpmlibdir}/macros.d/cmake
 #%{_rpmlibdir}/macros.d/gstreamer
-#%{_rpmlibdir}/macros.d/java
 #%{_rpmlibdir}/macros.d/libtool
-#%{_rpmlibdir}/macros.d/mono
 #%{_rpmlibdir}/macros.d/perl
-#%{_rpmlibdir}/macros.d/php
 #%{_rpmlibdir}/macros.d/pkgconfig
 #%{_rpmlibdir}/macros.d/python
-#%{_rpmlibdir}/macros.d/ruby
 #%{_rpmlibdir}/macros.d/selinux
 #%{_rpmlibdir}/macros.d/tcl
 #%{_rpmlibdir}/macros.rpmbuild
@@ -1080,31 +962,22 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
-%attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
-%attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
 %attr(755,root,root) %{_rpmlibdir}/find-provides
 %attr(755,root,root) %{_rpmlibdir}/find-requires
-%attr(755,root,root) %{_rpmlibdir}/metainfo.prov
-%attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
-%attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
+%attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
 %attr(755,root,root) %{_rpmlibdir}/script.req
 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
-# Fedora has this in -build, but shouldn't this be in -devel?
-%attr(755,root,root) %{_rpmlibdir}/config.guess
-%attr(755,root,root) %{_rpmlibdir}/config.sub
 
 %dir %{_rpmlibdir}/fileattrs
 %{_rpmlibdir}/fileattrs/debuginfo.attr
 %{_rpmlibdir}/fileattrs/desktop.attr
 %{_rpmlibdir}/fileattrs/elf.attr
 %{_rpmlibdir}/fileattrs/font.attr
-%{_rpmlibdir}/fileattrs/java.attr
 %{_rpmlibdir}/fileattrs/libtool.attr
 %{_rpmlibdir}/fileattrs/metainfo.attr
 %{_rpmlibdir}/fileattrs/ocaml.attr
 %{_rpmlibdir}/fileattrs/perl.attr
 %{_rpmlibdir}/fileattrs/perllib.attr
-%{_rpmlibdir}/fileattrs/php.attr
 %{_rpmlibdir}/fileattrs/pkgconfig.attr
 %{_rpmlibdir}/fileattrs/python.attr
 %{_rpmlibdir}/fileattrs/pythondist.attr
@@ -1121,41 +994,14 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
 %{_mandir}/man8/rpmspec.8*
 
-%files javaprov
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/java-find-requires
-# needs jar (any jdk), jcf-dump (gcc-java) to work
-#%attr(755,root,root) %{_rpmlibdir}/javadeps.sh
-
-%files rubyprov
-%defattr(644,root,root,755)
-#%attr(755,root,root) %{_rpmlibdir}/gem_helper.rb
-#%attr(755,root,root) %{_rpmlibdir}/rubygems.rb
-
 %files perlprov
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_rpmlibdir}/perl.*
 
 %files pythonprov
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
 
-%files php-pearprov
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/php.prov
-%attr(755,root,root) %{_rpmlibdir}/php.req
-%attr(755,root,root) %{_rpmlibdir}/php.req.php
-
-%if %{with python2}
-%files -n python-rpm
-%defattr(644,root,root,755)
-%dir %{py_sitedir}/rpm
-%attr(755,root,root) %{py_sitedir}/rpm/*.so
-%{py_sitedir}/rpm/*.py[co]
-%{py_sitedir}/rpm-%{version}-py*.egg-info
-%endif
-
 %if %{with python3}
 %files -n python3-rpm
 %defattr(644,root,root,755)
@@ -1170,10 +1016,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %files plugin-audit
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
+%{_mandir}/man8/rpm-plugin-audit.8*
 
 %files plugin-syslog
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
+%{_mandir}/man8/rpm-plugin-syslog.8*
 
 %files plugin-systemd-inhibit
 %defattr(644,root,root,755)
@@ -1183,14 +1031,17 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %files plugin-ima
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
+%{_mandir}/man8/rpm-plugin-ima.8*
 
 %files plugin-prioreset
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
+%{_mandir}/man8/rpm-plugin-prioreset.8*
 
 %files plugin-selinux
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
+%{_mandir}/man8/rpm-plugin-selinux.8*
 %endif
 
 %files sign
This page took 0.057065 seconds and 4 git commands to generate.