]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- conflict for automake and libtool versions without amd64 support in rpm-build for...
[packages/rpm.git] / rpm.spec
index 4486a099e879427c704bbb44e8e03c129fab04b1..5eeeef40f964be4a3ffa00453e81495fef8096f2 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -6,19 +6,20 @@
 # - 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
+%bcond_without static  # - build shared /bin/rpm (doesn't work at the moment)
+%bcond_without docs    # - don't generate documentation with doxygen
+%bcond_without python  # - don't build python bindings
 # 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"
-#
-%include        /usr/lib/rpm/macros.python
+
+%include        /usr/%{_lib}/rpm/macros.python
 %define snap   20030610
 # versions of required libraries
-%define        reqdb_ver       4.1.25-1
+%define        reqdb_ver       4.2.50-1
 %define        reqpopt_ver     1.9
 %define        beecrypt_ver    3.0.0-0.20030610.1
-%define rpm_macros_rev 1.120
+%define rpm_macros_rev 1.133
 Summary:       RPM Package Manager
 Summary(de):   RPM Packet-Manager
 Summary(es):   Gestor de paquetes RPM
@@ -29,8 +30,7 @@ Summary(uk):  
 Name:          rpm
 %define        ver     4.3
 Version:       %{ver}
-%define        rel     0.%{snap}.20.2
-Release:       %{rel}
+Release:       0.%{snap}.32
 License:       GPL
 Group:         Base
 #Source0:      ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/%{name}-%{version}.%{snap}.tar.gz
@@ -76,7 +76,7 @@ Patch16:      %{name}-etc_dir.patch
 Patch17:       %{name}-system_libs-more.patch
 Patch18:       %{name}-php-deps.patch
 Patch19:       %{name}-python-fix.patch
-#Patch20:      %{name}-spec-prep-pre.patch
+Patch20:       %{name}-ldconfig-always.patch
 Patch21:       %{name}-perl_req.patch
 Patch22:       %{name}-system_libs_more.patch
 Patch23:       %{name}-python_2_3.patch
@@ -91,6 +91,14 @@ Patch31:     %{name}-fdClose-typo.patch
 Patch32:       %{name}-userpmdepswrappers.patch
 Patch33:       %{name}-provides-dont-obsolete.patch
 Patch34:       %{name}-examplesaredoc.patch
+Patch35:       %{name}-po.patch
+Patch36:       %{name}-amd64.patch
+Patch37:       %{name}-notsc.patch
+Patch38:       %{name}-hack-norpmlibdep.patch
+Patch39:       %{name}-db42.patch
+Patch40:       %{name}-makefile-no_myLDADD_deps.patch
+Patch41:       %{name}-libdir64.patch
+Patch42:       %{name}-no-gnu.patch
 URL:           http://www.rpm.org/
 Icon:          rpm.gif
 BuildRequires: autoconf >= 2.52
@@ -98,19 +106,19 @@ BuildRequires:     automake
 BuildRequires: beecrypt-devel >= %{beecrypt_ver}
 BuildRequires: bzip2-devel >= 1.0.1
 BuildRequires: db-devel >= %{reqdb_ver}
-%{!?_without_docs:BuildRequires:       doxygen}
+%{?with_docs:BuildRequires:    doxygen}
 BuildRequires: gettext-devel >= 0.11.4-2
 BuildRequires: elfutils-devel
 #BuildRequires:        libmagic-devel
 BuildRequires: libtool
 BuildRequires: patch >= 2.2
-BuildRequires: python-devel >= 2.2
+BuildRequires: popt-devel >= %{reqpopt_ver}
+%{?with_python:BuildRequires:  python-devel >= 2.2}
 BuildRequires: python-modules >= 2.2
 BuildRequires: rpm-perlprov
 BuildRequires: rpm-pythonprov
 BuildRequires: zlib-devel
-BuildRequires: popt-devel >= %{reqpopt_ver}
-%if %{!?_without_static:1}0
+%if %{with static}
 # Require static library only for static build
 BuildRequires: beecrypt-static >= %{beecrypt_ver}
 BuildRequires: bzip2-static >= 1.0.2-5
@@ -118,14 +126,19 @@ BuildRequires:    db-static >= %{reqdb_ver}
 BuildRequires: glibc-static >= 2.2.94
 BuildRequires: elfutils-static
 #BuildRequires:        libmagic-static
-BuildRequires: zlib-static
 BuildRequires: popt-static >= %{reqpopt_ver}
+BuildRequires: zlib-static
 %endif
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Requires:      popt >= %{reqpopt_ver}
+Requires:      %{name}-lib = %{version}-%{release}
 Conflicts:     glibc < 2.2.92
+# avoid SEGV caused by mixed db versions
+Conflicts:     poldek < 0.18.1-16
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                __find_provides %{SOURCE4}
+# not needed now (rpm processes rpmlib(*) deps internally) and didn't work
+# anyway (broken: uses obsolete find-provides script, pgrep(??? typo???))
+##define       __find_provides %{SOURCE4}
 %define                _binary_payload w9.gzdio
 %define                _noPayloadPrefix 1
 
