]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- updated to 20041118 snap (not finished due to libtool problems)
[packages/rpm.git] / rpm.spec
index 078667e26a9f240984a9443f7b0b1b0b65fc50bf..88040816c72f8327aa79f691ee0d0a0730523abe 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -2,23 +2,25 @@
 # TODO:
 # - consider using system libmagic not internal libfmagic
 #   (but internal has different method of passing output)
-#
+# - after ac drop amd64 patch and make x86_64 generic arch + subarchs amd64 and ia32e
+# 
 # Conditional build:
+%bcond_with    distver # build with distversion field
 %bcond_with    static  # build static rpmi (not supported at the moment)
-%bcond_without doc     # don't generate documentation with doxygen
+%bcond_without apidocs # don't generate documentation with doxygen
+%bcond_without pkgnameinautoreq        # don't put package name in autogenerated dependancy
 %bcond_without python  # don't build python bindings
 %bcond_without selinux # dont enable selinux support
 # 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
-%define        snap    20040614
+%define        snap    20041118
 # versions of required libraries
 %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.158
+%define        beecrypt_ver    2:4.1.0
+%define        rpm_macros_rev  1.167
 Summary:       RPM Package Manager
 Summary(de):   RPM Packet-Manager
 Summary(es):   Gestor de paquetes RPM
@@ -35,7 +37,7 @@ License:      GPL
 Group:         Base
 #Source0:      ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/%{name}-%{version}.%{snap}.tar.gz
 Source0:       ftp://distfiles.pld-linux.org/src/%{name}-%{version}.%{snap}.tar.bz2
-# Source0-md5: c1bc4a2ae441fbd4da8dd90149bab2f2
+# Source0-md5: 5033d2c69d8db97ab0886e48743e96c7
 Source1:       %{name}.groups
 Source2:       %{name}.platform
 Source3:       %{name}-install-tree
@@ -48,10 +50,11 @@ Source9:    %{name}-php-provides
 Source10:      %{name}-php-requires
 Source11:      %{name}.macros
 Source12:      perl.prov
+Source13:      %{name}-user_group.sh
+Source14:      %{name}.sysconfig
 Source30:      builder
 Source31:      adapter.awk
 Source32:      pldnotify.awk
-Patch0:                %{name}-pl.po.patch
 Patch1:                %{name}-rpmrc.patch
 Patch2:                %{name}-arch.patch
 Patch3:                %{name}-rpmpopt.patch
@@ -68,7 +71,6 @@ Patch14:      %{name}-bb-and-short-circuit.patch
 Patch15:       %{name}-etc_dir.patch
 Patch16:       %{name}-system_libs-more.patch
 Patch17:       %{name}-php-deps.patch
-Patch18:       %{name}-python-fix.patch
 Patch19:       %{name}-ldconfig-always.patch
 Patch20:       %{name}-perl_req.patch
 Patch21:       %{name}-no-bin-env.patch
@@ -83,18 +85,16 @@ Patch29:    %{name}-hack-norpmlibdep.patch
 Patch30:       %{name}-makefile-no_myLDADD_deps.patch
 Patch31:       %{name}-libdir64.patch
 Patch32:       %{name}-libdir-links.patch
-Patch33:       %{name}-context.patch
-Patch34:       %{name}-nls-fixes.patch
 Patch35:       %{name}-missing-prototypes.patch
 Patch36:       %{name}-pld-autodep.patch
 Patch37:       %{name}-rpmsq.patch
-Patch38:       %{name}-file-readelf.patch
-Patch39:       %{name}-pentiumX.patch
 Patch40:       %{name}-epoch0.patch
-Patch41:       %{name}-file-readelf-fix.patch
-Patch42:       %{name}-cpuid.patch
 Patch43:       %{name}-perl_req-INC_dirs.patch
 Patch44:       %{name}-debuginfo.patch
+Patch45:       %{name}-beecrypt4.patch
+Patch46:       %{name}-doxygen_hack.patch
+Patch47:       %{name}-distver.patch
+Patch100:      %{name}-pl.po.patch
 URL:           http://www.rpm.org/
 Icon:          rpm.gif
 BuildRequires: autoconf >= 2.52
@@ -102,7 +102,7 @@ BuildRequires:      automake
 BuildRequires: beecrypt-devel >= %{beecrypt_ver}
 BuildRequires: bzip2-devel >= 1.0.1
 BuildRequires: db-devel >= %{reqdb_ver}
-%{?with_doc:BuildRequires:     doxygen}
+%{?with_apidocs:BuildRequires: doxygen}
 BuildRequires: elfutils-devel
 BuildRequires: findutils
 BuildRequires: gettext-devel >= 0.11.4-2
