#
# 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)
+# - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.*
+# matches ELF first
# - repackaging when lzma is not installed (todo: fix digest signature of header)
# rpmbuild computes digest when writing package to temporary file, then adds a few
# tags (incl. digest) and writes whole package to destination file;
%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 suggest_tags # build without Suggest tag (bootstrapping)
%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++"
# force_cpp - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
# versions of required libraries
-%define reqdb_ver 4.4.20
-%define reqpopt_ver 1.10.6
+%define reqdb_ver 4.5.20
+%define reqpopt_ver 1.10.8
%define beecrypt_ver 2:4.1.2-4
%define sover 4.4
Summary: RPM Package Manager
-Summary(de.UTF-8): RPM Packet-Manager
-Summary(es.UTF-8): Gestor de paquetes RPM
-Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
-Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
-Summary(ru.UTF-8): Менеджер пакетов от RPM
-Summary(uk.UTF-8): Менеджер пакетів від RPM
+Summary(de.UTF-8): RPM Packet-Manager
+Summary(es.UTF-8): Gestor de paquetes RPM
+Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
+Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
+Summary(ru.UTF-8): Менеджер пакетов от RPM
+Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
-Version: 4.4.7
-Release: 12
+Version: 4.4.9
+Release: 0.1
License: GPL
Group: Base
Source0: ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz
-# Source0-md5: d012c81b5169f7377ea4a36607e1445e
+# Source0-md5: 210b768006e7d88dd8a3bcd498ea27f6
Source1: %{name}.groups
Source2: %{name}.platform
Source3: %{name}-install-tree
Patch8: %{name}-python-macros.patch
Patch9: %{name}-gettext-in-header.patch
Patch10: %{name}-compress-doc.patch
-Patch11: %{name}-rpmdeps-segv.patch
+
Patch12: %{name}-system_libs.patch
Patch13: %{name}-bb-and-short-circuit.patch
Patch14: %{name}-etc_dir.patch
Patch20: %{name}-magic-usesystem.patch
Patch21: %{name}-dontneedutils.patch
Patch22: %{name}-provides-dont-obsolete.patch
-Patch23: %{name}-examplesaredoc.patch
+Patch23: %{name}-pkgconfigdeps.patch
Patch24: %{name}-po.patch
-Patch25: %{name}-getcwd.patch
+Patch25: %{name}-glob.patch
Patch26: %{name}-notsc.patch
Patch27: %{name}-hack-norpmlibdep.patch
Patch28: %{name}-makefile-no_myLDADD_deps.patch
-Patch29: %{name}-libdir64.patch
-Patch30: %{name}-libdir-links.patch
+
Patch31: %{name}-missing-prototypes.patch
Patch32: %{name}-pld-autodep.patch
Patch33: %{name}-arch-x86_64.patch
Patch35: %{name}-perl_req-INC_dirs.patch
Patch36: %{name}-debuginfo.patch
Patch37: %{name}-doxygen_hack.patch
-Patch38: %{name}-empty-rpmlock-path.patch
-Patch39: %{name}-pythondeps.patch
-Patch40: %{name}-vendor.patch
+
Patch41: %{name}-reduce-stack-usage.patch
Patch42: %{name}-old-fileconflicts-behaviour.patch
-Patch43: %{name}-patch-quote.patch
+
Patch44: %{name}-no-neon.patch
Patch45: %{name}-no-sqlite.patch
Patch46: %{name}-mono.patch
-Patch48: %{name}-requireseq.patch
Patch49: %{name}-p4.patch
Patch50: %{name}-macros.patch
Patch51: %{name}-cleanlibdirs.patch
Patch52: %{name}-morearchs.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
-Patch60: %{name}-CVE-2006-5466.patch
-Patch61: %{name}-build-failure-error.patch
-Patch62: %{name}-mcontext.patch
-Patch63: %{name}-FileDigestParameterized.patch
URL: http://wraptastic.org/
BuildRequires: autoconf >= 2.57
-BuildRequires: automake
+BuildRequires: automake >= 1.4
BuildRequires: beecrypt-devel >= %{beecrypt_ver}
BuildRequires: bzip2-devel >= 1.0.2-17
BuildRequires: db-devel >= %{reqdb_ver}
%package base
Summary: RPM base package - scripts used by rpm packages themselves
-Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
+Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
Group: Base
Requires: filesystem
Obsoletes: vserver-rpm
%package lib
Summary: RPMs library
-Summary(pl.UTF-8): Biblioteki RPM-a
+Summary(pl.UTF-8): Biblioteki RPM-a
Group: Libraries
Requires: beecrypt >= %{beecrypt_ver}
Requires: db >= %{reqdb_ver}
Obsoletes: rpm-libs
# avoid SEGV caused by mixed db versions
Conflicts: poldek < 0.18.1-16
-Suggests: lzma
+%{?with_suggest_tags:Suggests: lzma}
%description lib
RPMs library.
%package devel
Summary: Header files for rpm libraries
-Summary(de.UTF-8): Header-Dateien für rpm Libraries
-Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
-Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
-Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
-Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
-Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
+Summary(de.UTF-8): Header-Dateien für rpm Libraries
+Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
+Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
+Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
+Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
Group: Development/Libraries
Requires: %{name}-lib = %{version}-%{release}
Requires: beecrypt-devel >= %{beecrypt_ver}
%package static
Summary: RPM static libraries
-Summary(de.UTF-8): RPMs statische Libraries
-Summary(pl.UTF-8): Biblioteki statyczne RPM-a
-Summary(pt_BR.UTF-8): Bibliotecas estáticas para o desenvolvimento de aplicações RPM
-Summary(ru.UTF-8): Статическая библиотека для программ, работающих с rpm-пакетами
-Summary(uk.UTF-8): Статична бібліотека для програм, що працюють з пакетами rpm
+Summary(de.UTF-8): RPMs statische Libraries
+Summary(pl.UTF-8): Biblioteki statyczne RPM-a
+Summary(pt_BR.UTF-8): Bibliotecas estáticas para o desenvolvimento de aplicações RPM
+Summary(ru.UTF-8): Статическая библиотека для программ, работающих с rpm-пакетами
+Summary(uk.UTF-8): Статична бібліотека для програм, що працюють з пакетами rpm
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: beecrypt-static >= %{beecrypt_ver}
%package utils
Summary: Additional utilities for managing rpm packages and database
-Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
-Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
+Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
+Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
Group: Applications/File
Requires: %{name} = %{version}-%{release}
Requires: popt >= %{reqpopt_ver}
%package utils-perl
Summary: Additional utilities for managing rpm packages and database
-Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
-Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
+Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
+Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
Group: Applications/File
Requires: %{name}-utils = %{version}-%{release}
Requires: popt >= %{reqpopt_ver}
%package utils-static
Summary: Static rpm utilities
-Summary(pl.UTF-8): Statyczne narzędzia rpm
+Summary(pl.UTF-8): Statyczne narzędzia rpm
Group: Applications/System
Requires: %{name} = %{version}-%{release}
%package build
Summary: Scripts for building binary RPM packages
-Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
-Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
-Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
-Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
-Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
+Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
+Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
+Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
+Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
+Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
Group: Applications/File
Requires(pre): findutils
Requires: %{name}-build-macros >= 1.314
%package build-tools
Summary: Scripts for managing .spec files and building RPM packages
-Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
-Summary(pl.UTF-8): Skrypty pomocnicze do zarządznia plikami .spec i budowania RPM-ów
-Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
-Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
-Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
+Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
+Summary(pl.UTF-8): Skrypty pomocnicze do zarządznia plikami .spec i budowania RPM-ów
+Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
+Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
+Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
Group: Applications/File
Requires: %{name}-build = %{version}-%{release}
# these are optional
%package perlprov
Summary: Additional utilities for checking perl provides/requires in rpm packages
-Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
-Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów perla w pakietach rpm
+Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
+Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów perla w pakietach rpm
Group: Applications/File
Requires: %{name} = %{version}-%{release}
Requires: perl-devel
%package pythonprov
Summary: Python macros, which simplifies creation of rpm packages with Python software
-Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów rpm z programami napisanymi w Pythonie
+Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów rpm z programami napisanymi w Pythonie
Group: Applications/File
Requires: %{name} = %{version}-%{release}
Requires: python
%package php-pearprov
Summary: Additional utilities for managing rpm packages and database
-Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności skryptów php w rpm
+Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności skryptów php w rpm
Group: Applications/File
Requires: %{name} = %{version}-%{release}
Requires: sed >= 4.0
%package -n python-rpm
Summary: Python interface to RPM library
-Summary(pl.UTF-8): Pythonowy interfejs do biblioteki RPM-a
-Summary(pt_BR.UTF-8): Módulo Python para aplicativos que manipulam pacotes RPM
+Summary(pl.UTF-8): Pythonowy interfejs do biblioteki RPM-a
+Summary(pt_BR.UTF-8): Módulo Python para aplicativos que manipulam pacotes RPM
Group: Development/Languages/Python
Requires: %{name} = %{version}-%{release}
%pyrequires_eq python
%package apidocs
Summary: RPM API documentation and guides
-Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
+Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
Group: Documentation
%description apidocs
%patch8 -p1
%patch9 -p1
%patch10 -p1
-%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
-%patch25 -p1
+# obsolete?
+#%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
-%patch29 -p1
-%patch30 -p1
%patch31 -p1
-%patch32 -p1
-%patch33 -p1
+# FIXME!
+# %patch32 -p1
+# needed? I doubt
+# %patch33 -p1
%patch34 -p1
%patch35 -p0
%patch36 -p1
-%patch37 -p1
-%patch38 -p1
-%patch39 -p1
-%patch40 -p0
+# FIXME
+#%patch37 -p1
%patch41 -p1
%patch42 -p1
-%patch43 -p1
%{!?with_neon:%patch44 -p1}
-%patch45 -p1
+# UPDATEME
+#%patch45 -p1
%patch46 -p1
-%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
#%patch52 -p1
-%patch53 -p1
-%patch54 -p1
%patch55 -p1
-%patch56 -p1
%patch57 -p1
%patch58 -p1
%patch59 -p1
-%patch60 -p0
-%patch61 -p0
-%patch62 -p1
-%patch63 -p0
cd scripts
mv -f perl.req perl.req.in
# rpm checks for CPU type at runtime, but it looks better
sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu@|%{_target_cpu}|' macros.in
-CPPFLAGS="-Dglob=rpm_glob -Dglobfree=rpm_globfree"; export CPPFLAGS
-
# pass CC and CXX too in case of building with some older configure macro
# disable perl-RPM2 build, we have it in separate spec
%configure \
rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{prov,req}.pl
rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl
+# not installed since 4.4.8 (-tools-perl subpackage)
+install scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir}
+
install macros.perl $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl
install macros.python $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python
install macros.php $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php
rm -f $RPM_BUILD_ROOT%{_rpmlibdir}/{Specfile.pm,cpanflute,cpanflute2,find-provides,find-requires,freshen.sh,http.req,magic.prov,magic.req,perldeps.pl,sql.prov,sql.req,tcl.req}
# wrong location, not used anyway
rm -f $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
+# manuals for utils dropped in 4.4.8 (?)
+#rm -f $RPM_BUILD_ROOT%{_mandir}/{,*/}/man8/{rpmcache,rpmgraph}.8
%find_lang %{name}
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc RPM-PGP-KEY CHANGES manual/*
+%doc CHANGES CREDITS README wdj/JBJ-GPG-KEY manual/*
%attr(755,root,root) /bin/rpm
#%attr(755,root,root) %{_bindir}/rpmdb
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/debugedit
%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
%attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
%attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
%{_mandir}/man8/rpm2cpio.8*
%{_mandir}/man8/rpmdeps.8*
-%{_mandir}/man8/rpmcache.8*
-%{_mandir}/man8/rpmgraph.8*
+#%{_mandir}/man8/rpmcache.8*
+#%{_mandir}/man8/rpmgraph.8*
%lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
-%lang(ja) %{_mandir}/ja/man8/rpmcache.8*
-%lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
+#%lang(ja) %{_mandir}/ja/man8/rpmcache.8*
+#%lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
%lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
%lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
%lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
-%lang(pl) %{_mandir}/pl/man8/rpmcache.8*
-%lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
+#%lang(pl) %{_mandir}/pl/man8/rpmcache.8*
+#%lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
%lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
%files utils-perl
#%{_rpmlibdir}/sql.prov
#%{_rpmlibdir}/sql.req
#%{_rpmlibdir}/tcl.req
-%{_rpmlibdir}/trpm
-%attr(755,root,root) %{_bindir}/javadeps
%attr(755,root,root) %{_bindir}/gendiff
%attr(755,root,root) %{_bindir}/rpmbuild