Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
Version: 5.4.15
-Release: 6
+Release: 38
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
# 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
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
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
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
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}
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}
%define x8664 amd64 ia32e x86_64
# stabilize new build environment
+%ifnarch x32
%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}
+%else
+# x32 is a very special case
+%define __newcc %{?force_cc}%{!?force_cc:x86_64-pld-linux-gnux32-gcc}
+%define __newcxx %{?force_cxx}%{!?force_cxx:x86_64-pld-linux-gnux32-g++}
+%define __newcpp %{?force_cpp}%{!?force_cpp:x86_64-pld-linux-gnux32-gcc -E}
+%endif
%define _rpmlibdir /usr/lib/rpm
%define _noautocompressdoc RPM-GPG-KEY
Group: Applications/File
Requires(pretrans): coreutils
Requires(pretrans): findutils
-Requires: %{name}-build-macros >= 1.699
+Requires: %{name}-build-macros >= 1.712
Requires: %{name}-utils = %{version}-%{release}
Requires: /bin/id
Requires: awk
Group: Applications/File
Requires: %{name} = %{version}-%{release}
Requires: python
-Requires: python-distribute
+Requires: python-setuptools
Requires: python-modules
%description pythonprov
ź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
%patch70 -p1
%patch71 -p1
%patch72 -p1
-%patch73 -p1
%patch74 -p1
%patch75 -p1
%patch77 -p0
%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
%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}
--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 \
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
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
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
%{_rpmlibdir}/macros.d/pld
%{_rpmlibdir}/cpuinfo.yaml
%{_rpmlibdir}/noarch-*
-%ifarch %{ix86}
+%ifarch %{ix86} %{x8664} x32
%{_rpmlibdir}/i?86*
%{_rpmlibdir}/pentium*
%{_rpmlibdir}/athlon*
%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
%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)
%{_rpmlibdir}/macros.d/cmake
%{_rpmlibdir}/macros.d/gstreamer
%{_rpmlibdir}/macros.d/java
-# moved to rpm-build-macros 1.699
-#%{_rpmlibdir}/macros.d/kernel
%{_rpmlibdir}/macros.d/libtool
%{_rpmlibdir}/macros.d/mono
%{_rpmlibdir}/macros.d/perl
%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