%bcond_without python # don't build python bindings
%bcond_without selinux # build without selinux support
%bcond_without suggest_tags # build without Suggest tag (bootstrapping)
-%bcond_with db60 # use DB 6.0 instead of 5.2
+%bcond_with db61 # use DB 6.1 instead of 5.2
%bcond_with neon # build with HTTP/WebDAV support (neon library)
%bcond_with sqlite # build with SQLite support
%bcond_with system_lua # use system lua
+%bcond_without system_pcre # use system pcre
%bcond_with keyutils # build with keyutils support
# force_cc - force using __cc other than "%{_target_cpu}-pld-linux-gcc"
# force_cxx - force using __cxx other than "%{_target_cpu}-pld-linux-g++"
%endif
# versions of required libraries
-%if %{with db60}
-%define reqdb_pkg db6.0
-%define reqdb_ver 6.0
-%define reqdb_pkgver 6.0.20
+%if %{with db61}
+%define reqdb_pkg db6.1
+%define reqdb_ver 6.1
+%define reqdb_pkgver 6.1.19
%else
%define reqdb_pkg db5.2
%define reqdb_ver 5.2
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
Version: 5.4.15
-Release: 0.1
+Release: 7
License: LGPL v2.1
Group: Base
# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm
Source28: %{name}db_reset.c
Source29: dbupgrade.sh
Source30: rubygems.rb
+Source31: gem_helper.rb
Patch0: %{name}-branch.patch
Patch1: %{name}-man_pl.patch
Patch2: %{name}-popt-aliases.patch
Patch70: python-%{name}sense-missingok.patch
Patch71: %{name}-changelog-encoding.patch
Patch72: %{name}-preserve-tag-type.patch
-Patch73: gem_helper-spec-arg.patch
Patch74: %{name}-fix-internal-lua-build.patch
Patch75: %{name}-double_check_file_deps.patch
Patch77: %{name}-lua-expat.patch
Patch79: %{name}-rpmspec.patch
Patch80: %{name}-revert-gpg-argv-parsing.patch
Patch81: %{name}-perl-magic.patch
+Patch82: %{name}-5.4.15-use-DSA-sig.patch
+Patch83: %{name}-ignore-missing-macro-files.patch
# Patches imported from Mandriva
Patch1045: %{name}-5.4.12-fix-rpmpython-module-import-init.patch
Patch1046: %{name}-5.4.12-truncate-output-buffer-after-use.patch
Patch1047: %{name}-5.4.13-perl-bindings-do-not-use-xmalloc.patch
+# proyvind:
+# there's a rpmdbchk tool I wrote a while back, which might help you. although
+# the incidents it's able to deal with is rather limited ATM... it might help
+# you out, if not and you'll be able to solve yer problem, you could take a
+# stab at adding support for fixing your specific problem to the util ;)
+# https://abf.io/openmandriva/rpm/raw/master/rpm-5.4.14-rpmdbchk.patch
+Patch1048: %{name}-5.4.14-rpmdbchk.patch
+# https://abf.io/openmandriva/rpm/raw/master/rpm-5.4.14-no-assert-abort-with-broken-headers.patch
+Patch1049: %{name}-5.4.14-no-assert-abort-with-broken-headers.patch
URL: http://rpm5.org/
BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
%else
BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
%endif
-BuildRequires: autoconf >= 2.60
+BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1.4
BuildRequires: beecrypt-devel >= %{beecrypt_ver}
BuildRequires: bzip2-devel >= 1.0.2-17
BuildRequires: elfutils-devel >= 0.108
-#BuildRequires: gettext-autopoint >= 0.11.4-2
-BuildRequires: gettext-devel >= 0.11.4-2
+BuildRequires: gettext-tools >= 0.19.2
%{?with_keyutils:BuildRequires: keyutils-devel}
BuildRequires: libmagic-devel
%if %{with selinux}
Group: Applications/File
Requires(pretrans): coreutils
Requires(pretrans): findutils
-Requires: %{name}-build-macros >= 1.656
+Requires: %{name}-build-macros >= 1.699
Requires: %{name}-utils = %{version}-%{release}
Requires: /bin/id
Requires: awk
%patch38 -p1
%patch39 -p1
%patch40 -p1
-%{?with_db60:%patch41 -p1}
+%{?with_db61:%patch41 -p1}
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
-%{!?with_db60:%patch57 -p1}
+%{!?with_db61:%patch57 -p1}
%patch58 -p1
%patch60 -p1
%patch61 -p1
%patch70 -p1
%patch71 -p1
%patch72 -p1
-%patch73 -p1
%patch74 -p1
%patch75 -p1
%patch77 -p0
%patch79 -p1
%patch80 -p1
%patch81 -p0
+%patch82 -p1
%patch1000 -p1
%patch1001 -p1
%patch1045 -p1
%patch1046 -p1
%patch1047 -p1
+%patch1048 -p1
+%patch1049 -p1
+
+%patch83 -p1
install %{SOURCE2} macros/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
%{__mv} -f scripts/perl.req{,.in}
install %{SOURCE26} tools/rpmdb_checkversion.c
install %{SOURCE28} tools/rpmdb_reset.c
-for extlib in beecrypt neon pcre popt; do
+for extlib in beecrypt neon %{?with_system_pcre:pcre} popt; do
[ -d $extlib ] && %{__rm} -r $extlib
done
--with-neon=%{?with_neon:external}%{!?with_neon:no} \
--with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/%%{_target}/macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/macros.build:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%%{_target}/macros:%{_sysconfdir}/rpm/macros.d/*.macros:~/etc/.rpmmacros:~/.rpmmacros' \
--without-path-versioned \
- --with-pcre=external \
+ --with-pcre=%{!?with_system_pcre:internal}%{?with_system_pcre:external} \
--with-popt=external \
%{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \
%{!?with_python:--without-python} \
echo "%%{load:%{_rpmlibdir}/macros.d/$m}" >$RPM_BUILD_ROOT%{_rpmlibdir}/macros.$m
done
+# moved to rpm-build-macros 1.699
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.d/kernel
+
# for rpm -e|-U --repackage
install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm}
touch $RPM_BUILD_ROOT/var/lock/rpm/transaction
%attr(755,root,root) %{_rpmlibdir}/bin/dbupgrade.sh
%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_checkversion
%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_reset
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmdbchk
%files base
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/cmake
%{_rpmlibdir}/macros.d/gstreamer
%{_rpmlibdir}/macros.d/java
-%{_rpmlibdir}/macros.d/kernel
%{_rpmlibdir}/macros.d/libtool
%{_rpmlibdir}/macros.d/mono
%{_rpmlibdir}/macros.d/perl