@@ -111,10 +111,13 @@ BuildRequires:    gettext-devel >= 0.11.4-2
 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
 BuildRequires: libstdc++-devel
 BuildRequires: libtool
+BuildRequires: libxml2-devel
+BuildRequires: neon-devel
 BuildRequires: patch >= 2.2
 BuildRequires: popt-devel >= %{reqpopt_ver}
 %{?with_python:BuildRequires:  python-devel >= 2.2}
 BuildRequires: python-modules >= 2.2
+BuildRequires: readline-devel
 BuildRequires: rpm-perlprov
 BuildRequires: rpm-pythonprov
 BuildRequires: zlib-devel
@@ -130,6 +133,7 @@ BuildRequires:      elfutils-static
 BuildRequires: popt-static >= %{reqpopt_ver}
 BuildRequires: zlib-static
 %endif
+Requires:      beecrypt >= %{beecrypt_ver}
 Requires:      popt >= %{reqpopt_ver}
 Requires:      %{name}-lib = %{version}-%{release}
 %{!?with_static:Obsoletes:     rpm-utils-static}
@@ -146,9 +150,9 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                ix86 i386 i486 i586 i686 athlon pentium3 pentium4
 
 # stabilize new build environment
-%define                __cc %{?force_cc}%{!?force_cc:%{_target_cpu}-pld-linux-gcc}
-%define                __cxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-pld-linux-g++}
-%define                __cpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E}
+%define                __newcc %{?force_cc}%{!?force_cc:%{_target_cpu}-pld-linux-gcc}
+%define                __newcxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-pld-linux-g++}
+%define                __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E}
 
 %define                _rpmlibdir /usr/lib/rpm
 
@@ -442,6 +446,7 @@ Summary(pl):        Biblioteki RPM-a
 Group:         Libraries
 Requires:      db >= %{reqdb_ver}
 Requires:      popt >= %{reqpopt_ver}
+%{?with_distver:Provides:      rpm-lib(distver)}
 # avoid SEGV caused by mixed db versions
 Conflicts:     poldek < 0.18.1-16
 
@@ -465,7 +470,9 @@ Requires:   /bin/id
 Requires:      awk
 Requires:      binutils
 Requires:      chrpath >= 0.10-4
+Requires:      cpio
 Requires:      diffutils
+Requires:      elfutils
 Requires:      file >= 4.01
 Requires:      fileutils
 Requires:      findutils
@@ -474,10 +481,6 @@ 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
@@ -489,6 +492,11 @@ Requires:  sh-utils
 Requires:      tar
 Requires:      textutils
 Provides:      rpmbuild(macros) = %{rpm_macros_rev}
+Provides:      rpmbuild(noauto) = 3
+%ifarch amd64
+Conflicts:     automake < 1:1.7.9-2
+Conflicts:     libtool < 2:1.5-13
+%endif
 
 %description build
 Scripts for building binary RPM packages.
@@ -545,13 +553,27 @@ construir pacotes usando o RPM.
 ò¦ÚÎÏÍÁΦÔΦ ÄÏÐÏͦÖΦ ÓËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØÓÑ ÄÌÑ
 ÐÏÂÕÄÏ×É RPM'¦×.
 
+%if %{with apidocs}
+%package       apidocs
+Summary:       rpm API documentation and guides
+Summary(pl):   Documentacja API rpm i przewodniki.
+Group:         Documentation   
+
+%description apidocs
+Documentation for rpm API and guides in html format generated
+from rpm sources by doxygen.
+
+%description apidocs -l pl
+Dokumentacja API rpm oraz przewodniki w formacie html generowana
+ze ¼rode³ rpm przez doxygen.
+%endif
+
 %prep
 %setup -q -n %{name}
-# UPDATE
-#%patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
+# temporarily moved after patch100 - messes too much in pl.po
+#%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch7 -p1
@@ -566,7 +588,6 @@ construir pacotes usando o RPM.
 #%patch15 -p1
 %patch16 -p1
 %patch17 -p1
-%patch18 -p1
 %patch19 -p1
 %patch20 -p1
 %patch21 -p1
@@ -587,31 +608,26 @@ cat %{SOURCE11} >> macros.in
 %patch24 -p1
 %patch25 -p1
 %patch26 -p1
-# DROP, amd64 is not the same thing as ia32e or x86_64 at least in terms of gcc optimizations
-#%patch27 -p1
+%patch27 -p1
 %patch28 -p1
 %patch29 -p1
 %patch30 -p1
 %patch31 -p1
 %patch32 -p1
-# DROP
-#%patch33 -p1
-# UPDATE
-#%patch34 -p1
 %patch35 -p1
 %patch36 -p1
 %patch37 -p1
