71 lines
1.6 KiB
Diff
71 lines
1.6 KiB
Diff
From d69db55cae7206b032c6a787ca41603e0c8358ac Mon Sep 17 00:00:00 2001
|
|
From: Kalev Lember <klember@redhat.com>
|
|
Date: Mon, 4 Sep 2017 12:18:22 +0200
|
|
Subject: [PATCH] Add back accidentally lost flatpak_get_kernel_arch
|
|
|
|
This fixes the build on ppc64le and various other arches.
|
|
|
|
diff --git a/src/builder-flatpak-utils.c b/src/builder-flatpak-utils.c
|
|
index da09eb8..ee4bd18 100644
|
|
--- a/src/builder-flatpak-utils.c
|
|
+++ b/src/builder-flatpak-utils.c
|
|
@@ -201,6 +201,55 @@ flatpak_path_match_prefix (const char *pattern,
|
|
return NULL; /* Should not be reached */
|
|
}
|
|
|
|
+static const char *
|
|
+flatpak_get_kernel_arch (void)
|
|
+{
|
|
+ static struct utsname buf;
|
|
+ static char *arch = NULL;
|
|
+ char *m;
|
|
+
|
|
+ if (arch != NULL)
|
|
+ return arch;
|
|
+
|
|
+ if (uname (&buf))
|
|
+ {
|
|
+ arch = "unknown";
|
|
+ return arch;
|
|
+ }
|
|
+
|
|
+ /* By default, just pass on machine, good enough for most arches */
|
|
+ arch = buf.machine;
|
|
+
|
|
+ /* Override for some arches */
|
|
+
|
|
+ m = buf.machine;
|
|
+ /* i?86 */
|
|
+ if (strlen (m) == 4 && m[0] == 'i' && m[2] == '8' && m[3] == '6')
|
|
+ {
|
|
+ arch = "i386";
|
|
+ }
|
|
+ else if (g_str_has_prefix (m, "arm"))
|
|
+ {
|
|
+ if (g_str_has_suffix (m, "b"))
|
|
+ arch = "armeb";
|
|
+ else
|
|
+ arch = "arm";
|
|
+ }
|
|
+ else if (strcmp (m, "mips") == 0)
|
|
+ {
|
|
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
|
|
+ arch = "mipsel";
|
|
+#endif
|
|
+ }
|
|
+ else if (strcmp (m, "mips64") == 0)
|
|
+ {
|
|
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
|
|
+ arch = "mips64el";
|
|
+#endif
|
|
+ }
|
|
+
|
|
+ return arch;
|
|
+}
|
|
|
|
/* This maps the kernel-reported uname to a single string representing
|
|
* the cpu family, in the sense that all members of this family would
|
|
--
|
|
2.13.0
|
|
|