[oe] [meta-oe] [PATCH] rsyslog: fixes musl libc build

Khem Raj raj.khem at gmail.com
Wed Mar 8 16:30:04 UTC 2017


On Wed, Mar 8, 2017 at 12:20 AM, Peter Liu
<peter.x.liu at external.atlascopco.com> wrote:
> From: Khem Raj <raj.khem at gmail.com>
> Sent: Wednesday, March 8, 2017 12:54:27 AM
> To: liu.ming50 at gmail.com; openembedded-devel at lists.openembedded.org
> Cc: Peter Liu
> Subject: Re: [oe] [meta-oe] [PATCH] rsyslog: fixes musl libc build
>
>
> On Tue, Mar 7, 2017 at 3:10 AM <liu.ming50 at gmail.com> wrote:
>>
>> From: Ming Liu <peter.x.liu at external.atlascopco.com>
>>
>> - struct timeval is defined in sys/time.h with a musl libc.
>> - GLOB_BRACE is not defined in posix and thus not implemented in musl
>> libc.
>>
>> Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
>> ---
>>  .../rsyslog/rsyslog/0001-Include-sys-time-h.patch  | 33
>> ++++++++++++++++++++
>>  .../rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch | 35
>> ++++++++++++++++++++++
>>  meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb |  5 ++++
>>  3 files changed, 73 insertions(+)
>>  create mode 100644
>> meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
>>  create mode 100644
>> meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
>>
>> diff --git
>> a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
>> b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
>> new file mode 100644
>> index 0000000..23c0f25
>> --- /dev/null
>> +++
>> b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
>> @@ -0,0 +1,33 @@
>> +From 3c3c21f4735eb215206273bc714c57c969926d3d Mon Sep 17 00:00:00 2001
>> +From: Ming Liu <peter.x.liu at external.atlascopco.com>
>> +Date: Sun, 26 Feb 2017 14:10:21 +0100
>> +Subject: [PATCH] Include sys/time.h
>> +
>> +struct timeval is defined in sys/time.h with a musl libc.
>> +
>> +Upstream-Status: Inappropriate [musl libc specific]
>> +
>> +Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
>> +---
>> + tests/msleep.c | 4 ----
>> + 1 file changed, 4 deletions(-)
>> +
>> +diff --git a/tests/msleep.c b/tests/msleep.c
>> +index 26a8206..ca818be 100644
>> +--- a/tests/msleep.c
>> ++++ b/tests/msleep.c
>> +@@ -26,11 +26,7 @@
>> + #include "config.h"
>> + #include <stdio.h>
>> + #include <stdlib.h>
>> +-#if defined(__FreeBSD__)
>> + #include <sys/time.h>
>> +-#else
>> +-#include <time.h>
>> +-#endif
>> +
>> + int main(int argc, char *argv[])
>> + {
>> +--
>> +1.9.1
>> +
>> diff --git
>> a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
>> b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
>> new file mode 100644
>> index 0000000..7903bb1
>> --- /dev/null
>> +++
>> b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
>> @@ -0,0 +1,35 @@
>> +From 6746e3a9615d1566bf228e9012d0841b15178810 Mon Sep 17 00:00:00 2001
>> +From: Ming Liu <liu.ming50 at gmail.com>
>> +Date: Sun, 26 Feb 2017 13:50:33 +0100
>> +Subject: [PATCH] Undefine GLOB_BRACE
>> +
>> +GLOB_BRACE is not defined in posix and thus not implemented in musl libc.
>> +
>> +Fixed by defining it to 0 if it is undefined.
>> +
>> +Upstream-Status: Inappropriate [musl libc specific]
>> +
>> +Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
>> +---
>> + plugins/imfile/imfile.c | 5 +++++
>> + 1 file changed, 5 insertions(+)
>> +
>> +diff --git a/plugins/imfile/imfile.c b/plugins/imfile/imfile.c
>> +index d20471f..f9aff81 100644
>> +--- a/plugins/imfile/imfile.c
>> ++++ b/plugins/imfile/imfile.c
>> +@@ -85,6 +85,11 @@ static int bLegacyCnfModGlobalsPermitted;/* are legacy
>> module-global config para
>> +
>> + #define ADD_METADATA_UNSPECIFIED -1
>> +
>> ++/* fixes build with musl libc */
>> ++#ifndef GLOB_BRACE
>> ++#define GLOB_BRACE 0
>> ++#endif
>> ++
>> + /* this structure is used in pure polling mode as well one of the
>> support
>> +  * structures for inotify.
>> +  */
>> +--
>> +1.9.1
>> +
>> diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
>> b/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
>> index 62126f8..d81117c 100644
>> --- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
>> +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
>> @@ -26,6 +26,11 @@ SRC_URI =
>> "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.t
>>             file://rsyslog-fix-ptest-not-finish.patch \
>>  "
>>
>> +SRC_URI_append_libc-musl = " \
>
>
> Do they have to be applied conditionally?
> I would suggest to make it portable across All libc
>
> OK, attempt to say that the changes would not cause problems in glibc as
> well, although glibc does not have the problem, will verify it and send a
> V2.

glibc wont have issues without patch sure. However making the patch
apply unconditionally makes maintaining easier.



More information about the Openembedded-devel mailing list