[packages/rpm] - final fix for noarch packages with incorrect platform - rel 20
baggins
baggins at pld-linux.org
Fri Apr 3 21:56:17 CEST 2015
commit 4a2f243bf8837228f63c60d7514a6bd47aee083a
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Fri Apr 3 21:55:41 2015 +0200
- final fix for noarch packages with incorrect platform
- rel 20
rpm.spec | 2 +-
x32.patch | 35 +++++++++++++++--------------------
2 files changed, 16 insertions(+), 21 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index c06740c..5e291bf 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: 19
+Release: 20
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 bb6b464..900aa64 100644
--- a/x32.patch
+++ b/x32.patch
@@ -217,10 +217,15 @@ diff -ur rpm-5.4.15/lib/rpmds.c rpm-5.4.15.x32/lib/rpmds.c
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 @@
+@@ -707,10 +708,25 @@
+
/* Check for description in each package and add arch and os */
{
- const char *platform = rpmExpand("%{_target_platform}", NULL);
+- const char *platform = rpmExpand("%{_target_platform}", NULL);
+- const char *platformNoarch = NULL;
++ const char *platform = NULL;
+ const char *arch = rpmExpand("%{_target_cpu}", NULL);
+ const char *os = rpmExpand("%{_target_os}", NULL);
+#ifdef RPM_VENDOR_PLD
+/*
+ * This is a hack for x32 compatibility, on x32 _target_platform
@@ -229,24 +234,14 @@ diff -ur rpm-5.4.15/build/parseSpec.c rpm-5.4.15-fixed/build/parseSpec.c
+ * and being unusable on ix86.
+ */
+ const char *platformNoarch = xstrdup("noarch-pld-linux");
++ if (strcmp(arch,"noarch"))
++ platform = rpmExpand("%{_target_platform}", NULL);
++ else
++ platform = 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")) {
- addMacro(NULL, "_target_cpu", NULL, "noarch", RMIL_RPMRC);
- platformNoarch = rpmExpand("%{_target_platform}", NULL);
- addMacro(NULL, "_target_cpu", NULL, arch, RMIL_RPMRC);
- }
++ const char *platformNoarch = NULL;
++ platform = rpmExpand("%{_target_platform}", NULL);
+#endif
- he->tag = RPMTAG_PLATFORM;
- he->t = RPM_STRING_TYPE;
- he->p.str = (pkg->noarch && platformNoarch ? platformNoarch : platform);
+ for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
+ he->tag = RPMTAG_OS;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/4a2f243bf8837228f63c60d7514a6bd47aee083a
More information about the pld-cvs-commit
mailing list