@@ -195,7 +208,7 @@ Summary(pt_BR):     Arquivos de inclus
 Summary(ru):   èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÒÁÂÏÔÁÀÝÉÈ Ó rpm-ÐÁËÅÔÁÍÉ
 Summary(uk):   èÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍ, ÝÏ ÐÒÁÃÀÀÔØ Ú ÐÁËÅÔÁÍÉ rpm
 Group:         Development/Libraries
-Requires:      %{name}-lib = %{version}
+Requires:      %{name}-lib = %{version}-%{release}
 Requires:      beecrypt-devel >= %{beecrypt_ver}
 Requires:      bzip2-devel
 Requires:      db-devel
@@ -256,7 +269,7 @@ Summary(pt_BR):     Bibliotecas est
 Summary(ru):   óÔÁÔÉÞÅÓËÁÑ ÂÉÂÌÉÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÒÁÂÏÔÁÀÝÉÈ Ó rpm-ÐÁËÅÔÁÍÉ
 Summary(uk):   óÔÁÔÉÞÎÁ Â¦Â̦ÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍ, ÝÏ ÐÒÁÃÀÀÔØ Ú ÐÁËÅÔÁÍÉ rpm
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
 Requires:      beecrypt-static >= %{beecrypt_ver}
 Requires:      bzip2-static
 Requires:      db-static
@@ -291,7 +304,7 @@ 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} = %{version}-%{release}
 Requires:      popt >= %{reqpopt_ver}
 
 %description utils
@@ -308,8 +321,7 @@ 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:      %{name}-utils = %{version}-%{release}
 Requires:      popt >= %{reqpopt_ver}
 
 %description utils-perl
@@ -321,12 +333,11 @@ Zusatzwerkzeuge f
 %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
 Group:         Applications/System
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 
 %description utils-static
 Static rpm utilities for repairing system in case something with
@@ -346,7 +357,7 @@ Summary:    Additional utilities for checking perl provides/requires in rpm package
 Summary(de):   Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
 Summary(pl):   Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów perla w pakietach rpm
 Group:         Applications/File
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 Requires:      perl-devel
 Requires:      perl-modules
 
@@ -365,7 +376,7 @@ pakietach rpm.
 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:      %{name} = %{version}-%{release}
 Requires:      python-modules
 
 %description pythonprov
@@ -380,7 +391,7 @@ Pythonie.
 Summary:       Additional utilities for managing rpm packages and database
 Summary(pl):   Dodatkowe narzêdzia do sprawdzania zale¿no¶ci skryptów php w rpm
 Group:         Applications/File
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 
 %description php-pearprov
 Additional utilities for checking php pear provides/requires in rpm
@@ -395,7 +406,7 @@ Summary:    Python interface to RPM library
 Summary(pl):   Pythonowy interfejs do biblioteki RPM-a
 Summary(pt_BR):        Módulo Python para aplicativos que manipulam pacotes RPM
 Group:         Development/Languages/Python
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 %pyrequires_eq python
 Obsoletes:     rpm-python
 
@@ -428,6 +439,8 @@ Summary(pl):        Biblioteki RPM-a
 Group:         Libraries
 Requires:      db >= %{reqdb_ver}
 Requires:      popt >= %{reqpopt_ver}
+# avoid SEGV caused by mixed db versions
+Conflicts:     poldek < 0.18.1-16
 
 %description lib
 RPMs library.
@@ -443,13 +456,12 @@ Summary(pt_BR):   Scripts e programas execut
 Summary(ru):   óËÒÉÐÔÙ É ÕÔÉÌÉÔÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÓÂÏÒËÉ ÐÁËÅÔÏ×
 Summary(uk):   óËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÏÂÕÄÏ×É ÐÁËÅÔ¦×
 Group:         Applications/File
-Provides:      rpmbuild(macros) = %{rpm_macros_rev}
 Requires(pre): findutils
-Requires:      %{name} = %{version}
-Requires:      %{name}-utils = %{version}
+Requires:      %{name}-utils = %{version}-%{release}
 Requires:      /bin/id
 Requires:      awk
 Requires:      binutils
+Requires:      chrpath
 Requires:      diffutils
 Requires:      file >= 4.01
 Requires:      fileutils
@@ -459,6 +471,10 @@ Requires:  gcc >= 3.0.3
 %else
 Requires:      gcc
 %endif
+%ifarch amd64
+Conflicts:     automake < 1:1.7.9-2
+Conflicts:     libtool < 2:1.5-13
+%endif
 Requires:      glibc-devel
 Requires:      grep
 Requires:      gzip
@@ -469,6 +485,7 @@ Requires:   sed
 Requires:      sh-utils
 Requires:      tar
 Requires:      textutils
