X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=62c8f9b620e2fc3847767eb5e4fae6dabb10842c;hp=fccfa6a13c8284605ad3cafa78a8e11e4823d4d2;hb=7d55c7576f9e994574a1a2fda078d462a21418df;hpb=9dce4e74d45a93d4cf8b31ddcf4c54c3aeb2ef57 diff --git a/rpm.spec b/rpm.spec index fccfa6a..62c8f9b 100644 --- a/rpm.spec +++ b/rpm.spec @@ -8,11 +8,6 @@ # i386 i386 # - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.* # matches ELF first -# - repackaging when lzma is not installed (todo: fix digest signature of header) -# rpmbuild computes digest when writing package to temporary file, then adds a few -# tags (incl. digest) and writes whole package to destination file; -# repackaging uses unchanged "immutable header" image from original rpm, also -# preserving payload format and compressor from original rpm, _not_ current settings # - TODO: add macros for some ppc, mipsel, alpha and sparc # - uppackaged list: # /usr/lib/rpm/http.req @@ -22,10 +17,11 @@ # /usr/lib/rpm/osgideps.pl # /usr/lib/rpm/perldeps.pl # /usr/lib/rpm/vcheck -# /usr/share/man/man8/rpmconstant.8.gz +# /usr/share/man/man8/rpmconstant.8 # # Conditional build: %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 %bcond_without selinux # build without selinux support @@ -48,12 +44,12 @@ ERROR %endif -# # versions of required libraries -%define reqdb_ver 4.6.18 -%define reqpopt_ver 1.10.8 -%define beecrypt_ver 2:4.1.2-4 -%define sover 5.0 +%define reqdb_ver 4.7.25 +%define reqpopt_ver 1.10.8 +%define beecrypt_ver 2:4.1.2-4 +%define sover 5.0 + Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager Summary(es.UTF-8): Gestor de paquetes RPM @@ -62,12 +58,12 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 5.0.2 -Release: 0.7 +Version: 5.1.4 +Release: 0.5 License: LGPL Group: Base -Source0: http://rpm5.org/files/rpm/rpm-5.0/%{name}-%{version}.tar.gz -# Source0-md5: 596aaf5cd9dea7195f625530bc89e684 +Source0: http://rpm5.org/files/rpm/rpm-5.1/%{name}-%{version}.tar.gz +# Source0-md5: 9a04c22ce1dffc81a7e43d39b002aaa1 Source1: %{name}.groups Source2: %{name}.platform Source3: %{name}-install-tree @@ -87,7 +83,9 @@ Source16: %{name}-java-requires # http://svn.pld-linux.org/banner.sh/ Source17: banner.sh Source18: %{name}-pld.macros - +Source19: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc +# Source19-md5: 08b29584dd349aac9caa7610131a0a88 +Source20: %{name}-mimetypedeps Source100: %{name}-macros-athlon Source101: %{name}-macros-i386 Source102: %{name}-macros-i486 @@ -101,8 +99,9 @@ Source109: %{name}-macros-x86_64 Source110: %{name}-macros-ia32e Source111: %{name}-macros-amd64 -#Patch0: %{name}-pl.po.patch +Patch0: %{name}-branch.patch Patch1: %{name}-man_pl.patch +Patch2: %{name}-popt-aliases.patch Patch3: %{name}-rpmpopt.patch Patch4: %{name}-perl-macros.patch Patch5: %{name}-perl-req-perlfile.patch @@ -112,12 +111,11 @@ Patch8: %{name}-php-macros.patch Patch9: %{name}-gettext-in-header.patch Patch10: %{name}-compress-doc.patch Patch11: %{name}-lua.patch -Patch12: %{name}-scaremem.patch Patch14: %{name}-etc_dir.patch Patch16: %{name}-php-deps.patch - -Patch18: %{name}-perl_req.patch +Patch17: %{name}-macros.patch +Patch18: %{name}-macros-th.patch Patch23: %{name}-pkgconfigdeps.patch @@ -139,9 +137,8 @@ Patch52: %{name}-morearchs.patch Patch55: %{name}-truncate-cvslog.patch -Patch58: %{name}-repackage-wo-lzma.patch Patch59: %{name}-libtool-deps.patch - +Patch60: %{name}-mimetype.patch Patch61: %{name}-sparc64.patch URL: http://rpm5.org/ BuildRequires: autoconf >= 2.60 @@ -152,6 +149,7 @@ BuildRequires: bzip2-devel >= 1.0.2-17 BuildRequires: elfutils-devel >= 0.108 BuildRequires: gettext-autopoint >= 0.11.4-2 BuildRequires: gettext-devel >= 0.11.4-2 +BuildRequires: lzma-devel >= 4.999.3 BuildRequires: libmagic-devel %{?with_selinux:BuildRequires: libselinux-devel >= 1.18} # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros @@ -170,6 +168,12 @@ BuildRequires: rpm-perlprov %{?with_python:BuildRequires: rpm-pythonprov} %{?with_sqlite:BuildRequires: sqlite3-devel} BuildRequires: zlib-devel +%if %{with apidocs} +BuildRequires: doxygen +BuildRequires: ghostscript +BuildRequires: graphviz +BuildRequires: tetex-pdftex +%endif %if %{with static} # Require static library only for static build BuildRequires: beecrypt-static >= %{beecrypt_ver} @@ -186,10 +190,14 @@ Requires: %{name}-base = %{version}-%{release} Requires: %{name}-lib = %{version}-%{release} Requires: beecrypt >= %{beecrypt_ver} Requires: popt >= %{reqpopt_ver} +Provides: rpm-db-ver = %{reqdb_ver} +Obsoletes: rpm-getdeps %{!?with_static:Obsoletes: rpm-utils-static} Conflicts: glibc < 2.2.92 # db4.6 poldek needed Conflicts: poldek < 0.21-0.20070703.00.3 +# segfaults with lzma 0.42.2 +Conflicts: lzma-libs < 4.999.3 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _binary_payload w9.gzdio @@ -291,8 +299,6 @@ Requires: beecrypt >= %{beecrypt_ver} Requires: libmagic >= 1.15-2 %{?with_selinux:Requires: libselinux >= 1.18} Requires: popt >= %{reqpopt_ver} -%{?with_suggest_tags:Suggests: lzma} -Obsoletes: rpm-apidocs Obsoletes: rpm-libs # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 @@ -413,6 +419,10 @@ Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami Group: Applications/File Requires: %{name} = %{version}-%{release} Requires: popt >= %{reqpopt_ver} +%if %{with suggest_tags} +Suggests: bzip2 +Suggests: gzip +%endif Conflicts: filesystem-debuginfo < 3.0-16 %description utils @@ -489,7 +499,6 @@ Requires: gcc Requires: glibc-devel Requires: grep Requires: gzip -Requires: lzma Requires: make Requires: patch Requires: sed @@ -625,12 +634,24 @@ RPM (RPM Package Manager). Esse pacote deve ser instalado se você quiser desenvolver programas em Python para manipular pacotes e bancos de dados RPM. -%prep -%setup -q +%package apidocs +Summary: RPM API documentation and guides +Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki +Group: Documentation + +%description apidocs +Documentation for RPM API and guides in HTML format generated from rpm +sources by doxygen. -# APPLIED ALREADY? translationproject.org is used now -#%%patch0 -p1 +%description apidocs -l pl.UTF-8 +Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze +źrodeł RPM-a przez doxygen. + +%prep +%setup -q -n %{name}-%{version}%{?subver} +%patch0 -p1 %patch1 -p1 +%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 @@ -640,11 +661,9 @@ Python para manipular pacotes e bancos de dados RPM. %patch9 -p1 %patch10 -p1 %{?with_system_lua:%patch11 -p1} -%patch12 -p1 # CHECK ME - macrofiles: ~/etc could be used #%%patch14 -p1 %patch16 -p1 -%patch18 -p1 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 @@ -673,8 +692,10 @@ install %{SOURCE12} scripts/perl.prov # OLD COMMENTED OUT #%%patch52 -p1 -- morearchs (rpmrc patch) adds ppc7400, ppc7400 %patch55 -p1 -%patch58 -p1 %patch59 -p1 +%patch17 -p1 +%patch18 -p1 +%patch60 -p1 %ifarch sparc64 %patch61 -p1 %endif @@ -695,7 +716,7 @@ awk -f %{SOURCE6} %{SOURCE1} %build %{__libtoolize} -%{__autopoint} +#%{__autopoint} %{__aclocal} %{__autoheader} %{__autoconf} @@ -705,7 +726,7 @@ awk -f %{SOURCE6} %{SOURCE1} # rpm checks for CPU type at runtime, but it looks better #sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu@|%{_target_cpu}|' macros.in -%{?with_system_lua:CPPFLAGS=-I/usr/include/lua51} +%{?with_system_lua:CPPFLAGS="-I/usr/include/lua51 %{rpmcppflags}"} # pass CC and CXX too in case of building with some older configure macro %configure \ CC="%{__newcc}" \ @@ -715,6 +736,7 @@ awk -f %{SOURCE6} %{SOURCE1} %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \ --enable-shared \ --enable-static \ + %{!?with_apidocs:--without-apidocs} \ %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \ %{!?with_python:--without-python} \ --with%{!?with_selinux:out}-selinux \ @@ -722,6 +744,7 @@ awk -f %{SOURCE6} %{SOURCE1} --with-zlib=external \ --with-bzip2=external \ --with-beecrypt=external \ + --with-lzma=external \ --with-neon=%{?with_neon:external}%{!?with_neon:no} \ --with-file=external \ --with-popt=external \ @@ -732,17 +755,21 @@ awk -f %{SOURCE6} %{SOURCE1} --with-pcre=no \ --with-keyutils=none \ --without-path-versioned \ - --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.pld:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/%%{_target}/macros:%{_sysconfdir}/macros.*:%{_sysconfdir}/macros:%{_sysconfdir}/%%{_target}/macros:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \ + --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.pld:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/%%{_target}/macros:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%%{_target}/macros:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \ --with-bugreport="http://bugs.pld-linux.org/" -%{__make} \ +%{__make} -j1 \ CC="%{__cc}" \ CXX="%{__cxx}" \ CPP="%{__cpp}" +%{?with_apidocs:%{__make} apidocs} + %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib} +install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib,/etc/pki/rpm-gpg} + +install %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc %{__make} install \ pkgconfigdir=%{_pkgconfigdir} \ @@ -775,85 +802,87 @@ install -d $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux install %{SOURCE108} $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux/macros %endif +cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform # first platform file entry can't contain regexps -echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%{_target_cpu}-%{_target_vendor}-linux # x86_64 things %ifarch x86_64 -echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +x86_64-[^-]*-[Ll]inux(-gnu)? +amd64-[^-]*-[Ll]inux(-gnu)? %endif %ifarch amd64 -echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +amd64-[^-]*-[Ll]inux(-gnu)? +x86_64-[^-]*-[Ll]inux(-gnu)? %endif %ifarch ia32e -echo "ia32e-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +ia32e-[^-]*-[Ll]inux(-gnu)? +x86_64-[^-]*-[Ll]inux(-gnu)? %endif # x86 things %ifarch athlon %{x8664} -echo "athlon-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +athlon-[^-]*-[Ll]inux(-gnu)? %endif %ifarch pentium4 athlon %{x8664} -echo "pentium4-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +pentium4-[^-]*-[Ll]inux(-gnu)? %endif %ifarch pentium3 pentium4 athlon %{x8664} -echo "pentium3-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +pentium3-[^-]*-[Ll]inux(-gnu)? %endif %ifarch i686 pentium3 pentium4 athlon %{x8664} -echo "i686-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +i686-[^-]*-[Ll]inux(-gnu)? %endif %ifarch i586 i686 pentium3 pentium4 athlon %{x8664} -echo "i586-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +i586-[^-]*-[Ll]inux(-gnu)? %endif %ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} -echo "i486-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +i486-[^-]*-[Ll]inux(-gnu)? %endif %ifarch %{ix86} %{x8664} -echo "i386-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +i386-[^-]*-[Ll]inux(-gnu)? %endif %ifarch alpha -echo "alpha-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +alpha-[^-]*-[Ll]inux(-gnu)? %endif %ifarch ia64 -echo "ia64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +ia64-[^-]*-[Ll]inux(-gnu)? %endif %ifarch ppc64 -echo "powerpc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "ppc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +powerpc64-[^-]*-[Ll]inux(-gnu)? +ppc64-[^-]*-[Ll]inux(-gnu)? %endif %ifarch %{ppc} ppc64 -echo "powerpc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "ppc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +powerpc-[^-]*-[Ll]inux(-gnu)? +ppc-[^-]*-[Ll]inux(-gnu)? %endif %ifarch s390x -echo "s390x-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +s390x-[^-]*-[Ll]inux(-gnu)? %endif %ifarch s390 s390x -echo "s390-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +s390-[^-]*-[Ll]inux(-gnu)? %endif %ifarch sparc64 -echo "sparc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "sparcv8-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "sparcv9-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +sparc64-[^-]*-[Ll]inux(-gnu)? +sparcv8-[^-]*-[Ll]inux(-gnu)? +sparcv9-[^-]*-[Ll]inux(-gnu)? %endif %ifarch sparcv9 -echo "sparcv8-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -echo "sparcv9-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +sparcv8-[^-]*-[Ll]inux(-gnu)? +sparcv9-[^-]*-[Ll]inux(-gnu)? %endif %ifarch sparc sparcv9 sparc64 -echo "sparc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +sparc-[^-]*-[Ll]inux(-gnu)? %endif # noarch -echo "noarch-[^-]*-.*" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +noarch-[^-]*-.* +EOF %ifarch %{ppc} #sed -e '/_target_platform/s/[%]{_target_cpu}/ppc/' \ @@ -884,6 +913,7 @@ install %{SOURCE13} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh install %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires install scripts/find-php* $RPM_BUILD_ROOT%{_rpmlibdir} install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir} +install %{SOURCE20} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh install %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm @@ -984,6 +1014,8 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <