This commit fixes the build of shellinabox with the musl C library,
which requires two changes:
- A patch to include <sys/ttydefaults.h>, which is needed to get the
definitions of TTYDEF_*
- A hack to workaround what seems to be a problem in musl itself (musl
does #define utmp utmpx, which causes some symbol conflicts down the
road). Since anyway the utmpx implementation is just a set of stubs
in musl, we simply make shellinabox believe that <utmpx.h> is not
available by passing the appropriate variable. The musl issue has
been reported at http://www.openwall.com/lists/musl/2016/08/04/8.
Fixes:
http://autobuild.buildroot.net/results/
1847cab964957da3c9bf4911a5ad3602b3c82431/
Signed-off-by: Olivier Singla <olivier.singla@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
--- /dev/null
+From c8d9df500b1ca83ad6da9b6055549adaba6ee0d3 Mon Sep 17 00:00:00 2001
+From: Olivier Singla <olivier.singla@gmail.com>
+Date: Thu, 4 Aug 2016 22:05:08 +0200
+Subject: [PATCH] launcher.c: include <sys/ttydefaults.h>
+
+This include is needed to get the definition of TTYDEF_*.
+
+Signed-off-by: Olivier Singla <olivier.singla@gmail.com>
+---
+ shellinabox/launcher.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/shellinabox/launcher.c b/shellinabox/launcher.c
+index 2bac171..c8ba6cb 100644
+--- a/shellinabox/launcher.c
++++ b/shellinabox/launcher.c
+@@ -66,6 +66,7 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/utsname.h>
++#include <sys/ttydefaults.h>
+ #include <termios.h>
+ #include <unistd.h>
+
+--
+2.7.4
+
--disable-runtime-loading \
--enable-ssl
+# musl's implementation of utmpx is a dummy one, and some aspects of
+# it cause build failures in shellinabox
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+SHELLINABOX_CONF_ENV += ac_cv_header_utmpx_h=no
+endif
+
$(eval $(autotools-package))