]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- avoid -L poisoning in *.la
[packages/rpm.git] / rpm.spec
index cf2ca6802b1f2be78a498b4fbffda3ab3929cda0..202ab495b6c22dbd06051d89f090b0b79b8755ef 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -2,17 +2,14 @@
 # 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)
-# - consider using system libmagic not internal libfmagic
-#   (but internal has different method of passing output)
 # 
 # Conditional build:
 %bcond_with    static          # build static rpmi (not supported at the moment)
 %bcond_without apidocs         # don't generate documentation with doxygen
 %bcond_with    autoreqdep      # autogenerate package name deps in addition to sonames/perl(X)
-%bcond_without home_etc        # build without HOME_ETC support
 %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 system_libmagic # don't use system libmagic
 %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++"
@@ -22,7 +19,6 @@
 %define        reqdb_ver       4.3.27-1
 %define        reqpopt_ver     1.10.2
 %define        beecrypt_ver    2:4.1.2-4
-%define        rpm_macros_rev  1.236
 Summary:       RPM Package Manager
 Summary(de):   RPM Packet-Manager
 Summary(es):   Gestor de paquetes RPM
@@ -33,7 +29,7 @@ Summary(uk):  
 Name:          rpm
 %define        sover   4.4
 Version:       4.4.2
-Release:       2
+Release:       25
 License:       GPL
 Group:         Base
 Source0:       ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz
@@ -48,7 +44,7 @@ Source7:      %{name}-compress-doc
 Source8:       %{name}-check-files
 Source9:       %{name}-php-provides
 Source10:      %{name}-php-requires
-Source11:      %{name}.macros
+
 Source12:      perl.prov
 Source13:      %{name}-user_group.sh
 Source14:      %{name}.sysconfig
@@ -57,6 +53,7 @@ Source31:     adapter.awk
 Source32:      pldnotify.awk
 # http://svn.pld-linux.org/banner.sh/
 Source33:      banner.sh
+Source34:      php-pear-build-macros
 Patch0:                %{name}-pl.po.patch
 Patch1:                %{name}-rpmrc.patch
 Patch2:                %{name}-arch.patch
@@ -95,7 +92,7 @@ Patch34:      %{name}-epoch0.patch
 Patch35:       %{name}-perl_req-INC_dirs.patch
 Patch36:       %{name}-debuginfo.patch
 Patch37:       %{name}-doxygen_hack.patch
-
+Patch38:       %{name}-kill-prereq.patch
 Patch39:       %{name}-pythondeps.patch
 Patch40:       %{name}-print-requires.patch
 Patch41:       %{name}-reduce-stack-usage.patch
@@ -105,6 +102,9 @@ Patch44:    %{name}-no-neon.patch
 Patch45:       %{name}-no-sqlite.patch
 Patch46:       %{name}-mono.patch
 Patch47:       %{name}-posttrans.patch
+Patch48:       %{name}-requireseq.patch
+Patch49:       %{name}-p4.patch
+Patch50:       %{name}-macros.patch
 URL:           http://wraptastic.org/
 Icon:          rpm.gif
 BuildRequires: autoconf >= 2.52
@@ -116,8 +116,7 @@ BuildRequires:      db-devel >= %{reqdb_ver}
 BuildRequires: elfutils-devel >= 0.108
 BuildRequires: findutils
 BuildRequires: gettext-devel >= 0.11.4-2
-%{?with_home_etc:BuildRequires:        home-etc-devel >= 1:1.0.9-2}
-%{?with_system_libmagic:BuildRequires: libmagic-devel}
+%{?with_system_libmagic:BuildRequires: libmagic-devel}
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
 BuildRequires: libstdc++-devel
@@ -132,6 +131,7 @@ BuildRequires:      popt-devel >= %{reqpopt_ver}
 BuildRequires: python-modules >= 1:2.3
 BuildRequires: readline-devel
 BuildRequires: rpm-perlprov
+%{?with_python:BuildRequires:  rpm-pythonprov}
 BuildRequires: zlib-devel
 %if %{with static}
 # Require static library only for static build
@@ -140,13 +140,14 @@ BuildRequires:    bzip2-static >= 1.0.2-17
 BuildRequires: db-static >= %{reqdb_ver}
 BuildRequires: glibc-static >= 2.2.94
 BuildRequires: elfutils-static
-%{with_system_libmagic:BuildRequires:  libmagic-static}
+%{?with_system_libmagic:BuildRequires: libmagic-static}
 %{?with_selinux:BuildRequires: libselinux-static >= 1.18}
 BuildRequires: popt-static >= %{reqpopt_ver}
 BuildRequires: zlib-static
 %endif
 Requires:      beecrypt >= %{beecrypt_ver}
 Requires:      popt >= %{reqpopt_ver}
