#
# TODO:
+# - 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_with static # build static rpm+rpmi
%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 selinux # build without selinux support
+%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
Name: rpm
Version: 4.15.1
Release: 0.1
+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
+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
+Source8: %{name}-hrmib-cache
+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}.noautocompressdoc
+Source12: %{name}.noautoprov
+Source13: %{name}.noautoprovfiles
+Source14: %{name}.noautoreq
+Source15: %{name}.noautoreqfiles
+Source16: perl.prov
+Source17: %{name}db_checkversion.c
+Source18: %{name}db_reset.c
+Source19: dbupgrade.sh
Patch0: %{name}-man_pl.patch
Patch1: %{name}-popt-aliases.patch
Patch2: %{name}-perl-macros.patch
Patch3: %{name}-perl-req-perlfile.patch
Patch4: %{name}-scripts-closefds.patch
-Patch5: %{name}-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
+Patch5: %{name}-lua.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: %{name}-add-compress-doc.patch
+Patch17: rpm5-db-compat.patch
+Patch18: python-internal-build.patch
+Patch19: create-build-tree-after-parse.patch
URL: https://rpm.org/
BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
BuildRequires: libarchive-devel
BuildRequires: libmagic-devel
BuildRequires: openssl-devel >= %{openssl_ver}
-%if %{with selinux}
+%if %{with plugins}
+BuildRequires: audit-libs-devel
+BuildRequires: dbus-devel
BuildRequires: libselinux-devel >= 2.1.0
-BuildRequires: libsemanage-devel >= 2.1.0
-BuildRequires: libsepol-devel >= 2.1.0
%endif
# needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
BuildRequires: libstdc++-devel
BuildRequires: graphviz
BuildRequires: tetex-pdftex
%endif
-%if %{with static}
-# Require static library only for static build
-BuildRequires: %{reqdb_pkg}-static >= %{reqdb_pkgver}
-BuildRequires: bzip2-static >= 1.0.2-17
-BuildRequires: elfutils-static
-BuildRequires: glibc-static >= 2.2.94
-BuildRequires: libmagic-static
-BuildRequires: openssl-static >= %{openssl_ver}
-%if %{with selinux}
-BuildRequires: libselinux-static >= 2.1.0
-BuildRequires: libsemanage-static >= 2.1.0
-BuildRequires: libsepol-static >= 2.1.0
-%endif
-BuildRequires: popt-static >= %{reqpopt_ver}
-BuildRequires: zlib-static
-BuildRequires: zstd-static
-%endif
Requires(posttrans): coreutils
-Requires: %{name}-base = %{version}-%{release}
-Requires: %{name}-lib = %{version}-%{release}
+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}
+%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
-%{!?with_static:Obsoletes: rpm-utils-static}
+Obsoletes: rpm-utils-static
Conflicts: glibc < 2.2.92
# db4.6 poldek needed
Conflicts: poldek < 0.21-0.20070703.00.3
Requires: %{reqdb_pkg} >= %{reqdb_pkgver}
Requires: %{reqdb_pkg}-sql >= %{reqdb_pkgver}
Requires: libmagic >= 1.15-2
-%{?with_selinux:Requires: libselinux >= 2.1.0}
Requires: openssl >= %{openssl_ver}
Requires: popt >= %{reqpopt_ver}
Obsoletes: rpm-libs
Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
Group: Development/Libraries
-Requires: %{name}-lib = %{version}-%{release}
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Requires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
Requires: bzip2-devel
Requires: elfutils-devel
призначена для полегшення створення графічних пакетних менеджерів та
інших утиліт, що працюють з пакетами 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: %{reqdb_pkg}-static >= %{reqdb_pkgver}
-Requires: bzip2-static
-Requires: elfutils-static
-Requires: libmagic-static
-Requires: openssl-static >= %{openssl_ver}
-%if %{with selinux}
-Requires: libselinux-static
-Requires: libsemanage-static
-Requires: libsepol-static
-%endif
-Requires: popt-static >= %{reqpopt_ver}
-Requires: zlib-static
-
-%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: %{name} = %{epoch}:%{version}-%{release}
Requires: popt >= %{reqpopt_ver}
%if %{with recommends_tags}
Recommends: bzip2
%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
Group: Applications/File
Requires(pretrans): coreutils
Requires(pretrans): findutils
-Requires: %{name}-build-macros >= 1.712
-Requires: %{name}-utils = %{version}-%{release}
+Requires: %{name}-utils = %{epoch}:%{version}-%{release}
+Requires: rpm-pld-macros-build >= 1.744
Requires: /bin/id
Requires: awk
Requires: bzip2
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
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: %{name} = %{epoch}:%{version}-%{release}
Requires: python
Requires: python-modules
Requires: python-setuptools
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} = %{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} = %{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} = %{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: python
Obsoletes: rpm-python
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} = %{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: python3
%description -n python3-rpm
Esse pacote deve ser instalado se você quiser desenvolver programas em
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
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+
+%description plugin-audit
+Plugin for libaudit support
+
+%package plugin-syslog
+Summary: Plugin for syslog functionality
+Group: System/Base
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+
+%description plugin-syslog
+This plugin exports RPM actions to the system log.
+
+%package plugin-systemd-inhibit
+Summary: Plugin for systemd inhibit functionality
+Group: System/Base
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+
+%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.
+
+%package plugin-ima
+Summary: Plugin for IMA file signatures
+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.
+
+%package plugin-prioreset
+Summary: Plugin for resetting scriptlet priorities for SysV init
+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.
+
+%package plugin-selinux
+Summary: Plugin for SELinux functionality
+Group: Base
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+Requires: libselinux >= 2.1.0
+
+%description plugin-selinux
+Plugin for SELinux functionality.
+
+%package sign
+Summary: Package signing support
+Group: Base
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+
+%description sign
+This package contains support for digitally signing RPM packages.
+
%package apidocs
Summary: RPM API documentation and guides
Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
-%patch7 -p0
+%patch6 -p0
+%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
-#%patch18 -p1
-#%patch19 -p1
+%patch18 -p1
+%patch19 -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
+install %{SOURCE16} 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
+install %{SOURCE17} tools/rpmdb_checkversion.c
+install %{SOURCE18} tools/rpmdb_reset.c
%{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py
%{!?with_python3:%{?with_python2:PYTHON=python2}} \
--disable-silent-rules \
--enable-shared \
- --enable-static \
--enable-bdb \
--enable-zstd \
--with-crypto=openssl \
%if %{with python2} || %{with python3}
--enable-python \
%endif
- --with-selinux=%{!?with_selinux:no}%{?with_selinux:yes} \
+ --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
+ %{!?with_plugins:--disable-plugins} \
--with-vendor=pld
# --enable-ndb (EXPERIMENTAL) enable the new rpm database format
%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,/var/cache/hrmib}
+ $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
-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} \
%{__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
+install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
+
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
+cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
+cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
+
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
+
+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/noautocompressdoc
+cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
+cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
+cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
+cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
-cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
+cp -p %{SOURCE19} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
# move rpm to /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.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
+#./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}
%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
/etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.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) %{_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/*
%{_mandir}/man8/rpm.8*
+%{_mandir}/man8/rpmdb.8*
+%{_mandir}/man8/rpmkeys.8*
+%{_mandir}/man8/rpm-misc.8*
%lang(fr) %{_mandir}/fr/man8/rpm.8*
%lang(ja) %{_mandir}/ja/man8/rpm.8*
%lang(ko) %{_mandir}/ko/man8/rpm.8*
%lang(ru) %{_mandir}/ru/man8/rpm.8*
%lang(sk) %{_mandir}/sk/man8/rpm.8*
-#%dir /var/lib/rpm
-#%dir /var/lib/rpm/log
-#%dir /var/lib/rpm/tmp
-#%config(noreplace) %verify(not md5 mtime size) /var/lib/rpm/DB_CONFIG
+%dir /var/lib/rpm
# exported package NVRA (stamped with install tid)
# net-snmp hrSWInstalledName queries, bash-completions
%dir /var/cache/hrmib
%{_rpmlibdir}/rpmpopt*
+%{_rpmlibdir}/rpmrc
%{_rpmlibdir}/macros
%dir %{_rpmlibdir}/macros.d
-#%{_rpmlibdir}/macros.d/pld
+%dir %{_rpmlibdir}/platform
%{_rpmlibdir}/platform/noarch-*
%ifarch %{ix86} %{x8664} x32
%{_rpmlibdir}/platform/athlon*
%{_rpmlibdir}/platform/sparc*
%endif
+%dir %{_rpmlibdir}/pld
+
%attr(755,root,root) %{_rpmlibdir}/hrmib-cache
%attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
%attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
%attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
+# valgrind suppression file for rpm
+%{_rpmlibdir}/rpm.supp
+
%files base
%defattr(644,root,root,755)
%dir %{_sysconfdir}/rpm
%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)
%{_includedir}/rpm
%{_pkgconfigdir}/*.pc
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/librpm*.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}/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}/rpmdeps
%{_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(ru) %{_mandir}/ru/man8/rpm2cpio.8*
%lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
-
-%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(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}/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
+%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}/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}/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/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
%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.*
%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)
%{py3_sitedir}/rpm/__pycache__
%endif
-%if %{with apidocs}
-%files apidocs
+%if %{with plugins}
+%files plugin-audit
%defattr(644,root,root,755)
-%doc doc/librpm/html/*
-%endif
-
+%attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
-%if 0
-%attr(755,root,root) %{_bindir}/rpmdb
-%attr(755,root,root) %{_bindir}/rpmgraph
-%attr(755,root,root) %{_bindir}/rpmkeys
-%attr(755,root,root) %{_bindir}/rpmquery
-%attr(755,root,root) %{_bindir}/rpmsign
-%attr(755,root,root) %{_bindir}/rpmverify
-%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}/config.guess
-%attr(755,root,root) %{_rpmlibdir}/config.sub
-%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
-# valgrind suppression file for rpm
-%{_rpmlibdir}/rpm.supp
-%{_rpmlibdir}/rpmrc
-%attr(755,root,root) %{_rpmlibdir}/script.req
-%attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
+%files plugin-syslog
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
+%files plugin-systemd-inhibit
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
+%{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
-%attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
+%files plugin-ima
+%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
+
+%files plugin-prioreset
+%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
+
+%files plugin-selinux
+%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
-%attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
-%attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
-%{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
+%endif
-%{_mandir}/man8/rpm-misc.8*
-%{_mandir}/man8/rpmdb.8*
-%{_mandir}/man8/rpmkeys.8*
+%files sign
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/rpmsign
%{_mandir}/man8/rpmsign.8*
-%{_mandir}/man8/rpmgraph.8*
-%lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
-%lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc doc/librpm/html/*
%endif