# 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_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.236
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: 2
+Release: 25
License: GPL
Group: Base
Source0: ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz
Source8: %{name}-check-files
Source9: %{name}-php-provides
Source10: %{name}-php-requires
-Source11: %{name}.macros
+
Source12: perl.prov
Source13: %{name}-user_group.sh
Source14: %{name}.sysconfig
Source32: pldnotify.awk
# http://svn.pld-linux.org/banner.sh/
Source33: banner.sh
+Source34: php-pear-build-macros
Patch0: %{name}-pl.po.patch
Patch1: %{name}-rpmrc.patch
Patch2: %{name}-arch.patch
Patch35: %{name}-perl_req-INC_dirs.patch
Patch36: %{name}-debuginfo.patch
Patch37: %{name}-doxygen_hack.patch
-
+Patch38: %{name}-kill-prereq.patch
Patch39: %{name}-pythondeps.patch
Patch40: %{name}-print-requires.patch
Patch41: %{name}-reduce-stack-usage.patch
Patch45: %{name}-no-sqlite.patch
Patch46: %{name}-mono.patch
Patch47: %{name}-posttrans.patch
+Patch48: %{name}-requireseq.patch
+Patch49: %{name}-p4.patch
+Patch50: %{name}-macros.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}
-%{?with_system_libmagic: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
-%{with_system_libmagic:BuildRequires: libmagic-static}
+%{?with_system_libmagic:BuildRequires: libmagic-static}
%{?with_selinux:BuildRequires: libselinux-static >= 1.18}
BuildRequires: popt-static >= %{reqpopt_ver}
BuildRequires: zlib-static
%endif
Requires: beecrypt >= %{beecrypt_ver}
Requires: popt >= %{reqpopt_ver}
+Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
%{!?with_static:Obsoletes: rpm-utils-static}
Conflicts: glibc < 2.2.92
ÓÌÕÖÂÏ×ϧ ¦ÎÆÏÒÍÁæ§, ÝÏ Í¦ÓÔÉÔØ ÎÁÚ×Õ, ×ÅÒÓ¦À, ÏÐÉÓ ÔÁ ¦ÎÛÕ
¦ÎÆÏÒÍÁæÀ ÐÒÏ ÐÁËÅÔ.
+%package base
+Summary: RPM base package - scripts used by rpm packages themselves
+Summary(pl): Podstawowy pakiet RPM - skrypty u¿ywane przez same pakiety rpm
+Group: Base
+Requires: sed
+Obsoletes: vserver-rpm
+
+%description base
+The RPM base package contains scripts used by rpm packages themselves.
+These include:
+- scripts for adding/removing groups and users needed for rpm
+ packages,
+- banner.sh to display %%banner messages from rpm scriptlets.
+
+%description base -l pl
+Pakiet podstawowy RPM zwiera skrypty u¿ywane przez same pakiety rpm.
+Zawiera on:
+- skrypty dodaj±ce/usuwaj±ce grupy i u¿ytkowników dla pakietów rpm,
+- banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
+
%package lib
Summary: RPMs library
Summary(pl): Biblioteki RPM-a
Requires: beecrypt >= %{beecrypt_ver}
Requires: db >= %{reqdb_ver}
%{?with_selinux:Requires: libselinux >= 1.18}
-%{?with_system_libmagic:Requires: libmagic >= 1.15-2}
+%{?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}
+%{?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}
+%{?with_system_libmagic:Requires: libmagic-static}
Requires: popt-static >= %{reqpopt_ver}
Requires: zlib-static
Summary(uk): óËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÏÂÕÄÏ×É ÐÁËÅÔ¦×
Group: Applications/File
Requires(pre): findutils
+Requires: %{name}-build-macros
Requires: %{name}-utils = %{version}-%{release}
Requires: /bin/id
Requires: awk
Requires: sh-utils
Requires: tar
Requires: textutils
-Provides: rpmbuild(macros) = %{rpm_macros_rev}
Provides: rpmbuild(monoautodeps)
Provides: rpmbuild(noauto) = 3
%ifarch %{x8664}
Summary(pl): Dodatkowe narzêdzia do sprawdzania zale¿no¶ci skryptów php w rpm
Group: Applications/File
Requires: %{name} = %{version}-%{release}
+Requires: php-pear-PEAR >= 1:1.4.0-0.b1.3
+Requires: php-zlib
+Requires: sed >= 4.0
%description php-pearprov
Additional utilities for checking php pear provides/requires in rpm
packages.
+This package provides rpm macros and dependencies to help building
+PEAR packages.
+
%description php-pearprov -l pl
Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów php pear w
pakietach rpm.
+Ten pakiet dostarcza makra rpm-a i zale¿no¶ci pomagaj±ce przy
+budowaniu pakietów PEAR-a.
+
%package -n python-rpm
Summary: Python interface to RPM library
Summary(pl): Pythonowy interfejs do biblioteki RPM-a
%patch17 -p1
%patch18 -p1
sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
-cp -f platform.in macros.pld.in
+#cp -f platform.in macros.pld.in # what for?
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
+install %{SOURCE34} macros.php
echo '%%define __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono
echo '%%define __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono
install %{SOURCE5} scripts/find-lang.sh
install %{SOURCE9} scripts/php.prov.in
install %{SOURCE10} scripts/php.req.in
install %{SOURCE12} scripts/perl.prov
-cat %{SOURCE11} >> macros.in
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch35 -p0
%patch36 -p1
%patch37 -p1
+%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
%patch0 -p1
%patch3 -p1
--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} \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm}
+install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
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}/rpmverify
%dir %{_sysconfdir}/rpm
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/rpm/macros
-%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rpm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
%{_mandir}/man8/rpm.8*
%lang(fr) %{_mandir}/fr/man8/rpm.8*
%dir /var/lock/rpm
/var/lock/rpm/transaction
-%dir %{_rpmlibdir}
#%attr(755,root,root) %{_rpmlibdir}/rpmd
#%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]}
#%attr(755,root,root) %{_rpmlibdir}/rpmk
#%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
%doc %attr(755,root,root) %{_rpmlibdir}/convertrpmrc.sh
-%attr(755,root,root) %{_rpmlibdir}/user_group.sh
-
-%attr(755,root,root) %{_bindir}/banner.sh
%{_rpmlibdir}/rpmrc
%{_rpmlibdir}/rpmpopt*
%{_rpmlibdir}/macros
+%files base
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
+%dir %{_rpmlibdir}
+%attr(755,root,root) %{_bindir}/banner.sh
+%attr(755,root,root) %{_rpmlibdir}/user_group.sh
+%dir /var/lib/banner
+
%files lib
%defattr(644,root,root,755)
%attr(755,root,root) /%{_lib}/librpm*-*.so
%files build
%defattr(644,root,root,755)
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/rpm/noauto*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
%attr(755,root,root) %{_rpmlibdir}/compress-doc
%attr(755,root,root) %{_rpmlibdir}/cross-build
#%attr(755,root,root) %{_rpmlibdir}/find-provides
%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]
+%{py_sitedir}/rpm/*.py[co]
%endif
%if %{with apidocs}