+Requires:      %{name}-base = %{version}-%{release}
 Requires:      %{name}-lib = %{version}-%{release}
 %{!?with_static:Obsoletes:     rpm-utils-static}
 Conflicts:     glibc < 2.2.92
@@ -218,6 +219,26 @@ RPM - 
 ÓÌÕÖÂÏ×ϧ ¦ÎÆÏÒÍÁæ§, ÝϠͦÓÔÉÔØ ÎÁÚ×Õ, ×ÅÒÓ¦À, ÏÐÉÓ ÔÁ ¦ÎÛÕ
 ¦ÎÆÏÒÍÁæÀ ÐÒÏ ÐÁËÅÔ.
 
+%package base
+Summary:       RPM base package - scripts used by rpm packages themselves
+Summary(pl):   Podstawowy pakiet RPM - skrypty u¿ywane przez same pakiety rpm
+Group:         Base
+Requires:      sed
+Obsoletes:     vserver-rpm
+
+%description base
+The RPM base package contains scripts used by rpm packages themselves.
+These include:
+- scripts for adding/removing groups and users needed for rpm
+  packages,
+- banner.sh to display %%banner messages from rpm scriptlets.
+
+%description base -l pl
+Pakiet podstawowy RPM zwiera skrypty u¿ywane przez same pakiety rpm.
+Zawiera on:
+- skrypty dodaj±ce/usuwaj±ce grupy i u¿ytkowników dla pakietów rpm,
+- banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
+
 %package lib
 Summary:       RPMs library
 Summary(pl):   Biblioteki RPM-a
@@ -225,15 +246,11 @@ Group:            Libraries
 Requires:      beecrypt >= %{beecrypt_ver}
 Requires:      db >= %{reqdb_ver}
 %{?with_selinux:Requires:      libselinux >= 1.18}
-%{?with_system_libmagic:Requires:      libmagic >= 1.15-2}
+%{?with_system_libmagic:Requires:      libmagic >= 1.15-2}
 Requires:      popt >= %{reqpopt_ver}
 Obsoletes:     rpm-libs
 # avoid SEGV caused by mixed db versions
 Conflicts:     poldek < 0.18.1-16
-%if %{with home_etc}
-# avoid linking to /usr/lib
-Conflicts:     home-etc < 1.0.9-2
-%endif
 
 %description lib
 RPMs library.
@@ -255,9 +272,8 @@ Requires:   beecrypt-devel >= %{beecrypt_ver}
 Requires:      bzip2-devel
 Requires:      db-devel >= %{reqdb_ver}
 Requires:      elfutils-devel
-%{?with_home_etc:Requires:     home-etc-devel >= 1:1.0.9-2}
 %{?with_selinux:Requires:      libselinux-devel}
-%{?with_system_libmagic:Requires:       libmagic-devel}
+%{?with_system_libmagic:Requires:      libmagic-devel}
 Requires:      popt-devel >= %{reqpopt_ver}
 Requires:      zlib-devel
 
@@ -319,7 +335,7 @@ Requires:   beecrypt-static >= %{beecrypt_ver}
 Requires:      bzip2-static
 Requires:      db-static >= %{reqdb_ver}
 Requires:      elfutils-static
-%{?with_system_libmagic:Requires:       libmagic-static}
+%{?with_system_libmagic:Requires:      libmagic-static}
 Requires:      popt-static >= %{reqpopt_ver}
 Requires:      zlib-static
 
@@ -407,6 +423,7 @@ Summary(ru):        
 Summary(uk):   óËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÏÂÕÄÏ×É ÐÁËÅÔ¦×
 Group:         Applications/File
 Requires(pre): findutils
+Requires:      %{name}-build-macros
 Requires:      %{name}-utils = %{version}-%{release}
 Requires:      /bin/id
 Requires:      awk
@@ -430,7 +447,6 @@ Requires:   sed
 Requires:      sh-utils
 Requires:      tar
 Requires:      textutils
-Provides:      rpmbuild(macros) = %{rpm_macros_rev}
 Provides:      rpmbuild(monoautodeps)
 Provides:      rpmbuild(noauto) = 3
 %ifarch %{x8664}
@@ -534,15 +550,24 @@ 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}-%{release}
+Requires:      php-pear-PEAR >= 1:1.4.0-0.b1.3
+Requires:      php-zlib
+Requires:      sed >= 4.0
 
 %description php-pearprov
 Additional utilities for checking php pear provides/requires in rpm
 packages.
 
+This package provides rpm macros and dependencies to help building
+PEAR packages.
+
 %description php-pearprov -l pl
 Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów php pear w
 pakietach rpm.
 
