#
# 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:
%define db_ver 5.3.28.0
%define popt_ver 1.15
-%define openssl_ver 1.1.1d
%define sover 9.1.0
+%if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
+%define with_recommends_tags 1
+%endif
+
Summary: RPM Package Manager
Summary(de.UTF-8): RPM Packet-Manager
Summary(es.UTF-8): Gestor de paquetes RPM
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
Version: 4.16.0
-Release: 0.1
+Release: 0.7
Epoch: 1
License: GPL v2 / LGPL v2.1
Group: Base
Source5: %{name}.groups
Source6: %{name}-groups-po.awk
Source7: %{name}-install-tree
-Source8: %{name}-hrmib-cache
Source9: %{name}-user_group.sh
# http://svn.pld-linux.org/banner.sh/
Source10: banner.sh
Patch2: %{name}-perl-macros.patch
Patch3: %{name}-perl-req-perlfile.patch
Patch4: %{name}-scripts-closefds.patch
-Patch5: %{name}-lua.patch
Patch6: %{name}-perl_req-INC_dirs.patch
Patch7: %{name}-debuginfo.patch
Patch8: %{name}-libtool-deps.patch
Patch15: x32.patch
Patch16: rpm5-db-compat.patch
Patch17: python-internal-build.patch
+Patch18: rpmversion.patch
+Patch19: pkgconfig.patch
+Patch20: uname-deps.patch
+Patch21: aarch64.patch
+Patch22: ix86-platforms.patch
+Patch23: shortcircuited-deps.patch
+Patch24: cpuinfo-deps.patch
+Patch25: rpmio-read-proc-files.patch
URL: https://rpm.org/
+BuildRequires: acl-devel
BuildRequires: db-devel >= %{db_ver}
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1.4
BuildRequires: elfutils-devel >= 0.108
BuildRequires: gettext-tools >= 0.19.2
BuildRequires: libarchive-devel
+BuildRequires: libcap-devel
BuildRequires: libmagic-devel
-BuildRequires: openssl-devel >= %{openssl_ver}
+BuildRequires: libgcrypt-devel
%if %{with plugins}
BuildRequires: audit-libs-devel
BuildRequires: dbus-devel
# needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 1:1.4.2-9
-BuildRequires: lua53-devel >= 5.3.5
BuildRequires: ossp-uuid-devel
BuildRequires: patch >= 2.2
+BuildRequires: pkgconfig(lua) >= 5.1
BuildRequires: popt-devel >= %{popt_ver}
BuildRequires: python3-modules
%if %{with python3}
BuildRequires: python3-devel
BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.750
%endif
BuildRequires: sqlite3-devel >= 3.22.0
BuildRequires: tcl
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Requires: rpm-pld-macros >= 1.744
Requires: FHS >= 3.0-2
-Requires: openssl >= %{openssl_ver}
+Requires: libgcrypt
Requires: popt >= %{popt_ver}
%if %{with recommends_tags}
Recommends: rpm-plugin-audit
Recommends: rpm-plugin-syslog
Recommends: rpm-plugin-systemd-inhibit
%endif
-Obsoletes: rpm-getdeps
Obsoletes: rpm-utils-perl
Obsoletes: rpm-utils-static
Conflicts: glibc < 2.2.92
Group: Libraries
Requires: db >= %{db_ver}
Requires: libmagic >= 1.15-2
-Requires: openssl >= %{openssl_ver}
Requires: popt >= %{popt_ver}
Obsoletes: rpm-libs
# avoid SEGV caused by mixed db versions
Requires: db-devel >= %{db_ver}
Requires: elfutils-devel
Requires: libmagic-devel
-Requires: openssl-devel >= %{openssl_ver}
+Requires: libgcrypt-devel
%if %{with selinux}
Requires: libselinux-devel
Requires: libsemanage-devel
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch6 -p0
%patch7 -p1
%patch8 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
install %{SOURCE15} scripts/perl.prov.in
-e 's|@host_os@|%{_target_os}|' \
macros.in
-CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}"
%configure \
WITH_PERL_VERSION=no \
__GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
--disable-silent-rules \
--enable-shared \
--enable-bdb \
+ --enable-bdb-ro \
--enable-ndb \
--enable-sqlite \
--enable-zstd \
- --with-crypto=openssl \
--with-lua \
%{?with_imaevm:--with-imaevm} \
--with-cap \
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
- $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
+ $RPM_BUILD_ROOT/var/lib/{banner,rpm}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
%endif
+%ifnarch aarch64
rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
+%endif
+
rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
+cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
+%ifarch x32
+%{_target_cpu}-%{_target_vendor}-linux-gnux32
+%else
+%{_target_cpu}-%{_target_vendor}-linux
+%endif
+EOF
+
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
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
%{_rpmlibdir}/dbupgrade.sh
fi
-%triggerpostun -- %{name} < 4.4.9-44
-%{_rpmlibdir}/hrmib-cache
-
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
+# this is ok to be replaced
+%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
%{_mandir}/man8/rpm.8*
%{_mandir}/man8/rpmdb.8*
%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
%ifarch alpha
%{_rpmlibdir}/platform/alpha*
%endif
+%ifarch aarch64
+%{_rpmlibdir}/platform/aarch64*
+%endif
%ifarch ia64
%{_rpmlibdir}/platform/ia64*
%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