[PATCH] Fix compiling with musl's utmp stubs
Rich Felker
dalias at libc.org
Sun Jan 31 06:12:39 UTC 2016
On Sun, Jan 31, 2016 at 01:02:27AM -0500, Kylie McClain wrote:
> >From 4d76d9b69503b1ad61cf857d83cb8c4d5d92465b Mon Sep 17 00:00:00 2001
> From: Kylie McClain <somasis at exherbo.org>
> Date: Sat, 30 Jan 2016 23:00:18 -0500
> Subject: [PATCH] Fix compiling with musl's utmp stubs
>
> This patch fixes compiling busybox with FEATURE_UTMP and _WTMP enabled.
> musl, while not really support utmp/wtmp, provides stub functions, as well
> as variables such as _PATH_UTMP, so that programs using utmp or wtmp can
> still compile fine.
>
> My reasoning for this patch is that on Exherbo, I'm currently trying to get
> us to be able to use the same busybox config file for both glibc and musl
> systems, using utmp/wtmp on systems that support it, and using the stubs
> on musl without needing two different configs.
>
> As of latest musl git, it provides all utmp functions needed; 1.1.12 doesn't,
> but I sent a patch to Rich to add the utmp{,x}name functions expected to
> exist, which was merged into musl upstream.
> ---
> include/libbb.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/libbb.h b/include/libbb.h
> index a8ceb44..c1516a9 100644
> --- a/include/libbb.h
> +++ b/include/libbb.h
> @@ -20,6 +20,7 @@
> #include <netdb.h>
> #include <setjmp.h>
> #include <signal.h>
> +#include <paths.h>
> #if defined __UCLIBC__ /* TODO: and glibc? */
> /* use inlined versions of these: */
> # define sigfillset(s) __sigfillset(s)
> @@ -106,7 +107,11 @@
> # define updwtmpx updwtmp
> # define _PATH_UTMPX _PATH_UTMP
> # else
> +# include <utmp.h>
> # include <utmpx.h>
> +# if defined _PATH_UTMP && !defined _PATH_UTMPX
> +# define _PATH_UTMPX _PATH_UTMP
> +# endif
> # endif
> #endif
> #if ENABLE_LOCALE_SUPPORT
> --
> 2.7.0
I think we could just expose these from utmpx.h on musl if it helps.
They're in the reserved namespace so that's certainly permissible.
Rich
More information about the busybox
mailing list