+#
# TODO:
-# pluto_> btw. /usr/lib/rpm/find-debuginfo.sh needs fix. it extract debuginfo also from kernel modules.
-# pluto_> there's a filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f
-# pluto_> and we need to add ! -path /lib/modules/...
-# - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.*
-# matches ELF first
-# - repackaging when lzma is not installed (todo: fix digest signature of header)
-# rpmbuild computes digest when writing package to temporary file, then adds a few
-# tags (incl. digest) and writes whole package to destination file;
-# repackaging uses unchanged "immutable header" image from original rpm, also
-# preserving payload format and compressor from original rpm, _not_ current settings
-# /usr/bin/install: cannot stat `./it.gmo': No such file or directory
-# /usr/bin/install: cannot stat `./sr@Latn.gmo': No such file or directory
-# - maybe? http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=cfcd1f9bd98d5d0fc46a84931984efec3b9d47e2
-# - fix linking, rpm is beeing linked against installed rpmio
+# - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
#
# Conditional build:
-%bcond_with static # build static rpm+rpmi
-%bcond_with apidocs # don't generate documentation with doxygen
-%bcond_with internal_db # internal db (db 4.5.20)
-%bcond_with autoreqdep # autogenerate package name deps in addition to sonames/perl(X)
-%bcond_without nptl # internal db: don't use process-shared POSIX mutexes (NPTL provides full interface)
-%bcond_without python # don't build python bindings
-%bcond_without selinux # build without selinux support
-%bcond_without system_libmagic # don't use system libmagic
-%bcond_without suggest_tags # build without Suggest tag (bootstrapping)
-%bcond_with neon # build with HTTP/WebDAV support (neon library). NOTE: neon libs are in /usr!
-
-# versions of required libraries
-%define reqdb_pkg db4.7
-%define reqdb_ver 4.7.25
-%define reqpopt_ver 1.10.8
-%define beecrypt_ver 2:4.1.2-4
-%define sover 4.5
+%bcond_with apidocs # Doxygen based API documentation
+%bcond_with python3 # Python (3) bindings
+%bcond_with plugins # plugins (all, including: audit, imaevm, selinux, systemd)
+%bcond_with recommends_tags # use of Recommends tag (disable for bootstrapping)
+%bcond_with imaevm # IMA/EVM signing support (requires libimaevm from ima-evm-utils)
+%bcond_with audit # audit plugin
+%bcond_with selinux # SELinux plugin
+%bcond_with systemd # systemd inhibit plugin
+%bcond_with fsverity # fsverity plugin
+
+%define popt_ver 1.15
+%define sover 9.3.0
+
+%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
Summary(ru.UTF-8): Менеджер пакетов от RPM
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
-Version: 4.5
-Release: 80.1
-License: LGPL
+Version: 4.17.1.1
+Release: 1
+Epoch: 1
+License: GPL v2 / LGPL v2.1
Group: Base
-Source0: %{name}-%{version}.tar.gz
-# Source0-md5: 4e69ab971f682c87625dc0f65d9e16bc
-Source1: %{name}.groups
-Source2: %{name}.platform
-Source3: %{name}-install-tree
-Source4: %{name}-find-spec-bcond
-Source5: %{name}-hrmib-cache
+Source0: http://ftp.rpm.org/releases/rpm-4.17.x/%{name}-%{version}.tar.bz2
+# Source0-md5: 30e5806bdcb06a17cabf23d8f07b6b0f
+Source1: https://ftp.tld-linux.org/TLD/TLD-Linux.asc
+# Source1-md5: 5b5caff8c570489ad5bf950734546c24
+Source2: macros.local
+Source3: macros.lang
+Source4: %{name}.sysconfig
+Source5: %{name}.groups
Source6: %{name}-groups-po.awk
-Source7: %{name}-compress-doc
-Source10: %{name}-php-provides
-Source11: %{name}-php-requires
-Source12: %{name}.sysinfo
-Source13: perl.prov
-Source14: %{name}-user_group.sh
-Source15: %{name}.sysconfig
-Source16: %{name}-macros.java
-Source17: %{name}-java-requires
+Source7: %{name}-install-tree
+Source9: %{name}-user_group.sh
# http://svn.pld-linux.org/banner.sh/
-Source18: banner.sh
-Source19: %{name}-macros.gstreamer
-Source20: macros.php
-Source21: %{name}-php-requires.php
-Patch1000: %{name}-new-debuginfo.patch
-#Patch0: %{name}-pl.po.patch
-Patch1: %{name}-rpmrc.patch
-Patch2: %{name}-arch.patch
-Patch3: %{name}-rpmpopt.patch
-Patch4: %{name}-perl-macros.patch
-Patch6: %{name}-noexpand.patch
-Patch7: %{name}-scripts-closefds.patch
-Patch8: %{name}-db.patch
-Patch9: %{name}-gettext-in-header.patch
-Patch10: %{name}-compress-doc.patch
-Patch11: %{name}-rpm5-patchset-8074.patch
-Patch12: %{name}-system_libs.patch
-Patch13: %{name}-unglobal.patch
-Patch14: %{name}-etc_dir.patch
-Patch15: %{name}-system_libs-more.patch
-Patch16: %{name}-libmagic-locale.patch
-Patch17: %{name}-ldconfig-always.patch
-Patch20: %{name}-macros-ti.patch
-Patch21: %{name}-perl_req-skip_multiline.patch
-Patch22: %{name}-provides-dont-obsolete.patch
-Patch23: %{name}-pkgconfigdeps.patch
-Patch24: %{name}-po.patch
-Patch25: %{name}-link.patch
-Patch26: %{name}-notsc.patch
-Patch27: %{name}-hack-norpmlibdep.patch
-Patch28: %{name}-makefile-no_myLDADD_deps.patch
-Patch29: %{name}-perl_req-use_base.patch
-Patch31: %{name}-missing-prototypes.patch
-Patch32: %{name}-pld-autodep.patch
-Patch33: %{name}-arch-x86_64.patch
-Patch34: %{name}-epoch0.patch
-Patch35: %{name}-disable-features-ti.patch
-Patch36: %{name}-debuginfo.patch
-Patch37: %{name}-doxygen_hack.patch
-Patch39: %{name}-popt-coreutils.patch
-Patch40: %{name}-helperEVR-noassert.patch
-Patch42: %{name}-old-fileconflicts-behaviour.patch
-Patch43: %{name}-rpm5-patchset-8637.patch
-Patch44: %{name}-no-neon.patch
-Patch45: %{name}-no-sqlite.patch
-Patch48: %{name}-nopie.patch
-Patch50: %{name}-macros.patch
-Patch51: %{name}-cleanlibdirs.patch
-Patch52: %{name}-morearchs.patch
-Patch53: %{name}-chroot-hack.patch
-Patch55: %{name}-truncate-cvslog.patch
-Patch56: %{name}-rpm5-patchset-8413.patch
-Patch57: %{name}-as_needed-fix.patch
-Patch58: %{name}-repackage-wo-lzma.patch
-Patch59: %{name}-libtool-deps.patch
-Patch61: %{name}-lzma-mem.patch
-Patch62: %{name}-lzma-size_t.patch
-Patch63: %{name}-tar_as_secondary_source.patch
-Patch64: %{name}-man_pl.patch
-Patch65: %{name}-lzma-tukaani.patch
-Patch66: %{name}-v3-support.patch
-Patch67: %{name}-cleanbody.patch
-Patch69: %{name}-popt-aliases.patch
-# reverse arrows patch
-Patch70: %{name}-rpm5-patchset-10061.patch
-Patch71: %{name}-installbeforeerase.patch
-Patch72: %{name}-postun-nofail.patch
-Patch73: %{name}-namespace-probe.patch
-Patch74: %{name}-noversiondir.patch
-Patch75: %{name}-rpmte-segv.patch
-Patch76: %{name}-pydebuginfo.patch
-Patch77: %{name}-dirdeps-macro.patch
-Patch78: %{name}-db3-configure.patch
-Patch79: %{name}-macros-cpp.patch
-Patch80: %{name}-link-selinux.patch
-Patch81: %{name}-db-configure.patch
-Patch82: %{name}-perl-makefile.patch
-Patch83: %{name}-nosmpflags.patch
-Patch84: %{name}-hirmib-ts.patch
-Patch85: %{name}-perl_req-heredocs_pod.patch
-Patch86: %{name}-rpmv3-support.patch
-Patch87: %{name}-mono.patch
-Patch88: %{name}-poptexecpath.patch
-Patch89: %{name}-lzma-compress-level.patch
-Patch90: %{name}-gstreamer.patch
-Patch91: %{name}-gendiff.patch
-Patch92: %{name}-set-failed-on-reopen.patch
-Patch93: %{name}-debugedit-workaround.patch
-Patch94: %{name}-shescape-memfault.patch
-Patch95: %{name}-gid-uucp.patch
-Patch96: %{name}-disable-hkp.patch
-Patch97: %{name}-sigpad.patch
-Patch98: %{name}-debugdir.patch
-Patch99: %{name}-pkgconfig.patch
-Patch100: %{name}-rpm5-debugedit.patch
-Patch101: %{name}-builddir-readlink.patch
-Patch102: pythondeps-speedup.patch
-Patch103: %{name}-lua-exit-chroot-correctly.patch
-Patch104: %{name}-glob.patch
-Patch105: %{name}-am.patch
-Patch106: %{name}-automake_1.12.patch
-Patch107: %{name}-debugedit-dwarf4.patch
-Patch108: %{name}-changelog_order_check_nonfatal.patch
-Patch109: %{name}-installplatform.patch
-Patch110: %{name}-xz.patch
-Patch111: %{name}-shrink.patch
-Patch112: notrans.patch
-URL: http://rpm5.org/
-BuildRequires: autoconf >= 2.57
-BuildRequires: automake >= 1.4
-BuildRequires: beecrypt-devel >= %{beecrypt_ver}
+Source10: banner.sh
+Source11: %{name}.noautoprov
+Source12: %{name}.noautoprovfiles
+Source13: %{name}.noautoreq
+Source14: %{name}.noautoreqfiles
+Source15: perl.prov
+Source16: libtooldeps.sh
+Source17: libtool.attr
+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
+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: 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
+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
+Patch34: skip-symlinks.patch
+Patch35: pl-po.patch
+Patch36: build-locale.patch
+Patch37: no-exe-for-elf-req.patch
+Patch38: gem-in-package-builddir.patch
+Patch39: sqlite-log-crash.patch
+URL: https://rpm.org/
+BuildRequires: acl-devel
+%{?with_audit:BuildRequires: audit-libs-devel}
+BuildRequires: autoconf >= 2.63
+BuildRequires: automake >= 1:1.10
BuildRequires: bzip2-devel >= 1.0.2-17
-%{!?with_internal_db:BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_ver}}
-BuildRequires: elfutils-devel >= 0.108
-BuildRequires: gettext-devel >= 0.11.4-2
-BuildRequires: keyutils-devel
-%{?with_system_libmagic:BuildRequires: libmagic-devel}
-%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
+%{?with_plugins:BuildRequires: dbus-devel >= 1.3}
+BuildRequires: elfutils-devel >= 0.159
+BuildRequires: gettext-tools >= 0.19.2
+%{?with_imaevm:BuildRequires: ima-evm-utils-devel >= 1.0}
+BuildRequires: libarchive-devel
+BuildRequires: libcap-devel
+BuildRequires: libgcrypt-devel
+BuildRequires: libgomp-devel >= 6:4.5
+BuildRequires: libmagic-devel
+%{?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
-%if %{with neon}
-BuildRequires: libxml2-devel
-BuildRequires: neon-devel >= 0.25.5
-%endif
-BuildRequires: ossp-uuid-devel >= 1.6.2-8
+BuildRequires: lua-devel >= 5.3
BuildRequires: patch >= 2.2
-BuildRequires: popt-devel >= %{reqpopt_ver}
-%{?with_python:BuildRequires: python-devel >= 1:2.3}
-BuildRequires: python-modules >= 1:2.3
-BuildRequires: rpm-perlprov
-%{?with_python:BuildRequires: rpm-pythonprov}
-BuildRequires: rpmbuild(macros) >= 1.351
-BuildRequires: tar >= 1:1.15.1
-BuildRequires: zlib-devel >= 1.2.3.3
+BuildRequires: pkgconfig
+BuildRequires: popt-devel >= %{popt_ver}
+BuildRequires: python3-modules >= 1:3.2
+%if %{with python3}
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.750
+%endif
+BuildRequires: rpm-build
+BuildRequires: sqlite3-devel >= 3.22.0
+BuildRequires: tcl
+BuildRequires: xz-devel
+BuildRequires: zlib-devel >= 1.0.5
+BuildRequires: zstd-devel >= 1.3.8
%if %{with apidocs}
BuildRequires: doxygen
BuildRequires: ghostscript
BuildRequires: graphviz
BuildRequires: tetex-pdftex
%endif
-%if %{with static}
-# Require static library only for static build
-BuildRequires: beecrypt-static >= %{beecrypt_ver}
-BuildRequires: bzip2-static >= 1.0.2-17
-%{!?with_internal_db:BuildRequires: %{reqdb_pkg}-static >= %{reqdb_ver}}
-BuildRequires: elfutils-static
-BuildRequires: glibc-static >= 2.2.94
-%{?with_system_libmagic:BuildRequires: libmagic-static}
-%{?with_selinux:BuildRequires: libselinux-static >= 1.18}
-BuildRequires: ossp-uuid-static >= 1.6.2-8
-BuildRequires: popt-static >= %{reqpopt_ver}
-BuildRequires: zlib-static >= 1.2.3.3
-%endif
-Requires: %{name}-base = %{version}-%{release}
-Requires: %{name}-lib = %{version}-%{release}
-Requires: beecrypt >= %{beecrypt_ver}
-Requires: popt >= %{reqpopt_ver}
-Provides: rpm-db-ver = %{reqdb_ver}
-Obsoletes: rpm-getdeps
-%{!?with_static:Obsoletes: rpm-utils-static}
-Obsoletes: tmpwatch-rpmrepackage
+Requires(posttrans): coreutils
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+Requires: FHS >= 3.0-2
+Requires: libgcrypt
+Requires: popt >= %{popt_ver}
+Requires: rpm-tld-macros >= 2.002
+Obsoletes: rpm-utils-perl < 1:4.15
+Obsoletes: rpm-utils-static < 1:4.15
Conflicts: glibc < 2.2.92
-Conflicts: poldek < 0.21-0.20070703.00.11
+# db4.6 poldek needed
+Conflicts: poldek < 0.21-0.20070703.00.3
+# segfaults with lzma 0.42.2
+Conflicts: lzma-libs < 4.999.3
+Conflicts: util-vserver < 0.30.216-1.pre3034.7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _binary_payload w9.gzdio
-%define _noPayloadPrefix 1
# don't require very fresh rpm.macros to build
-%define __gettextize gettextize --copy --force --no-changelog; [ -f po/Makevars ] || cp -f po/Makevars{.template,}
%define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
-%define ix86 i386 i486 i586 i686 athlon pentium3 pentium4
+%define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
%define ppc ppc ppc7400 ppc7450
%define x8664 amd64 ia32e x86_64
-# stabilize new build environment
-%define __newcc %{?force_cc}%{!?force_cc:%{_target_cpu}-tld-linux-gcc}
-%define __newcxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-tld-linux-g++}
-%define __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-tld-linux-gcc -E}
-
%define _rpmlibdir /usr/lib/rpm
-%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
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.
Summary: RPMs library
Summary(pl.UTF-8): Biblioteki RPM-a
Group: Libraries
-Requires: beecrypt >= %{beecrypt_ver}
-%{!?with_internal_db:Requires: %{reqdb_pkg} >= %{reqdb_ver}}
-%{?with_system_libmagic:Requires: libmagic >= 1.15-2}
-%{?with_selinux:Requires: libselinux >= 1.18}
-Requires: ossp-uuid >= 1.6.2-4
-Requires: popt >= %{reqpopt_ver}
-%{?with_internal_db:%{?with_nptl:Requires: uname(release) >= 2.6.0}}
-Requires: zlib >= 1.2.3.3
-%{?with_suggest_tags:Suggests: xz}
-Obsoletes: rpm-libs
-# avoid installing with incompatible (non-tukaani) lzma
-# avoid incompatible (-M0 not supported) lzma
-Conflicts: lzma < 1:4.999.5-0.alpha.2
+Requires: elfutils >= 0.159
+Requires: elfutils-libelf >= 0.159
+Requires: libmagic >= 1.15-2
+Requires: popt >= %{popt_ver}
+Requires: sqlite3-libs >= 3.22.0
+Requires: zlib >= 1.0.5
+Requires: zstd >= 1.3.8
+Obsoletes: rpm-libs < 4.0.2-4
# avoid SEGV caused by mixed db versions
Conflicts: poldek < 0.18.1-16
Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
Group: Development/Libraries
-Requires: %{name}-lib = %{version}-%{release}
-Requires: beecrypt-devel >= %{beecrypt_ver}
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+Requires: acl-devel
+%{?with_audit:Requires: audit-libs-devel}
Requires: bzip2-devel
-%{!?with_internal_db:Requires: %{reqdb_pkg}-devel >= %{reqdb_ver}}
-Requires: elfutils-devel
-Requires: keyutils-devel
-%{?with_system_libmagic:Requires: libmagic-devel}
-%{?with_selinux:Requires: libselinux-devel}
-Requires: ossp-uuid-devel >= 1.6.2-6
-Requires: popt-devel >= %{reqpopt_ver}
-Requires: zlib-devel >= 1.2.3.3
+Requires: elfutils-devel >= 0.159
+Requires: libcap-devel
+Requires: libgcrypt-devel
+Requires: libgomp-devel >= 6:4.5
+Requires: libmagic-devel
+%if %{with selinux}
+Requires: libselinux-devel
+Requires: libsemanage-devel
+Requires: libsepol-devel
+%endif
+Requires: lua-devel >= 5.3
+Requires: popt-devel >= %{popt_ver}
+Requires: sqlite3-devel >= 3.22.0
+Requires: xz-devel
+Requires: zlib-devel >= 1.0.5
+Requires: zstd-devel >= 1.3.8
+Obsoletes: rpm-static < 1:4.15
%description devel
The RPM packaging system includes C libraries that make it easy to
призначена для полегшення створення графічних пакетних менеджерів та
інших утиліт, що працюють з пакетами RPM.
-%package static
-Summary: RPM static libraries
-Summary(de.UTF-8): RPMs statische Libraries
-Summary(pl.UTF-8): Biblioteki statyczne RPM-a
-Summary(pt_BR.UTF-8): Bibliotecas estáticas para o desenvolvimento de aplicações RPM
-Summary(ru.UTF-8): Статическая библиотека для программ, работающих с rpm-пакетами
-Summary(uk.UTF-8): Статична бібліотека для програм, що працюють з пакетами rpm
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-Requires: beecrypt-static >= %{beecrypt_ver}
-Requires: bzip2-static
-%{!?with_internal_db:Requires: %{reqdb_pkg}-static >= %{reqdb_ver}}
-Requires: elfutils-static
-Requires: keyutils-static
-%{?with_system_libmagic:Requires: libmagic-static}
-Requires: popt-static >= %{reqpopt_ver}
-Requires: zlib-static >= 1.2.3.3
-
-%description static
-RPM static libraries.
-
-%description static -l de.UTF-8
-RPMs statische Libraries.
-
-%description static -l pl.UTF-8
-Biblioteki statyczne RPM-a.
-
-%description static -l pt_BR.UTF-8
-Bibliotecas estáticas para desenvolvimento.
-
-%description static -l ru.UTF-8
-Система управления пакетами RPM содержит библиотеку C, которая
-упрощает манипуляцию пакетами RPM и соответствующими базами данных.
-Это статическая библиотека RPM.
-
-%description static -l uk.UTF-8
-Система керування пакетами RPM містить бібліотеку C, котра спрощує
-роботу з пакетами RPM та відповідними базами даних. Це статична
-бібліотека RPM.
-
%package utils
Summary: Additional utilities for managing RPM packages and database
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} = %{version}-%{release}
-Requires: popt >= %{reqpopt_ver}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: popt >= %{popt_ver}
Conflicts: filesystem-debuginfo < 3.0-16
%description utils
%description utils -l pl.UTF-8
Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
-%package utils-perl
-Summary: Additional utilities for managing RPM packages and database
-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}-utils = %{version}-%{release}
-Requires: popt >= %{reqpopt_ver}
-
-%description utils-perl
-Additional utilities for managing RPM packages and database.
-
-%description utils-perl -l de.UTF-8
-Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
-
-%description utils-perl -l pl.UTF-8
-Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
-
-%package utils-static
-Summary: Static rpm utilities
-Summary(pl.UTF-8): Statyczne narzędzia rpm
-Group: Applications/System
-Requires: %{name} = %{version}-%{release}
-
-%description utils-static
-Static rpm utilities for repairing system in case something with
-shared libraries used by rpm become broken. Currently it contains rpmi
-binary, which can be used to install/upgrade/remove packages without
-using shared libraries (well, in fact with exception of NSS modules).
-
-%description utils-static -l pl.UTF-8
-Statyczne narzędzia rpm do naprawy systemu w przypadku zepsucia czegoś
-związanego z bibliotekami współdzielonymi używanymi przez rpm-a.
-Aktualnie pakiet zawiera binarkę rpmi, którą można użyć do instalacji,
-uaktualniania lub usuwania pakietów bez udziału bibliotek statycznych
-(z wyjątkiem modułów NSS).
-
%package build
Summary: Scripts for building binary RPM packages
Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
Group: Applications/File
+Requires(pretrans): coreutils
Requires(pretrans): findutils
-Requires: %{name}-build-macros >= 1.656
-Requires: %{name}-utils = %{version}-%{release}
+Requires: %{name}-utils = %{epoch}:%{version}-%{release}
Requires: /bin/id
Requires: awk
Requires: bzip2
Requires: chrpath >= 0.10-4
Requires: cpio
+Requires: debugedit
Requires: diffutils
Requires: elfutils
Requires: file >= 4.17
Requires: fileutils
Requires: findutils
-# rpmrc patch adds flags specific to gcc >= 4.7
-Requires: gcc >= 6:4.7.0
+Requires: rpm-tld-macros-build >= 1.744
+%ifarch athlon
+Requires: gcc >= 3.0.3
+%else
+Requires: gcc
+%endif
Requires: glibc-devel
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: which
Requires: xz
-Provides: rpmbuild(monoautodeps)
Provides: rpmbuild(noauto) = 3
%ifarch %{x8664}
Conflicts: automake < 1:1.7.9-2
Різноманітні допоміжні скрипти та утиліти, які використовуються для
побудови 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} = %{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
Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
Group: Applications/File
-Requires: %{name} = %{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: perl-Encode
Requires: perl-devel
Requires: perl-modules
Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
pakietach RPM.
-%package pythonprov
-Summary: Python macros, which simplifies creation of RPM packages with Python software
-Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
-Group: Applications/File
-Requires: %{name} = %{version}-%{release}
-Requires: python
-Requires: python-modules
+%package -n python3-rpm
+Summary: Python 3 interface to RPM library
+Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
+Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
+Group: Development/Languages/Python
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: python3
+Obsoletes: python-rpm < 1:4.16.0
+Obsoletes: rpm-python < 4.0.2-50
+
+%description -n python3-rpm
+The python3-rpm package contains a module which permits applications
+written in the Python 3 programming language to use the interface
+supplied by RPM (RPM Package Manager) libraries.
-%description pythonprov
-Python macros, which simplifies creation of RPM packages with Python
-software.
+This package should be installed if you want to develop Python 3
+programs that will manipulate RPM packages and databases.
-%description pythonprov -l pl.UTF-8
-Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
-Pythonie.
+%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.
-%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} = %{version}-%{release}
-Requires: sed >= 4.0
+Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
+Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
-%description php-pearprov
-Additional utilities for checking PHP PEAR provides/requires in RPM
-packages.
+%description -n python3-rpm -l pt_BR.UTF-8
+O pacote python3-rpm contém um módulo que permite que aplicações
+escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
+RPM (RPM Package Manager).
-%description php-pearprov -l pl.UTF-8
-Dodatkowe narzędzia do sprawdzenia zależności skryptów PHP PEAR w
-pakietach RPM.
+Esse pacote deve ser instalado se você quiser desenvolver programas em
+Python 3 para manipular pacotes e bancos de dados RPM.
-%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} = %{version}-%{release}
-%pyrequires_eq python
-Obsoletes: rpm-python
+%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 -n python-rpm
-The rpm-python package contains a module which permits applications
-written in the Python programming language to use the interface
-supplied by RPM (RPM Package Manager) libraries.
+%description plugin-audit
+Plugin for libaudit support.
-This package should be installed if you want to develop Python
-programs that will manipulate RPM packages and databases.
+%description plugin-audit -l pl.UTF-8
+Wtyczka do obsługi libaudit.
-%description -n python-rpm -l pl.UTF-8
-Pakiet rpm-python zawiera moduł, który pozwala aplikacjom napisanym w
-Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
+%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}
-Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
-Pythonie programy manipulujące pakietami i bazami danych rpm.
+%description plugin-syslog
+This plugin exports RPM actions to the system log.
-%description -n python-rpm -l pt_BR.UTF-8
-O pacote rpm-python contém um módulo que permite que aplicações
-escritas em Python utilizem a interface fornecida pelas bibliotecas
-RPM (RPM Package Manager).
+%description plugin-syslog -l pl.UTF-8
+Ta wtyczka eksportuje akcje RPM-a do logu systemowego.
-Esse pacote deve ser instalado se você quiser desenvolver programas em
-Python para manipular pacotes e bancos de dados RPM.
+%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}
+
+%description plugin-ima
+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}
+
+%description plugin-prioreset
+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
+
+%description plugin-selinux
+Plugin for SELinux functionality.
+
+%description plugin-selinux -l pl.UTF-8
+Wtyczka do funkcjonalności SELinux.
+
+%package plugin-fsverity
+Summary: Plugin for fsverity file signatures
+Summary(pl.UTF-8): Wtyczka do sygnatur plików fsverity
+Group: Base
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+
+%description plugin-fsverity
+Plugin for fsverity file signatures.
+
+%description plugin-fsverity -l pl.UTF-8
+Wtyczka do sygnatur plików fsverity.
+
+%package plugin-fapolicyd
+Summary: Plugin for fapolicyd support
+Summary(pl.UTF-8): Wtyczka do obsługi fapolicyd
+Group: Base
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+
+%description plugin-fapolicyd
+Plugin for fapolicyd support.
+
+See https://people.redhat.com/sgrubb/fapolicyd/ for information about
+the fapolicyd daemon.
+
+%description plugin-fapolicyd -l pl.UTF-8
+Wtyczka do obsługi fapolicyd.
+
+Informacje na temat demona fapolicyd można znaleźć pod adresem
+<https://people.redhat.com/sgrubb/fapolicyd/>.
+
+%package plugin-dbus-announce
+Summary: Plugin for announcing transactions on the DBUS
+Summary(pl.UTF-8): Wtyczka ogłaszająca transakcje przez DBUS
+Group: Base
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+
+%description plugin-dbus-announce
+The plugin announces basic information about rpm transactions to the
+system DBUS - like packages installed or removed. Other programs can
+subscribe to the signals to get notified when packages on the system
+change.
+
+%description plugin-dbus-announce -l pl.UTF-8
+Ta wtyczka ogłasza przez podstawowe szynę systemową DBUS informacje o
+transakcjach RPM-a, takie jak pakiety, które są instalowane lub
+usuwane. Inne programy mogą zasubskrybować sygnały powiadamiające o
+zmianach w pakietach systemowych.
+
+%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
Group: Documentation
+BuildArch: noarch
%description apidocs
Documentation for RPM API and guides in HTML format generated from rpm
źrodeł RPM-a przez doxygen.
%prep
-%setup -q
-cp -p %{SOURCE15} .
-%patch1000 -p1
-#%patch0 -p1
-%patch2 -p1
+%setup -q -n %{name}-%{version}%{?subver}
+%patch0 -p1
%patch1 -p1
+%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch6 -p1
+%patch5 -p1
+%patch6 -p0
%patch7 -p1
-%patch8 -p1
-%patch9 -p1
+#%patch9 -p1
%patch10 -p1
-%patch11 -p1 -R
+%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
+%patch15 -p1
%patch16 -p1
%patch17 -p1
-sed -e 's/^/@tld@/' %{SOURCE2} >>platform.in
-echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl
-echo '%%define __perl_requires %%{__perl} /usr/lib/rpm/perl.req' >> macros.perl
-echo '# obsoleted file' > macros.python
-cp -p %{SOURCE20} macros.php
-echo '%%define __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono
-echo '%%define __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono
-install %{SOURCE10} scripts/php.prov
-install %{SOURCE11} scripts/php.req
-install %{SOURCE13} scripts/perl.prov
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
-%patch27 -p1
%patch28 -p1
-%patch29 -p1
+#%patch29 -p1
+%patch30 -p1
%patch31 -p1
%patch32 -p1
-%patch33 -p1
%patch34 -p1
+%patch35 -p1
%patch36 -p1
%patch37 -p1
+%patch38 -p1
%patch39 -p1
-%patch40 -p1
-%patch42 -p1
-%patch43 -p1
-%patch82 -p1
-%{!?with_neon:%patch44 -p1}
-%patch45 -p1
-%patch48 -p1
-%patch50 -p1
-%patch20 -p1
-%patch35 -p1
-%patch51 -p1
-#%patch52 -p1
-%patch55 -p1
-%patch56 -p1
-%patch57 -p1
-%patch58 -p1
-%patch59 -p1
-%patch61 -p1
-%patch62 -p1
-%patch63 -p1
-%patch64 -p1
-%patch65 -p1
-%patch66 -p1
-%patch67 -p1
-%patch69 -p1
-%patch71 -p1
-%patch72 -p1
-%patch73 -p1
-%patch74 -p1
-%patch75 -p0
-# having .py sources in -debuginfo needs more testing
-#%patch76 -p1
-%patch77 -p0
-%patch79 -p1
-%patch80 -p1
-%patch83 -p1
-%patch84 -p1
-%patch85 -p1
-%patch86 -p1
-%patch70 -p0
-%patch87 -p1
-%patch88 -p1
-%patch89 -p1
-%patch90 -p1
-%patch91 -p1
-%patch92 -p1
-%patch93 -p1
-%patch94 -p1
-%patch95 -p1
-%patch96 -p1
-%patch97 -p1
-%patch98 -p1
-%patch99 -p1
-%patch53 -p1
-%patch100 -p1
-%patch101 -p1
-%patch102 -p1
-%patch103 -p1
-%patch104 -p1
-%patch105 -p1
-%patch106 -p1
-%patch107 -p1
-%patch108 -p1
-%patch109 -p1
-%patch110 -p1
-%patch111 -p1
-%patch112 -p1
-
-mv -f po/{sr,sr@Latn}.po
-rm -rf sqlite zlib popt
-
-%if %{with internal_db}
-%if %{without nptl}
-sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' db/dist/aclocal/mutex.ac
-%endif
-%patch78 -p1
-%patch81 -p1
-%else
-%patch15 -p1
-rm -rf db3 db rpmdb/db.h
-%endif
-# generate Group translations to *.po
-awk -f %{SOURCE6} %{SOURCE1}
+%{__rm} po/*.gmo
-# update macros paths
-for f in doc{,/ja,/pl}/rpm.8 doc{,/ja,/pl}/rpmbuild.8 ; do
- sed -e 's@lib/rpm/redhat@lib/rpm/tld@g' $f > ${f}.tmp
- mv -f ${f}.tmp $f
-done
+install %{SOURCE15} scripts/perl.prov.in
-%build
-%if %{with system_libmagic}
-rm -rf file
-%else
-cd file
-%{__libtoolize}
-%{__aclocal}
-%{__autoheader}
-%{__autoconf}
-%{__automake}
-cd ..
-%endif
+%{__mv} scripts/perl.req{,.in}
+# generate Group translations to *.po
+awk -f %{SOURCE6} %{SOURCE5}
+
+%build
%{__libtoolize}
-%{__gettextize}
%{__aclocal}
%{__autoheader}
%{__autoconf}
%{__automake}
-%if %{with internal_db}
-cd db3
-echo -e 'AC_CONFIG_AUX_DIR(.)\nAC_PROG_LIBTOOL'> configure.ac
-%{__libtoolize}
-rm -f configure.ac
-cd ../db
-cp -f /usr/share/aclocal/libtool.m4 dist/aclocal/libtool.ac
-cp -f /usr/share/automake/config.sub dist
-if [ -f /usr/share/libtool/config/ltmain.sh ]; then
- cp -f /usr/share/libtool/config/ltmain.sh dist
-else
- cp -f /usr/share/libtool/ltmain.sh dist
-fi
-cd ..
-%endif
# 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
-# pass CC and CXX too in case of building with some older configure macro
-# disable perl-RPM2 build, we have it in separate spec
-CPPFLAGS="%{rpmcppflags} -I/usr/include/ossp-uuid -I/usr/include/%{reqdb_pkg}"
%configure \
- CC="%{__newcc}" \
- CXX="%{__newcxx}" \
- CPP="%{__newcpp}" \
+ PYTHON=python3 \
WITH_PERL_VERSION=no \
- %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \
- --enable-shared \
- --enable-static \
- %{!?with_apidocs:--without-apidocs} \
- %{?with_python:--with-python=%{py_ver}} \
- %{!?with_python:--without-python} \
- %{!?with_selinux:--without-selinux} \
- %{?with_internal_db:--%{?with_nptl:en}%{!?with_nptl:dis}able-posixmutexes} \
- --without-db
-
-%{__make} \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- CPP="%{__cpp}" \
- libdb_la=%{_libdir}/libdb-%(echo %{reqdb_pkg} | sed -e 's/^db//').la \
- pylibdir=%{py_libdir} \
- myLDFLAGS="%{rpmldflags}" \
- staticLDFLAGS=%{?with_static:-all-static}
+ __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
+ __GPG=%{_bindir}/gpg \
+ --enable-bdb-ro \
+ --enable-ndb \
+ %{!?with_plugins:--disable-plugins} \
+ %{!?with_systemd:--disable-inhibit-plugin} \
+ --disable-silent-rules \
+ --enable-sqlite \
+ --enable-zstd \
+ --with-acl \
+ --with-archive \
+ --with-audit%{!?with_audit:=no} \
+ --with-cap \
+ --with-fapolicyd \
+ %{?with_imaevm:--with-imaevm} \
+ %{?with_python3:--enable-python} \
+ --with-selinux%{!?with_selinux:=no} \
+ --with-vendor=tld
+
+%{__make}
+
+%{__make} -C po update-gmo
+
+%if %{with python3}
+cd python
+%py3_build
+%endif
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/%{_lib},/etc/{sysconfig,tmpwatch},%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib}
-
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT \
- staticLDFLAGS=%{?with_static:-all-static} \
- pylibdir=%{py_libdir}
-
-cat <<'EOF' > $RPM_BUILD_ROOT/etc/tmpwatch/rpm.conf
-# Cleanup 90-days old repackage files.
-/var/spool/repackage 2160
-EOF
+install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
+ $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/usr/lib/.build-id}
-cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-# first platform file entry can't contain regexps
-%{_target_cpu}-%{_target_vendor}-linux
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/TLD-Linux.asc
-%ifarch x86_64
-# x86_64 things
-amd64-[^-]*-[Ll]inux(-gnu)?
-x86_64-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch amd64
-amd64-[^-]*-[Ll]inux(-gnu)?
-x86_64-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch ia32e
-ia32e-[^-]*-[Ll]inux(-gnu)?
-x86_64-[^-]*-[Ll]inux(-gnu)?
+%{__make} install \
+ pkgconfigdir=%{_pkgconfigdir} \
+ DESTDIR=$RPM_BUILD_ROOT
+
+# 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
%endif
-%ifarch athlon %{x8664}
-# x86 things
-athlon-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch pentium4 athlon %{x8664}
-pentium4-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch pentium3 pentium4 athlon %{x8664}
-pentium3-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch i686 pentium3 pentium4 athlon %{x8664}
-i686-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch i586 i686 pentium3 pentium4 athlon %{x8664}
-i586-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664}
-i486-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch %{ix86} %{x8664}
-i386-[^-]*-[Ll]inux(-gnu)?
+%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
%endif
-%ifarch alpha
-alpha-[^-]*-[Ll]inux(-gnu)?
+%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
%endif
-%ifarch ia64
-ia64-[^-]*-[Ll]inux(-gnu)?
+%ifnarch aarch64
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
%endif
-%ifarch ppc64
-powerpc64-[^-]*-[Ll]inux(-gnu)?
-ppc64-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch ppc ppc64
-powerpc-[^-]*-[Ll]inux(-gnu)?
-ppc-[^-]*-[Ll]inux(-gnu)?
+%ifnarch %{arm}
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
%endif
-%ifarch s390x
-s390x-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch s390 s390x
-s390-[^-]*-[Ll]inux(-gnu)?
-%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
-%ifarch sparc64
-sparc64-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch sparcv9 sparc64
-sparcv9-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch sparc sparcv9 sparc64
-sparc-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch armv6l
-armv6l-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch armv5tel
-armv5tel-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch armv4t armv5tel
-armv4t-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch armv3t armv4t armv5tel
-armv3t-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch armv5teb
-armv5teb-[^-]*-[Ll]inux(-gnu)?
-%endif
-%ifarch armv4b armv5teb
-armv4b-[^-]*-[Ll]inux(-gnu)?
+cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
+%ifarch x32
+%{_target_cpu}-%{_target_vendor}-linux-gnux32
+%else
+%{_target_cpu}-%{_target_vendor}-linux
%endif
-
-# noarch
-noarch-[^-]*-.*
EOF
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/vpkg-provides*
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{prov,req}.pl
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
-
-# not installed since 4.4.8 (-tools-perl subpackage)
-install -p scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir}
-
-cp -a macros.perl $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl
-cp -a macros.python $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python
-cp -a macros.php $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php
-cp -a macros.mono $RPM_BUILD_ROOT%{_rpmlibdir}/macros.mono
-cp -a %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java
-cp -a %{SOURCE19} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.gstreamer
-
-install -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
-install -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
-install -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
-install -p %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
-install -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires
-install -p scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir}
-cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php
-install -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
-install -p %{SOURCE18} $RPM_BUILD_ROOT%{_bindir}/banner.sh
-cp -p %{name}.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/rpm
-
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
-touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
-touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
-cp -a %{SOURCE12} $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
-
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
-# customized rpm macros - global for host
-#
-%%distribution TLD
-#
-# remove or replace with file_contexts path if you want to use custom
-# SELinux file contexts policy instead of one stored in packages payload
-%%_install_file_context_path %%{nil}
-%%_verify_file_context_path %%{nil}
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
-# If non-zero, all erasures will be automagically repackaged.
-#%%_repackage_all_erasures 0
+install -d $RPM_BUILD_ROOT%{_rpmlibdir}/tld
-# If non-zero, create debuginfo packages
-#%%_enable_debug_packages 0
+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
-# Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
-# marked as %doc should be installed.
-#%%_excludedocs 1
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
-# For static /dev not to update perms if upgraded and tmpfs mounted
-#%%_netsharedpath /dev/shm
-EOF
+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
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang <<EOF
-# Customized rpm macros - global for host
-# A colon separated list of desired locales to be installed;
-# "all" means install all locale specific files.
-#
-#%%_install_langs pl_PL:en_US
-EOF
-
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
-# global list of files (regexps) which don't generate Provides
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov <<EOF
-# global list of script capabilities (regexps) not to be used in Provides
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles <<EOF
-# global list of files (regexps) which don't generate Requires
-^%{_examplesdir}/
-^%{_docdir}/
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq <<EOF
-# global list of script capabilities (regexps) not to be used in Requires
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep <<EOF
-# global list of capabilities (SONAME, perl(module), php(module) regexps)
-# which don't generate dependencies on package NAMES
-# -- OpenGL implementation
-^libGL.so.1
-^libGLU.so.1
-^libOSMesa.so
-# -- Glide
-^libglide3.so.3
-# -- mozilla
-^libgtkmozembed.so
-^libgtksuperwin.so
-^libxpcom.so
-# -- X11 implementation
-^libFS.so
-^libI810XvMC.so
-^libICE.so
-^libSM.so
-^libX11.so
-^libXRes.so
-^libXTrap.so
-^libXaw.so
-^libXcomposite.so
-^libXcursor.so
-^libXdamage.so
-^libXdmcp.so
-^libXevie.so
-^libXext.so
-^libXfixes.so
-^libXfont.so
-^libXfontcache.so
-^libXft.so
-^libXi.so
-^libXinerama.so
-^libXmu.so
-^libXmuu.so
-^libXp.so
-^libXpm.so
-^libXrandr.so
-^libXrender.so
-^libXss.so
-^libXt.so
-^libXtst.so
-^libXv.so
-^libXvMC.so
-^libXxf86dga.so
-^libXxf86misc.so
-^libXxf86rush.so
-^libXxf86vm.so
-^libdps.so
-^libdpstk.so
-^libfontenc.so
-^libpsres.so
-^libxkbfile.so
-^libxkbui.so
-# -- fam / gamin
-^libfam.so.0
-# -- mdns-bonjour: mDNSResponder-libs / avahi-compat-libdns_sd
-^libdns_sd.so.1
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
-# global list of file masks not to be compressed in DOCDIR
-EOF
-
-# for rpm -e|-U --repackage
-install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm}
-touch $RPM_BUILD_ROOT/var/lock/rpm/transaction
+cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/libtooldeps.sh
+cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/fileattrs/libtool.attr
# move rpm to /bin
-install -d $RPM_BUILD_ROOT/bin
-mv $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
+ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
+ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
+
# move essential libs to /lib (libs that /bin/rpm links to)
-for a in librpm-%{sover}.so librpmdb-%{sover}.so librpmio-%{sover}.so ; do
- mv -f $RPM_BUILD_ROOT%{_libdir}/$a $RPM_BUILD_ROOT/%{_lib}
- ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
+for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
+ mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
+ ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
done
-# remove arch dependant macros which have no use on noarch
-%{__sed} -i -e '
-/{__spec_install_post_strip}/d
-/{__spec_install_post_chrpath}/d
-/{__spec_install_post_compress_modules}/d
-' $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/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
-%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
-%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%if %{with python3}
+# Remove anything that rpm make install might put there
+%{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
+cd python
+%py3_install
+cd ..
+%endif
-rm -f $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
+%if %{with plugins}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
+%endif
-# (currently) not used or supported in PLD
-%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/{http.req,perldeps.pl}
# wrong location, not used anyway
-%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
-
-# unpackaged in 4.4.9, reasons unknown
-%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/symclash.{sh,py}
-%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
-%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/RPM.pm
-%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/.packlist
-%{__rm} -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/RPM.bs
-%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/RPM.so
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/RPM.3pm
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,ja,pl}/man8/rpm{cache,graph}.8
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
%find_lang %{name}
-rm -rf manual
-cp -a doc/manual manual
-cp -a %{SOURCE1} manual/groups
-rm -f manual/Makefile*
-
%clean
rm -rf $RPM_BUILD_ROOT
-%triggerpostun lib -- %{name}-lib < %{version}
-echo >&2 "rpm-lib upgrade: Removing /var/lib/rpm/__db* from older rpmdb version"
-rm -f /var/lib/rpm/__db*
-if [ -d /vservers ]; then
- echo >&2 "rpm-lib upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version"
- rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__*
+%posttrans
+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
+ echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
+ echo
+ fi
+ echo
+ echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
+ echo 'you should ignore it and restart poldek'
+ echo
+ %{__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
-echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors"
-
-%triggerpostun lib -- db4.5 < %{reqdb_ver}
-echo >&2 "db4.5 upgrade: Removing /var/lib/rpm/__db* from older rpmdb version"
-rm -f /var/lib/rpm/__db*
-if [ -d /vservers ]; then
- echo >&2 "db4.5 upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version"
- rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__*
-fi
-echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors"
-%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
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc CHANGES CREDITS README manual/*
+%doc ChangeLog CREDITS README
+
+%dir /etc/pki/rpm-gpg
+/etc/pki/rpm-gpg/TLD-Linux.asc
%attr(755,root,root) /bin/rpm
+%attr(755,root,root) %{_bindir}/rpmdb
+%attr(755,root,root) %{_bindir}/rpmkeys
+%attr(755,root,root) %{_bindir}/rpmquery
+%attr(755,root,root) %{_bindir}/rpmverify
-%config(noreplace) %verify(not md5 mtime size) /etc/tmpwatch/rpm.conf
%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*
%lang(sk) %{_mandir}/sk/man8/rpm.8*
%dir /var/lib/rpm
-%dir %attr(700,root,root) /var/spool/repackage
-%dir /var/lock/rpm
-/var/lock/rpm/transaction
-
-# exported package NVRA (stamped with install tid)
-# net-snmp hrSWInstalledName queries, bash-completions
-%dir /var/cache/hrmib
-
-#%attr(755,root,root) %{_rpmlibdir}/rpmd
-#%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]}
-#%attr(755,root,root) %{_rpmlibdir}/rpmk
-#%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
+%ghost %config(missingok,noreplace) /var/lib/rpm/*
+%ghost /var/lib/rpm/.*.lock
%{_rpmlibdir}/rpmpopt*
+%{_rpmlibdir}/rpmrc
%{_rpmlibdir}/macros
+%dir %{_rpmlibdir}/macros.d
+%dir %{_rpmlibdir}/platform
+%{_rpmlibdir}/platform/noarch-*
+%ifarch %{ix86} %{x8664} x32
+%{_rpmlibdir}/platform/athlon*
+%{_rpmlibdir}/platform/geode*
+%{_rpmlibdir}/platform/i?86*
+%{_rpmlibdir}/platform/pentium*
+%endif
+%ifarch %{x8664} x32
+%{_rpmlibdir}/platform/amd64*
+%{_rpmlibdir}/platform/ia32e*
+%{_rpmlibdir}/platform/x86_64*
+%{_rpmlibdir}/platform/x32*
+%endif
+%ifarch alpha
+%{_rpmlibdir}/platform/alpha*
+%endif
+%ifarch aarch64
+%{_rpmlibdir}/platform/aarch64*
+%endif
+%ifarch %{arm}
+%{_rpmlibdir}/platform/arm*
+%endif
+%ifarch ia64
+%{_rpmlibdir}/platform/ia64*
+%endif
+%ifarch mips mipsel mips64 mips64el
+%{_rpmlibdir}/platform/mips*
+%endif
+%ifarch %{ppc}
+%{_rpmlibdir}/platform/ppc*
+%endif
+%ifarch sparc sparc64
+%{_rpmlibdir}/platform/sparc*
+%endif
+
+%dir %{_rpmlibdir}/tld
+
+%attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
+%attr(755,root,root) %{_rpmlibdir}/rpmdb_load
-%attr(755,root,root) %{_rpmlibdir}/hrmib-cache
+# valgrind suppression file for rpm
+%{_rpmlibdir}/rpm.supp
+
+%dir /usr/lib/.build-id
%files base
%defattr(644,root,root,755)
%files lib
%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/librpm-%{sover}.so
-%attr(755,root,root) /%{_lib}/librpmdb-%{sover}.so
-%attr(755,root,root) /%{_lib}/librpmio-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmbuild-%{sover}.so
+%attr(755,root,root) /%{_lib}/librpm.so.9
+%attr(755,root,root) /%{_lib}/librpm.so.%{sover}
+%attr(755,root,root) /%{_lib}/librpmbuild.so.9
+%attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
+%attr(755,root,root) /%{_lib}/librpmio.so.9
+%attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
+%attr(755,root,root) /%{_lib}/librpmsign.so.9
+%attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
+%{?with_plugins:%dir %{_libdir}/rpm-plugins}
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/librpm.so
-%attr(755,root,root) %{_libdir}/librpm-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmio.so
-%attr(755,root,root) %{_libdir}/librpmio-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmdb.so
-%attr(755,root,root) %{_libdir}/librpmdb-%{sover}.so
%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}/librpmbuild.la
-%{_libdir}/librpmdb.la
%{_libdir}/librpmio.la
+%{_libdir}/librpmsign.la
%{_includedir}/rpm
%{_pkgconfigdir}/rpm.pc
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/librpm.a
-%{_libdir}/librpmbuild.a
-%{_libdir}/librpmdb.a
-%{_libdir}/librpmio.a
-
%files utils
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/rpm2archive
%attr(755,root,root) %{_bindir}/rpm2cpio
-%attr(755,root,root) %{_bindir}/rpmdigest
-%attr(755,root,root) %{_bindir}/rpmmtree
-%attr(755,root,root) %{_bindir}/rpmrepo
-%{!?with_system_libmagic:%attr(755,root,root) %{_bindir}/rpmfile}
-%attr(755,root,root) %{_rpmlibdir}/debugedit
-%attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
-%attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
-%attr(755,root,root) %{_rpmlibdir}/rpmdeps
+%attr(755,root,root) %{_bindir}/rpmgraph
+%attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
%attr(755,root,root) %{_rpmlibdir}/tgpg
+%attr(755,root,root) %{_rpmlibdir}/rpmdeps
+%{_mandir}/man8/rpm2archive.8*
%{_mandir}/man8/rpm2cpio.8*
%{_mandir}/man8/rpmdeps.8*
+%{_mandir}/man8/rpmgraph.8*
%lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
%lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
%lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
-%lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
%lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
-
-%files utils-perl
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/rpmdiff*
-
-%if %{with static}
-%files utils-static
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/rpm[ieu]
-%attr(755,root,root) %{_rpmlibdir}/rpm[ieu]
-%endif
+%lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
+%lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
+%lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
%files build
%defattr(644,root,root,755)
%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}/check-prereqs
-%attr(755,root,root) %{_rpmlibdir}/compress-doc
-%attr(755,root,root) %{_rpmlibdir}/cross-build
-%attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
-%attr(755,root,root) %{_rpmlibdir}/getpo.sh
%attr(755,root,root) %{_rpmlibdir}/install-build-tree
-#%attr(755,root,root) %{_rpmlibdir}/config.*
-#%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
-%attr(755,root,root) %{_rpmlibdir}/u_pkg.sh
-%attr(755,root,root) %{_rpmlibdir}/executabledeps.sh
+%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}/rpmb
-#%attr(755,root,root) %{_rpmlibdir}/rpmt
-%{_rpmlibdir}/noarch-*
-%ifarch %{ix86}
-%{_rpmlibdir}/i?86*
-%{_rpmlibdir}/pentium*
-%{_rpmlibdir}/athlon*
-%endif
-%ifarch alpha
-%{_rpmlibdir}/alpha*
-%endif
-%ifarch ia64
-%{_rpmlibdir}/ia64*
-%endif
-%ifarch mips mipsel mips64 mips64el
-%{_rpmlibdir}/mips*
-%endif
-%ifarch %{ppc}
-%{_rpmlibdir}/ppc*
-%endif
-%ifarch sparc sparcv9 sparc64
-%{_rpmlibdir}/sparc*
-%endif
-%ifarch %{x8664}
-%{_rpmlibdir}/amd64*
-%{_rpmlibdir}/ia32e*
-%{_rpmlibdir}/x86_64*
-%endif
-%ifarch armv6l armv5tel armv4t armv3t armv5teb armv4b
-%{_rpmlibdir}/arm*
-%endif
-# must be here for "Requires: rpm-*prov" to work
-%{_rpmlibdir}/macros.gstreamer
-%{_rpmlibdir}/macros.java
-%{_rpmlibdir}/macros.mono
-%{_rpmlibdir}/macros.perl
-%{_rpmlibdir}/macros.php
-# not used yet ... these six depend on perl
-#%attr(755,root,root) %{_rpmlibdir}/http.req
-#%attr(755,root,root) %{_rpmlibdir}/magic.prov
-#%attr(755,root,root) %{_rpmlibdir}/magic.req
-#%{_rpmlibdir}/sql.prov
-#%{_rpmlibdir}/sql.req
-#%{_rpmlibdir}/tcl.req
+%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
+%attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
+%attr(755,root,root) %{_rpmlibdir}/check-buildroot
+%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}/find-provides
+%attr(755,root,root) %{_rpmlibdir}/find-requires
+%attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
+%attr(755,root,root) %{_rpmlibdir}/script.req
+
+%dir %{_rpmlibdir}/fileattrs
+%{_rpmlibdir}/fileattrs/debuginfo.attr
+%{_rpmlibdir}/fileattrs/desktop.attr
+%{_rpmlibdir}/fileattrs/elf.attr
+%{_rpmlibdir}/fileattrs/font.attr
+%{_rpmlibdir}/fileattrs/libtool.attr
+%{_rpmlibdir}/fileattrs/metainfo.attr
+%{_rpmlibdir}/fileattrs/ocaml.attr
+%{_rpmlibdir}/fileattrs/pkgconfig.attr
+%{_rpmlibdir}/fileattrs/script.attr
%attr(755,root,root) %{_bindir}/gendiff
%attr(755,root,root) %{_bindir}/rpmbuild
+%attr(755,root,root) %{_bindir}/rpmspec
%{_mandir}/man1/gendiff.1*
+%lang(pl) %{_mandir}/pl/man1/gendiff.1*
%{_mandir}/man8/rpmbuild.8*
%lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
-%lang(pl) %{_mandir}/pl/man1/gendiff.1*
%lang(pl) %{_mandir}/pl/man8/rpmbuild.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
+%{_mandir}/man8/rpmspec.8*
%files perlprov
%defattr(644,root,root,755)
+%{_rpmlibdir}/fileattrs/perl.attr
+%{_rpmlibdir}/fileattrs/perllib.attr
%attr(755,root,root) %{_rpmlibdir}/perl.*
-#%attr(755,root,root) %{_rpmlibdir}/perldeps.pl
-#%attr(755,root,root) %{_rpmlibdir}/find-perl-*
-#%attr(755,root,root) %{_rpmlibdir}/find-*.perl
-#%attr(755,root,root) %{_rpmlibdir}/find-prov.pl
-#%attr(755,root,root) %{_rpmlibdir}/find-req.pl
-#%attr(755,root,root) %{_rpmlibdir}/get_magic.pl
-
-%files pythonprov
+
+%if %{with python3}
+%files -n python3-rpm
+%defattr(644,root,root,755)
+%dir %{py3_sitedir}/rpm
+%attr(755,root,root) %{py3_sitedir}/rpm/*.so
+%{py3_sitedir}/rpm/*.py
+%{py3_sitedir}/rpm-%{version}-py*.egg-info
+%{py3_sitedir}/rpm/__pycache__
+%endif
+
+%if %{with plugins}
+%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)
-%{_rpmlibdir}/macros.python
-%attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
+%attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
+%{_mandir}/man8/rpm-plugin-syslog.8*
-%files php-pearprov
+%if %{with systemd}
+%files plugin-systemd-inhibit
%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/php*
+%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)
+%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*
-%if %{with python}
-%files -n python-rpm
+%if %{with fsverity}
+%files plugin-fsverity
%defattr(644,root,root,755)
-%dir %{py_sitedir}/rpm
-%attr(755,root,root) %{py_sitedir}/rpm/*.so
-%{py_sitedir}/rpm/*.py[co]
+%attr(755,root,root) %{_libdir}/rpm-plugins/fsverity.so
%endif
+%files plugin-fapolicyd
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rpm-plugins/fapolicyd.so
+%{_mandir}/man8/rpm-plugin-fapolicyd.8*
+
+%if %{with systemd}
+%files plugin-dbus-announce
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rpm-plugins/dbus_announce.so
+%{_mandir}/man8/rpm-plugin-dbus-announce.8*
+%{_sysconfdir}/dbus-1/system.d/org.rpm.conf
+%endif
+%endif
+
+%files sign
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/rpmsign
+%{_mandir}/man8/rpmsign.8*
+
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%doc apidocs
+%doc docs/librpm/html/*
%endif