Patchwork libevent: Add Gentoo patch for C libraries without the sysctl syscall

login
register
mail settings
Submitter Markos Chandras
Date Nov. 21, 2012, 10:56 a.m.
Message ID <1353495389-20179-1-git-send-email-markos.chandras@gmail.com>
Download mbox | patch
Permalink /patch/200644/
State Not Applicable
Headers show

Comments

Markos Chandras - Nov. 21, 2012, 10:56 a.m.
From: Markos Chandras <markos.chandras@imgtec.com>

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
---
 package/libevent/libevent-sysctl.patch |   46 ++++++++++++++++++++++++++++++++
 package/libevent/libevent.mk           |    1 +
 2 files changed, 47 insertions(+), 0 deletions(-)
 create mode 100644 package/libevent/libevent-sysctl.patch
Markos Chandras - Dec. 5, 2012, 12:01 p.m.
On 21 November 2012 10:56, Markos Chandras <markos.chandras@gmail.com> wrote:
> From: Markos Chandras <markos.chandras@imgtec.com>
>
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
>  package/libevent/libevent-sysctl.patch |   46 ++++++++++++++++++++++++++++++++
>  package/libevent/libevent.mk           |    1 +
>  2 files changed, 47 insertions(+), 0 deletions(-)
>  create mode 100644 package/libevent/libevent-sysctl.patch
>
> diff --git a/package/libevent/libevent-sysctl.patch b/package/libevent/libevent-sysctl.patch
> new file mode 100644
> index 0000000..8c72377
> --- /dev/null
> +++ b/package/libevent/libevent-sysctl.patch
> @@ -0,0 +1,46 @@
> +Add Gentoo fix for C libraries that lack the sysctl system call
> +http://sources2.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libevent/files/libevent-2.0.16-sysctl.patch?revision=1.1
> +This patch has already been commited upstream
> +
> +Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> +
> +From 358c745e5432f7648b6f8b3188f32b5551cbf9d6 Mon Sep 17 00:00:00 2001
> +From: Mike Frysinger <vapier@gentoo.org>
> +Date: Thu, 8 Dec 2011 11:39:48 -0500
> +Subject: [PATCH] check for sysctl before we use it
> +
> +Not all C libraries under Linux support the sysctl() func.
> +---
> + arc4random.c |    2 +-
> + configure.in |    2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/arc4random.c b/arc4random.c
> +index 4833169..ef10fa8 100644
> +--- a/arc4random.c
> ++++ b/arc4random.c
> +@@ -166,7 +166,7 @@ arc4_seed_win32(void)
> + }
> + #endif
> +
> +-#if defined(_EVENT_HAVE_SYS_SYSCTL_H)
> ++#if defined(_EVENT_HAVE_SYS_SYSCTL_H) && defined(_EVENT_HAVE_SYSCTL)
> + #if _EVENT_HAVE_DECL_CTL_KERN && _EVENT_HAVE_DECL_KERN_RANDOM && _EVENT_HAVE_DECL_RANDOM_UUID
> + #define TRY_SEED_SYSCTL_LINUX
> + static int
> +diff --git a/configure.in b/configure.in
> +index da08cf4..4e24444 100644
> +--- a/configure.in
> ++++ b/configure.in
> +@@ -267,7 +267,7 @@ AC_HEADER_TIME
> +
> + dnl Checks for library functions.
> + AC_CHECK_FUNCS([gettimeofday vasprintf fcntl clock_gettime strtok_r strsep])
> +-AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf issetugid geteuid getegid getprotobynumber setenv unsetenv putenv])
> ++AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf issetugid geteuid getegid getprotobynumber setenv unsetenv putenv sysctl])
> +
> + AC_CACHE_CHECK(
> +     [for getaddrinfo],
> +--
> +1.7.6.1
> +
> diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk
> index 5ce511f..3f2dfb0 100644
> --- a/package/libevent/libevent.mk
> +++ b/package/libevent/libevent.mk
> @@ -6,6 +6,7 @@
>  LIBEVENT_VERSION = 2.0.14
>  LIBEVENT_SOURCE = libevent-$(LIBEVENT_VERSION)-stable.tar.gz
>  LIBEVENT_SITE = https://github.com/downloads/libevent/libevent
> +LIBEVENT_AUTORECONF = YES
>  LIBEVENT_INSTALL_STAGING = YES
>
>  define LIBEVENT_REMOVE_PYSCRIPT
> --
> 1.7.1
>

Ping? :-)
Peter Korsgaard - Dec. 5, 2012, 4:51 p.m.
>>>>> "Markos" == Markos Chandras <markos.chandras@gmail.com> writes:

Hi,

 >> +++ b/package/libevent/libevent-sysctl.patch
 >> @@ -0,0 +1,46 @@
 >> +Add Gentoo fix for C libraries that lack the sysctl system call
 >> +http://sources2.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libevent/files/libevent-2.0.16-sysctl.patch?revision=1.1
 >> +This patch has already been commited upstream
 >> +
 >> +Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
 >> +
 >> +From 358c745e5432f7648b6f8b3188f32b5551cbf9d6 Mon Sep 17 00:00:00 2001
 >> +From: Mike Frysinger <vapier@gentoo.org>
 >> +Date: Thu, 8 Dec 2011 11:39:48 -0500
 >> +Subject: [PATCH] check for sysctl before we use it
 >> +
 >> +Not all C libraries under Linux support the sysctl() func.

 Markos> Ping? :-)