+Provides:      rpmbuild(macros) = %{rpm_macros_rev}
 
 %description build
 Scripts for building binary RPM packages.
@@ -499,10 +516,10 @@ Summary(pt_BR):   Scripts e programas execut
 Summary(ru):   óËÒÉÐÔÙ É ÕÔÉÌÉÔÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÓÂÏÒËÉ ÐÁËÅÔÏ×
 Summary(uk):   óËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÏÂÕÄÏ×É ÐÁËÅÔ¦×
 Group:         Applications/File
-Requires:      %{name}-build = %{version}
+Requires:      %{name}-build = %{version}-%{release}
 # these are optional
 #Requires:     cvs
-#Requires:     wget
+Requires:      wget
 
 %description build-tools
 Scripts for managing .spec files and building RPM packages.
@@ -547,7 +564,7 @@ construir pacotes usando o RPM.
 %patch17 -p1
 %patch18 -p1
 %patch19 -p1
-# patch20 -- look down
+%patch20 -p1
 %patch21 -p1
 %patch22 -p1
 %patch23 -p1
@@ -563,7 +580,6 @@ install %{SOURCE12} scripts/php.prov.in
 install %{SOURCE13} scripts/php.req.in
 install %{SOURCE33} scripts/perl.prov
 cat %{SOURCE14} >> macros.in
-# %patch20 -p1 -- merged into macros
 %patch25 -p1
 %patch26 -p1
 %patch27 -p1
@@ -574,6 +590,14 @@ cat %{SOURCE14} >> macros.in
 %patch32 -p1
 %patch33 -p1
 %patch34 -p1
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
 
 cd scripts;
 mv -f perl.req perl.req.in
@@ -621,17 +645,18 @@ mv -f macros.tmp macros.in
        CC="%{__cc}" CXX="%{__cxx}" CPP="%{__cpp}" \
        --enable-shared \
        --enable-static \
-       %{!?_without_docs:--with-apidocs} \
-       --with-python=auto \
+       %{?with_docs:--with-apidocs} \
+       %{?with_python:--with-python=auto} \
+       %{!?with_python:--without-python} \
        --without-db
 
 %{__make} \
-       %{?_without_static:rpm_LDFLAGS="\$(myLDFLAGS)"} \
+       %{!?with_static:rpm_LDFLAGS="\$(myLDFLAGS)"} \
        myLDFLAGS="%{rpmldflags}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/lib
+install -d $RPM_BUILD_ROOT/%{_lib}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
@@ -647,6 +672,7 @@ 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)???
+# WARNING: don't even try to use, currently broken by some 64-bit experiments
 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
@@ -695,16 +721,22 @@ libgtkmozembed.so
 libgtksuperwin.so
 libxpcom.so
 EOF
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
+# global list of file masks not to be compressed in DOCDIR
+EOF
 
 # for rpm -e|-U --repackage
 install -d $RPM_BUILD_ROOT/var/spool/repackage
 
 # move libs to /lib
 for a in librpm-%{ver}.so librpmdb-%{ver}.so librpmio-%{ver}.so ; do
-       mv -f $RPM_BUILD_ROOT%{_libdir}/$a $RPM_BUILD_ROOT/lib
-       ln -s /lib/$a $RPM_BUILD_ROOT%{_libdir}/$a
+       mv -f $RPM_BUILD_ROOT%{_libdir}/$a $RPM_BUILD_ROOT/%{_lib}
+       ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
 done
 
+for f in $RPM_BUILD_ROOT%{_datadir}/locale/{en_RN,eu_ES,gl,hu,ro,wa,zh,zh_CN.GB2312}/LC_MESSAGES/rpm.mo ; do
+       [ "`file $f | sed -e 's/.*,//' -e 's/message.*//'`" -le 1 ] && rm -f $f
+done
 %find_lang %{name}
 
 rm -rf manual
@@ -718,7 +750,7 @@ rm -rf $RPM_BUILD_ROOT
 %postun lib -p /sbin/ldconfig
 
 %pre build
-find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
+find %{_libdir}/rpm -name '*-linux' -type l | xargs rm -f
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
@@ -756,7 +788,7 @@ find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
 
 %files lib
 %defattr(644,root,root,755)
-%attr(755,root,root) /lib/librpm*-*.so
+%attr(755,root,root) /%{_lib}/librpm*-*.so
 %attr(755,root,root) %{_libdir}/librpm*-*.so
 
 %files build
@@ -894,11 +926,13 @@ find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_libdir}/rpm/php*
 %attr(755,root,root) %{_libdir}/rpm/find-php*
 
+%if %{with python}
 %files -n python-rpm
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/*.so
 %attr(755,root,root) %{py_sitedir}/rpmdb/*.so
 %{py_sitedir}/rpmdb/*.py*
+%endif
 
 %files build-tools
 %defattr(644,root,root,755)
This page took 0.050452 seconds and 4 git commands to generate.