X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=5998f6623d1b04fa64b1b2ca52765f290a0c154d;hp=e8e15a4f825ef1a903b0985ce99ffc65c118c8b8;hb=8a13e4c4314ab94a5bd43fb8c6ea259537c21f9a;hpb=e5486255e7ecf6559dfb45a5638ff8d9fbc545c2 diff --git a/rpm.spec b/rpm.spec index e8e15a4..5998f66 100644 --- a/rpm.spec +++ b/rpm.spec @@ -12,10 +12,11 @@ %bcond_without python # don't build python bindings %bcond_without selinux # build without selinux support %bcond_without suggest_tags # build without Suggest tag (bootstrapping) -%bcond_with db60 # use DB 6.0 instead of 5.2 +%bcond_with db61 # use DB 6.1 instead of 5.2 %bcond_with neon # build with HTTP/WebDAV support (neon library) %bcond_with sqlite # build with SQLite support %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++" @@ -28,10 +29,10 @@ %endif # versions of required libraries -%if %{with db60} -%define reqdb_pkg db6.0 -%define reqdb_ver 6.0 -%define reqdb_pkgver 6.0.20 +%if %{with db61} +%define reqdb_pkg db6.1 +%define reqdb_ver 6.1 +%define reqdb_pkgver 6.1.19 %else %define reqdb_pkg db5.2 %define reqdb_ver 5.2 @@ -49,15 +50,16 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 5.4.14 -Release: 5 +Version: 5.4.15 +Release: 7 License: LGPL v2.1 Group: Base -# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.14-0.20131024.src.rpm +# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm Source0: %{name}-%{version}.tar.gz -# Source0-md5: 9bd3fef1170f26a223a149dc1113c23c -Source100: cpu-os-macros.tar.gz -# Source100-md5: 928034a5bdceb398881bc14b5f29973b +# Source0-md5: 4067f83ca8b5bf1a21e443c0cff3efa0 +# 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 @@ -89,6 +91,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 @@ -158,13 +161,15 @@ 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 Patch78: %{name}-double_check_unpackaged_subdirs.patch Patch79: %{name}-rpmspec.patch 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 # Patches imported from Mandriva @@ -274,6 +279,15 @@ 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 URL: http://rpm5.org/ BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver} @@ -282,13 +296,12 @@ BuildRequires: sqlite3-devel %else BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver} %endif -BuildRequires: autoconf >= 2.60 +BuildRequires: autoconf >= 2.63 BuildRequires: automake >= 1.4 BuildRequires: beecrypt-devel >= %{beecrypt_ver} 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: gettext-tools >= 0.19.2 %{?with_keyutils:BuildRequires: keyutils-devel} BuildRequires: libmagic-devel %if %{with selinux} @@ -644,7 +657,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.699 Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk @@ -838,7 +851,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 @@ -884,7 +902,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch38 -p1 %patch39 -p1 %patch40 -p1 -%{?with_db60:%patch41 -p1} +%{?with_db61:%patch41 -p1} %patch42 -p1 %patch43 -p1 %patch44 -p1 @@ -900,7 +918,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch54 -p1 %patch55 -p1 %patch56 -p1 -%{!?with_db60:%patch57 -p1} +%{!?with_db61:%patch57 -p1} %patch58 -p1 %patch60 -p1 %patch61 -p1 @@ -913,13 +931,14 @@ 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 %patch78 -p1 %patch79 -p1 %patch80 -p1 +%patch81 -p0 +%patch82 -p1 %patch1000 -p1 %patch1001 -p1 @@ -958,19 +977,25 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch1038 -p1 %patch1039 -p1 %patch1040 -p1 -%patch1041 -p1 +# don't delete, may be usefull if jbj descides to enable this again +#%patch1041 -p1 %patch1042 -p1 %patch1043 -p1 %patch1044 -p1 %patch1045 -p1 %patch1046 -p1 %patch1047 -p1 +%patch1048 -p1 +%patch1049 -p1 + +%patch83 -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 %{__mv} -f scripts/perl.req{,.in} @@ -980,7 +1005,7 @@ awk -f %{SOURCE6} %{SOURCE1} install %{SOURCE26} tools/rpmdb_checkversion.c install %{SOURCE28} tools/rpmdb_reset.c -for extlib in beecrypt neon pcre popt; do +for extlib in beecrypt neon %{?with_system_pcre:pcre} popt; do [ -d $extlib ] && %{__rm} -r $extlib done @@ -1022,9 +1047,9 @@ 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=external \ + --with-pcre=%{!?with_system_pcre:internal}%{?with_system_pcre:external} \ --with-popt=external \ %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \ %{!?with_python:--without-python} \ @@ -1069,33 +1094,45 @@ 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 +# install platform macros +for f in platform/*macros; do + bn=${f#*/} + fn=${bn%.macros}/macros + install -m644 $f -D %{buildroot}%{_rpmlibdir}/$fn +done -%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 +# cleanup +%ifnarch %{ix86} +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} +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 %{_target_cpu}-%{_target_vendor}-linux @@ -1231,6 +1268,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 @@ -1255,8 +1295,6 @@ mv $RPM_BUILD_ROOT{%{_rpmlibdir},%{_bindir}}/rpm2cpio # wrong location, not used anyway %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd} -# utils dropped in 4.4.8 -- their manuals -%{__rm} $RPM_BUILD_ROOT%{_mandir}/*/man8/rpmgraph.8 # utils dropped in 5.4 -- their manuals %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rpmgrep.1 # script obsoleted by /usr/lib/rpm/bin/dbconvert binary @@ -1323,7 +1361,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_mandir}/man8/rpm.8* %lang(fr) %{_mandir}/fr/man8/rpm.8* %lang(ja) %{_mandir}/ja/man8/rpm.8* -%lang(ko) %{_mandir}/ko/man8/rpm.8* %lang(pl) %{_mandir}/pl/man8/rpm.8* %lang(ru) %{_mandir}/ru/man8/rpm.8* %lang(sk) %{_mandir}/sk/man8/rpm.8* @@ -1380,6 +1417,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) @@ -1387,7 +1425,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm %dir %{_rpmlibdir} %attr(755,root,root) %{_bindir}/banner.sh -%attr(755,root,root) %{_bindir}/multiarch-dispatch %attr(755,root,root) %{_rpmlibdir}/user_group.sh %dir /var/lib/banner @@ -1416,7 +1453,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{_libdir}/librpmmisc-%{sover}.so %{_libdir}/librpm*.la %{_includedir}/rpm -%{_includedir}/multiarch-dispatch.h %{_pkgconfigdir}/*.pc %files static @@ -1453,15 +1489,11 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{?with_keyutils:%attr(755,root,root) %{_rpmlibdir}/bin/rpmkey} %attr(755,root,root) %{_rpmlibdir}/bin/rpmrepo %{_mandir}/man8/rpm2cpio.8* -%{_mandir}/man8/rpmcache.8* %{_mandir}/man8/rpmconstant.8* %{_mandir}/man8/rpmdeps.8* %{_mandir}/man8/rpmmtree.8* %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8* -%lang(ja) %{_mandir}/ja/man8/rpmcache.8* -%lang(ko) %{_mandir}/ko/man8/rpm2cpio.8* %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8* -%lang(pl) %{_mandir}/pl/man8/rpmcache.8* %lang(pl) %{_mandir}/pl/man8/rpmdeps.8* %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8* @@ -1514,7 +1546,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 @@ -1533,13 +1564,10 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/macros.php %{_rpmlibdir}/macros.python -%attr(755,root,root) %{_rpmlibdir}/check-multiarch-files %attr(755,root,root) %{_rpmlibdir}/gstreamer.sh %attr(755,root,root) %{_rpmlibdir}/kmod-deps.sh -%attr(755,root,root) %{_rpmlibdir}/mkmultiarch %attr(755,root,root) %{_bindir}/gendiff -%attr(755,root,root) %{_bindir}/multiarch-platform %attr(755,root,root) %{_bindir}/rpmbuild %dir %{_rpmlibdir}/helpers