# Conditional build:
%bcond_with static # don't use shared libraries
%bcond_without imode # don't build interactive mode
-%bcond_without python # don't build python bindings
+%bcond_with python # don't build python bindings
%bcond_with snap # install configs for official Th snapshot
-%bcond_with rpm4 # use rpm4 instead of rpm5
-%bcond_without tests # tests
+%bcond_with rpm5 # use rpm5 instead of rpm4
+%bcond_with tests # tests
# current snapshot name
-%define SNAP 2019
+%define SNAP 2020
# required versions (forced to avoid SEGV with mixed db used by rpm and poldek)
-%if %{with rpm4}
+%if %{without rpm5}
%define db_pkg db
%define ver_db 5.3
%define ver_rpm 1:4.14
%define ver_db_devel %(rpm -q --qf '%|E?{%{E}:}|%{V}-%{R}' --what-provides db-devel)
%else
-%define ver_db %(rpm -q --provides rpm | %{__sed} -ne 's/^rpm-db-ver = \\([.0-9]*\\)$/\\1/p')
+%define ver_db %(rpm -q --provides rpm-lib | awk 'BEGIN { v="RPM_TOO_OLD" } /^rpm-db-ver = [.0-9]+$/ { v=$3 } END { print v }')
%define db_pkg db%{ver_db}
%define ver_rpm 5.4.10
%endif
-%define rel 2
+%define rel 5
Summary: RPM packages management helper tool
Summary(hu.UTF-8): RPM csomagkezelést segítő eszköz
Summary(pl.UTF-8): Pomocnicze narzędzie do zarządzania pakietami RPM
Name: poldek
-Version: 0.42.0
+Version: 0.42.2
Release: %{rel}%{?with_snap:.%{SNAP}}
License: GPL v2
Group: Applications/System
#Source0: http://poldek.pld-linux.org/download/snapshots/%{name}-%{version}-cvs%{snap}.tar.bz2
Source0: https://github.com/poldek-pm/poldek/releases/download/v%{version}/%{name}-%{version}.tar.xz
-# Source0-md5: f224a4f62cdedf0d8bcfe0ce6dd533b2
+# Source0-md5: 2759fe45bc50efb6084d5338d725411a
Source1: %{name}.conf
Source2: %{name}-multilib.conf
Source3: %{name}-config.sh
Patch1: pm-hooks.patch
Patch2: %{name}-ext-down-enable.patch
Patch3: %{name}-pc.patch
-Patch4: uniqe-package-names.patch
+Patch4: %{name}-info.patch
+Patch5: %{name}-multiarch-x32.patch
+Patch6: rpm-4.15.patch
+Patch7: db-index-format.patch
+Patch8: rpm4-uname-deps.patch
+Patch9: sqlite-rpmdb.patch
+Patch10: rpm4-cpuinfo-deps.patch
+Patch11: rpm4-no-dir-deps.patch
+Patch12: rpm4-rpmvercmp.patch
+Patch13: trurlib-shared.patch
+Patch14: rpm4-script-req-workaround.patch
URL: http://poldek.pld-linux.org/
BuildRequires: %{db_pkg}-devel >= %{ver_db}
BuildRequires: autoconf >= 2.63
BuildRequires: bzip2-devel
BuildRequires: check-devel
BuildRequires: docbook-dtd412-xml
+BuildRequires: docbook2X
BuildRequires: gettext-tools >= 0.11.5
BuildRequires: libgomp-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pcre-devel
+BuildRequires: perl-XML-Simple
+BuildRequires: perl-base
+BuildRequires: perl-modules
BuildRequires: pkgconfig
BuildRequires: popt-devel
%{?with_python:BuildRequires: python-devel}
BuildRequires: readline-devel >= 5.0
-BuildRequires: rpm >= %{ver_rpm}
BuildRequires: rpm-devel >= %{ver_rpm}
%{?with_python:BuildRequires: rpm-pythonprov}
BuildRequires: tar >= 1:1.22
+BuildRequires: texinfo
BuildRequires: xmlto
BuildRequires: xz
BuildRequires: zlib-devel
BuildRequires: zlib-static
BuildRequires: zstd-static
%endif
-Requires(triggerpostun): awk
-Requires(triggerpostun): sed >= 4.0
-%if %{with rpm4}
+Requires(postun): awk
+Requires(postun): sed >= 4.0
+%if %{without rpm5}
Requires: %{db_pkg} >= %{ver_db_devel}
%else
Requires: %{db_pkg} >= %{ver_db}
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+cd trurlib
+%patch13 -p1
+cd ..
+%patch14 -p1
+%{__rm} doc/poldek.info
%{__rm} m4/libtool.m4 m4/lt*.m4
# cleanup backups after patching
--enable-nls \
%{?with_python:--with-python}
%{__make}
-# --enable-trace
+
+%{__make} -C doc poldek.info
%if %{with python}
%{__make} -C python
%{?with_static:%{__rm} $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
-%ifarch i486 i686 ppc sparc alpha athlon
+%ifarch i486 i686 ppc sparc alpha athlon aarch64
%define ftp_arch %{_target_cpu}
%endif
%ifarch %{x8664}
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
-%triggerpostun -- poldek < 0.30-0.20080225.00.1
+%triggerpostun -- poldek < 0.30.1-8
+# poldek < 0.30-0.20080225.00.1
if ! grep -q '^%%includedir repos.d' %{_sysconfdir}/%{name}/poldek.conf; then
%{__sed} -i -e '/^%%include source.conf/{
a
%{__mv} -v %{_sysconfdir}/%{name}/pld-multilib-source.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
fi
%endif
-
-%triggerpostun -- poldek < 0.30.1-3
+# poldek < 0.30.1-3
if [ -f %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf.rpmsave ]; then
%{__mv} -f %{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt_arch}.conf{,.rpmnew}
%{__mv} -v %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt_arch}.conf
%{__mv} -f %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{ftp_alt_arch}.conf{,.rpmnew}
%{__mv} -v %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-multilib.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{ftp_alt_arch}.conf
fi
-
-%triggerpostun -- %{name} < 0.30.1-8
+# poldek < 0.30.1-8
if [ $1 -le 1 ]; then
# revert change on --downgrade
%{__sed} -i -re 's,^pm command = %{pkglibexecdir}/pm-command.sh,#&,' %{_sysconfdir}/%{name}/%{name}.conf