]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- updated to 4.4.5
[packages/rpm.git] / rpm.spec
index 9cc732086e4d0ab929586bfbb346827be580de40..3f74429c9c53206d181cce8b8123e4b1906ddbf4 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -4,7 +4,7 @@
 #   ELF first; it should be provided by python-libs not binary anyway)
 # 
 # Conditional build:
-%bcond_with    static          # build static rpmi (not supported at the moment)
+%bcond_with    static          # build static rpm+rpmi
 %bcond_without apidocs         # don't generate documentation with doxygen
 %bcond_with    autoreqdep      # autogenerate package name deps in addition to sonames/perl(X)
 %bcond_without python          # don't build python bindings
 # force_cpp            - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
 
 # versions of required libraries
-%define        reqdb_ver       4.3.27-1
-%define        reqpopt_ver     1.10.2
+%define        reqdb_ver       4.4.20
+%define        reqpopt_ver     1.10.5
 %define        beecrypt_ver    2:4.1.2-4
-%define        rpm_macros_rev  1.247
 Summary:       RPM Package Manager
 Summary(de):   RPM Packet-Manager
 Summary(es):   Gestor de paquetes RPM
@@ -29,12 +28,12 @@ Summary(ru):        
 Summary(uk):   íÅÎÅÄÖÅÒ ÐÁËÅԦנצĠRPM
 Name:          rpm
 %define        sover   4.4
-Version:       4.4.2
-Release:       16.1
+Version:       4.4.5
+Release:       0.1
 License:       GPL
 Group:         Base
 Source0:       ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz
-# Source0-md5: e24ce468082479fe850c9d6563f56db5
+# Source0-md5: d5f434789c0c56d05d77be6f4262a561
 Source1:       %{name}.groups
 Source2:       %{name}.platform
 Source3:       %{name}-install-tree
@@ -45,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
@@ -66,7 +65,7 @@ Patch7:               %{name}-scripts-closefds.patch
 Patch8:                %{name}-python-macros.patch
 Patch9:                %{name}-gettext-in-header.patch
 Patch10:       %{name}-compress-doc.patch
-Patch11:       %{name}-build.patch
+Patch11:       %{name}-rpmdeps-segv.patch
 Patch12:       %{name}-system_libs.patch
 Patch13:       %{name}-bb-and-short-circuit.patch
 Patch14:       %{name}-etc_dir.patch
@@ -74,7 +73,7 @@ Patch15:      %{name}-system_libs-more.patch
 Patch16:       %{name}-php-deps.patch
 Patch17:       %{name}-ldconfig-always.patch
 Patch18:       %{name}-perl_req.patch
-
+Patch19:       %{name}-link.patch
 Patch20:       %{name}-magic-usesystem.patch
 Patch21:       %{name}-dontneedutils.patch
 Patch22:       %{name}-provides-dont-obsolete.patch
@@ -93,19 +92,22 @@ 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
+Patch38:       %{name}-empty-rpmlock-path.patch
 Patch39:       %{name}-pythondeps.patch
 Patch40:       %{name}-print-requires.patch
 Patch41:       %{name}-reduce-stack-usage.patch
-Patch42:       %{name}-glob.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
-Patch47:       %{name}-posttrans.patch
+
 Patch48:       %{name}-requireseq.patch
+Patch49:       %{name}-p4.patch
+Patch50:       %{name}-macros.patch
+Patch51:       %{name}-cleanlibdirs.patch
+Patch52:       %{name}-morearchs.patch
 URL:           http://wraptastic.org/
-Icon:          rpm.gif
 BuildRequires: autoconf >= 2.52
 BuildRequires: automake
 BuildRequires: beecrypt-devel >= %{beecrypt_ver}
@@ -122,13 +124,12 @@ BuildRequires:    libstdc++-devel
 BuildRequires: libtool
 %if %{with neon}
 BuildRequires: libxml2-devel
