# TODO:
# - learn find-perl-provides to use the __perl macro instead
# of /usr/bin/perl
+# NOTE: there is no find-perl* now, only perl.{prov,req}
# - use system libmagic not internal libfmagic
#
# Conditional build:
# _without_static - build shared /bin/rpm (doesn't work at the moment)
+# _without_docs - don't generate documentation with doxygen
# 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.1.25-1
%define reqpopt_ver 1.9
%define beecrypt_ver 3.0.0-0.20030610.1
+%define rpm_macros_rev 1.120
Summary: RPM Package Manager
Summary(de): RPM Packet-Manager
Summary(es): Gestor de paquetes RPM
Name: rpm
%define ver 4.3
Version: %{ver}
-%define rel 0.%{snap}.9
+%define rel 0.%{snap}.20.4
Release: %{rel}
License: GPL
Group: Base
Source12: %{name}-php-provides
Source13: %{name}-php-requires
Source14: %{name}.macros
+Source15: %{name}-find-provides-wrapper
+Source16: %{name}-find-requires-wrapper
Source30: builder
Source31: adapter.awk
Source32: pldnotify.awk
Patch17: %{name}-system_libs-more.patch
Patch18: %{name}-php-deps.patch
Patch19: %{name}-python-fix.patch
-Patch20: %{name}-spec-prep-pre.patch
+#Patch20: %{name}-spec-prep-pre.patch
Patch21: %{name}-perl_req.patch
Patch22: %{name}-system_libs_more.patch
Patch23: %{name}-python_2_3.patch
Patch28: %{name}-python-beecrypt.patch
Patch29: %{name}-man-typos.patch
Patch30: %{name}-man-pl.patch
+Patch31: %{name}-fdClose-typo.patch
+Patch32: %{name}-userpmdepswrappers.patch
+Patch33: %{name}-provides-dont-obsolete.patch
+Patch34: %{name}-examplesaredoc.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}
-BuildRequires: doxygen
+%{!?_without_docs:BuildRequires: doxygen}
BuildRequires: gettext-devel >= 0.11.4-2
BuildRequires: elfutils-devel
#BuildRequires: libmagic-devel
¦ÎÆÏÒÍÁæÀ ÐÒÏ ÐÁËÅÔ.
%package devel
-Summary: Header files and libraries
-Summary(de): Header-Dateien uns Libraries
+Summary: Header files for rpm libraries
+Summary(de): Header-Dateien für rpm Libraries
Summary(es): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
-Summary(pl): Pliki nag³ówkowe i biblioteki statyczne
+Summary(pl): Pliki nag³ówkowe bibliotek rpm
Summary(pt_BR): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
Summary(ru): èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÒÁÂÏÔÁÀÝÉÈ Ó rpm-ÐÁËÅÔÁÍÉ
Summary(uk): èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍ, ÝÏ ÐÒÁÃÀÀÔØ Ú ÐÁËÅÔÁÍÉ rpm
Requires: zlib-devel
%description devel
-The RPM packaging system includes a C library that makes it easy to
-manipulate RPM packages and databases. It is intended to ease the
+The RPM packaging system includes C libraries that make it easy to
+manipulate RPM packages and databases. They are intended to ease the
creation of graphical package managers and other tools that need
-intimate knowledge of RPM packages.
+intimate knowledge of RPM packages. This package contains header files
+for these libraries.
%description devel -l de
Der RPM-Packensystem enthält eine C-Library, die macht es einfach
herramientas que necesiten un conocimiento profundo de paquetes RPM.
%description devel -l pl
-System RPM zawiera bibliotekê C, która u³atwia manipulowanie pakietami
-RPM oraz bazami danych. W zamiarze ma to upro¶ciæ tworzenie
+System RPM zawiera biblioteki C, które u³atwiaj± manipulowanie
+pakietami RPM oraz bazami danych. W zamiarze ma to upro¶ciæ tworzenie
graficznych programów zarz±dzaj±cych pakietami oraz innych narzêdzi,
-które wymagaj± szczegó³owej wiedzy na temat pakietów RPM.
+które wymagaj± szczegó³owej wiedzy na temat pakietów RPM. Ten pakiet
+zawiera pliki nag³ówkowe wspomnianych bibliotek.
%description devel -l pt_BR
O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
%description utils -l pl
Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami.
+%package utils-perl
+Summary: Additional utilities for managing rpm packages and database
+Summary(de): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
+Summary(pl): Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami
+Group: Applications/File
+Requires: %{name} = %{version}
+Requires: %{name}-utils = %{version}
+Requires: popt >= %{reqpopt_ver}
+
+%description utils-perl
+Additional utilities for managing rpm packages and database.
+
+%description utils-perl -l de
+Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
+
+%description utils-perl -l pl
+Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami.
+
+
%package utils-static
Summary: Static rpm utilities
Summary(pl): Statyczne narzêdzia rpm
Summary(ru): óËÒÉÐÔÙ É ÕÔÉÌÉÔÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÓÂÏÒËÉ ÐÁËÅÔÏ×
Summary(uk): óËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÏÂÕÄÏ×É ÐÁËÅÔ¦×
Group: Applications/File
+Provides: rpmbuild(macros) = %{rpm_macros_rev}
Requires(pre): findutils
Requires: %{name} = %{version}
Requires: %{name}-utils = %{version}
sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
cp -f platform.in macros.pld.in
-echo '# obsoleted file' > macros.perl
+echo '%%define _perl_deps 1' > macros.perl
echo '# obsoleted file' > macros.python
-echo '# obsoleted file' > macros.php
+echo '%%define _php_deps 1' > macros.php
install %{SOURCE6} scripts/find-lang.sh
install %{SOURCE12} scripts/php.prov.in
install %{SOURCE13} scripts/php.req.in
install %{SOURCE33} scripts/perl.prov
cat %{SOURCE14} >> macros.in
-%patch20 -p1
+# %patch20 -p1 -- merged into macros
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
+%patch31 -p1
+%patch32 -p1
+%patch33 -p1
+%patch34 -p1
cd scripts;
mv -f perl.req perl.req.in
CC="%{__cc}" CXX="%{__cxx}" CPP="%{__cpp}" \
--enable-shared \
--enable-static \
- --with-apidocs \
+ %{!?_without_docs:--with-apidocs} \
--with-python=auto \
--without-db
install %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/rpm/install-build-tree
install %{SOURCE4} $RPM_BUILD_ROOT%{_libdir}/rpm/find-rpm-provides
install %{SOURCE5} $RPM_BUILD_ROOT%{_libdir}/rpm/find-spec-bcond
+# 2 following files - to be removed or changed to find-elf-*
+# (to generate only ELF dependencies using objdump)???
install %{SOURCE7} $RPM_BUILD_ROOT%{_libdir}/rpm/find-provides
install %{SOURCE8} $RPM_BUILD_ROOT%{_libdir}/rpm/find-requires
install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/rpm/compress-doc
install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/rpm/check-files
+install %{SOURCE15} $RPM_BUILD_ROOT%{_libdir}/rpm/find-provides-wrapper
+install %{SOURCE16} $RPM_BUILD_ROOT%{_libdir}/rpm/find-requires-wrapper
install scripts/find-php* $RPM_BUILD_ROOT%{_libdir}/rpm
install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_libdir}/rpm
%%distribution PLD
EOF
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
+# global list of files (name regexps) which don't generate Provides
+EOF
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov <<EOF
+# global list of capabilities (regexps) not to be used in Provides
+EOF
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles <<EOF
+# global list of files (name regexps) which don't generate Requires
+/usr/src/examples/.*
+/usr/share/doc/.*
+EOF
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq <<EOF
+# global list of capabilities (regexps) not to be used in Requires
+EOF
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep <<EOF
+# global list of capabilities (SONAME, perl(module), php(module) regexps)
+# which don't generate dependencies on package NAMES
+libGL.so.1
+libGLU.so.1
+libOSMesa.so.4
+libglide3.so.3
+libgtkmozembed.so
+libgtksuperwin.so
+libxpcom.so
+EOF
+
# for rpm -e|-U --repackage
install -d $RPM_BUILD_ROOT/var/spool/repackage
%files build
%defattr(644,root,root,755)
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/rpm/noauto*
%attr(755,root,root) %{_libdir}/rpm/compress-doc
%attr(755,root,root) %{_libdir}/rpm/cross-build
-%attr(755,root,root) %{_libdir}/rpm/find-requires
%attr(755,root,root) %{_libdir}/rpm/find-provides
+%attr(755,root,root) %{_libdir}/rpm/find-provides-wrapper
+%attr(755,root,root) %{_libdir}/rpm/find-requires
+%attr(755,root,root) %{_libdir}/rpm/find-requires-wrapper
%attr(755,root,root) %{_libdir}/rpm/find-rpm-provides
%attr(755,root,root) %{_libdir}/rpm/find-spec-bcond
%attr(755,root,root) %{_libdir}/rpm/find-lang.sh
#%attr(755,root,root) %{_libdir}/rpm/cpanflute2
#%attr(755,root,root) %{_libdir}/rpm/Specfile.pm
%attr(755,root,root) %{_libdir}/rpm/http.req
-#%attr(755,root,root) %{_libdir}/rpm/magic*
%attr(755,root,root) %{_libdir}/rpm/magic.prov
%attr(755,root,root) %{_libdir}/rpm/magic.req
%attr(755,root,root) %{_libdir}/rpm/u_pkg.sh
%ifarch ppc
%{_libdir}/rpm/ppc*
%endif
+# must be here for "Requires: rpm-*prov" to work
+%{_libdir}/rpm/macros.perl
+%{_libdir}/rpm/macros.php
# not used yet ...
%{_libdir}/rpm/sql.prov
%{_libdir}/rpm/sql.req
%attr(755,root,root) %{_bindir}/rpmfile
%attr(755,root,root) %{_libdir}/rpm/find-debuginfo.sh
%attr(755,root,root) %{_libdir}/rpm/rpm2cpio.sh
-%attr(755,root,root) %{_libdir}/rpm/rpmdiff*
%attr(755,root,root) %{_libdir}/rpm/tgpg
%attr(755,root,root) %{_libdir}/rpm/rpmdb_loadcvt
+%files utils-perl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rpm/rpmdiff*
# not here
#%%{_libdir}/rpm/rpm.daily
#%%{_libdir}/rpm/rpm.log
%attr(755,root,root) %{_libdir}/rpm/find-req.pl
%attr(755,root,root) %{_libdir}/rpm/get_magic.pl
-%{_libdir}/rpm/macros.perl
-
%files pythonprov
%defattr(644,root,root,755)
%{_libdir}/rpm/macros.python
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/rpm/php*
%attr(755,root,root) %{_libdir}/rpm/find-php*
-%{_libdir}/rpm/macros.php
%files -n python-rpm
%defattr(644,root,root,755)