-# STILL NOT FIXED IN RPM???
-#%patch38 -p1
-# OBSOLETE, merged upstream
-#%patch39 -p1
 %patch40 -p1
-# SAME AS patch38
-#%patch41 -p1
-# OBSOLETE, merged upstream
-#%patch42 -p1
 %patch43 -p0
 %patch44 -p1
+# OBSOLETE
+#%patch45 -p1
+# NEEDS UPDATE
+# %patch46 -p1
+%{?with_distver:%patch47 -p1}
+# NEEDS UPDATE
+#%patch100 -p1
+%patch3 -p1
 
 cd scripts;
 mv -f perl.req perl.req.in
@@ -621,7 +637,7 @@ cd ..
 mv -f po/{no,nb}.po
 mv -f po/{sr,sr@Latn}.po
 
-rm -rf zlib libelf db db3 popt rpmdb/db.h
+rm -rf neon zlib libelf db db3 popt rpmdb/db.h
 
 # generate Group translations to *.po
 awk -f %{SOURCE6} %{SOURCE1}
@@ -660,12 +676,13 @@ mv -f macros.tmp macros.in
 
 # pass CC and CXX too in case of building with some older configure macro
 %configure \
-       CC="%{__cc}" \
-       CXX="%{__cxx}" \
-       CPP="%{__cpp}" \
+       CC="%{__newcc}" \
+       CXX="%{__newcxx}" \
+       CPP="%{__newcpp}" \
        --enable-shared \
        --enable-static \
-       %{?with_doc:--with-apidocs} \
+       %{?with_apidoc:--with-apidocs} \
+       %{?with_pkgnameinautoreq:--enable-adding-packages-names-in-autogenerated-dependancies} \
        %{?with_python:--with-python=auto} \
        %{!?with_python:--without-python} \
        %{!?with_selinux:--without-selinux} \
@@ -673,16 +690,20 @@ mv -f macros.tmp macros.in
 
 # file_LDFLAGS, debugedit_LDADD - no need to link "file" and "debugedit" statically
 %{__make} \
+       CC="%{__cc}" \
+       CXX="%{__cxx}" \
+       CPP="%{__cpp}" \
        pylibdir=%{py_libdir} \
        myLDFLAGS="%{rpmldflags}" \
        file_LDFLAGS= \
        debugedit_LDADD="\$(WITH_LIBELF_LIB) -lpopt"
 
 #      %{!?with_static:rpm_LDFLAGS="\$(myLDFLAGS)"} \
+%{?with_apidocs:%{__make} doxygen}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/%{_lib}
+install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
@@ -702,8 +723,10 @@ install %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
 install %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
 install %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
 install %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/check-files
+install %{SOURCE13} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
 install scripts/find-php*      $RPM_BUILD_ROOT%{_rpmlibdir}
 install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir}
+install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm
 
 install %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}/builder
 install %{SOURCE31} $RPM_BUILD_ROOT%{_bindir}/adapter.awk
@@ -711,8 +734,6 @@ install %{SOURCE32} $RPM_BUILD_ROOT%{_bindir}/pldnotify.awk
 
 install rpmio/ugid.h $RPM_BUILD_ROOT%{_includedir}/rpm
 
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm
-
 %ifarch %{ix86}
 ix86re=$(echo "(%{ix86})"|sed 's/ /|/g')
 perl -p -i -e 's/^(buildarchtranslate: '"$ix86re"': ).*/\1%{_target_cpu}/' \
@@ -739,8 +760,8 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov <<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/.*
+^/usr/src/examples/
+^/usr/share/doc/
 EOF
 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq <<EOF
 # global list of script capabilities (regexps) not to be used in Requires
@@ -748,13 +769,58 @@ 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
+# -- OpenGL implementation
+^libGL.so.1$
+^libGLU.so.1$
+^libOSMesa.so
+# -- Glide
+^libglide3.so.3$
+# -- mozilla
+^libgtkmozembed.so$
+^libgtksuperwin.so$
+^libxpcom.so$
+# -- X11 implementation
+^libFS.so
+^libI810XvMC.so
+^libICE.so
+^libSM.so
+^libX11.so
+^libXRes.so
+^libXTrap.so
+^libXaw.so
+^libXcomposite.so
+^libXcursor.so
+^libXdamage.so
+^libXdmcp.so
+^libXevie.so
+^libXext.so
+^libXfixes.so
+^libXfont.so
+^libXfontcache.so
+^libXft.so
+^libXi.so
+^libXinerama.so
+^libXmu.so
+^libXmuu.so
+^libXp.so
+^libXpm.so
+^libXrandr.so
+^libXrender.so
+^libXss.so
+^libXt.so
+^libXtst.so
+^libXv.so
+^libXvMC.so
+^libXxf86dga.so
+^libXxf86misc.so
+^libXxf86rush.so
+^libXxf86vm.so
+^libdps.so
+^libdpstk.so
+^libfontenc.so
+^libpsres.so
+^libxkbfile.so
+^libxkbui.so
 EOF
 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
 # global list of file masks not to be compressed in DOCDIR
