]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- pld specific macros must not override arch target ones
[packages/rpm.git] / rpm.spec
index 62018b029960aac0631acbfc048e32f5fb10b1fd..5998f6623d1b04fa64b1b2ca52765f290a0c154d 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -16,6 +16,7 @@
 %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++"
@@ -50,14 +51,15 @@ Summary(ru.UTF-8):  Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       5.4.15
-Release:       1
+Release:       7
 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
@@ -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,7 +161,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
@@ -166,6 +168,8 @@ 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
 
@@ -275,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}
@@ -288,7 +301,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}
@@ -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
@@ -913,7 +931,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
@@ -921,6 +938,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch79 -p1
 %patch80 -p1
 %patch81 -p0
+%patch82 -p1
 
 %patch1000 -p1
 %patch1001 -p1
@@ -967,12 +985,17 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %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}
 
@@ -982,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
 
@@ -1024,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} \
@@ -1071,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
@@ -1233,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
@@ -1379,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)
@@ -1507,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
This page took 0.052398 seconds and 4 git commands to generate.