diff options
Diffstat (limited to 'meta/recipes-devtools/rpm/rpm/rpm-canonarch.patch')
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpm-canonarch.patch | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-canonarch.patch b/meta/recipes-devtools/rpm/rpm/rpm-canonarch.patch deleted file mode 100644 index 81fc84937a..0000000000 --- a/meta/recipes-devtools/rpm/rpm/rpm-canonarch.patch +++ /dev/null @@ -1,136 +0,0 @@ -lib/rpmrc.c: Update --target processing to support full GNU canonical arch - -Prior to this patch, when using --target, RPM supported the format: - <arch> - <arch>-<os> - <arch>-<os>-gnu - <arch>-<arbitrary items>-<os> - <arch>-<arbitrary items>-<os>-gnu - -This patch changes the list of supported items to: - <arch> - <arch>-<os> - <arch>-<os>-gnu - <arch>-<vendor>-<os> - <arch>-<vendor>-<os>-<extension> - -Upstream-Status: Submitted [RPM5 maintainer] - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - -Index: rpm-5.4.14/lib/rpmrc.c -=================================================================== ---- rpm-5.4.14.orig/lib/rpmrc.c -+++ rpm-5.4.14/lib/rpmrc.c -@@ -925,8 +925,8 @@ static void getMachineInfo(int type, /*@ - - static void rpmRebuildTargetVars(const char ** target, const char ** canontarget) - { -- -- char *ca = NULL, *co = NULL, *ct = NULL; -+ /* ca = arch, cv = vendor, co = os, ce = extension, ct = canon target */ -+ char *ca = NULL, *cv = NULL, *co = NULL, *ce = NULL, *ct = NULL; - int x; - - /* Rebuild the compat table to recalculate the current target arch. */ -@@ -936,23 +936,60 @@ static void rpmRebuildTargetVars(const c - rpmSetTables(RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS); - - if (target && *target) { -+ /* GNU canonical format is: -+ * <arch>-<vendor>-<os>[-extension] -+ * -+ * We support the both the GNU canonical format -+ * as well as the traditional RPM formats: -+ * <arch> -+ * <arch>-<os>[-gnu] -+ */ - char *c; - /* Set arch and os from specified build target */ - ca = xstrdup(*target); -- if ((c = strchr(ca, '-')) != NULL) { -+ if ((c = strchr(ca, '-')) == NULL) { -+ /* Format is <arch> */ -+ ; -+ } else { - *c++ = '\0'; -- -- if ((co = strrchr(c, '-')) == NULL) { -- co = c; -+ cv = c; -+ -+ if ((c = strchr(c, '-')) == NULL) { -+ /* Format is <arch>-<os> */ -+ co = cv; -+ cv = NULL; - } else { -- if (!xstrcasecmp(co, "-gnu")) -- *co = '\0'; -- if ((co = strrchr(c, '-')) == NULL) -- co = c; -- else -- co++; -+ *c++ = '\0'; -+ co = c; -+ -+ if ((c = strchr(c, '-')) == NULL) { -+ /* Might be: -+ * <arch>-<vendor>-<os> -+ * <arch>-<os>-gnu -+ */ -+ if (!xstrcasecmp(co, "gnu")) { -+ /* Format was <arch>-<os>-gnu */ -+ ce = co; -+ co = cv; -+ cv = NULL; -+ } -+ } else { -+ /* Format was <arch>-<vendor>-<os>-<extension> */ -+ *c++ = '\0'; -+ ce = c; -+ } - } -+ if (cv != NULL) cv = xstrdup(cv); - if (co != NULL) co = xstrdup(co); -+ if (ce != NULL) { -+ /* We need to prefix it with a "-" */ -+ char * lce = NULL; -+ -+ lce = xmalloc(strlen(ce) + sizeof("-")); -+ sprintf(lce, "-%s", ce); -+ -+ ce = lce; -+ } - } - } else { - const char *a = NULL; -@@ -995,8 +1032,16 @@ static void rpmRebuildTargetVars(const c - addMacro(NULL, "_target", NULL, ct, RMIL_RPMRC); - delMacro(NULL, "_target_cpu"); - addMacro(NULL, "_target_cpu", NULL, ca, RMIL_RPMRC); -+ if (cv) { -+ delMacro(NULL, "_target_vendor"); -+ addMacro(NULL, "_target_vendor", NULL, cv, RMIL_RPMRC); -+ } - delMacro(NULL, "_target_os"); - addMacro(NULL, "_target_os", NULL, co, RMIL_RPMRC); -+ if (ce) { -+ delMacro(NULL, "_gnu"); -+ addMacro(NULL, "_gnu", NULL, ce, RMIL_RPMRC); -+ } - - if (canontarget) - *canontarget = ct; -@@ -1004,8 +1049,12 @@ static void rpmRebuildTargetVars(const c - ct = _free(ct); - ca = _free(ca); - /*@-usereleased@*/ -+ cv = _free(cv); -+ /*@-usereleased@*/ - co = _free(co); - /*@=usereleased@*/ -+ ce = _free(ce); -+ /*@-usereleased@*/ - } - - void rpmFreeRpmrc(void) |