X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm.spec;h=7959a6c1f8c1ce9aa8f7208bb3f538619e46b13a;hb=541eacd3d55baa952bdd42da29d817eb9afd6190;hp=fdf662bc3a2667f1adb49c9c4dc9c3cbd1f04553;hpb=5973d164e2cc3316b916b3a9429cfcadd9b8be6c;p=packages%2Frpm.git diff --git a/rpm.spec b/rpm.spec index fdf662b..7959a6c 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,25 +1,25 @@ # # TODO: -# - learn find-perl-provides to use the __perl macro instead -# of /usr/bin/perl -# NOTE: there is no find-perl* now, only perl.{prov,req} # - use system libmagic not internal libfmagic +# - when really needed: _noauto{req,prov} for non-helper-generated deps +# +# - fix lseek (readelf?) failures on amd64 ASAP!!! # # Conditional build: -%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 +%bcond_with static # build static rpmi (not supported at the moment) +%bcond_without doc # 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 -%define snap 20031227 +%define snap 20040107 # 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.133 +%define rpm_macros_rev 1.143 Summary: RPM Package Manager Summary(de): RPM Packet-Manager Summary(es): Gestor de paquetes RPM @@ -30,32 +30,27 @@ Summary(uk): Name: rpm %define ver 4.3 Version: %{ver} -Release: 0.%{snap}.2 +Release: 0.%{snap}.9 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.gz -# Source0-md5: dcfe5575c62531838be5a0bebdaf0d1e +Source0: ftp://distfiles.pld-linux.org/src/%{name}-%{version}.%{snap}.tar.bz2 +# Source0-md5: c1bc4a2ae441fbd4da8dd90149bab2f2 Source1: %{name}.groups Source2: %{name}.platform Source3: %{name}-install-tree -Source4: %{name}-find-rpm-provides -Source5: %{name}-find-spec-bcond -Source6: %{name}-find-lang -Source7: %{name}-find-provides -Source8: %{name}-find-requires -Source9: %{name}-groups-po.awk -Source10: %{name}-compress-doc -Source11: %{name}-check-files -Source12: %{name}-php-provides -Source13: %{name}-php-requires -Source14: %{name}.macros -Source15: %{name}-find-provides-wrapper -Source16: %{name}-find-requires-wrapper +Source4: %{name}-find-spec-bcond +Source5: %{name}-find-lang +Source6: %{name}-groups-po.awk +Source7: %{name}-compress-doc +Source8: %{name}-check-files +Source9: %{name}-php-provides +Source10: %{name}-php-requires +Source11: %{name}.macros +Source12: perl.prov Source30: builder Source31: adapter.awk Source32: pldnotify.awk -Source33: perl.prov Patch0: %{name}-pl.po.patch Patch1: %{name}-rpmrc.patch Patch2: %{name}-arch.patch @@ -68,38 +63,35 @@ Patch8: %{name}-scripts-closefds.patch Patch9: %{name}-python-macros.patch Patch10: %{name}-gettext-in-header.patch Patch11: %{name}-compress-doc.patch -Patch12: %{name}-gettext0.11.patch -Patch13: %{name}-build.patch -Patch14: %{name}-system_libs.patch -Patch15: %{name}-bb-and-short-circuit.patch -Patch16: %{name}-etc_dir.patch -Patch17: %{name}-system_libs-more.patch -Patch18: %{name}-php-deps.patch -Patch19: %{name}-python-fix.patch -Patch20: %{name}-ldconfig-always.patch -Patch21: %{name}-perl_req.patch -Patch22: %{name}-system_libs_more.patch -Patch23: %{name}-python_2_3.patch -Patch24: %{name}-no-bin-env.patch -Patch25: %{name}-specflags.patch -Patch26: %{name}-magic-usesystem.patch -Patch27: %{name}-dontneedutils.patch -Patch28: %{name}-python-beecrypt.patch -Patch29: %{name}-man-typos.patch -Patch30: %{name}-man-pl.patch -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}-libdir-links.patch -Patch43: %{name}-python-libdir.patch +Patch12: %{name}-build.patch +Patch13: %{name}-system_libs.patch +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 +Patch22: %{name}-magic-usesystem.patch +Patch23: %{name}-dontneedutils.patch +Patch24: %{name}-provides-dont-obsolete.patch +Patch25: %{name}-examplesaredoc.patch +Patch26: %{name}-po.patch +Patch27: %{name}-amd64.patch +Patch28: %{name}-notsc.patch +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}-pentium3.patch +Patch40: %{name}-epoch0.patch URL: http://www.rpm.org/ Icon: rpm.gif BuildRequires: autoconf >= 2.52 @@ -107,10 +99,11 @@ BuildRequires: automake BuildRequires: beecrypt-devel >= %{beecrypt_ver} BuildRequires: bzip2-devel >= 1.0.1 BuildRequires: db-devel >= %{reqdb_ver} -%{?with_docs:BuildRequires: doxygen} +%{?with_doc:BuildRequires: doxygen} BuildRequires: gettext-devel >= 0.11.4-2 BuildRequires: elfutils-devel #BuildRequires: libmagic-devel +BuildRequires: libselinux-devel BuildRequires: libtool BuildRequires: patch >= 2.2 BuildRequires: popt-devel >= %{reqpopt_ver} @@ -119,7 +112,6 @@ BuildRequires: python-modules >= 2.2 BuildRequires: rpm-perlprov BuildRequires: rpm-pythonprov BuildRequires: zlib-devel -BuildRequires: libselinux-devel %if %{with static} # Require static library only for static build BuildRequires: beecrypt-static >= %{beecrypt_ver} @@ -128,21 +120,20 @@ BuildRequires: db-static >= %{reqdb_ver} BuildRequires: glibc-static >= 2.2.94 BuildRequires: elfutils-static #BuildRequires: libmagic-static +BuildRequires: libselinux-static BuildRequires: popt-static >= %{reqpopt_ver} BuildRequires: zlib-static %endif Requires: popt >= %{reqpopt_ver} Requires: %{name}-lib = %{version}-%{release} +%{!?with_static:Obsoletes: rpm-utils-static} 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) -# 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 +%define _binary_payload w9.gzdio +%define _noPayloadPrefix 1 # don't require very fresh rpm.macros to build %define __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,} @@ -215,7 +206,7 @@ Group: Development/Libraries Requires: %{name}-lib = %{version}-%{release} Requires: beecrypt-devel >= %{beecrypt_ver} Requires: bzip2-devel -Requires: db-devel +Requires: db-devel >= %{reqdb_ver} Requires: elfutils-devel Requires: libselinux-devel Requires: popt-devel >= %{reqpopt_ver} @@ -277,7 +268,7 @@ Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} Requires: beecrypt-static >= %{beecrypt_ver} Requires: bzip2-static -Requires: db-static +Requires: db-static >= %{reqdb_ver} Requires: elfutils-static Requires: popt-static >= %{reqpopt_ver} Requires: zlib-static @@ -466,7 +457,7 @@ Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk Requires: binutils -Requires: chrpath +Requires: chrpath >= 0.10-4 Requires: diffutils Requires: file >= 4.01 Requires: fileutils @@ -549,8 +540,7 @@ construir pacotes usando o RPM. %prep %setup -q -# pl.po translation -#%patch0 -p1 +%patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -562,8 +552,7 @@ construir pacotes usando o RPM. %patch9 -p1 %patch10 -p1 %patch11 -p1 -# OBSOLETE (C) -#%patch12 -p1 +%patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 @@ -573,32 +562,28 @@ construir pacotes usando o RPM. %patch19 -p1 %patch20 -p1 %patch21 -p1 -# 1x1h MERGE WITH 14, no - OBSOLETE -#%patch22 -p1 -# 3x1h OBSOLETE (already handled in quite well way) -#%patch23 -p1 -%patch24 -p1 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in cp -f platform.in macros.pld.in -echo '%%define _perl_deps 1' > macros.perl +echo '%%define __perl_provides /usr/lib/rpm/perl.prov' > macros.perl +echo '%%define __perl_requires /usr/lib/rpm/perl.req' >> macros.perl echo '# obsoleted file' > macros.python -echo '%%define _php_deps 1' > macros.php -install %{SOURCE6} scripts/find-lang.sh -install %{SOURCE12} scripts/php.prov.in -install %{SOURCE13} scripts/php.req.in -install %{SOURCE33} scripts/perl.prov -cat %{SOURCE14} >> macros.in -#%patch25 -p1 +echo '%%define __php_provides /usr/lib/rpm/php.prov' > macros.php +echo '%%define __php_requires /usr/lib/rpm/php.req' >> macros.php +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 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 %patch26 -p1 %patch27 -p1 -# obsolete? -#%patch28 -p1 -# OBSOLETE -#%patch29 -p1 -# OBSOLETE -#%patch30 -p1 -# OBSOLETE -#%patch31 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 %patch32 -p1 %patch33 -p1 %patch34 -p1 @@ -606,24 +591,21 @@ cat %{SOURCE14} >> macros.in %patch36 -p1 %patch37 -p1 %patch38 -p1 -# OBSOLETE -#%patch39 -p1 +%patch39 -p1 %patch40 -p1 -%patch41 -p1 -%patch42 -p1 -# OBSOLETE -#%patch43 -p1 cd scripts; mv -f perl.req perl.req.in mv -f perl.prov perl.prov.in cd .. -chmod +x %{SOURCE4} +mv -f po/{no,nb}.po +mv -f po/{sr,sr@Latn}.po + rm -rf zlib libelf db db3 popt rpmdb/db.h # generate Group translations to *.po -awk -f %{SOURCE9} %{SOURCE1} +awk -f %{SOURCE6} %{SOURCE1} # update macros paths for f in doc{,/ja,/pl}/rpm.8 doc{,/ja,/pl}/rpmbuild.8 ; do @@ -633,7 +615,6 @@ done %build cd file -rm -f missing %{__libtoolize} %{__aclocal} %{__autoheader} @@ -641,7 +622,6 @@ rm -f missing %{__automake} cd .. -rm -f missing %{__libtoolize} %{__gettextize} %{__aclocal} @@ -657,17 +637,24 @@ 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="%{__cc}" \ + CXX="%{__cxx}" \ + CPP="%{__cpp}" \ --enable-shared \ --enable-static \ - %{?with_docs:--with-apidocs} \ + %{?with_doc:--with-apidocs} \ %{?with_python:--with-python=auto} \ %{!?with_python:--without-python} \ --without-db +# file_LDFLAGS, debugedit_LDADD - no need to link "file" and "debugedit" statically %{__make} \ - %{!?with_static:rpm_LDFLAGS="\$(myLDFLAGS)"} \ - myLDFLAGS="%{rpmldflags}" + pylibdir=%{py_libdir} \ + myLDFLAGS="%{rpmldflags}" \ + file_LDFLAGS= \ + debugedit_LDADD="\$(WITH_LIBELF_LIB) -lpopt" + +# %{!?with_static:rpm_LDFLAGS="\$(myLDFLAGS)"} \ %install rm -rf $RPM_BUILD_ROOT @@ -675,25 +662,22 @@ install -d $RPM_BUILD_ROOT/%{_lib} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT \ + pylibdir=%{py_libdir} \ pkgbindir="%{_bindir}" +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 + install macros.perl $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl install macros.python $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python install macros.php $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php install %{SOURCE1} doc/manual/groups install %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree -install %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-rpm-provides -install %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/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%{_rpmlibdir}/find-provides -install %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/find-requires -install %{SOURCE10} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc -install %{SOURCE11} $RPM_BUILD_ROOT%{_rpmlibdir}/check-files -install %{SOURCE15} $RPM_BUILD_ROOT%{_rpmlibdir}/find-provides-wrapper -install %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/find-requires-wrapper +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 scripts/find-php* $RPM_BUILD_ROOT%{_rpmlibdir} install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir} @@ -709,21 +693,26 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep <