Skip to content

Commit 07aa21f

Browse files
committed
Support "armhf" architecture specifier
When using $ARCH, "arm" is rather uncommon and the more common armhf value (which is also what we use for the runtime) was not supported so far.
1 parent aa0b7dc commit 07aa21f

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/appimagetool.c

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -351,28 +351,29 @@ void extract_arch_from_text(gchar *archname, const gchar* sourcename, bool* arch
351351
if (archname) {
352352
replacestr(archname, "-", "_");
353353
replacestr(archname, " ", "_");
354-
if (g_ascii_strncasecmp("i386", archname, 20) == 0
355-
|| g_ascii_strncasecmp("i486", archname, 20) == 0
356-
|| g_ascii_strncasecmp("i586", archname, 20) == 0
357-
|| g_ascii_strncasecmp("i686", archname, 20) == 0
358-
|| g_ascii_strncasecmp("intel_80386", archname, 20) == 0
359-
|| g_ascii_strncasecmp("intel_80486", archname, 20) == 0
360-
|| g_ascii_strncasecmp("intel_80586", archname, 20) == 0
361-
|| g_ascii_strncasecmp("intel_80686", archname, 20) == 0
354+
if (g_ascii_strncasecmp("i386", archname, 4) == 0
355+
|| g_ascii_strncasecmp("i486", archname, 4) == 0
356+
|| g_ascii_strncasecmp("i586", archname, 4) == 0
357+
|| g_ascii_strncasecmp("i686", archname, 4) == 0
358+
|| g_ascii_strncasecmp("intel_80386", archname, 11) == 0
359+
|| g_ascii_strncasecmp("intel_80486", archname, 11) == 0
360+
|| g_ascii_strncasecmp("intel_80586", archname, 11) == 0
361+
|| g_ascii_strncasecmp("intel_80686", archname, 11) == 0
362362
) {
363363
archs[fARCH_i686] = 1;
364364
if (verbose)
365365
fprintf(stderr, "%s used for determining architecture i386\n", sourcename);
366-
} else if (g_ascii_strncasecmp("x86_64", archname, 20) == 0) {
366+
} else if (g_ascii_strncasecmp("x86_64", archname, 6) == 0) {
367367
archs[fARCH_x86_64] = 1;
368368
if (verbose)
369369
fprintf(stderr, "%s used for determining architecture x86_64\n", sourcename);
370-
} else if (g_ascii_strncasecmp("arm", archname, 20) == 0) {
370+
} else if (g_ascii_strncasecmp("arm", archname, 3) == 0 ||
371+
g_ascii_strncasecmp("armhf", archname, 5) == 0) {
371372
archs[fARCH_armhf] = 1;
372373
if (verbose)
373374
fprintf(stderr, "%s used for determining architecture ARM\n", sourcename);
374-
} else if (g_ascii_strncasecmp("arm_aarch64", archname, 20) == 0 ||
375-
g_ascii_strncasecmp("aarch64", archname, 20) == 0) {
375+
} else if (g_ascii_strncasecmp("arm_aarch64", archname, 11) == 0 ||
376+
g_ascii_strncasecmp("aarch64", archname, 7) == 0) {
376377
archs[fARCH_aarch64] = 1;
377378
if (verbose)
378379
fprintf(stderr, "%s used for determining architecture ARM aarch64\n", sourcename);

0 commit comments

Comments
 (0)