# TODO:
# - python(abi) cap is not provided automatically (because /usr/bin/python matches
# ELF first; it should be provided by python-libs not binary anyway)
-# - consider using system libmagic not internal libfmagic
-# (but internal has different method of passing output)
#
# Conditional build:
%bcond_with static # build static rpmi (not supported at the moment)
%bcond_without apidocs # don't generate documentation with doxygen
%bcond_with autoreqdep # autogenerate package name deps in addition to sonames/perl(X)
-%bcond_without home_etc # build without HOME_ETC support
%bcond_without python # don't build python bindings
%bcond_without selinux # build without selinux support
+%bcond_without system_libmagic # don't use system libmagic
%bcond_with neon # build with HTTP/WebDAV support (neon library)
# force_cc - force using __cc other than "%{_target_cpu}-pld-linux-gcc"
# force_cxx - force using __cxx other than "%{_target_cpu}-pld-linux-g++"
%define reqdb_ver 4.3.27-1
%define reqpopt_ver 1.10.2
%define beecrypt_ver 2:4.1.2-4
-%define rpm_macros_rev 1.231
+%define rpm_macros_rev 1.238
Summary: RPM Package Manager
Summary(de): RPM Packet-Manager
Summary(es): Gestor de paquetes RPM
Name: rpm
%define sover 4.4
Version: 4.4.2
-Release: 0.9
+Release: 4
License: GPL
Group: Base
Source0: ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz
Patch44: %{name}-no-neon.patch
Patch45: %{name}-no-sqlite.patch
Patch46: %{name}-mono.patch
+Patch47: %{name}-posttrans.patch
URL: http://wraptastic.org/
Icon: rpm.gif
BuildRequires: autoconf >= 2.52
BuildRequires: elfutils-devel >= 0.108
BuildRequires: findutils
BuildRequires: gettext-devel >= 0.11.4-2
-%{?with_home_etc:BuildRequires: home-etc-devel >= 1:1.0.9-2}
-#BuildRequires: libmagic-devel
+%{?with_system_libmagic:BuildRequires: libmagic-devel}
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
# needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
BuildRequires: libstdc++-devel
BuildRequires: python-modules >= 1:2.3
BuildRequires: readline-devel
BuildRequires: rpm-perlprov
+%{?with_python:BuildRequires: rpm-pythonprov}
BuildRequires: zlib-devel
%if %{with static}
# Require static library only for static build
BuildRequires: db-static >= %{reqdb_ver}
BuildRequires: glibc-static >= 2.2.94
BuildRequires: elfutils-static
-#BuildRequires: libmagic-static
+%{with_system_libmagic:BuildRequires: libmagic-static}
%{?with_selinux:BuildRequires: libselinux-static >= 1.18}
BuildRequires: popt-static >= %{reqpopt_ver}
BuildRequires: zlib-static
Requires: beecrypt >= %{beecrypt_ver}
Requires: db >= %{reqdb_ver}
%{?with_selinux:Requires: libselinux >= 1.18}
+%{?with_system_libmagic:Requires: libmagic >= 1.15-2}
Requires: popt >= %{reqpopt_ver}
Obsoletes: rpm-libs
# avoid SEGV caused by mixed db versions
Conflicts: poldek < 0.18.1-16
-%if %{with home_etc}
-# avoid linking to /usr/lib
-Conflicts: home-etc < 1.0.9-2
-%endif
%description lib
RPMs library.
Requires: bzip2-devel
Requires: db-devel >= %{reqdb_ver}
Requires: elfutils-devel
-%{?with_home_etc:Requires: home-etc-devel >= 1:1.0.9-2}
%{?with_selinux:Requires: libselinux-devel}
+%{?with_system_libmagic:Requires: libmagic-devel}
Requires: popt-devel >= %{reqpopt_ver}
Requires: zlib-devel
Requires: bzip2-static
Requires: db-static >= %{reqdb_ver}
Requires: elfutils-static
+%{?with_system_libmagic:Requires: libmagic-static}
Requires: popt-static >= %{reqpopt_ver}
Requires: zlib-static
Requires: cpio
Requires: diffutils
Requires: elfutils
-Requires: file >= 4.13-2
+Requires: file >= 4.14-1
Requires: fileutils
Requires: findutils
Requires: gcc >= 5:3.4
Conflicts: automake < 1:1.7.9-2
Conflicts: libtool < 2:1.5-13
%endif
+Obsoletes: rpmbuild(macros) < %{rpm_macros_rev}
%description build
Scripts for building binary RPM packages.
%{!?with_neon:%patch44 -p1}
%patch45 -p1
%patch46 -p1
+%patch47 -p1
%patch0 -p1
%patch3 -p1
done
%build
+%if %{with system_libmagic}
+rm -rf file
+%else
cd file
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__automake}
cd ..
+%endif
%{__libtoolize}
%{__gettextize}
--enable-shared \
--enable-static \
%{?with_apidocs:--with-apidocs} \
- %{?with_home_etc:--with-home_etc} \
%{?with_python:--with-python=auto} \
%{!?with_python:--without-python} \
%{!?with_selinux:--without-selinux} \
^libpsres.so
^libxkbfile.so
^libxkbui.so
+# -- fam / gamin
+^libfam.so.0
EOF
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
# global list of file masks not to be compressed in DOCDIR
ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
done
+# remove arch dependant macros which have no use on noarch
+sed -i -e '
+/{__spec_install_post_strip}/d
+/{__spec_install_post_chrpath}/d
+/{__spec_install_post_compress_modules}/d
+' $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros
+
%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
%py_comp $RPM_BUILD_ROOT%{py_sitedir}
%attr(755,root,root) %{_bindir}/rpmcache
%attr(755,root,root) %{_bindir}/rpmdeps
%attr(755,root,root) %{_bindir}/rpmgraph
-%attr(755,root,root) %{_bindir}/rpmfile
+%{!?with_system_libmagic:%attr(755,root,root) %{_bindir}/rpmfile}
%attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
%attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
%attr(755,root,root) %{_rpmlibdir}/tgpg
%if %{with python}
%files -n python-rpm
%defattr(644,root,root,755)
+%dir %{py_sitedir}/rpm
%attr(755,root,root) %{py_sitedir}/rpm/*.so
%attr(755,root,root) %{py_sitedir}/rpm/*.py[co]
%endif