# 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)
-#
+# - repackaging when lzma is not installed (todo: fix digest signature of header)
+#
# Conditional build:
%bcond_with static # build static rpm+rpmi
%bcond_without apidocs # don't generate documentation with doxygen
# force_cpp - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
# versions of required libraries
-%define reqdb_ver 4.4.16
-%define reqpopt_ver 1.10.4
+%define reqdb_ver 4.4.20
+%define reqpopt_ver 1.10.6
%define beecrypt_ver 2:4.1.2-4
+%define sover 4.4
Summary: RPM Package Manager
Summary(de): RPM Packet-Manager
Summary(es): Gestor de paquetes RPM
Summary(ru): íÅÎÅÄÖÅÒ ÐÁËÅÔÏ× ÏÔ RPM
Summary(uk): íÅÎÅÄÖÅÒ ÐÁËÅÔ¦× ×¦Ä RPM
Name: rpm
-%define sover 4.4
-Version: 4.4.4
-Release: 1
+Version: 4.4.7
+Release: 0.2
License: GPL
Group: Base
Source0: ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz
-# Source0-md5: d6cba56ec786915c3bf340c310a0bc44
+# Source0-md5: d012c81b5169f7377ea4a36607e1445e
Source1: %{name}.groups
Source2: %{name}.platform
Source3: %{name}-install-tree
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
Patch30: %{name}-libdir-links.patch
Patch31: %{name}-missing-prototypes.patch
Patch32: %{name}-pld-autodep.patch
-Patch33: %{name}-rpmsq.patch
+Patch33: %{name}-arch-x86_64.patch
Patch34: %{name}-epoch0.patch
Patch35: %{name}-perl_req-INC_dirs.patch
Patch36: %{name}-debuginfo.patch
Patch44: %{name}-no-neon.patch
Patch45: %{name}-no-sqlite.patch
Patch46: %{name}-mono.patch
-
+Patch47: %{name}-rpmrc-resurrect.patch
Patch48: %{name}-requireseq.patch
Patch49: %{name}-p4.patch
Patch50: %{name}-macros.patch
Patch51: %{name}-cleanlibdirs.patch
Patch52: %{name}-morearchs.patch
-Patch53: %{name}-symlinks.patch
+Patch53: %{name}-lzma.patch
+Patch54: %{name}-lzma2.patch
+Patch55: %{name}-truncate-cvslog.patch
+Patch56: %{name}-skip-backups.patch
+Patch57: %{name}-as_needed-fix.patch
+Patch58: %{name}-repackage-wo-lzma.patch
+Patch59: %{name}-libtool-deps.patch
URL: http://wraptastic.org/
-BuildRequires: autoconf >= 2.52
+BuildRequires: autoconf >= 2.57
BuildRequires: automake
BuildRequires: beecrypt-devel >= %{beecrypt_ver}
BuildRequires: bzip2-devel >= 1.0.2-17
BuildRequires: db-devel >= %{reqdb_ver}
-%{?with_apidocs:BuildRequires: doxygen}
BuildRequires: elfutils-devel >= 0.108
-BuildRequires: findutils
BuildRequires: gettext-devel >= 0.11.4-2
%{?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: libtool
+BuildRequires: libtool >= 1:1.4.2-9
%if %{with neon}
BuildRequires: libxml2-devel
-BuildRequires: neon-devel >= 0.24.7-3
+BuildRequires: neon-devel >= 0.25.5
%endif
BuildRequires: patch >= 2.2
BuildRequires: popt-devel >= %{reqpopt_ver}
-%{?with_python:BuildRequires: python-devel >= 1:2.3}
-BuildRequires: python-modules >= 1:2.3
-BuildRequires: readline-devel
+%{?with_python:BuildRequires: python-devel >= 1:2.5}
+BuildRequires: python-modules >= 1:2.5
BuildRequires: rpm-perlprov
%{?with_python:BuildRequires: rpm-pythonprov}
BuildRequires: zlib-devel
+%if %{with apidocs}
+BuildRequires: doxygen
+BuildRequires: ghostscript
+BuildRequires: graphviz
+BuildRequires: tetex-pdftex
+%endif
%if %{with static}
# Require static library only for static build
BuildRequires: beecrypt-static >= %{beecrypt_ver}
BuildRequires: bzip2-static >= 1.0.2-17
BuildRequires: db-static >= %{reqdb_ver}
-BuildRequires: glibc-static >= 2.2.94
BuildRequires: elfutils-static
+BuildRequires: glibc-static >= 2.2.94
%{?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}
+Requires: beecrypt >= %{beecrypt_ver}
+Requires: popt >= %{reqpopt_ver}
%{!?with_static:Obsoletes: rpm-utils-static}
Conflicts: glibc < 2.2.92
# avoid SEGV caused by mixed db versions
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: filesystem
Obsoletes: vserver-rpm
%description base
Obsoletes: rpm-libs
# avoid SEGV caused by mixed db versions
Conflicts: poldek < 0.18.1-16
+Suggests: lzma
%description lib
RPMs library.
Requires: bzip2-devel
Requires: db-devel >= %{reqdb_ver}
Requires: elfutils-devel
-%{?with_selinux:Requires: libselinux-devel}
%{?with_system_libmagic:Requires: libmagic-devel}
+%{?with_selinux:Requires: libselinux-devel}
Requires: popt-devel >= %{reqpopt_ver}
Requires: zlib-devel
Summary(uk): óËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÏÂÕÄÏ×É ÐÁËÅÔ¦×
Group: Applications/File
Requires(pre): findutils
-Requires: %{name}-build-macros >= 1.284
+Requires: %{name}-build-macros >= 1.314
Requires: %{name}-utils = %{version}-%{release}
Requires: /bin/id
Requires: awk
-Requires: binutils
+# we need fixed binutils for -feliminate-dwarf2-dups
+Requires: binutils >= 3:2.17.50.0.3-2
Requires: bzip2
Requires: chrpath >= 0.10-4
Requires: cpio
Requires: diffutils
Requires: elfutils
-Requires: file >= 4.14-1
+Requires: file >= 4.17
Requires: fileutils
Requires: findutils
Requires: gcc >= 5:3.4
Requires: glibc-devel
Requires: grep
Requires: gzip
+Requires: lzma
Requires: make
Requires: patch
Requires: sed
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
%package apidocs
Summary: RPM API documentation and guides
Summary(pl): Documentacja API RPM-a i przewodniki
-Group: Documentation
+Group: Documentation
%description apidocs
-Documentation for RPM API and guides in HTML format generated
-from rpm sources by doxygen.
+Documentation for RPM API and guides in HTML format generated from rpm
+sources by doxygen.
%description apidocs -l pl
-Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane
-ze ¼rode³ RPM-a przez doxygen.
+Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
+¼rode³ RPM-a przez doxygen.
%prep
%setup -q
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
-install %{SOURCE34} macros.php
+echo '%%define __php_provides /usr/lib/rpm/php.prov' > macros.php
+echo '%%define __php_requires /usr/lib/rpm/php.req' >> 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
%{!?with_neon:%patch44 -p1}
%patch45 -p1
%patch46 -p1
-
+%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
-%patch52 -p1
+#%patch52 -p1
%patch53 -p1
+%patch54 -p1
+%patch55 -p1
+%patch56 -p1
+%patch57 -p1
+%patch58 -p1
+%patch59 -p1
cd scripts
mv -f perl.req perl.req.in
%{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \
--enable-shared \
--enable-static \
- %{?with_apidocs:--with-apidocs} \
- %{?with_python:--with-python=auto} \
+ %{!?with_apidocs:--without-apidocs} \
+ %{?with_python:--with-python=2.5} \
%{!?with_python:--without-python} \
%{!?with_selinux:--without-selinux} \
--without-db
pkgbindir="%{_bindir}"
%ifarch %{ppc}
-sed -e '/_target_platform/s/[%]{_target_cpu}/ppc/' \
- -i $RPM_BUILD_ROOT%{_rpmlibdir}/ppc74[05]0-linux/macros
+#sed -e '/_target_platform/s/[%]{_target_cpu}/ppc/' \
+# -i $RPM_BUILD_ROOT%{_rpmlibdir}/ppc74[05]0-linux/macros
%endif
rm $RPM_BUILD_ROOT%{_rpmlibdir}/vpkg-provides*
# SELinux file contexts policy instead of one stored in packages payload
%%_install_file_context_path %%{nil}
%%_verify_file_context_path %%{nil}
+
+# If non-zero, all erasures will be automagically repackaged.
+#%%_repackage_all_erasures 1
EOF
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
EOF
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles <<EOF
# global list of files (regexps) which don't generate Requires
-^/usr/src/examples/
-^/usr/share/doc/
+^%{_examplesdir}/
+^%{_docdir}/
EOF
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq <<EOF
# global list of script capabilities (regexps) not to be used in Requires
done
# remove arch dependant macros which have no use on noarch
-sed -i -e '
+%{__sed} -i -e '
/{__spec_install_post_strip}/d
/{__spec_install_post_chrpath}/d
/{__spec_install_post_compress_modules}/d
#%attr(755,root,root) %{_rpmlibdir}/rpmk
#%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
-%doc %attr(755,root,root) %{_rpmlibdir}/convertrpmrc.sh
+#%doc %attr(755,root,root) %{_rpmlibdir}/convertrpmrc.sh
%{_rpmlibdir}/rpmrc
%{_rpmlibdir}/rpmpopt*
%attr(755,root,root) %{_bindir}/rpm2cpio
%attr(755,root,root) %{_bindir}/rpmcache
%attr(755,root,root) %{_bindir}/rpmdeps
+%attr(755,root,root) %{_bindir}/rpmdigest
%attr(755,root,root) %{_bindir}/rpmgraph
%{!?with_system_libmagic:%attr(755,root,root) %{_bindir}/rpmfile}
%attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
%attr(755,root,root) %{_rpmlibdir}/brp-*
%attr(755,root,root) %{_rpmlibdir}/check-files
-%attr(755,root,root) %{_rpmlibdir}/check-prereqs
+# %attr(755,root,root) %{_rpmlibdir}/check-prereqs
%attr(755,root,root) %{_rpmlibdir}/compress-doc
%attr(755,root,root) %{_rpmlibdir}/config.*
%attr(755,root,root) %{_rpmlibdir}/cross-build
#%attr(755,root,root) %{_rpmlibdir}/find-*.perl
#%attr(755,root,root) %{_rpmlibdir}/find-prov.pl
#%attr(755,root,root) %{_rpmlibdir}/find-req.pl
-%attr(755,root,root) %{_rpmlibdir}/get_magic.pl
+#%attr(755,root,root) %{_rpmlibdir}/get_magic.pl
%files pythonprov
%defattr(644,root,root,755)