@@ -800,6 +866,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %dir %{_sysconfdir}/rpm
 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/rpm/macros
+%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rpm
 
 %{_mandir}/man8/rpm.8*
 %lang(fr) %{_mandir}/fr/man8/rpm.8*
@@ -821,6 +888,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 #%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
 
 %doc %attr(755,root,root) %{_rpmlibdir}/convertrpmrc.sh
+%attr(755,root,root) %{_rpmlibdir}/user_group.sh
 
 %{_rpmlibdir}/rpmrc
 %{_rpmlibdir}/rpmpopt*
@@ -853,9 +921,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 #%attr(755,root,root) %{_rpmlibdir}/cpanflute
 #%attr(755,root,root) %{_rpmlibdir}/cpanflute2
 #%attr(755,root,root) %{_rpmlibdir}/Specfile.pm
-%attr(755,root,root) %{_rpmlibdir}/http.req
-%attr(755,root,root) %{_rpmlibdir}/magic.prov
-%attr(755,root,root) %{_rpmlibdir}/magic.req
 %attr(755,root,root) %{_rpmlibdir}/u_pkg.sh
 #%attr(755,root,root) %{_rpmlibdir}/vpkg-provides.sh
 #%attr(755,root,root) %{_rpmlibdir}/vpkg-provides2.sh
@@ -867,26 +932,34 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_rpmlibdir}/pentium*
 %{_rpmlibdir}/athlon*
 %endif
+%ifarch alpha
+%{_rpmlibdir}/alpha*
+%endif
 %ifarch amd64
 %{_rpmlibdir}/amd64*
-%{_rpmlibdir}/x86_64*
 %endif
-%ifarch sparc sparc64
-%{_rpmlibdir}/sparc*
+%ifarch ia64
+%{_rpmlibdir}/ia64*
 %endif
-%ifarch alpha
-%{_rpmlibdir}/alpha*
+%ifarch mips mipsel mips64 mips64el
+%{_rpmlibdir}/mips*
 %endif
 %ifarch ppc
 %{_rpmlibdir}/ppc*
 %endif
+%ifarch sparc sparc64
+%{_rpmlibdir}/sparc*
+%endif
 # must be here for "Requires: rpm-*prov" to work
 %{_rpmlibdir}/macros.perl
 %{_rpmlibdir}/macros.php
-# not used yet ...
-%{_rpmlibdir}/sql.prov
-%{_rpmlibdir}/sql.req
-%{_rpmlibdir}/tcl.req
+# not used yet ... these six depend on perl
+#%attr(755,root,root) %{_rpmlibdir}/http.req
+#%attr(755,root,root) %{_rpmlibdir}/magic.prov
+#%attr(755,root,root) %{_rpmlibdir}/magic.req
+#%{_rpmlibdir}/sql.prov
+#%{_rpmlibdir}/sql.req
+#%{_rpmlibdir}/tcl.req
 %{_rpmlibdir}/trpm
 
 %attr(755,root,root) %{_bindir}/javadeps
@@ -924,15 +997,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
 %attr(755,root,root) %{_rpmlibdir}/tgpg
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
-
-%files utils-perl
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/rpmdiff*
-# not here
-#%%{_rpmlibdir}/rpm.daily
-#%%{_rpmlibdir}/rpm.log
-#%%{_rpmlibdir}/rpm.xinetd
-
 %{_mandir}/man8/rpm2cpio.8*
 %{_mandir}/man8/rpmdeps.8*
 %{_mandir}/man8/rpmcache.8*
@@ -947,6 +1011,15 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
 
+%files utils-perl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_rpmlibdir}/rpmdiff*
+# not here
+#%%{_rpmlibdir}/rpm.daily
+#%%{_rpmlibdir}/rpm.log
+#%%{_rpmlibdir}/rpm.xinetd
+
+
 %if %{with static}
 %files utils-static
 %defattr(644,root,root,755)
@@ -986,3 +1059,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_bindir}/builder
 %attr(755,root,root) %{_bindir}/adapter.awk
 %attr(755,root,root) %{_bindir}/pldnotify.awk
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc apidocs
+%endif
This page took 0.060399 seconds and 4 git commands to generate.