What archs (in Buildroot context) are affected by this?
Markos Chandras - Dec. 5, 2012, 5:03 p.m.
On 5 December 2012 16:51, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Markos" == Markos Chandras <markos.chandras@gmail.com> writes:
>
> Hi,
>
>  >> +++ b/package/libevent/libevent-sysctl.patch
>  >> @@ -0,0 +1,46 @@
>  >> +Add Gentoo fix for C libraries that lack the sysctl system call
>  >> +http://sources2.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libevent/files/libevent-2.0.16-sysctl.patch?revision=1.1
>  >> +This patch has already been commited upstream
>  >> +
>  >> +Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
>  >> +
>  >> +From 358c745e5432f7648b6f8b3188f32b5551cbf9d6 Mon Sep 17 00:00:00 2001
>  >> +From: Mike Frysinger <vapier@gentoo.org>
>  >> +Date: Thu, 8 Dec 2011 11:39:48 -0500
>  >> +Subject: [PATCH] check for sysctl before we use it
>  >> +
>  >> +Not all C libraries under Linux support the sysctl() func.
>
>  Markos> Ping? :-)
>
> What archs (in Buildroot context) are affected by this?
>
> --
> Bye, Peter Korsgaard

Hi Peter,

All of the existing architectures in buildroot support the sysctl
syscall. However, this patch will not cause any problem
for these architectures anyway.
Thomas Petazzoni - Oct. 6, 2013, 2:48 p.m.
Dear Markos Chandras,

On Wed, 21 Nov 2012 10:56:29 +0000, Markos Chandras wrote:
> From: Markos Chandras <markos.chandras@imgtec.com>
> 
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
>  package/libevent/libevent-sysctl.patch |   46 ++++++++++++++++++++++++++++++++
>  package/libevent/libevent.mk           |    1 +
>  2 files changed, 47 insertions(+), 0 deletions(-)
>  create mode 100644 package/libevent/libevent-sysctl.patch

This patch was never applied to Buildroot, but libevent has been
updated to 2.0.21 recently, and my understanding is that the sysctl
problem is fixed in 2.0.21.

Therefore, I'm marking this patch as "non-applicable" in patchwork.
Do not hesitate to resend an updated patch if my understanding turns
out to be wrong.

Thanks!

Thomas

Patch

diff --git a/package/libevent/libevent-sysctl.patch b/package/libevent/libevent-sysctl.patch
new file mode 100644
index 0000000..8c72377
--- /dev/null
+++ b/package/libevent/libevent-sysctl.patch
@@ -0,0 +1,46 @@ 
+Add Gentoo fix for C libraries that lack the sysctl system call
+http://sources2.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libevent/files/libevent-2.0.16-sysctl.patch?revision=1.1
+This patch has already been commited upstream
+
+Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
+
+From 358c745e5432f7648b6f8b3188f32b5551cbf9d6 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 8 Dec 2011 11:39:48 -0500
+Subject: [PATCH] check for sysctl before we use it
+
+Not all C libraries under Linux support the sysctl() func.
+---
+ arc4random.c |    2 +-
+ configure.in |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arc4random.c b/arc4random.c
+index 4833169..ef10fa8 100644
+--- a/arc4random.c
++++ b/arc4random.c
+@@ -166,7 +166,7 @@ arc4_seed_win32(void)
+ }
+ #endif
+ 
+-#if defined(_EVENT_HAVE_SYS_SYSCTL_H)
++#if defined(_EVENT_HAVE_SYS_SYSCTL_H) && defined(_EVENT_HAVE_SYSCTL)
+ #if _EVENT_HAVE_DECL_CTL_KERN && _EVENT_HAVE_DECL_KERN_RANDOM && _EVENT_HAVE_DECL_RANDOM_UUID
+ #define TRY_SEED_SYSCTL_LINUX
+ static int
+diff --git a/configure.in b/configure.in
+index da08cf4..4e24444 100644
+--- a/configure.in
++++ b/configure.in
+@@ -267,7 +267,7 @@ AC_HEADER_TIME
+ 
+ dnl Checks for library functions.
+ AC_CHECK_FUNCS([gettimeofday vasprintf fcntl clock_gettime strtok_r strsep])
+-AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf issetugid geteuid getegid getprotobynumber setenv unsetenv putenv])
++AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf issetugid geteuid getegid getprotobynumber setenv unsetenv putenv sysctl])
+ 
+ AC_CACHE_CHECK(
+     [for getaddrinfo],
+-- 
+1.7.6.1
+
diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk
index 5ce511f..3f2dfb0 100644
--- a/package/libevent/libevent.mk
+++ b/package/libevent/libevent.mk
@@ -6,6 +6,7 @@ 
 LIBEVENT_VERSION = 2.0.14
 LIBEVENT_SOURCE = libevent-$(LIBEVENT_VERSION)-stable.tar.gz
 LIBEVENT_SITE = https://github.com/downloads/libevent/libevent
+LIBEVENT_AUTORECONF = YES
 LIBEVENT_INSTALL_STAGING = YES
 
 define LIBEVENT_REMOVE_PYSCRIPT