X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=3f74429c9c53206d181cce8b8123e4b1906ddbf4;hp=703f56670475a9fd4559157c6cbdf5ec68c4b584;hb=83d6a3feb7104a8f850bfd225beb1010834006cd;hpb=5ceae2f14bae8c1227c3e7fc88e12a4280122e79 diff --git a/rpm.spec b/rpm.spec index 703f566..3f74429 100644 --- 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 @@ -16,10 +16,9 @@ # 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.245 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: 5 +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}-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 @@ -139,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 @@ -159,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 @@ -168,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 @@ -217,6 +222,25 @@ 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 +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 @@ -401,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 @@ -419,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. @@ -594,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 @@ -614,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 @@ -625,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 @@ -644,6 +666,7 @@ cat %{SOURCE11} >> macros.in %patch35 -p0 %patch36 -p1 %patch37 -p1 +%patch38 -p1 %patch39 -p1 %patch40 -p1 %patch41 -p1 @@ -652,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 @@ -705,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 \ @@ -716,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 @@ -727,21 +753,26 @@ 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} %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 \ + 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 @@ -882,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 @@ -902,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 @@ -911,8 +946,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* @@ -927,21 +961,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 @@ -992,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 @@ -1006,29 +1040,25 @@ 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}/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-* @@ -1046,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