diff options
Diffstat (limited to 'debian/patches/glibc-version.patch')
-rw-r--r-- | debian/patches/glibc-version.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/patches/glibc-version.patch b/debian/patches/glibc-version.patch new file mode 100644 index 00000000..92c1b252 --- /dev/null +++ b/debian/patches/glibc-version.patch @@ -0,0 +1,40 @@ +Description: Fix checking for GLIBC version + Use ldconfig -V instead of trying to call libc.so.6 directly, and update the + string mangling in the process. +Author: Mathieu Trudel-Lapierre <cyphermox@ubuntu.com> +Bug-Ubuntu: https://pad.lv/1473142 +Last-Update: 2017-06-19 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/modules/computer/os.c ++++ b/modules/computer/os.c +@@ -27,8 +27,7 @@ get_libc_version(void) + FILE *libc; + gchar buf[256], *tmp, *p; + char *libc_paths[] = { +- "/lib/ld-uClibc.so.0", "/lib64/ld-uClibc.so.0", +- "/lib/libc.so.6", "/lib64/libc.so.6" ++ "ldconfig -V" + }; + int i; + +@@ -47,15 +46,13 @@ get_libc_version(void) + (void)fgets(buf, 256, libc); + if (pclose(libc)) goto err; + +- tmp = strstr(buf, "version "); +- if (!tmp) goto err; ++ buf[strlen(buf) - 1] = '\0'; + +- p = strchr(tmp, ','); +- if (p) *p = '\0'; +- else goto err; ++ tmp = strstr(buf, " "); ++ if (!tmp) goto err; + + return g_strdup_printf(_("GNU C Library version %s (%sstable)"), +- strchr(tmp, ' ') + 1, ++ tmp + 1, + strstr(buf, " stable ") ? "" : _("un")); + err: + return g_strdup(_("Unknown")); |