X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm.spec;h=e9df6a55955537eeb219d19c2e53191a11084bf7;hb=ee2c1a4b897eb2beeea72122c38b07e57c6cf5a8;hp=d7ecae85ccf370b22713da612a9fa81249f3805f;hpb=9e93f648b767c483f1a2982c9d15ef68ea3b30d9;p=packages%2Frpm.git diff --git a/rpm.spec b/rpm.spec index d7ecae8..74a605f 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,12 +1,15 @@ +# to build for athlon you need release at least 49 + Summary: Red Hat (and now also PLD) Package Manager +Summary(de): Red Hat (und jetzt auch PLD) Packet-Manager +Summary(es): Gestor de paquetes RPM Summary(pl): Aplikacja do zarz±dzania pakietami +Summary(pt_BR): Gerenciador de pacotes RPM Name: rpm -Version: 4.0.1 -Release: 0.1 -Group: Base -Group(de): Gründsätzlich -Group(pl): Podstawowe +Version: 4.0.2 +Release: 54 License: GPL +Group: Base Source0: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/%{name}-%{version}.tar.gz Source1: %{name}.groups Source2: %{name}.macros @@ -16,88 +19,123 @@ Source5: %{name}-macros.perl Source6: %{name}-find-perl-provides Source7: %{name}-find-perl-requires Source8: %{name}-find-spec-bcond +Source9: %{name}-find-lang +Source10: %{name}-find-provides +Source11: %{name}-find-requires +Source12: %{name}-non-english-man-pages.tar.bz2 +Source13: %{name}-macros.python Patch0: %{name}-rpmrc.patch -Patch1: %{name}-find-requires.patch -Patch2: %{name}-macros.patch -Patch3: %{name}-arch.patch -Patch4: %{name}-rpmpopt.patch -Patch5: %{name}-find-provides.patch -Patch6: %{name}-perl-macros.patch -Patch7: %{name}-file3.31.patch -Patch8: %{name}-exclude-examples-doc.patch -Patch9: %{name}-db3.patch -Patch10: %{name}-rpm-v1.patch -#Patch11: %{name}-rpmlibprov.patch -#Patch12: %{name}-getrpmlibprov.patch -#Patch13: %{name}-rpmlibprov-order.patch -Patch14: %{name}-am_fix.patch -Patch15: %{name}-perl-req-perlfile.patch -Patch16: %{name}-installplatform.patch -Patch17: %{name}-find-lang.patch -Patch18: %{name}-cache.patch +Patch1: %{name}-macros.patch +Patch2: %{name}-arch.patch +Patch3: %{name}-rpmpopt.patch +Patch4: %{name}-perl-macros.patch +Patch5: %{name}-db3.patch +Patch6: %{name}-segv.patch +Patch7: %{name}-am_fix.patch +Patch8: %{name}-perl-req-perlfile.patch +Patch9: %{name}-installplatform.patch +Patch10: %{name}-cache.patch +Patch11: %{name}-suggestions.patch +Patch12: %{name}-rh-lame.patch +Patch13: %{name}-glob.patch +Patch14: %{name}-header_h.patch +Patch15: %{name}-fast-alAddPackage.patch +Patch16: %{name}-byKey.patch +Patch17: %{name}-perlprov.patch +Patch18: %{name}-noperldir.patch +Patch19: popt-cvs20010530.patch +Patch20: %{name}-noexpand.patch +Patch21: %{name}-scripts-closefds.patch +Patch22: %{name}-python-amfix.patch +Patch23: %{name}-non-english-man-pages.patch +Patch24: %{name}-progress-nontty.patch +Patch25: %{name}-am_ac.patch +Patch26: %{name}-python-macros.patch +Patch27: %{name}-hardlink-fixes.patch +Patch28: %{name}-perlprov-regonly.patch +Patch29: %{name}-cxx.patch +Patch30: %{name}-athlon.patch +Patch31: %{name}-athlon-identify.patch +Patch32: %{name}-gettext-in-header.patch +Patch33: %{name}-perlprov-perl5.6.patch Patch37: %{name}-short_circuit.patch Patch38: %{name}-section_test.patch -BuildRequires: gettext-devel +URL: http://www.rpm.org/ +Icon: rpm.gif +BuildRequires: autoconf >= 2.50 BuildRequires: automake -BuildRequires: db3-devel >= 3.1.17 BuildRequires: bzip2-devel >= 1.0.1 -BuildRequires: gdbm-devel -BuildRequires: zlib-devel +BuildRequires: db1-devel >= 1.85 +BuildRequires: db3-devel >= 3.1.17-9 BuildRequires: gettext-devel >= 0.10.38-3 -BuildRequires: libtool -BuildRequires: automake -BuildRequires: autoconf >= 2.13-8 -%if %{!?bcond_off_static:1}%{?bcond_off_static:0} +BuildRequires: python-devel >= 2.2 +BuildRequires: python-modules >= 2.2 +BuildRequires: zlib-devel +BuildRequires: python-modules >= 2.2.1 BuildRequires: zlib-devel >= 1.1.4 +%if %{!?_without_static:1}%{?_without_static:0} # Require static library only for static build -BuildRequires: db3-static >= 3.1.17 BuildRequires: bzip2-static >= 1.0.1 -BuildRequires: gdbm-static +BuildRequires: db1-static >= 1.85 BuildRequires: zlib-static -%endif +BuildRequires: glibc-static >= 2.2.0 BuildRequires: zlib-static >= 1.1.4 +%endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) Obsoletes: rpm-libs -%define __find_provides %{SOURCE4} -%define _binary_payload w9.gzdio +Conflicts: glibc < 2.2 + %define __find_provides %{SOURCE4} +%define _binary_payload w9.gzdio + +%define py_ver %(echo `python -c "import sys; print sys.version[:3]"`) +%define py_prefix %(echo `python -c "import sys; print sys.prefix"`) +%define py_libdir %{py_prefix}/lib/python%{py_ver} +%define py_dyndir %{py_libdir}/lib-dynload %define pyrequires_eq() Requires: %1 >= %py_ver %1 < %(echo `python -c "import sys; import string; ver=sys.version[:3].split('.'); ver[1]=str(int(ver[1])+1); print string.join(ver, '.')"`) %description RPM is a powerful package manager, which can be used to build, install, query, verify, update, and uninstall individual software packages. A package consists of an archive of files, and package +information, including name, version, and description. + +%description -l de +RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur +Installation, Anfrage, Verifizierung, Aktualisierung und +Uninstallation individueller Softwarepakete. Ein Paket besteht aus +einem Archiv Dateien und Paketinformation, inklusive Name, Version und +Beschreibung. + +%description -l es +RPM es un poderoso administrador de paquetes, que puede ser usado para +construir, instalar, pesquisar, verificar, actualizar y desinstalar +paquetes individuales de software. Un paquete consiste en un +almacenaje de archivos, y información sobre el paquete, incluyendo nombre, versión y descripción. -RPM jest doskona³ym menad¿erem pakietów. Dziêki niemu bêdziesz móg³ + %description -l pl RPM jest doskona³ym mened¿erem pakietów. Dziêki niemu bêdziesz móg³ -wchodz±cych w sk³ad pakietu, zalezno¶ci od innych pakietów s± -przechowywane s± w bazie danych i mo¿na je uzyskaæ za pomoc± opcji +przebudowaæ, zainstalowaæ czy zweryfikowaæ dowolny pakiet. Informacje +dotycz±ce ka¿dego pakietu, takie jak jego opis, lista plików wchodz±cych w sk³ad pakietu, zale¿no¶ci od innych pakietów, s± przechowywane w bazie danych i mo¿na je uzyskaæ za pomoc± opcji -%package libs -Summary: RPM shared libraries -Summary(pl): Biblioteki wspó³dzielone rpm-a -Group: Libraries -Group(de): Libraries -Group(fr): Librairies -Group(pl): Biblioteki -Requires: %{name} = %{version} - -%description libs -RPM shared libraries. - -%description -l pl libs -Biblioteki wspó³dzielone rpm-a. +odpytywania programu rpm. +%description -l pt_BR +RPM é um poderoso gerenciador de pacotes, que pode ser usado para +construir, instalar, pesquisar, verificar, atualizar e desinstalar +pacotes individuais de software. Um pacote consiste de um conjunto de +arquivos e informações adicionais, incluindo nome, versão e descrição do pacote, permissões dos arquivos, etc. -Summary: Header files and libraries -Summary(pl): Pliki nag³ówkowe i biblioteki statyczne + +%package devel +Summary: Header files and libraries +Summary(de): Header-Dateien uns 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 -Group(de): Entwicklung/Libraries -Group(fr): Development/Librairies -Group(pl): Programowanie/Biblioteki -Requires: %{name}-libs = %{version} +Summary(pt_BR): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM +Group: Development/Libraries Requires: %{name} = %{version} Requires: popt-devel @@ -105,179 +143,331 @@ Requires: popt-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 creation of graphical package managers and other tools that need -%description -l pl devel -Pliki nag³ówkowe i biblioteki statyczne. +intimate knowledge of RPM packages. + +%description devel -l de +Der RPM-Packensystem enthält eine C-Library, die macht es einfach +RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für +Vereinfachung des Schaffens grafischer Paket-Manager und anderer +Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen. + +%description devel -l es +El sistema de empaquetado RPM incluye una biblioteca C que vuelve +fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es +facilitar la creación de administradores gráficos de paquetes y otras +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 graficznych mened¿erów pakietów oraz innych narzêdzi, które wymagaj± +szczegó³owej wiedzy na temat pakietów RPM. + +%description devel -l pt_BR +O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil +a manipulação de pacotes e bases de dados RPM. Seu objetivo é +facilitar a criação de gerenciadores gráficos de pacotes e outras ferramentas que precisem de conhecimento profundo de pacotes RPM. -Summary(pl): Biblioteki statyczne rpm-a +%package static +Summary: RPM static libraries +Summary(de): RPMs statische Libraries Summary(pl): Biblioteki statyczne RPM-a -Group(de): Entwicklung/Libraries -Group(fr): Development/Librairies -Group(pl): Programowanie/Biblioteki Summary(pt_BR): Bibliotecas estáticas para o desenvolvimento de aplicações RPM Group: Development/Libraries Requires: %{name}-devel = %{version} %description static -%description -l pl static -Biblioteki statyczne rpm-a. +RPM static libraries. + +%description static -l de +RPMs statische Libraries. + %description static -l pl +Biblioteki statyczne RPM-a. + +%description static -l pt_BR Bibliotecas estáticas para desenvolvimento. -Summary(pl): Dodatkowe narzêdzia do zarz±dzanai baz± rpm-a i pakietami +%package utils +Summary: Additional utilities for managing rpm packages and database Summary(de): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken -Group(de): Applikationen/Datei -Group(pl): Aplikacje/Pliki Summary(pl): Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami Group: Applications/File Requires: %{name} = %{version} %description utils -%description -l pl utils -Dodatkowe narzêdzia do zarz±dzanai baz± rpm-a i pakietami. +Additional utilities for managing rpm packages and database. + +%description utils -l de +Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken. + %description utils -l pl Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami. -Summary: Additional utilities for check perl provides/requires in rpm packages -Summary(pl): Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci dla skryptów perl w pakietach rpm + +%package perlprov +Summary: Additional utilities for checking perl provides/requires in rpm packages Summary(de): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen -Group(de): Applikationen/Datei -Group(pl): Aplikacje/Pliki Summary(pl): Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów perla w pakietach rpm +Group: Applications/File Requires: perl-modules Requires: findutils -Additional utilities for check perl provides/requires in rpm packages. + +%description perlprov Additional utilities for checking perl provides/requires in rpm -%description -l pl perlprov -Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci dla skryptów perl w +packages. + +%description perlprov -l de +Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen. + %description perlprov -l pl Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów perla w +pakietach rpm. + +%package pythonprov +Summary: Python macros, which simplifies creation of rpm packages with Python software +Summary(pl): Makra u³atwiaj±ce tworzenie pakietów rpm z programami napisanymi w Pythonie +Group: Applications/File +Requires: %{name} = %{version} +Requires: python-modules + +%description pythonprov +Python macros, which simplifies creation of rpm packages with Python +software. + +%description pythonprov -l pl +Makra u³atwiaj±ce tworzenie pakietów rpm z programami napisanymi w +Pythonie. + +%package -n python-rpm +Summary: Python interface to RPM library +Group: Development/Languages/Python +Summary(pt_BR): Módulo Python para aplicativos que manipulam pacotes RPM +%requires_eq python +Requires: %{name} = %{version} +%pyrequires_eq python +Obsoletes: rpm-python + +%description -n python-rpm +The rpm-python package contains a module which permits applications +written in the Python programming language to use the interface +supplied by RPM (RPM Package Manager) libraries. + +This package should be installed if you want to develop Python +programs that will manipulate RPM packages and databases. + +%description -n python-rpm -l pl +Pakiet rpm-python zawiera modu³, który pozwala aplikacjom napisanym w +Pythonie na u¿ywanie interfejsu dostarczanego przez biblioteki RPM-a. + +Pakiet ten powinien zostaæ zainstalowany, je¶li chcesz pisaæ w +Pythonie programy manipuluj±ce pakietami i bazami danych rpm. + +%description -n python-rpm -l pt_BR +O pacote rpm-python contém um módulo que permite que aplicações +escritas em Python utilizem a interface fornecida pelas bibliotecas +RPM (RPM Package Manager). + +Esse pacote deve ser instalado se você quiser desenvolver programas em Python para manipular pacotes e bancos de dados RPM. -Summary(pl): Skrypty pomocnicze do budowania binarnych RPMów +%package build +Summary: Scripts for building binary RPM packages +Summary(de): Scripts fürs Bauen binärer RPM-Pakete Summary(pl): Skrypty pomocnicze do budowania binarnych RPM-ów -Group(de): Applikationen/Datei -Group(pl): Aplikacje/Pliki Summary(pt_BR): Scripts e programas executáveis usados para construir pacotes Group: Applications/File -Requires: sh-utils +Requires: %{name} = %{version} +Requires: /bin/id +Requires: awk Requires: binutils -Requires: patch -Requires: texinfo +Requires: diffutils Requires: file >= 3.31 -Requires: binutils +Requires: fileutils +Requires: findutils +%ifarch athlon Requires: gcc >= 3.0.3 +%else Requires: gcc +Requires: glibc-devel +Requires: grep +Requires: gzip +Requires: make +Requires: patch +Requires: popt >= 1.6.2-2 +Requires: sed Requires: tar Requires: textutils %description build -%description -l pl build -Skrypty pomocnicze do budowania binarnych RPMów. +Scripts for building binary RPM packages. + +%description build -l de +Scripts fürs Bauen binärer RPM-Pakete. + %description build -l pl +Skrypty pomocnicze do budowania binarnych RPM-ów. + +%description build -l pt_BR +Este pacote contém scripts e programas executáveis que são usados para construir pacotes usando o RPM. -%setup -q + %prep -%patch1 -p1 +%setup -q -a12 %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 +%patch6 -p1 %patch7 -p1 -#%patch10 -p1 -#%patch11 -p1 -#%patch12 -p1 -#%patch13 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p0 +%patch12 -p0 +%patch13 -p1 %patch14 -p1 -%patch15 -p1 -%patch16 -p1 +%patch15 -p0 +%patch16 -p0 %patch17 -p1 %patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p0 +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 + +%ifarch athlon %patch31 -p1 -install %{SOURCE2} macros.pld.in +%endif + +%patch35 -p1 +%patch36 -p1 +%patch37 -p1 %patch38 -p1 + sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in cp -f platform.in macros.pld.in +install %{SOURCE5} macros.perl.in install %{SOURCE13} macros.python.in -(cd scripts; +install %{SOURCE6} scripts/find-perl-provides install %{SOURCE7} scripts/find-perl-requires install %{SOURCE9} scripts/find-lang.sh (cd scripts; mv -f perl.req perl.req.in mv -f perl.prov perl.prov.in) +%build +# generate Group translations to *.po +awk -f %{SOURCE14} %{SOURCE1} -(cd popt; - libtoolize --force --copy - aclocal - autoheader - autoconf - automake -a -c) +cd popt +autoconf +automake -a -c +aclocal autoheader +automake -a -c -f %{__automake} +cd .. -autoheader +rm -f missing +libtoolize --force --copy autoconf -# ugly workaround for automake +aclocal +autoupdate +autoheader || : +%{__autoconf} +automake -a -c sed -e 's#cpio.c $(DBLIBOBJS) depends.c#cpio.c depends.c#g' \ lib/Makefile.am > lib/Makefile.am.new -mv lib/Makefile.am.new lib/Makefile.am -automake -a -c +mv -f lib/Makefile.am.new lib/Makefile.am +%{__automake} sed -e 's#cpio.c depends.c#cpio.c $(DBLIBOBJS) depends.c#g' \ lib/Makefile.in > lib/Makefile.in.new -mv lib/Makefile.in.new lib/Makefile.in -%configure \ +mv -f lib/Makefile.in.new lib/Makefile.in + +sed -e 's#python1.5#python%{py_ver}#g' \ + python/Makefile.in > python/Makefile.in.new +mv -f python/Makefile.in.new python/Makefile.in + +# config.guess doesn't handle athlon, so we have to change it by hand. +# rpm checks for CPU type at runtime, but it looks better +sed -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' macros.in | \ sed 's|@host_cpu@|%{_target_cpu}|' > macros.tmp - --enable-v1-packages +mv -f macros.tmp macros.in + %configure \ -%{__make} %{?bcond_off_static:rpm_LDFLAGS="\\$(myLDFLAGS)"} + --enable-shared \ + --enable-v1-packages \ --with-python %{__make} %{?_without_static:rpm_LDFLAGS="\\$(myLDFLAGS)"} - DESTDIR="$RPM_BUILD_ROOT" \ +%install rm -rf $RPM_BUILD_ROOT -install macros.pld $RPM_BUILD_ROOT%{_libdir}/rpm/macros.pld %{__make} install \ + DESTDIR=$RPM_BUILD_ROOT \ pkgbindir="%{_bindir}" install macros.perl $RPM_BUILD_ROOT%{_libdir}/rpm/macros.perl install macros.python $RPM_BUILD_ROOT%{_libdir}/rpm/macros.python +install %{SOURCE1} doc/manual/groups +install %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/rpm/install-build-tree install %{SOURCE8} $RPM_BUILD_ROOT%{_libdir}/rpm/find-spec-bcond install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/rpm/find-provides install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/rpm/find-requires +install %{SOURCE15} $RPM_BUILD_ROOT%{_libdir}/rpm/compress-doc + +install rpmio/ugid.h $RPM_BUILD_ROOT%{_includedir}/rpm + +install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm +cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros < +%defattr(755,root,root,755) %{py_sitedir}/*.so