-BuildRequires: neon-devel >= 0.24.7-3
+BuildRequires: neon-devel >= 0.25.5
 %endif
 BuildRequires: patch >= 2.2
 BuildRequires: popt-devel >= %{reqpopt_ver}
 %{?with_python:BuildRequires:  python-devel >= 1:2.3}
 BuildRequires: python-modules >= 1:2.3
-BuildRequires: readline-devel
 BuildRequires: rpm-perlprov
 %{?with_python:BuildRequires:  rpm-pythonprov}
 BuildRequires: zlib-devel
@@ -160,6 +161,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # don't require very fresh rpm.macros to build
 %define                __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,}
 %define                ix86    i386 i486 i586 i686 athlon pentium3 pentium4
+%define                ppc     ppc ppc7400 ppc7450
 %define                x8664   amd64 ia32e x86_64
 
 # stabilize new build environment
@@ -169,6 +171,8 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _rpmlibdir /usr/lib/rpm
 
+%define                specflags       -fno-strict-aliasing
+
 %description
 RPM is a powerful package manager, which can be used to build,
 install, query, verify, update, and uninstall individual software
@@ -222,7 +226,6 @@ RPM - 
 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
@@ -422,6 +425,7 @@ Summary(ru):        
 Summary(uk):   óËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÏÂÕÄÏ×É ÐÁËÅÔ¦×
 Group:         Applications/File
 Requires(pre): findutils
+Requires:      %{name}-build-macros >= 1.284
 Requires:      %{name}-utils = %{version}-%{release}
 Requires:      /bin/id
 Requires:      awk
@@ -440,19 +444,16 @@ Requires: grep
 Requires:      gzip
 Requires:      make
 Requires:      patch
-Requires:      popt >= 1.7
 Requires:      sed
 Requires:      sh-utils
 Requires:      tar
 Requires:      textutils
-Provides:      rpmbuild(macros) = %{rpm_macros_rev}
 Provides:      rpmbuild(monoautodeps)
 Provides:      rpmbuild(noauto) = 3
 %ifarch %{x8664}
 Conflicts:     automake < 1:1.7.9-2
 Conflicts:     libtool < 2:1.5-13
 %endif
-Obsoletes:     rpmbuild(macros) < %{rpm_macros_rev}
 
 %description build
 Scripts for building binary RPM packages.
@@ -615,10 +616,10 @@ ze 
 
 %prep
 %setup -q
+%patch0 -p1
 %patch1 -p1
 %patch2 -p1
-# temporarily moved after patch0 - messes too much in pl.po
-#%patch3 -p1
+%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
@@ -635,7 +636,7 @@ 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
@@ -646,7 +647,7 @@ 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
+%patch19 -p1
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
@@ -674,10 +675,12 @@ cat %{SOURCE11} >> macros.in
 %{!?with_neon:%patch44 -p1}
 %patch45 -p1
 %patch46 -p1
-%patch47 -p1
+
 %patch48 -p1
-%patch0 -p1
-%patch3 -p1
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p1
 
 cd scripts
 mv -f perl.req perl.req.in
@@ -727,10 +730,12 @@ mv -f macros.tmp 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 \
        CC="%{__newcc}" \
        CXX="%{__newcxx}" \
        CPP="%{__newcpp}" \
+       WITH_PERL_VERSION=no \
        %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \
        --enable-shared \
        --enable-static \
@@ -738,7 +743,6 @@ CPPFLAGS="-Dglob=rpm_glob -Dglobfree=rpm_globfree"; export CPPFLAGS
        %{?with_python:--with-python=auto} \
        %{!?with_python:--without-python} \
        %{!?with_selinux:--without-selinux} \
-       --with-glob \
        --without-db
 
 # file_LDFLAGS, debugedit_LDADD - no need to link "file" and "debugedit" statically
@@ -749,9 +753,8 @@ CPPFLAGS="-Dglob=rpm_glob -Dglobfree=rpm_globfree"; export CPPFLAGS
        pylibdir=%{py_libdir} \
        myLDFLAGS="%{rpmldflags}" \
        file_LDFLAGS= \
