X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=ac613f1eb474f537952b18287c27c27763755dde;hp=9d64e419df9c083a029443038f247a44b43bb29c;hb=affe917daa01f2d0aab93a5aa7d76da16a854f53;hpb=8ea8ded4494d6e8b157adebec00fe776ee3f2a85 diff --git a/rpm.spec b/rpm.spec index 9d64e41..ac613f1 100644 --- a/rpm.spec +++ b/rpm.spec @@ -18,10 +18,6 @@ %bcond_with system_lua # use system lua %bcond_without system_pcre # use system pcre %bcond_with keyutils # build with keyutils support -# 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" -# %if %{with sqlite} # Error: /lib64/librpmio-5.4.so: undefined symbol: sqlite3_enable_load_extension @@ -51,14 +47,15 @@ Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm Version: 5.4.15 -Release: 5 +Release: 41 License: LGPL v2.1 Group: Base # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm Source0: %{name}-%{version}.tar.gz # Source0-md5: 4067f83ca8b5bf1a21e443c0cff3efa0 -Source100: cpu-os-macros.tar.gz -# Source100-md5: 928034a5bdceb398881bc14b5f29973b +# See README.cpu-os-macros how to update cpu-os-macros.a +Source100: cpu-os-macros.a +Source101: README.cpu-os-macros Source1: %{name}.groups Source2: macros.pld.in Source3: %{name}-install-tree @@ -76,7 +73,7 @@ Source14: %{name}-java-requires # http://svn.pld-linux.org/banner.sh/ Source15: banner.sh Source16: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc -# Source16-md5: 08b29584dd349aac9caa7610131a0a88 +# Source16-md5: 23914bb49fafe7153cee87126d966461 Source17: %{name}-mimetypedeps Source18: macros.local Source19: %{name}.noautocompressdoc @@ -90,6 +87,7 @@ Source27: macros.lang Source28: %{name}db_reset.c Source29: dbupgrade.sh Source30: rubygems.rb +Source31: gem_helper.rb Patch0: %{name}-branch.patch Patch1: %{name}-man_pl.patch Patch2: %{name}-popt-aliases.patch @@ -116,6 +114,7 @@ Patch22: %{name}-sparc64.patch Patch23: %{name}-gendiff.patch Patch24: openmp.patch Patch25: %{name}-URPM-build-fix.patch +Patch26: %{name}-semanage.patch Patch27: %{name}-helperEVR-noassert.patch Patch28: %{name}-unglobal.patch Patch29: %{name}-builddir-readlink.patch @@ -148,6 +147,7 @@ Patch55: %{name}-disable-hmac-verify.patch Patch56: %{name}-macros.patch Patch57: %{name}-db5.2.patch Patch58: %{name}-preserve-iterator.patch +Patch59: gcc6-stdlib.patch Patch60: %{name}-python-sitescriptdir.patch Patch61: %{name}-clean-docdir.patch Patch62: %{name}-DB_CONFIG.patch @@ -159,7 +159,6 @@ Patch67: %{name}-repackage-dont-force-max-compression.patch Patch70: python-%{name}sense-missingok.patch Patch71: %{name}-changelog-encoding.patch Patch72: %{name}-preserve-tag-type.patch -Patch73: gem_helper-spec-arg.patch Patch74: %{name}-fix-internal-lua-build.patch Patch75: %{name}-double_check_file_deps.patch Patch77: %{name}-lua-expat.patch @@ -169,6 +168,19 @@ Patch80: %{name}-revert-gpg-argv-parsing.patch Patch81: %{name}-perl-magic.patch Patch82: %{name}-5.4.15-use-DSA-sig.patch Patch83: %{name}-ignore-missing-macro-files.patch +Patch84: x32.patch +Patch85: rpm-CVE-2013-6435.patch +Patch86: rpm-CVE-2014-8118.patch +Patch87: %{name}-file-output-for-ELF.patch +Patch88: %{name}-rpmtdnext.patch +Patch89: disable-header-verification.patch +Patch90: %{name}-cppcompat.patch +Patch91: py-disable-fetch.patch +Patch92: fast_python_deps.patch +Patch93: python2_explicit.patch +Patch94: do_not_write_before_macro_buffer.patch +Patch95: rpm-python-spec-header.patch +Patch96: skip-ldconfig-optimization.patch # Patches imported from Mandriva @@ -278,6 +290,17 @@ Patch1044: %{name}-5.4.12-fix-rpmlua-print.patch Patch1045: %{name}-5.4.12-fix-rpmpython-module-import-init.patch Patch1046: %{name}-5.4.12-truncate-output-buffer-after-use.patch Patch1047: %{name}-5.4.13-perl-bindings-do-not-use-xmalloc.patch +# proyvind: +# there's a rpmdbchk tool I wrote a while back, which might help you. although +# the incidents it's able to deal with is rather limited ATM... it might help +# you out, if not and you'll be able to solve yer problem, you could take a +# stab at adding support for fixing your specific problem to the util ;) +# https://abf.io/openmandriva/rpm/raw/master/rpm-5.4.14-rpmdbchk.patch +Patch1048: %{name}-5.4.14-rpmdbchk.patch +# https://abf.io/openmandriva/rpm/raw/master/rpm-5.4.14-no-assert-abort-with-broken-headers.patch +Patch1049: %{name}-5.4.14-no-assert-abort-with-broken-headers.patch + +Patch1050: python-libx32.patch URL: http://rpm5.org/ BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver} @@ -291,7 +314,7 @@ BuildRequires: automake >= 1.4 BuildRequires: beecrypt-devel >= %{beecrypt_ver} BuildRequires: bzip2-devel >= 1.0.2-17 BuildRequires: elfutils-devel >= 0.108 -BuildRequires: gettext-devel >= 0.19.2 +BuildRequires: gettext-tools >= 0.19.2 %{?with_keyutils:BuildRequires: keyutils-devel} BuildRequires: libmagic-devel %if %{with selinux} @@ -339,6 +362,7 @@ BuildRequires: popt-static >= %{reqpopt_ver} BuildRequires: zlib-static %endif Requires(posttrans): coreutils +Requires: FHS >= 3.0-2 Requires: %{name}-base = %{version}-%{release} Requires: %{name}-lib = %{version}-%{release} Requires: beecrypt >= %{beecrypt_ver} @@ -363,11 +387,6 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define ppc ppc ppc7400 ppc7450 %define x8664 amd64 ia32e x86_64 -# stabilize new build environment -%define __newcc %{?force_cc}%{!?force_cc:%{_target_cpu}-pld-linux-gcc} -%define __newcxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-pld-linux-g++} -%define __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E} - %define _rpmlibdir /usr/lib/rpm %define _noautocompressdoc RPM-GPG-KEY @@ -647,7 +666,7 @@ Summary(uk.UTF-8): Скрипти та утиліти, необхідні для Group: Applications/File Requires(pretrans): coreutils Requires(pretrans): findutils -Requires: %{name}-build-macros >= 1.656 +Requires: %{name}-build-macros >= 1.712 Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk @@ -748,7 +767,7 @@ Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napi Group: Applications/File Requires: %{name} = %{version}-%{release} Requires: python -Requires: python-distribute +Requires: python-setuptools Requires: python-modules %description pythonprov @@ -841,7 +860,12 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze źrodeł RPM-a przez doxygen. %prep -%setup -q -n %{name}-%{version}%{?subver} -a100 +%setup -q -n %{name}-%{version}%{?subver} +install -d platform +cd platform +ar x %{SOURCE100} +cd - + #patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -873,6 +897,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch23 -p1 %patch24 -p1 %patch25 -p1 +%patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 @@ -905,6 +930,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch56 -p1 %{!?with_db61:%patch57 -p1} %patch58 -p1 +%patch59 -p1 %patch60 -p1 %patch61 -p1 %patch62 -p1 @@ -916,7 +942,6 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch70 -p1 %patch71 -p1 %patch72 -p1 -%patch73 -p1 %patch74 -p1 %patch75 -p1 %patch77 -p0 @@ -925,6 +950,14 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch80 -p1 %patch81 -p0 %patch82 -p1 +%patch84 -p1 +%patch85 -p1 +%patch86 -p1 +%patch87 -p1 +%patch88 -p1 +%patch89 -p1 +%patch90 -p1 +%patch91 -p1 %patch1000 -p1 %patch1001 -p1 @@ -971,14 +1004,26 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch1045 -p1 %patch1046 -p1 %patch1047 -p1 +%patch1048 -p1 +%patch1049 -p1 %patch83 -p1 +%patch92 -p1 +%patch93 -p1 +%patch94 -p1 +%patch95 -p1 +%patch96 -p1 + +%patch1050 -p1 install %{SOURCE2} macros/pld.in install %{SOURCE8} scripts/php.prov.in install %{SOURCE9} scripts/php.req.in install %{SOURCE11} scripts/perl.prov.in cp -p %{SOURCE30} scripts/rubygems.rb +cp -p %{SOURCE31} scripts/gem_helper.rb + +rm scripts/find-php* %{__mv} -f scripts/perl.req{,.in} @@ -1008,11 +1053,7 @@ sed -i \ macros/macros.in %{?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}" \ - CXX="%{__newcxx}" \ - CPP="%{__newcpp}" \ WITH_PERL_VERSION=no \ __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \ --disable-silent-rules \ @@ -1030,7 +1071,7 @@ sed -i \ --with-lua=%{!?with_system_lua:internal}%{?with_system_lua:external} \ --with-lzma=external \ --with-neon=%{?with_neon:external}%{!?with_neon:no} \ - --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/%%{_target}/macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/macros.build:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%%{_target}/macros:%{_sysconfdir}/rpm/macros.d/*.macros:~/etc/.rpmmacros:~/.rpmmacros' \ + --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/%%{_target}/macros:%{_rpmlibdir}/macros.build:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%%{_target}/macros:%{_sysconfdir}/rpm/macros.d/*.macros:~/etc/.rpmmacros:~/.rpmmacros' \ --without-path-versioned \ --with-pcre=%{!?with_system_pcre:internal}%{?with_system_pcre:external} \ --with-popt=external \ @@ -1045,10 +1086,7 @@ sed -i \ --with-xz=external \ --with-zlib=external -%{__make} -j1 \ - CC="%{__cc}" \ - CXX="%{__cxx}" \ - CPP="%{__cpp}" +%{__make} -j1 %{?with_apidocs:%{__make} apidocs} @@ -1077,69 +1115,92 @@ install %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key pkgconfigdir=%{_pkgconfigdir} \ DESTDIR=$RPM_BUILD_ROOT -# install ARCH macros -install -d $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux -install cpu-os-macros/noarch-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros - -%ifarch %{ix86} -install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{i386,i486,i586,i686,athlon,pentium3,pentium4}-linux -install cpu-os-macros/athlon-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/athlon-linux/macros -install cpu-os-macros/i386-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/i386-linux/macros -install cpu-os-macros/i486-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/i486-linux/macros -install cpu-os-macros/i586-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/i586-linux/macros -install cpu-os-macros/i686-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/i686-linux/macros -install cpu-os-macros/pentium3-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/pentium3-linux/macros -install cpu-os-macros/pentium4-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/pentium4-linux/macros +# install platform macros +for f in platform/*macros; do + bn=${f#*/} + fn=${bn%.macros}/macros + install -m644 $f -D %{buildroot}%{_rpmlibdir}/$fn +done + +# cleanup +%ifnarch %{ix86} %{x8664} x32 +rm $RPM_BUILD_ROOT%{_rpmlibdir}/athlon-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/i386-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/i486-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/i586-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/i686-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/pentium3-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/pentium4-linux/macros %endif -%ifarch %{x8664} -install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{x86_64,ia32e,amd64}-linux -install cpu-os-macros/x86_64-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/x86_64-linux/macros -install cpu-os-macros/ia32e-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/ia32e-linux/macros -install cpu-os-macros/amd64-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/amd64-linux/macros +%ifnarch %{x8664} x32 +rm $RPM_BUILD_ROOT%{_rpmlibdir}/amd64-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/ia32e-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/x32-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/x86_64-linux/macros %endif -%ifarch %{ppc} -install -d $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux -install cpu-os-macros/ppc-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux/macros +%ifnarch %{ppc} +rm $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux/macros %endif +rm $RPM_BUILD_ROOT%{_rpmlibdir}/alpha*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/arm*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/ia64-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/k6-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/mips*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/ppc*series-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/ppc64*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/s390*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/sparc*-linux/macros + cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform # first platform file entry can't contain regexps +%ifarch x32 +%{_target_cpu}-%{_target_vendor}-linux-gnux32 +%else %{_target_cpu}-%{_target_vendor}-linux +%endif %ifarch x86_64 x86_64-[^-]*-[Ll]inux(-gnu)? amd64-[^-]*-[Ll]inux(-gnu)? +x32-[^-]*-[Ll]inux(-gnu(x32)?)? %endif %ifarch amd64 amd64-[^-]*-[Ll]inux(-gnu)? x86_64-[^-]*-[Ll]inux(-gnu)? +x32-[^-]*-[Ll]inux(-gnu(x32)?)? %endif %ifarch ia32e ia32e-[^-]*-[Ll]inux(-gnu)? x86_64-[^-]*-[Ll]inux(-gnu)? %endif +%ifarch x32 +x32-[^-]*-[Ll]inux(-gnu(x32)?)? +x86_64-[^-]*-[Ll]inux(-gnu)? +amd64-[^-]*-[Ll]inux(-gnu)? +%endif -%ifarch athlon %{x8664} +%ifarch athlon %{x8664} x32 athlon-[^-]*-[Ll]inux(-gnu)? %endif -%ifarch pentium4 athlon %{x8664} +%ifarch pentium4 athlon %{x8664} x32 pentium4-[^-]*-[Ll]inux(-gnu)? %endif -%ifarch pentium3 pentium4 athlon %{x8664} +%ifarch pentium3 pentium4 athlon %{x8664} x32 pentium3-[^-]*-[Ll]inux(-gnu)? %endif -%ifarch i686 pentium3 pentium4 athlon %{x8664} +%ifarch i686 pentium3 pentium4 athlon %{x8664} x32 i686-[^-]*-[Ll]inux(-gnu)? %endif -%ifarch i586 i686 pentium3 pentium4 athlon %{x8664} +%ifarch i586 i686 pentium3 pentium4 athlon %{x8664} x32 i586-[^-]*-[Ll]inux(-gnu)? %endif -%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} +%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 i486-[^-]*-[Ll]inux(-gnu)? %endif -%ifarch %{ix86} %{x8664} +%ifarch %{ix86} %{x8664} x32 i386-[^-]*-[Ll]inux(-gnu)? %endif @@ -1204,7 +1265,6 @@ install %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond install %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc install %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh install %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires -install scripts/find-php* $RPM_BUILD_ROOT%{_rpmlibdir} install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir} cp -p %{SOURCE25} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php install %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh @@ -1239,6 +1299,9 @@ for m in gstreamer java mono perl php python; do echo "%%{load:%{_rpmlibdir}/macros.d/$m}" >$RPM_BUILD_ROOT%{_rpmlibdir}/macros.$m done +# moved to rpm-build-macros 1.699 +%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.d/kernel + # for rpm -e|-U --repackage install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm} touch $RPM_BUILD_ROOT/var/lock/rpm/transaction @@ -1352,7 +1415,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/macros.d/pld %{_rpmlibdir}/cpuinfo.yaml %{_rpmlibdir}/noarch-* -%ifarch %{ix86} +%ifarch %{ix86} %{x8664} x32 %{_rpmlibdir}/i?86* %{_rpmlibdir}/pentium* %{_rpmlibdir}/athlon* @@ -1372,10 +1435,11 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %ifarch sparc sparc64 %{_rpmlibdir}/sparc* %endif -%ifarch %{x8664} +%ifarch %{x8664} x32 %{_rpmlibdir}/amd64* %{_rpmlibdir}/ia32e* %{_rpmlibdir}/x86_64* +%{_rpmlibdir}/x32* %endif %attr(755,root,root) %{_rpmlibdir}/hrmib-cache @@ -1385,6 +1449,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{_rpmlibdir}/bin/dbupgrade.sh %attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_checkversion %attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_reset +%attr(755,root,root) %{_rpmlibdir}/bin/rpmdbchk %files base %defattr(644,root,root,755) @@ -1513,7 +1578,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/macros.d/cmake %{_rpmlibdir}/macros.d/gstreamer %{_rpmlibdir}/macros.d/java -%{_rpmlibdir}/macros.d/kernel %{_rpmlibdir}/macros.d/libtool %{_rpmlibdir}/macros.d/mono %{_rpmlibdir}/macros.d/perl @@ -1571,8 +1635,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files php-pearprov %defattr(644,root,root,755) -%attr(755,root,root) %{_rpmlibdir}/php* -%attr(755,root,root) %{_rpmlibdir}/find-php* +%attr(755,root,root) %{_rpmlibdir}/php.prov +%attr(755,root,root) %{_rpmlibdir}/php.req +%attr(755,root,root) %{_rpmlibdir}/php.req.php %if %{with python} %files -n python-rpm