#
# Conditional build:
%bcond_with static # build static rpmi (not supported at the moment)
-%bcond_without docs # don't generate documentation with doxygen
+%bcond_without doc # don't generate documentation with doxygen
%bcond_without python # don't build python bindings
+%bcond_without selinux # dont enable selinux 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++"
# force_cpp - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
%define reqdb_ver 4.2.50-1
%define reqpopt_ver 1.9
%define beecrypt_ver 3.0.0-0.20030610.1
-%define rpm_macros_rev 1.143
+%define rpm_macros_rev 1.145
Summary: RPM Package Manager
Summary(de): RPM Packet-Manager
Summary(es): Gestor de paquetes RPM
Name: rpm
%define ver 4.3
Version: %{ver}
-Release: 0.%{snap}.8
+Release: 0.%{snap}.19
License: GPL
Group: Base
#Source0: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/%{name}-%{version}.%{snap}.tar.gz
Patch36: %{name}-pld-autodep.patch
Patch37: %{name}-rpmsq.patch
Patch38: %{name}-file-readelf.patch
+Patch39: %{name}-pentiumX.patch
+Patch40: %{name}-epoch0.patch
+Patch41: %{name}-file-readelf-fix.patch
+Patch42: %{name}-cpuid.patch
+Patch43: %{name}-perl_req-INC_dirs.patch
+Patch44: %{name}-debuginfo.patch
URL: http://www.rpm.org/
Icon: rpm.gif
BuildRequires: autoconf >= 2.52
BuildRequires: beecrypt-devel >= %{beecrypt_ver}
BuildRequires: bzip2-devel >= 1.0.1
BuildRequires: db-devel >= %{reqdb_ver}
-%{?with_docs:BuildRequires: doxygen}
+%{?with_doc:BuildRequires: doxygen}
BuildRequires: gettext-devel >= 0.11.4-2
BuildRequires: elfutils-devel
#BuildRequires: libmagic-devel
-BuildRequires: libselinux-devel
+%{?with_selinux:BuildRequires: libselinux-devel}
BuildRequires: libtool
BuildRequires: patch >= 2.2
BuildRequires: popt-devel >= %{reqpopt_ver}
BuildRequires: glibc-static >= 2.2.94
BuildRequires: elfutils-static
#BuildRequires: libmagic-static
-BuildRequires: libselinux-static
+%{?with_selinux:BuildRequires: libselinux-static}
BuildRequires: popt-static >= %{reqpopt_ver}
BuildRequires: zlib-static
%endif
Requires: %{name}-lib = %{version}-%{release}
Requires: beecrypt-devel >= %{beecrypt_ver}
Requires: bzip2-devel
-Requires: db-devel
+Requires: db-devel >= %{reqdb_ver}
Requires: elfutils-devel
-Requires: libselinux-devel
+%{?with_selinux:Requires: libselinux-devel}
Requires: popt-devel >= %{reqpopt_ver}
Requires: zlib-devel
Requires: %{name}-devel = %{version}-%{release}
Requires: beecrypt-static >= %{beecrypt_ver}
Requires: bzip2-static
-Requires: db-static
+Requires: db-static >= %{reqdb_ver}
Requires: elfutils-static
Requires: popt-static >= %{reqpopt_ver}
Requires: zlib-static
%patch21 -p1
sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
cp -f platform.in macros.pld.in
-echo '%%define __perl_provides /usr/lib/rpm/perl.prov' > macros.perl
-echo '%%define __perl_requires /usr/lib/rpm/perl.req' >> macros.perl
+echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl
+echo '%%define __perl_requires %%{__perl} /usr/lib/rpm/perl.req' >> macros.perl
echo '# obsoleted file' > macros.python
echo '%%define __php_provides /usr/lib/rpm/php.prov' > macros.php
echo '%%define __php_requires /usr/lib/rpm/php.req' >> macros.php
%patch36 -p1
%patch37 -p1
%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
+%patch43 -p0
+%patch44 -p1
cd scripts;
mv -f perl.req perl.req.in
CPP="%{__cpp}" \
--enable-shared \
--enable-static \
- %{?with_docs:--with-apidocs} \
+ %{?with_doc:--with-apidocs} \
%{?with_python:--with-python=auto} \
%{!?with_python:--without-python} \
+ %{!?with_selinux:--without-selinux} \
--without-db
# file_LDFLAGS, debugedit_LDADD - no need to link "file" and "debugedit" statically
install rpmio/ugid.h $RPM_BUILD_ROOT%{_includedir}/rpm
install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm
+
+%ifarch %{ix86}
+ix86re=$(echo "(%{ix86})"|sed 's/ /|/g')
+perl -p -i -e 's/^(buildarchtranslate: '"$ix86re"': ).*/\1%{_target_cpu}/' \
+ $RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc
+%endif
+
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
# customized rpm macros - global for host
#
#%%_install_langs pl_PL:en_US
%%distribution PLD
+#
+# remove or replace with file_contexts path if you want to use custom
+# SELinux file contexts policy instead of one stored in packages payload
+%%_install_file_context_path %%{nil}
+%%_verify_file_context_path %%{nil}
EOF
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
done
+# fix debug script
+perl -pi -e 's#/.*/debugedit#%{_bindir}/debugedit#g' $RPM_BUILD_ROOT%{_rpmlibdir}/find-debuginfo.sh
+
for f in $RPM_BUILD_ROOT%{_datadir}/locale/{en_RN,eu_ES,gl,hu,ro,wa,zh,zh_CN.GB2312}/LC_MESSAGES/rpm.mo ; do
[ "`file $f | sed -e 's/.*,//' -e 's/message.*//'`" -le 1 ] && rm -f $f
done
%attr(755,root,root) %{_rpmlibdir}/rpmb
%attr(755,root,root) %{_rpmlibdir}/rpmt
%{_rpmlibdir}/noarch-*
-%ifarch i386 i486 i586 i686 athlon
+%ifarch %{ix86}
%{_rpmlibdir}/i?86*
+%{_rpmlibdir}/pentium*
%{_rpmlibdir}/athlon*
%endif
%ifarch amd64