+Ten pakiet dostarcza makra rpm-a i zale¿no¶ci pomagaj±ce przy
+budowaniu pakietów PEAR-a.
+
 %package -n python-rpm
 Summary:       Python interface to RPM library
 Summary(pl):   Pythonowy interfejs do biblioteki RPM-a
@@ -610,19 +635,17 @@ ze 
 %patch17 -p1
 %patch18 -p1
 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
-cp -f platform.in macros.pld.in
+#cp -f platform.in macros.pld.in # what for?
 echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl
 echo '%%define __perl_requires %%{__perl} /usr/lib/rpm/perl.req' >> macros.perl
 echo '# obsoleted file' > macros.python
-echo '%%define __php_provides  /usr/lib/rpm/php.prov' > macros.php
-echo '%%define __php_requires  /usr/lib/rpm/php.req' >> macros.php
+install %{SOURCE34} macros.php
 echo '%%define __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono
 echo '%%define __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono
 install %{SOURCE5} scripts/find-lang.sh
 install %{SOURCE9} scripts/php.prov.in
 install %{SOURCE10} scripts/php.req.in
 install %{SOURCE12} scripts/perl.prov
-cat %{SOURCE11} >> macros.in
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
@@ -641,6 +664,7 @@ cat %{SOURCE11} >> macros.in
 %patch35 -p0
 %patch36 -p1
 %patch37 -p1
+%patch38 -p1
 %patch39 -p1
 %patch40 -p1
 %patch41 -p1
@@ -650,6 +674,9 @@ cat %{SOURCE11} >> macros.in
 %patch45 -p1
 %patch46 -p1
 %patch47 -p1
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
 %patch0 -p1
 %patch3 -p1
 
@@ -709,7 +736,6 @@ CPPFLAGS="-Dglob=rpm_glob -Dglobfree=rpm_globfree"; export CPPFLAGS
        --enable-shared \
        --enable-static \
        %{?with_apidocs:--with-apidocs} \
-       %{?with_home_etc:--with-home_etc} \
        %{?with_python:--with-python=auto} \
        %{!?with_python:--without-python} \
        %{!?with_selinux:--without-selinux} \
@@ -732,7 +758,7 @@ CPPFLAGS="-Dglob=rpm_glob -Dglobfree=rpm_globfree"; export CPPFLAGS
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm}
+install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
@@ -869,6 +895,13 @@ for a in librpm-%{sover}.so librpmdb-%{sover}.so librpmio-%{sover}.so ; do
        ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
 done
 
+# remove arch dependant macros which have no use on noarch
+sed -i -e '
+/{__spec_install_post_strip}/d
+/{__spec_install_post_chrpath}/d
+/{__spec_install_post_compress_modules}/d
+' $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros
+
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 
@@ -901,8 +934,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 #%attr(755,root,root) %{_bindir}/rpmverify
 
 %dir %{_sysconfdir}/rpm
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/rpm/macros
-%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rpm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
 
 %{_mandir}/man8/rpm.8*
 %lang(fr) %{_mandir}/fr/man8/rpm.8*
@@ -917,21 +949,25 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %dir /var/lock/rpm
 /var/lock/rpm/transaction
 
-%dir %{_rpmlibdir}
 #%attr(755,root,root) %{_rpmlibdir}/rpmd
 #%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]}
 #%attr(755,root,root) %{_rpmlibdir}/rpmk
 #%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
 
 %doc %attr(755,root,root) %{_rpmlibdir}/convertrpmrc.sh
-%attr(755,root,root) %{_rpmlibdir}/user_group.sh
-
-%attr(755,root,root) %{_bindir}/banner.sh
 
 %{_rpmlibdir}/rpmrc
 %{_rpmlibdir}/rpmpopt*
 %{_rpmlibdir}/macros
 
+%files base
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
+%dir %{_rpmlibdir}
+%attr(755,root,root) %{_bindir}/banner.sh
+%attr(755,root,root) %{_rpmlibdir}/user_group.sh
+%dir /var/lib/banner
+
 %files lib
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/librpm*-*.so
@@ -996,7 +1032,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %files build
 %defattr(644,root,root,755)
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/rpm/noauto*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
 %attr(755,root,root) %{_rpmlibdir}/compress-doc
 %attr(755,root,root) %{_rpmlibdir}/cross-build
 #%attr(755,root,root) %{_rpmlibdir}/find-provides
@@ -1097,8 +1133,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %if %{with python}
 %files -n python-rpm
 %defattr(644,root,root,755)
+%dir %{py_sitedir}/rpm
 %attr(755,root,root) %{py_sitedir}/rpm/*.so
-%attr(755,root,root) %{py_sitedir}/rpm/*.py[co]
+%{py_sitedir}/rpm/*.py[co]
 %endif
 
 %if %{with apidocs}
This page took 0.541576 seconds and 4 git commands to generate.