aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2017-12-18 15:43:52 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2017-12-18 15:45:23 +0000
commit763f7fbeef0c9b35bf4ad6751c55eefaf1d939e5 (patch)
tree3b8013307b3e79e9f24c0b44d5f7d5a3c4fc38ca
parent0d44bca5f6170a245426d62baeb0d7fab4371f6c (diff)
downloadaports-763f7fbeef0c9b35bf4ad6751c55eefaf1d939e5.tar.bz2
aports-763f7fbeef0c9b35bf4ad6751c55eefaf1d939e5.tar.xz
main/musl: backport 2 fixes from upstream
- use UTC instead of GMT when no timezone is specified - fix sysconf for initite rlimits
-rw-r--r--main/musl/0001-fix-sysconf-for-infinite-rlimits.patch26
-rw-r--r--main/musl/0001-use-the-name-UTC-instead-of-GMT-for-UTC-timezone.patch137
-rw-r--r--main/musl/APKBUILD6
3 files changed, 168 insertions, 1 deletions
diff --git a/main/musl/0001-fix-sysconf-for-infinite-rlimits.patch b/main/musl/0001-fix-sysconf-for-infinite-rlimits.patch
new file mode 100644
index 0000000000..b465f49655
--- /dev/null
+++ b/main/musl/0001-fix-sysconf-for-infinite-rlimits.patch
@@ -0,0 +1,26 @@
+From 3ec82877e7783f0706ba3c9e3c815cd2aa34059e Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 7 Dec 2017 23:18:54 +0100
+Subject: [PATCH] fix sysconf for infinite rlimits
+
+sysconf should return -1 for infinity, not LONG_MAX.
+---
+ src/conf/sysconf.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/conf/sysconf.c b/src/conf/sysconf.c
+index b8b761d0..9ce330a5 100644
+--- a/src/conf/sysconf.c
++++ b/src/conf/sysconf.c
+@@ -174,6 +174,8 @@ long sysconf(int name)
+ } else if (values[name] < -256) {
+ struct rlimit lim;
+ getrlimit(values[name]&16383, &lim);
++ if (lim.rlim_cur == RLIM_INFINITY)
++ return -1;
+ return lim.rlim_cur > LONG_MAX ? LONG_MAX : lim.rlim_cur;
+ }
+
+--
+2.15.0
+
diff --git a/main/musl/0001-use-the-name-UTC-instead-of-GMT-for-UTC-timezone.patch b/main/musl/0001-use-the-name-UTC-instead-of-GMT-for-UTC-timezone.patch
new file mode 100644
index 0000000000..ef751956ea
--- /dev/null
+++ b/main/musl/0001-use-the-name-UTC-instead-of-GMT-for-UTC-timezone.patch
@@ -0,0 +1,137 @@
+From eb7f93c4f6fd0b637a9f8d6e112131b88ad2b00f Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 7 Dec 2017 17:54:07 +0100
+Subject: [PATCH] use the name UTC instead of GMT for UTC timezone
+
+notes by maintainer:
+
+both C and POSIX use the term UTC to specify related functionality,
+despite POSIX defining it as something more like UT1 or historical
+(pre-UTC) GMT without leap seconds. neither specifies the associated
+string for %Z. old choice of "GMT" violated principle of least
+surprise for users and some applications/tests. use "UTC" instead.
+---
+ src/time/__tz.c | 16 ++++++++--------
+ src/time/gmtime_r.c | 4 ++--
+ src/time/timegm.c | 4 ++--
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/src/time/__tz.c b/src/time/__tz.c
+index ffe8d402..8cc96032 100644
+--- a/src/time/__tz.c
++++ b/src/time/__tz.c
+@@ -15,7 +15,7 @@ weak_alias(__tzname, tzname);
+
+ static char std_name[TZNAME_MAX+1];
+ static char dst_name[TZNAME_MAX+1];
+-const char __gmt[] = "GMT";
++const char __utc[] = "UTC";
+
+ static int dst_off;
+ static int r0[5], r1[5];
+@@ -126,7 +126,7 @@ static void do_tzset()
+
+ s = getenv("TZ");
+ if (!s) s = "/etc/localtime";
+- if (!*s) s = __gmt;
++ if (!*s) s = __utc;
+
+ if (old_tz && !strcmp(s, old_tz)) return;
+
+@@ -136,7 +136,7 @@ static void do_tzset()
+ * free so as not to pull it into static programs. Growth
+ * strategy makes it so free would have minimal benefit anyway. */
+ i = strlen(s);
+- if (i > PATH_MAX+1) s = __gmt, i = 3;
++ if (i > PATH_MAX+1) s = __utc, i = 3;
+ if (i >= old_tz_size) {
+ old_tz_size *= 2;
+ if (i >= old_tz_size) old_tz_size = i+1;
+@@ -165,12 +165,12 @@ static void do_tzset()
+ }
+ }
+ }
+- if (!map) s = __gmt;
++ if (!map) s = __utc;
+ }
+ if (map && (map_size < 44 || memcmp(map, "TZif", 4))) {
+ __munmap((void *)map, map_size);
+ map = 0;
+- s = __gmt;
++ s = __utc;
+ }
+
+ zi = map;
+@@ -207,7 +207,7 @@ static void do_tzset()
+ }
+ }
+ if (!__tzname[0]) __tzname[0] = __tzname[1];
+- if (!__tzname[0]) __tzname[0] = (char *)__gmt;
++ if (!__tzname[0]) __tzname[0] = (char *)__utc;
+ if (!__daylight) {
+ __tzname[1] = __tzname[0];
+ dst_off = __timezone;
+@@ -216,7 +216,7 @@ static void do_tzset()
+ }
+ }
+
+- if (!s) s = __gmt;
++ if (!s) s = __utc;
+ getname(std_name, &s);
+ __tzname[0] = std_name;
+ __timezone = getoff(&s);
+@@ -413,7 +413,7 @@ const char *__tm_to_tzname(const struct tm *tm)
+ const void *p = tm->__tm_zone;
+ LOCK(lock);
+ do_tzset();
+- if (p != __gmt && p != __tzname[0] && p != __tzname[1] &&
++ if (p != __utc && p != __tzname[0] && p != __tzname[1] &&
+ (!zi || (uintptr_t)p-(uintptr_t)abbrevs >= abbrevs_end - abbrevs))
+ p = "";
+ UNLOCK(lock);
+diff --git a/src/time/gmtime_r.c b/src/time/gmtime_r.c
+index 8cbdadcb..cba72447 100644
+--- a/src/time/gmtime_r.c
++++ b/src/time/gmtime_r.c
+@@ -2,7 +2,7 @@
+ #include <errno.h>
+ #include "libc.h"
+
+-extern const char __gmt[];
++extern const char __utc[];
+
+ struct tm *__gmtime_r(const time_t *restrict t, struct tm *restrict tm)
+ {
+@@ -12,7 +12,7 @@ struct tm *__gmtime_r(const time_t *restrict t, struct tm *restrict tm)
+ }
+ tm->tm_isdst = 0;
+ tm->__tm_gmtoff = 0;
+- tm->__tm_zone = __gmt;
++ tm->__tm_zone = __utc;
+ return tm;
+ }
+
+diff --git a/src/time/timegm.c b/src/time/timegm.c
+index b5dae8b6..f444e76e 100644
+--- a/src/time/timegm.c
++++ b/src/time/timegm.c
+@@ -2,7 +2,7 @@
+ #include "time_impl.h"
+ #include <errno.h>
+
+-extern const char __gmt[];
++extern const char __utc[];
+
+ time_t timegm(struct tm *tm)
+ {
+@@ -15,6 +15,6 @@ time_t timegm(struct tm *tm)
+ *tm = new;
+ tm->tm_isdst = 0;
+ tm->__tm_gmtoff = 0;
+- tm->__tm_zone = __gmt;
++ tm->__tm_zone = __utc;
+ return t;
+ }
+--
+2.15.0
+
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index 4e229db9ed..7995f78a04 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=musl
pkgver=1.1.18
-pkgrel=2
+pkgrel=3
pkgdesc="the musl c library (libc) implementation"
url="http://www.musl-libc.org/"
arch="all"
@@ -17,6 +17,8 @@ nolibc) ;;
*) subpackages="$subpackages $pkgname-utils";;
esac
source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
+ 0001-fix-sysconf-for-infinite-rlimits.patch
+ 0001-use-the-name-UTC-instead-of-GMT-for-UTC-timezone.patch
1000-implement-strftime-GNU-extension-padding-specifiers-.patch
2000-pthread-internals-increase-DEFAULT_GUARD_SIZE-to-2-p.patch
3002-stdio-implement-fopencookie-3.patch
@@ -144,6 +146,8 @@ compat() {
}
sha512sums="4d55c92efe41dfdd9fff6aca5dda76a632a3be60d10e5a7f66a4731d8f7040fb0a20b998965ba4d069b4f8a3527fcd7388e646cb66afc649c4d0cc6c3d358c9c musl-1.1.18.tar.gz
+7b44cc006d37672a67bc261de33e64d11f6426fd1ab3ff80f9f980aefc8e0b099ab61f95d110eeb59f75c2fe772fe13bc5546c194c3f90ca9ec4c812dfff6b1b 0001-fix-sysconf-for-infinite-rlimits.patch
+c28abac671f531d200bd1ebc934fc57b1c04404e49237dd6cfde4fe72e4fd8b855df0e75f76d62ec930c56daa00a12a6a3b3bb1c86576c7504fdf9628ad58975 0001-use-the-name-UTC-instead-of-GMT-for-UTC-timezone.patch
7e4c703e57a3564cd3ee1d5334b806cbe654355179ba55d4d25361dfc555eb4a7d081d80d64fdaff8476949afd04558d278b124d1fb108080beaa5ba2f8ce2b9 1000-implement-strftime-GNU-extension-padding-specifiers-.patch
2c8e1dde1834238097b2ee8a7bfb53471a0d9cff4a5e38b55f048b567deff1cdd47c170d0578a67b1a039f95a6c5fbb8cff369c75b6a3e4d7ed171e8e86ebb8c 2000-pthread-internals-increase-DEFAULT_GUARD_SIZE-to-2-p.patch
bdc6fe197779088507d6f8bb72560239f908a635b39eb677bfcf91da28b92ee52b67696e627dad08ccb8a7dcaf7a72b574276098fb3fddd4a6b646a0f0799785 3002-stdio-implement-fopencookie-3.patch