lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

commit 4714b0c9849de56ace62be2ea82c17bab856723b
parent 36ce356436c3ef5f54cec0a7ccf95191a6ba886f
Author: Steven Barth <steven@midlink.org>
Date:   Mon, 19 Oct 2015 21:27:18 +0200

Merge pull request #1847 from jow-/motion-musl-compat

motion: fix segmentation fault under musl libc
Diffstat:
Mmultimedia/motion/Makefile | 4++--
Amultimedia/motion/patches/100-musl-compat.patch | 49+++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/multimedia/motion/Makefile b/multimedia/motion/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2008-2011 OpenWrt.org +# Copyright (C) 2008-2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=motion PKG_VERSION=3.4.0-20141018-$(PKG_SOURCE_VERSION) -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com> PKG_LICENSE:=GPLv2 diff --git a/multimedia/motion/patches/100-musl-compat.patch b/multimedia/motion/patches/100-musl-compat.patch @@ -0,0 +1,49 @@ +--- a/motion.c ++++ b/motion.c +@@ -2630,6 +2630,17 @@ int main (int argc, char **argv) + struct sigaction sigchild_action; + setup_signals(&sig_handler_action, &sigchild_action); + ++ /* ++ * Create and a thread attribute for the threads we spawn later on. ++ * PTHREAD_CREATE_DETACHED means to create threads detached, i.e. ++ * their termination cannot be synchronized through 'pthread_join'. ++ */ ++ pthread_attr_init(&thread_attr); ++ pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); ++ ++ /* Create the TLS key for thread number. */ ++ pthread_key_create(&tls_key_threadnr, NULL); ++ + motion_startup(1, argc, argv); + + #ifdef HAVE_FFMPEG +@@ -2648,17 +2659,6 @@ int main (int argc, char **argv) + if (cnt_list[0]->conf.setup_mode) + MOTION_LOG(NTC, TYPE_ALL, NO_ERRNO, "%s: Motion running in setup mode."); + +- /* +- * Create and a thread attribute for the threads we spawn later on. +- * PTHREAD_CREATE_DETACHED means to create threads detached, i.e. +- * their termination cannot be synchronized through 'pthread_join'. +- */ +- pthread_attr_init(&thread_attr); +- pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); +- +- /* Create the TLS key for thread number. */ +- pthread_key_create(&tls_key_threadnr, NULL); +- + do { + if (restart) { + /* +--- a/motion.h ++++ b/motion.h +@@ -84,7 +84,7 @@ + #endif + + /* strerror_r() XSI vs GNU */ +-#if (defined(BSD)) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) ++#if (defined(BSD)) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) || (!defined(__GLIBC__)) + #define XSI_STRERROR_R + #endif +