From 6104632bc2ca68753290e9f4b766772085900dfc Mon Sep 17 00:00:00 2001 From: Ted Hess Date: Wed, 17 Jun 2015 17:32:06 -0400 Subject: [PATCH 1/3] libv4l: Fix musl compatibility, update to 1.6.3 Signed-off-by: Ted Hess --- libs/libv4l/Makefile | 5 +- .../patches/005-test_for_posix_ioctl.patch | 23 +++++ .../patches/020-add-missing-includes.patch | 18 ++++ .../patches/030-musl_compatibility.patch | 92 +++++++++++++++++++ 4 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 libs/libv4l/patches/005-test_for_posix_ioctl.patch create mode 100644 libs/libv4l/patches/030-musl_compatibility.patch diff --git a/libs/libv4l/Makefile b/libs/libv4l/Makefile index baf3c7d75..841ffa50e 100644 --- a/libs/libv4l/Makefile +++ b/libs/libv4l/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v4l-utils -PKG_VERSION:=1.6.2 +PKG_VERSION:=1.6.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.linuxtv.org/downloads/v4l-utils -PKG_MD5SUM:=9cb3c178f937954e65bf30920af433ef +PKG_MD5SUM:=307858616be6374f63bf946307f15a7f PKG_MAINTAINER:=Ted Hess @@ -22,6 +22,7 @@ PKG_LICENSE:=GPL-2.0 LGPL-2.1 PKG_LICENSE_FILES:=COPYING COPYING.libv4l PKG_USE_MIPS16:=0 +PKG_FIXUP:=autoreconf PKG_INSTALL:=1 PKG_BUILD_DEPENDS:=argp-standalone diff --git a/libs/libv4l/patches/005-test_for_posix_ioctl.patch b/libs/libv4l/patches/005-test_for_posix_ioctl.patch new file mode 100644 index 000000000..e945bbf87 --- /dev/null +++ b/libs/libv4l/patches/005-test_for_posix_ioctl.patch @@ -0,0 +1,23 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -80,6 +80,20 @@ gl_VISIBILITY + AC_CHECK_HEADERS([sys/klog.h]) + AC_CHECK_FUNCS([klogctl]) + ++AC_CACHE_CHECK([for ioctl with POSIX signature], ++ [gl_cv_func_ioctl_posix_signature], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include ]], ++ [[int ioctl (int, int, ...);]]) ++ ], ++ [gl_cv_func_ioctl_posix_signature=yes], ++ [gl_cv_func_ioctl_posix_signature=no]) ++ ]) ++if test "x$gl_cv_func_ioctl_posix_signature" = xyes; then ++ AC_DEFINE([HAVE_POSIX_IOCTL], [1], [Have ioctl with POSIX signature]) ++fi ++ + # Check host os + case "$host_os" in + linux*) diff --git a/libs/libv4l/patches/020-add-missing-includes.patch b/libs/libv4l/patches/020-add-missing-includes.patch index 70107d397..34e0511ab 100644 --- a/libs/libv4l/patches/020-add-missing-includes.patch +++ b/libs/libv4l/patches/020-add-missing-includes.patch @@ -8,3 +8,21 @@ #include #include #include +@@ -36,6 +37,7 @@ + #include + #include + #include ++#include + + #include + #include +--- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp ++++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #include "v4l2-ctl.h" + diff --git a/libs/libv4l/patches/030-musl_compatibility.patch b/libs/libv4l/patches/030-musl_compatibility.patch new file mode 100644 index 000000000..bd3f0d7f4 --- /dev/null +++ b/libs/libv4l/patches/030-musl_compatibility.patch @@ -0,0 +1,92 @@ +--- a/lib/libv4lconvert/libv4lsyscall-priv.h ++++ b/lib/libv4lconvert/libv4lsyscall-priv.h +@@ -35,14 +35,19 @@ + which is broken on some systems and doesn't include them itself :( */ + + #ifdef linux ++#define __NEED_off_t + #include + #include + #include + #include + /* On 32 bits archs we always use mmap2, on 64 bits archs there is no mmap2 */ + #ifdef __NR_mmap2 ++#undef SYS_mmap2 + #define SYS_mmap2 __NR_mmap2 + #define MMAP2_PAGE_SHIFT 12 ++#if !(defined(__UCLIBC__) || defined(__GLIBC__)) ++typedef off_t __off_t; ++#endif + #else + #define SYS_mmap2 SYS_mmap + #define MMAP2_PAGE_SHIFT 0 +--- a/lib/libv4l1/v4l1compat.c ++++ b/lib/libv4l1/v4l1compat.c +@@ -62,7 +62,7 @@ LIBV4L_PUBLIC int open(const char *file, + return fd; + } + +-#ifdef linux ++#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__)) + LIBV4L_PUBLIC int open64(const char *file, int oflag, ...) + { + int fd; +@@ -94,7 +94,11 @@ LIBV4L_PUBLIC int dup(int fd) + return v4l1_dup(fd); + } + ++#ifdef HAVE_POSIX_IOCTL ++LIBV4L_PUBLIC int ioctl(int fd, int request, ...) ++#else + LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...) ++#endif + { + void *arg; + va_list ap; +@@ -112,12 +116,12 @@ LIBV4L_PUBLIC ssize_t read(int fd, void + } + + LIBV4L_PUBLIC void *mmap(void *start, size_t length, int prot, int flags, int fd, +- __off_t offset) ++ off_t offset) + { + return v4l1_mmap(start, length, prot, flags, fd, offset); + } + +-#ifdef linux ++#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__)) + LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd, + __off64_t offset) + { +--- a/lib/libv4l2/v4l2convert.c ++++ b/lib/libv4l2/v4l2convert.c +@@ -86,7 +86,7 @@ LIBV4L_PUBLIC int open(const char *file, + return fd; + } + +-#ifdef linux ++#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__)) + LIBV4L_PUBLIC int open64(const char *file, int oflag, ...) + { + int fd; +@@ -121,7 +121,11 @@ LIBV4L_PUBLIC int dup(int fd) + return v4l2_dup(fd); + } + ++#ifdef HAVE_POSIX_IOCTL ++LIBV4L_PUBLIC int ioctl(int fd, int request, ...) ++#else + LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...) ++#endif + { + void *arg; + va_list ap; +@@ -144,7 +148,7 @@ LIBV4L_PUBLIC void *mmap(void *start, si + return v4l2_mmap(start, length, prot, flags, fd, offset); + } + +-#ifdef linux ++#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__)) + LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd, + __off64_t offset) + { From d5697f6a9589912c5caa1c432fd4b37ae63c1639 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Thu, 18 Jun 2015 17:57:03 +0800 Subject: [PATCH 2/3] libpam: fix build. - Update PKG_MD5SUM. - Update PKG_RELEASE. - Update patch 0001- to always use /lib directory. - Refresh other patches. Signed-off-by: Yousong Zhou --- libs/libpam/Makefile | 4 +-- ...uild-always-use-lib-instead-of-lib64.patch | 36 +++++++++++++++++++ ...ost_cpu-for-lib64-directory-handling.patch | 28 --------------- ..._rhosts-if-neither-ruserok-nor-ruser.patch | 6 ++-- ..._lastlog-when-logwtmp-is-not-availab.patch | 6 ++-- ...when-crypt-is-not-part-of-crypt_libs.patch | 6 ++-- .../patches/0005-build-fix-doc-build.patch | 2 +- ...pilation-in-case-rpc-rpc.h-is-missin.patch | 2 +- ...innetgr-is-available-at-compile-time.patch | 2 +- 9 files changed, 50 insertions(+), 42 deletions(-) create mode 100644 libs/libpam/patches/0001-build-always-use-lib-instead-of-lib64.patch delete mode 100644 libs/libpam/patches/0001-build-use-host_cpu-for-lib64-directory-handling.patch diff --git a/libs/libpam/Makefile b/libs/libpam/Makefile index 10e74589a..ee9ecc659 100644 --- a/libs/libpam/Makefile +++ b/libs/libpam/Makefile @@ -9,11 +9,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libpam PKG_VERSION:=1.2.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=Linux-PAM-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.linux-pam.org/library/ -PKG_MD5SUM:=35b6091af95981b1b2cd60d813b5e4ee +PKG_MD5SUM:=ee4a480d77b341c99e8b1375f8f180c0 PKG_INSTALL:=1 PKG_FIXUP:=autoreconf PKG_MAINTAINER:=Nikos Mavrogiannopoulos diff --git a/libs/libpam/patches/0001-build-always-use-lib-instead-of-lib64.patch b/libs/libpam/patches/0001-build-always-use-lib-instead-of-lib64.patch new file mode 100644 index 000000000..25d9a4ab7 --- /dev/null +++ b/libs/libpam/patches/0001-build-always-use-lib-instead-of-lib64.patch @@ -0,0 +1,36 @@ +From 1948dd03d69c1a50e92d7e8868b7d6eabd4873c1 Mon Sep 17 00:00:00 2001 +From: Yousong Zhou +Date: Wed, 17 Jun 2015 16:11:31 +0800 +Subject: [PATCH 1/7] build: always use /lib instead of /lib64. + +* configure.ac: OpenWrt does not use /lib64. + +Signed-off-by: Yousong Zhou +--- + configure.ac | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fd0e310..306b6e2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,15 +25,7 @@ dnl If we use /usr as prefix, use /etc for config files + then + sysconfdir="/etc" + fi +- if test ${libdir} = '${exec_prefix}/lib' +- then +- case "`uname -m`" in +- x86_64|ppc64|s390x|sparc64) +- libdir="/lib64" ;; +- *) +- libdir="/lib" ;; +- esac +- fi ++ libdir="/lib" + if test ${sbindir} = '${exec_prefix}/sbin' + then + sbindir="/sbin" +-- +1.7.10.4 + diff --git a/libs/libpam/patches/0001-build-use-host_cpu-for-lib64-directory-handling.patch b/libs/libpam/patches/0001-build-use-host_cpu-for-lib64-directory-handling.patch deleted file mode 100644 index 038b21422..000000000 --- a/libs/libpam/patches/0001-build-use-host_cpu-for-lib64-directory-handling.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ee916fd0ec70eb37a97da29f6ec0c26bef7cf6f2 Mon Sep 17 00:00:00 2001 -From: Yousong Zhou -Date: Wed, 17 Jun 2015 16:11:31 +0800 -Subject: [PATCH 1/7] build: use $host_cpu for lib64 directory handling. - -* configure.ac: use $host_cpu for lib64 directory handling. - -Signed-off-by: Yousong Zhou ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index fd0e310..1bc2591 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -27,7 +27,7 @@ dnl If we use /usr as prefix, use /etc for config files - fi - if test ${libdir} = '${exec_prefix}/lib' - then -- case "`uname -m`" in -+ case "$host_cpu" in - x86_64|ppc64|s390x|sparc64) - libdir="/lib64" ;; - *) --- -1.7.10.4 - diff --git a/libs/libpam/patches/0002-build-ignore-pam_rhosts-if-neither-ruserok-nor-ruser.patch b/libs/libpam/patches/0002-build-ignore-pam_rhosts-if-neither-ruserok-nor-ruser.patch index c3eda4155..abafcbb24 100644 --- a/libs/libpam/patches/0002-build-ignore-pam_rhosts-if-neither-ruserok-nor-ruser.patch +++ b/libs/libpam/patches/0002-build-ignore-pam_rhosts-if-neither-ruserok-nor-ruser.patch @@ -1,4 +1,4 @@ -From e985c1ef2c739a597b2d7a2efc3c310c02e40c1f Mon Sep 17 00:00:00 2001 +From 1a2e6c979118dce5e79604e88c008c7879d1e4e6 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Wed, 17 Jun 2015 18:19:23 +0800 Subject: [PATCH 2/7] build: ignore pam_rhosts if neither ruserok nor @@ -16,10 +16,10 @@ Signed-off-by: Yousong Zhou 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 1bc2591..3c4d8bb 100644 +index 306b6e2..084071a 100644 --- a/configure.ac +++ b/configure.ac -@@ -542,7 +542,10 @@ AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir selec +@@ -534,7 +534,10 @@ AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir selec AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname) AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r) AC_CHECK_FUNCS(getgrouplist getline getdelim) diff --git a/libs/libpam/patches/0003-build-ignore-pam_lastlog-when-logwtmp-is-not-availab.patch b/libs/libpam/patches/0003-build-ignore-pam_lastlog-when-logwtmp-is-not-availab.patch index ddcb66228..2f3f19cb3 100644 --- a/libs/libpam/patches/0003-build-ignore-pam_lastlog-when-logwtmp-is-not-availab.patch +++ b/libs/libpam/patches/0003-build-ignore-pam_lastlog-when-logwtmp-is-not-availab.patch @@ -1,4 +1,4 @@ -From 173164996ca7daf3fa705f2a0bb2991b0d5d2083 Mon Sep 17 00:00:00 2001 +From bac1ee3033cf22e31730fe3e77ca82bd5ebba692 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Wed, 17 Jun 2015 21:18:05 +0800 Subject: [PATCH 3/7] build: ignore pam_lastlog when logwtmp is not available. @@ -13,10 +13,10 @@ Signed-off-by: Yousong Zhou 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 3c4d8bb..8de6edf 100644 +index 084071a..ca4bf5b 100644 --- a/configure.ac +++ b/configure.ac -@@ -544,8 +544,10 @@ AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r +@@ -536,8 +536,10 @@ AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r AC_CHECK_FUNCS(getgrouplist getline getdelim) AC_CHECK_FUNCS(inet_ntop inet_pton innetgr) AC_CHECK_FUNCS([ruserok_af ruserok], [break]) diff --git a/libs/libpam/patches/0004-build-fix-build-when-crypt-is-not-part-of-crypt_libs.patch b/libs/libpam/patches/0004-build-fix-build-when-crypt-is-not-part-of-crypt_libs.patch index ee319d11b..04e617326 100644 --- a/libs/libpam/patches/0004-build-fix-build-when-crypt-is-not-part-of-crypt_libs.patch +++ b/libs/libpam/patches/0004-build-fix-build-when-crypt-is-not-part-of-crypt_libs.patch @@ -1,4 +1,4 @@ -From 20e5efe4b2a8471bc52e480e53cff68a4de19c56 Mon Sep 17 00:00:00 2001 +From a35daea1b8be768d1b0be6eae157fbf3e5380f92 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Wed, 17 Jun 2015 18:22:31 +0800 Subject: [PATCH 4/7] build: fix build when crypt() is not part of crypt_libs. @@ -11,10 +11,10 @@ Signed-off-by: Yousong Zhou 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 8de6edf..c15441b 100644 +index ca4bf5b..6553c78 100644 --- a/configure.ac +++ b/configure.ac -@@ -416,7 +416,7 @@ AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"], +@@ -408,7 +408,7 @@ AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"], [crypt_libs="crypt"]) BACKUP_LIBS=$LIBS diff --git a/libs/libpam/patches/0005-build-fix-doc-build.patch b/libs/libpam/patches/0005-build-fix-doc-build.patch index 132012439..cd9b0a802 100644 --- a/libs/libpam/patches/0005-build-fix-doc-build.patch +++ b/libs/libpam/patches/0005-build-fix-doc-build.patch @@ -1,4 +1,4 @@ -From df7abf333d19aefd166f613b696345732ae4c9c8 Mon Sep 17 00:00:00 2001 +From 1563e57ea8ab9d123f765129a6840929ef58ff7a Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Wed, 17 Jun 2015 20:38:41 +0800 Subject: [PATCH 5/7] build: fix doc build. diff --git a/libs/libpam/patches/0006-pam_unix-fix-compilation-in-case-rpc-rpc.h-is-missin.patch b/libs/libpam/patches/0006-pam_unix-fix-compilation-in-case-rpc-rpc.h-is-missin.patch index bfdfd8b4c..014684f29 100644 --- a/libs/libpam/patches/0006-pam_unix-fix-compilation-in-case-rpc-rpc.h-is-missin.patch +++ b/libs/libpam/patches/0006-pam_unix-fix-compilation-in-case-rpc-rpc.h-is-missin.patch @@ -1,4 +1,4 @@ -From 596797ab7f46fb4d0338e75db7c0d1019cd4df87 Mon Sep 17 00:00:00 2001 +From 2e3ed4c6fb09f84fede589047d37d11783202d34 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Wed, 17 Jun 2015 18:16:18 +0800 Subject: [PATCH 6/7] pam_unix: fix compilation in case rpc/rpc.h is missing. diff --git a/libs/libpam/patches/0007-Check-if-innetgr-is-available-at-compile-time.patch b/libs/libpam/patches/0007-Check-if-innetgr-is-available-at-compile-time.patch index 7108b6bed..f79b01aeb 100644 --- a/libs/libpam/patches/0007-Check-if-innetgr-is-available-at-compile-time.patch +++ b/libs/libpam/patches/0007-Check-if-innetgr-is-available-at-compile-time.patch @@ -1,4 +1,4 @@ -From 9e2fa22891a87592c1a04801623fea5be40cb581 Mon Sep 17 00:00:00 2001 +From c681bd104627139eac2f40fe303e1f67676233e8 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Wed, 17 Jun 2015 15:33:43 +0800 Subject: [PATCH 7/7] Check if innetgr is available at compile time. From db2eba4dc4f6958889f8664837c8c477f9808c6a Mon Sep 17 00:00:00 2001 From: Ted Hess Date: Thu, 18 Jun 2015 08:35:17 -0400 Subject: [PATCH 3/3] mjpg-streamer: Fix musl compatibility Signed-off-by: Ted Hess --- .../patches/005-musl_compatibility.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 multimedia/mjpg-streamer/patches/005-musl_compatibility.patch diff --git a/multimedia/mjpg-streamer/patches/005-musl_compatibility.patch b/multimedia/mjpg-streamer/patches/005-musl_compatibility.patch new file mode 100644 index 000000000..c758eb953 --- /dev/null +++ b/multimedia/mjpg-streamer/patches/005-musl_compatibility.patch @@ -0,0 +1,13 @@ +--- a/mjpg_streamer.h ++++ b/mjpg_streamer.h +@@ -29,6 +29,10 @@ + #define MAX_OUTPUT_PLUGINS 10 + #define MAX_PLUGIN_ARGUMENTS 32 + ++#define __NEED_pthread_t ++#define __NEED_pthread_mutex_t ++#define __NEED_pthread_cond_t ++ + #include /* for videodev2.h */ + #include +