[packages/rpm] - cleaned up noarch from x32 fix - rel 19

baggins baggins at pld-linux.org
Thu Apr 2 20:54:28 CEST 2015


commit 57aa272ccbc3d84770b00ef0f8c084a2ed4d2fdf
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Thu Apr 2 20:54:00 2015 +0200

    - cleaned up noarch from x32 fix
    - rel 19

 rpm.spec  |  2 +-
 x32.patch | 40 +++++++++++++++++++++++++++-------------
 2 files changed, 28 insertions(+), 14 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index aac1eab..c06740c 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -51,7 +51,7 @@ Summary(ru.UTF-8):	Менеджер пакетов от RPM
 Summary(uk.UTF-8):	Менеджер пакетів від RPM
 Name:		rpm
 Version:	5.4.15
-Release:	18
+Release:	19
 License:	LGPL v2.1
 Group:		Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm
diff --git a/x32.patch b/x32.patch
index ff53476..bb6b464 100644
--- a/x32.patch
+++ b/x32.patch
@@ -214,25 +214,39 @@ diff -ur rpm-5.4.15/lib/rpmds.c rpm-5.4.15.x32/lib/rpmds.c
  	xx = add(context, ds);
  	(void)rpmdsFree(ds);
  	ds = NULL;
---- rpm-5.4.15/build/parseSpec.c~	2015-04-02 19:31:50.000000000 +0200
-+++ rpm-5.4.15/build/parseSpec.c	2015-04-02 20:19:46.549637451 +0200
-@@ -732,9 +732,19 @@
+diff -ur rpm-5.4.15/build/parseSpec.c rpm-5.4.15-fixed/build/parseSpec.c
+--- rpm-5.4.15/build/parseSpec.c	2015-04-02 20:52:18.192956656 +0200
++++ rpm-5.4.15-fixed/build/parseSpec.c	2015-04-02 20:49:57.416291008 +0200
+@@ -709,7 +709,17 @@
+     /* Check for description in each package and add arch and os */
+   {
+     const char *platform = rpmExpand("%{_target_platform}", NULL);
++#ifdef RPM_VENDOR_PLD
++/*
++ * This is a hack for x32 compatibility, on x32 _target_platform
++ * does not use _target_cpu, it must use hardcoded x86-64.
++ * This results in noarch packages using platform x86_64-pld-linux-gnux32
++ * and being unusable on ix86.
++ */
++    const char *platformNoarch = xstrdup("noarch-pld-linux");
++#else
+     const char *platformNoarch = NULL;
++#endif
+     const char *arch = rpmExpand("%{_target_cpu}", NULL);
+     const char *os = rpmExpand("%{_target_os}", NULL);
+ 
+@@ -731,12 +741,14 @@
+ 	 * If "noarch" subpackages of different arch, we need
  	 * to use a separate platform tag for these (mdvbz#61746).
  	 */
++#ifndef RPM_VENDOR_PLD
  	if(pkg->noarch && !platformNoarch && strcmp(arch, "noarch")) {
-+#ifdef RPM_VENDOR_PLD
-+	/*
-+	 * This is a hack for x32 compatibility, on x32 _target_platform
-+	 * does not use _target_cpu, it must use hardcoded x86-64.
-+	 * This results in noarch packages using platform x86_64-pld-linux-gnux32
-+	 * and being unusable on ix86.
-+	 */
-+	    platformNoarch = xstrdup("noarch-pld-linux");
-+#else
  	    addMacro(NULL, "_target_cpu", NULL, "noarch", RMIL_RPMRC);
  	    platformNoarch = rpmExpand("%{_target_platform}", NULL);
  	    addMacro(NULL, "_target_cpu", NULL, arch, RMIL_RPMRC);
-+#endif
  	}
++#endif
  	he->tag = RPMTAG_PLATFORM;
  	he->t = RPM_STRING_TYPE;
+ 	he->p.str = (pkg->noarch && platformNoarch ? platformNoarch : platform);
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/57aa272ccbc3d84770b00ef0f8c084a2ed4d2fdf



More information about the pld-cvs-commit mailing list