-       debugedit_LDADD="\$(WITH_LIBELF_LIB) -lpopt"
-
-#      %{!?with_static:rpm_LDFLAGS="\$(myLDFLAGS)"} \
+       debugedit_LDADD="\$(WITH_LIBELF_LIB) -lpopt" \
+       staticLDFLAGS=%{?with_static:-all-static}
 
 %{?with_apidocs:%{__make} doxygen}
 
@@ -761,9 +764,15 @@ install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/b
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
+       staticLDFLAGS=%{?with_static:-all-static} \
        pylibdir=%{py_libdir} \
        pkgbindir="%{_bindir}"
 
+%ifarch %{ppc}
+sed -e '/_target_platform/s/[%]{_target_cpu}/ppc/' \
+       -i $RPM_BUILD_ROOT%{_rpmlibdir}/ppc74[05]0-linux/macros
+%endif
+
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/vpkg-provides*
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{prov,req}.pl
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl
@@ -904,9 +913,13 @@ sed -i -e '
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 
-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
+rm -f $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
+
+# (currently) not used or supported in PLD
+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}
+
 %find_lang %{name}
 
 rm -rf manual
@@ -924,7 +937,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc RPM-PGP-KEY CHANGES manual
+%doc RPM-PGP-KEY CHANGES manual/*
 
 %attr(755,root,root) /bin/rpm
 #%attr(755,root,root) %{_bindir}/rpmdb
@@ -1017,10 +1030,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %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
@@ -1032,28 +1041,24 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %files build
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
+%attr(755,root,root) %{_rpmlibdir}/brp-*
+%attr(755,root,root) %{_rpmlibdir}/check-files
+%attr(755,root,root) %{_rpmlibdir}/check-prereqs
 %attr(755,root,root) %{_rpmlibdir}/compress-doc
+%attr(755,root,root) %{_rpmlibdir}/config.*
 %attr(755,root,root) %{_rpmlibdir}/cross-build
-#%attr(755,root,root) %{_rpmlibdir}/find-provides
-#%attr(755,root,root) %{_rpmlibdir}/find-provides-wrapper
-#%attr(755,root,root) %{_rpmlibdir}/find-requires
-#%attr(755,root,root) %{_rpmlibdir}/find-requires-wrapper
-#%attr(755,root,root) %{_rpmlibdir}/find-rpm-provides
 %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
 %attr(755,root,root) %{_rpmlibdir}/find-lang.sh
-%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
-%attr(755,root,root) %{_rpmlibdir}/config.*
 %attr(755,root,root) %{_rpmlibdir}/getpo.sh
 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
-%attr(755,root,root) %{_rpmlibdir}/brp-*
-%attr(755,root,root) %{_rpmlibdir}/check-files
-%attr(755,root,root) %{_rpmlibdir}/check-prereqs
-#%attr(755,root,root) %{_rpmlibdir}/cpanflute
-#%attr(755,root,root) %{_rpmlibdir}/cpanflute2
-#%attr(755,root,root) %{_rpmlibdir}/Specfile.pm
+%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
 %attr(755,root,root) %{_rpmlibdir}/u_pkg.sh
-#%attr(755,root,root) %{_rpmlibdir}/vpkg-provides.sh
-#%attr(755,root,root) %{_rpmlibdir}/vpkg-provides2.sh
+%attr(755,root,root) %{_rpmlibdir}/executabledeps.sh
+# needs jar (any jdk), jcf-dump (gcc-java) to work
+%attr(755,root,root) %{_rpmlibdir}/javadeps.sh
+%attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
+# needs hacked pkg-config to return anything
+%attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
 %attr(755,root,root) %{_rpmlibdir}/rpmb
 %attr(755,root,root) %{_rpmlibdir}/rpmt
 %{_rpmlibdir}/noarch-*
@@ -1071,7 +1076,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %ifarch mips mipsel mips64 mips64el
 %{_rpmlibdir}/mips*
 %endif
-%ifarch ppc
+%ifarch %{ppc}
 %{_rpmlibdir}/ppc*
 %endif
 %ifarch sparc sparc64
This page took 0.056596 seconds and 4 git commands to generate.