%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 neon # build with HTTP/WebDAV support (neon library)
%bcond_with sqlite # build with SQLite support
%bcond_with system_lua # use system lua
%endif
# versions of required libraries
+%if %{with db60}
+%define reqdb_pkg db6.0
+%define reqdb_ver 6.0
+%define reqdb_pkgver 6.0.20
+%else
%define reqdb_pkg db5.2
%define reqdb_ver 5.2
%define reqdb_pkgver 5.2.36.0-4
+%endif
%define reqpopt_ver 1.15
-%define beecrypt_ver 2:4.1.2-4
+%define beecrypt_ver 2:4.2.0
%define sover 5.4
Summary: RPM Package Manager
Summary(ru.UTF-8): Менеджер пакетов от RPM
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
-Version: 5.4.11
-Release: 0.1
+Version: 5.4.13
+Release: 3
License: LGPL v2.1
Group: Base
-# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.11-0.20130708.src.rpm
+# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.13-0.20130819.src.rpm
Source0: %{name}-%{version}.tar.gz
-# Source0-md5: 38d5a4b3592d523953f2bccb6d631554
+# Source0-md5: 4ce4ab33a4d5f1fcb13afcc494c92c07
Source100: cpu-os-macros.tar.gz
# Source100-md5: 928034a5bdceb398881bc14b5f29973b
Source1: %{name}.groups
Source20: %{name}.noautoprov
Source21: %{name}.noautoprovfiles
Source22: %{name}.noautoreq
-Source23: %{name}.noautoreqdep
Source24: %{name}.noautoreqfiles
Source25: %{name}-php-requires.php
Source26: %{name}db_checkversion.c
Patch23: %{name}-gendiff.patch
Patch24: openmp.patch
Patch25: %{name}-URPM-build-fix.patch
-Patch26: %{name}-db5.3.patch
Patch27: %{name}-helperEVR-noassert.patch
Patch28: %{name}-unglobal.patch
Patch29: %{name}-builddir-readlink.patch
Patch56: %{name}-macros.patch
Patch57: %{name}-db5.2.patch
Patch58: %{name}-preserve-iterator.patch
-Patch59: %{name}-triggerin-compat.patch
Patch60: %{name}-python-sitescriptdir.patch
Patch61: %{name}-clean-docdir.patch
Patch62: %{name}-DB_CONFIG.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
+Patch76: %{name}-revert-debugedit-breakage.patch
+Patch77: %{name}-lua-expat.patch
+Patch78: %{name}-double_check_unpackaged_subdirs.patch
# Patches imported from Mandriva
Patch1023: %{name}-5.4.5-rpmfc-use-strlen-not-sizeof.patch
# status: probably okay to merge
Patch1024: %{name}-5.4.5-rpmfc-apply-python-coloring-from-magic.patch
-# status: ready to merge
-Patch1025: %{name}-5.4.7-rpmfc-fix-invalid-free-if-not-_defaultdocdir-set.patch
# status: probably okay to merge
Patch1026: %{name}-5.4.10-dont-try-generate-rpmfc-dependencies-from-doc-files.patch
# status: ready
Patch1041: %{name}-5.4.9-disable-l10ndir.patch
# status: ready for merge
Patch1042: %{name}-5.4.9-fix-rpm_qa-pattern.patch
+# warning: introduces memory leak
+Patch1043: %{name}-5.4.12-copy-Value-string.patch
+Patch1044: %{name}-5.4.12-fix-rpmlua-print.patch
+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
+Patch1048: %{name}-5.4.13-dont-override-existing-variables-with-etc-os-release.patch
URL: http://rpm5.org/
BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
BuildRequires: libxml2-devel
BuildRequires: neon-devel >= 0.25.5
%endif
-%{?with_system_lua:BuildRequires: lua51-devel >= 5.1.2}
+%{?with_system_lua:BuildRequires: lua52-devel >= 5.2.2}
BuildRequires: ossp-uuid-devel
BuildRequires: patch >= 2.2
BuildRequires: popt-devel >= %{reqpopt_ver}
%patch23 -p1
%patch24 -p1
%patch25 -p1
-####%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
-####%patch41 -p1
+%{?with_db60:%patch41 -p1}
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
-%patch57 -p1
+%{!?with_db60:%patch57 -p1}
%patch58 -p1
-%patch59 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
%patch71 -p1
%patch72 -p1
%patch73 -p1
+%patch74 -p1
+%patch75 -p1
+%patch76 -p0
+%patch77 -p0
+%patch78 -p1
%patch1000 -p1
%patch1001 -p1
%patch1022 -p1
%patch1023 -p1
%patch1024 -p1
-%patch1025 -p1
%patch1026 -p1
%patch1027 -p1
%patch1028 -p1
%patch1040 -p1
%patch1041 -p1
%patch1042 -p1
+%patch1043 -p1
+%patch1044 -p1
+%patch1045 -p1
+%patch1046 -p1
+%patch1047 -p1
+%patch1048 -p1
%patch68 -p1
%patch69 -p1
install %{SOURCE26} tools/rpmdb_checkversion.c
install %{SOURCE28} tools/rpmdb_reset.c
+for extlib in beecrypt neon pcre popt; do
+ [ -d $extlib ] && %{__rm} -r $extlib
+done
+
%build
%{__libtoolize}
#%{__autopoint}
CPP="%{__newcpp}" \
WITH_PERL_VERSION=no \
__GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
+ --disable-silent-rules \
--enable-shared \
--enable-static \
%{!?with_apidocs:--without-apidocs} \
- %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \
- %{!?with_python:--without-python} \
- --with-selinux=%{!?with_selinux:no}%{?with_selinux:external} \
- --with-sepol=%{!?with_selinux:not}%{?with_selinux:external} \
- --with-semanage=%{!?with_selinux:no}%{?with_selinux:external} \
- --with-libelf \
- --with-zlib=external \
- --with-bzip2=external \
--with-beecrypt=external \
- --with-lzma=external \
- --with-xz=external \
- --with-neon=%{?with_neon:external}%{!?with_neon:no} \
- --with-file=external \
- --with-popt=external \
+ --with-bugreport="http://bugs.pld-linux.org/" \
+ --with-bzip2=external \
--with-db=external \
--with-dbapi=db \
- --with-sqlite=%{?with_sqlite:yes}%{!?with_sqlite:no} \
+ --with-file=external \
+ --with-keyutils=%{?with_keyutils:external}%{!?with_keyutils:no} \
+ --with-libelf \
--with-lua=%{!?with_system_lua:internal}%{?with_system_lua:external} \
+ --with-lzma=external \
+ --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-keyutils=%{?with_keyutils:external}%{!?with_keyutils:no} \
+ --with-popt=external \
+ %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \
+ %{!?with_python:--without-python} \
+ --with-selinux=%{!?with_selinux:no}%{?with_selinux:external} \
+ --with-semanage=%{!?with_selinux:no}%{?with_selinux:external} \
+ --with-sepol=%{!?with_selinux:no}%{?with_selinux:external} \
+ --with-sqlite=%{?with_sqlite:yes}%{!?with_sqlite:no} \
--with-uuid=%{_libdir}:%{_includedir}/ossp-uuid \
- --without-path-versioned \
- --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' \
- --with-bugreport="http://bugs.pld-linux.org/" \
- --with-vendor=pld
+ --with-vendor=pld \
+ --with-xz=external \
+ --with-zlib=external
%{__make} -j1 \
CC="%{__cc}" \
install %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
-%{__make} install \
+%{__make} -j1 install \
pkgconfigdir=%{_pkgconfigdir} \
DESTDIR=$RPM_BUILD_ROOT
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
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/lib/liblua.a
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/lib/liblua.la
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/mono-find-provides
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/mono-find-requires
+%{__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
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/lib/liblua.a
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/lib/liblua.la
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/mono-find-provides
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/mono-find-requires
# not installed since 4.4.8 (-tools-perl subpackage)
install scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir}
install %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
install %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
install %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
-install %{SOURCE23} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep
install %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname