diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-14 20:05:37 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 04:26:31 +0300 |
commit | eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch) | |
tree | de291a73dc37168da6370e2cf16c347d1eba9df8 /meta-openembedded/meta-oe/recipes-extended | |
parent | 9c3cf826d853102535ead04cebc2d6023eff3032 (diff) | |
download | openbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz |
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers
content to the top level.
Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-extended')
272 files changed, 17333 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch new file mode 100644 index 0000000000..7becb94e6f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch @@ -0,0 +1,24 @@ +Add configure check for gtk2+ and objc++ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +--- A/configure.ac ++++ B/configure.ac +@@ -39,6 +39,7 @@ AC_PROG_CC + AC_PROG_CXX + AC_PROG_F77 + AC_PROG_CPP ++AC_PROG_OBJCXX + AC_PROG_MAKE_SET + SAH_LINKS + AC_LANG_PUSH(C) +@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test " + AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) + AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) + ++PKG_CHECK_MODULES([GTK2], [gtk+-2.0]) ++ + dnl ====================================================================== + dnl some more vodoo required for building portable client-binary (client, clientgui) + dnl ====================================================================== diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch new file mode 100644 index 0000000000..287391a522 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch @@ -0,0 +1,98 @@ +Remove rpath, its bad for cross compiling to encode +build time rpaths + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: boinc-client_release-7.6-7.6.33/api/Makefile.am +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am ++++ boinc-client_release-7.6-7.6.33/api/Makefile.am +@@ -43,18 +43,18 @@ endif + + lib_LTLIBRARIES = libboinc_api.la + libboinc_api_la_SOURCES = $(api_files) +-libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) ++libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) + + if BUILD_GRAPHICS_API + lib_LTLIBRARIES += libboinc_graphics2.la + libboinc_graphics2_la_SOURCES = $(graphics2_files) + libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs +-libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg ++libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg + endif #BUILD_GRAPHICS_API + + lib_LTLIBRARIES += libboinc_opencl.la + libboinc_opencl_la_SOURCES = $(opencl_files) +-libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) ++libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) + + if INSTALL_HEADERS + ## install only headers that are meant for exporting the API !! +Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am ++++ boinc-client_release-7.6-7.6.33/lib/Makefile.am +@@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la + libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources) + libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) + libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) +-libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION) ++libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) + libboinc_la_LIBADD = + + if ENABLE_BOINCCRYPT +@@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la + libboinc_crypt_la_SOURCES = crypt.cpp + libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS) + libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS) +-libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION) ++libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) + libboinc_crypt_la_LIBADD = + endif + +@@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la + libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources) + libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) + libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) +-libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) ++libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) + libboinc_fcgi_la_LIBADD = + endif + # end of "if ENABLE_FCGI" +Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am ++++ boinc-client_release-7.6-7.6.33/sched/Makefile.am +@@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la + libsched_la_SOURCES = $(libsched_sources) + libsched_la_CFLAGS = $(AM_CPPFLAGS) + libsched_la_CXXFLAGS = $(AM_CPPFLAGS) +-libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) ++libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION) + libsched_la_LIBADD= $(SSL_LIBS) + + ## install only headers that are meant for exporting the API !! +@@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la + libsched_fcgi_la_SOURCES = $(libsched_sources) + libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS) + libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS) +-libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) ++libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION) + libsched_fcgi_la_LIBADD= + + endif +Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am ++++ boinc-client_release-7.6-7.6.33/zip/Makefile.am +@@ -61,7 +61,7 @@ endif + + lib_LTLIBRARIES = libboinc_zip.la + libboinc_zip_la_SOURCES = $(libboinc_zip_sources) +-libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) ++libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) + libboinc_zip_la_LIBADD = + + # Some OSs may not prefix libraries with lib. diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch new file mode 100644 index 0000000000..4ae8d580d7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch @@ -0,0 +1,29 @@ +Check for gtk2+ only when manager is enabled + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: boinc-client_release-7.6-7.6.33/configure.ac +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/configure.ac ++++ boinc-client_release-7.6-7.6.33/configure.ac +@@ -1033,6 +1033,11 @@ else + AM_CONDITIONAL([GUI_GTK], false) + fi + ++dnl ---------- GTK+2.0----------------------------------------------------- ++if test "X${no_x}" != "Xyes"; then ++ PKG_CHECK_MODULES([GTK2], [gtk+-2.0]) ++fi ++ + dnl ---------- libNotify -------------------------------------------------- + if test "${enable_manager}" = yes ; then + PKG_CHECK_MODULES(LIBNOTIFY, [libnotify]) +@@ -1082,7 +1087,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test + AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) + AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) + +-PKG_CHECK_MODULES([GTK2], [gtk+-2.0]) + + dnl ====================================================================== + dnl some more vodoo required for building portable client-binary (client, clientgui) diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch new file mode 100644 index 0000000000..0b057eabc8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch @@ -0,0 +1,19 @@ +Do not add prefix/lib to library search path +let sysroot take care of that + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Inappropriate[Cross-compile specific] + +Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4 +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4 ++++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4 +@@ -58,7 +58,7 @@ else + else + ax_try_lib="${ax_lib}" + fi +- LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" ++ LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[ + # if HAVE_WINDOWS_H && defined(_WIN32) diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb new file mode 100644 index 0000000000..99b43fa3f8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb @@ -0,0 +1,79 @@ +# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Open-source software for volunteer computing" +DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \ +source software platform which supports distributed computing, primarily in \ +the form of volunteer computing and desktop Grid computing. It is well \ +suited for problems which are often described as trivially parallel. BOINC \ +is the underlying software used by projects such as SETI@home, Einstein@Home, \ +ClimatePrediciton.net, the World Community Grid, and many other distributed \ +computing projects. \ +This package installs the BOINC client software, which will allow your \ +computer to participate in one or more BOINC projects, using your spare \ +computer time to search for cures for diseases, model protein folding, study \ +global warming, discover sources of gravitational waves, and many other types \ +of scientific and mathematical research." + +HOMEPAGE = "http://boinc.berkeley.edu/" +LICENSE = "LGPLv2+ & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6" +SECTION = "applications" +DEPENDS = "curl \ + jpeg \ + openssl \ + sqlite3 \ + virtual/libgl \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \ + nettle \ +" + +SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \ + file://boinc-AM_CONDITIONAL.patch \ + file://opengl_m4_check.patch \ + file://cross-compile.patch \ + file://gtk-configure.patch \ +" +SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac" +SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d" + +inherit gettext autotools-brokensep pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES += "opengl" + +S = "${WORKDIR}/${BPN}_release-7.6-${PV}" + +EXTRA_OECONF += "\ + --enable-libraries \ + --enable-unicode \ + --enable-shared \ + --enable-dynamic-client-linkage \ + --enable-client \ + --disable-server \ + --disable-static \ + --disable-manager \ + --with-ssl=${STAGING_EXECPREFIXDIR} \ + --without-wxdir \ + --without-x \ + --with-boinc-platform=${TARGET_SYS} \ +" +export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config" + +do_configure_prepend () { + if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0" + then + export GTK2_CFLAGS="" + export GTK2_LIBS="" + fi +} + +do_compile_prepend () { + # Disable rpaths + sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool + sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool + sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool +} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc new file mode 100644 index 0000000000..9bdafd2440 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc @@ -0,0 +1,23 @@ +SUMMARY = "Berkeley LALR Yacc parser generator" +HOMEPAGE = "http://invisible-island.net/byacc/" +DESCRIPTION = "A parser generator utility that reads a grammar specification from a file and generates an LR(1) \ +parser for it. The parsers consist of a set of LALR(1) parsing tables and a driver routine written in the C \ +programming language." +SECTION = "devel" +LICENSE = "PD" + +SRC_URI = "ftp://invisible-island.net/byacc/byacc-${PV}.tgz \ + file://byacc-open.patch \ + file://0001-byacc-do-not-reorder-CC-and-CFLAGS.patch" + +EXTRA_OECONF += "--program-transform-name='s,^,b,'" + +BBCLASSEXTEND = "native" + +inherit autotools + +do_configure() { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf +} diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch new file mode 100644 index 0000000000..7cd2510c8e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch @@ -0,0 +1,161 @@ +Subject: byacc: do not reorder $CC and $CFLAGS + +byacc tries to process $CC and decide which part should belong to CC and which +part should below to CFLAGS and then do reordering. It doesn't make much sense +for OE. And it doesn't do its work correctly. Some options are dropped. + +Delete all these stuff so that we could have all options we need. + +Upstream-Status: Inappropriate [OE Specific] + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + aclocal.m4 | 1 - + configure | 119 ------------------------------------------------------------- + 2 files changed, 120 deletions(-) + +diff --git a/aclocal.m4 b/aclocal.m4 +index 917a848..62ef241 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -1021,7 +1021,6 @@ CF_GCC_VERSION + CF_ACVERSION_CHECK(2.52, + [AC_PROG_CC_STDC], + [CF_ANSI_CC_REQD]) +-CF_CC_ENV_FLAGS + ])dnl + dnl --------------------------------------------------------------------------- + dnl CF_PROG_GROFF version: 2 updated: 2015/07/04 11:16:27 +diff --git a/configure b/configure +index 9707e50..4f0497c 100755 +--- a/configure ++++ b/configure +@@ -1946,125 +1946,6 @@ esac + # This should have been defined by AC_PROG_CC + : ${CC:=cc} + +-echo "$as_me:1949: checking \$CC variable" >&5 +-echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6 +-case "$CC" in +-(*[\ \ ]-*) +- echo "$as_me:1953: result: broken" >&5 +-echo "${ECHO_T}broken" >&6 +- { echo "$as_me:1955: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5 +-echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;} +- # humor him... +- cf_flags=`echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'` +- CC=`echo "$CC " | sed -e 's/[ ]-[^ ].*$//' -e 's/[ ]*$//'` +- for cf_arg in $cf_flags +- do +- case "x$cf_arg" in +- (x-[IUDfgOW]*) +- +-cf_fix_cppflags=no +-cf_new_cflags= +-cf_new_cppflags= +-cf_new_extra_cppflags= +- +-for cf_add_cflags in $cf_flags +-do +-case $cf_fix_cppflags in +-(no) +- case $cf_add_cflags in +- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) +- case $cf_add_cflags in +- (-D*) +- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` +- +- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ +- && test -z "${cf_tst_cflags}" \ +- && cf_fix_cppflags=yes +- +- if test $cf_fix_cppflags = yes ; then +- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" +- continue +- elif test "${cf_tst_cflags}" = "\"'" ; then +- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" +- continue +- fi +- ;; +- esac +- case "$CPPFLAGS" in +- (*$cf_add_cflags) +- ;; +- (*) +- case $cf_add_cflags in +- (-D*) +- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` +- +-CPPFLAGS=`echo "$CPPFLAGS" | \ +- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ +- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` +- +- ;; +- esac +- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" +- ;; +- esac +- ;; +- (*) +- cf_new_cflags="$cf_new_cflags $cf_add_cflags" +- ;; +- esac +- ;; +-(yes) +- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" +- +- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` +- +- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ +- && test -z "${cf_tst_cflags}" \ +- && cf_fix_cppflags=no +- ;; +-esac +-done +- +-if test -n "$cf_new_cflags" ; then +- +- CFLAGS="$CFLAGS $cf_new_cflags" +-fi +- +-if test -n "$cf_new_cppflags" ; then +- +- CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +-fi +- +-if test -n "$cf_new_extra_cppflags" ; then +- +- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +-fi +- +- ;; +- (*) +- CC="$CC $cf_arg" +- ;; +- esac +- done +- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6 +- +-echo "${as_me:-configure}:2051: testing resulting CC: '$CC' ..." 1>&5 +- +- test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6 +- +-echo "${as_me:-configure}:2055: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5 +- +- test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6 +- +-echo "${as_me:-configure}:2059: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5 +- +- ;; +-(*) +- echo "$as_me:2063: result: ok" >&5 +-echo "${ECHO_T}ok" >&6 +- ;; +-esac +- + echo "$as_me:2068: checking whether ${MAKE-make} sets \${MAKE}" >&5 + echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 + set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` +-- +2.8.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/byacc-open.patch b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/byacc-open.patch new file mode 100644 index 0000000000..005831130b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/byacc-open.patch @@ -0,0 +1,25 @@ +Ubuntu defaults to passing _FORTIFY_SOURCE=2 which breaks byacc as it doesn't +pass enough arguments to open(): + + inlined from 'open_tmpfile' at byacc-20150711/main.c:588:5: + /usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:24: error: call to '__open_missing_mode' declared with attribute error: + open with O_CREAT in second argument needs 3 arguments + +Add a mode of 0666 to fix this. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/main.c b/main.c +index 620ce3f..82071a4 100644 +--- a/main.c ++++ b/main.c +@@ -526,7 +526,7 @@ my_mkstemp(char *temp) + } + if ((name = tempnam(dname, fname)) != 0) + { +- fd = open(name, O_CREAT | O_EXCL | O_RDWR); ++ fd = open(name, O_CREAT | O_EXCL | O_RDWR, 0666); + strcpy(temp, name); + } + else diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20170201.bb b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20170201.bb new file mode 100644 index 0000000000..702c4c99ef --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20170201.bb @@ -0,0 +1,12 @@ +# Sigh. This is one of those places where everyone licenses it differently. Someone +# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that: +# "I've found no reliable source which states that byacc must bear a UCB copyright." +# Setting to PD as this is what the upstream has it as. + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=9176bfb16dab43ebcb8e50d9ee9550b6" +require byacc.inc + +SRC_URI[md5sum] = "4bb274bbd7b648d4251c2b9ca36ed0c9" +SRC_URI[sha256sum] = "90b768d177f91204e6e7cef226ae1dc7cac831b625774cebd3e233a917754f91" + diff --git a/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.10.2.bb b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.10.2.bb new file mode 100644 index 0000000000..b52e7cc082 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.10.2.bb @@ -0,0 +1,36 @@ +# +# Copyright (C) 2014 - 2017 Wind River Systems, Inc. +# +SUMMARY = "Base policy for CFEngine" + +DESCRIPTION = "CFEngine is an IT infrastructure automation framework \ +that helps engineers, system administrators and other stakeholders \ +in an IT system to manage and understand IT infrastructure throughout \ +its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \ + \ +This package is intended to provide a stable base policy for \ +installations and upgrades, and is used by CFEngine 3.6 and newer. \ + \ +The contents of this packge are intended to live in `/var/cfengine/masterfiles` \ +or wherever `$(sys.masterdir)` points. \ +" + +HOMEPAGE = "http://cfengine.com" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9f76426f9ef8c6f6739fadd21d817a4f" + +SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz" + +SRC_URI[md5sum] = "1247ef4e8f3cee5efa98da50c326e5a4" +SRC_URI[sha256sum] = "5d18a8d71f451d0b5dd1f5e579452b29b99b664f2bb0827dbba9a615f2764df6" + +inherit autotools + +export EXPLICIT_VERSION="${PV}" + +EXTRA_OECONF = "--prefix=${datadir}/cfengine" + +FILES_${PN} = "${datadir}/cfengine" + +RDEPENDS_${PN} += "python-core" diff --git a/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch new file mode 100644 index 0000000000..2295e415cd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch @@ -0,0 +1,28 @@ +Upstream-Status: Inappropriate [configuration] + +projlibdir use a hard coded lib path, this will cause error when build a 64bit +target. So change it to suitable path. + +Signed-off-by: Song.Li <Song.Li@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 38e2b9c..bc6b996 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -188,7 +188,7 @@ AS_IF([test x"$enable_fhs" = xyes], [ + fi + + sbindir='${exec_prefix}/bin' # /var/cfengine/bin despite being sbin_? +- projlibdir='${exec_prefix}/lib' ++ projlibdir='${libdir}' + mandir='${exec_prefix}/share/man' + ]) + +-- +1.7.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch new file mode 100644 index 0000000000..b9526f2843 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch @@ -0,0 +1,23 @@ +Upstream-Status: Inappropriate [configuration] + +Set the path of default configure file. + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- +diff --git a/misc/init.d/cfengine3.in b/misc/init.d/cfengine3.in +index d6ae26f..1dee283 100644 +--- a/misc/init.d/cfengine3.in ++++ b/misc/init.d/cfengine3.in +@@ -101,11 +101,7 @@ if [ -z "$LOCKDIR" ]; then + fi + + # default control file +-if [ "$DEBIAN" = "1" ]; then +- DEFAULT=/etc/default/cfengine3 +-else +- DEFAULT=/etc/sysconfig/cfengine3 +-fi ++DEFAULT=/etc/default/cfengine3 + + if [ -f $DEFAULT ]; then + . $DEFAULT diff --git a/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.10.2.bb b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.10.2.bb new file mode 100644 index 0000000000..b86b0a1f18 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.10.2.bb @@ -0,0 +1,73 @@ +# +# Copyright (C) 2014 - 2017 Wind River Systems, Inc. +# +SUMMARY = "CFEngine is an IT infrastructure automation framework" + +DESCRIPTION = "CFEngine is an IT infrastructure automation framework \ +that helps engineers, system administrators and other stakeholders \ +in an IT system to manage and understand IT infrastructure throughout \ +its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit." + +HOMEPAGE = "http://cfengine.com" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f8b34828ab373d6b1bb4b0fc60a78494" + +DEPENDS = "attr tokyocabinet" + +SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \ + file://change-hard-coded-lib-path.patch \ + file://set-path-of-default-config-file.patch \ +" + +SRC_URI[md5sum] = "c16baf08189a1af6fcf2e2ff61102992" +SRC_URI[sha256sum] = "d4fa9ac7276dba7b85d6757aab2f0929ab8d3b115cb0e7b0cf984760347429d7" + +inherit autotools systemd + +export EXPLICIT_VERSION="${PV}" + +SYSTEMD_SERVICE_${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \ + cf-runalerts.service cf-consumer.service cf-execd.service \ + cf-monitord.service cf-redis-server.service cf-serverd.service \ +" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +PACKAGECONFIG ??= "libpcre openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \ +" +PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2," +PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql," +PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql," +PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl," +PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt," +PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre," +PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl," +PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam," +PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml," +PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service" +PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl," + +EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet" + +do_install_append() { + install -d ${D}${localstatedir}/${BPN}/bin + for f in `ls ${D}${bindir}`; do + ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/ + done + + install -d ${D}${sysconfdir}/default + cat << EOF > ${D}${sysconfdir}/default/cfengine3 +RUN_CF_SERVERD=1 +RUN_CF_EXECD=1 +RUN_CF_MONITORD=1 +RUN_CF_HUB=0 +EOF + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3 + sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service + fi +} + +RDEPENDS_${PN} += "${BPN}-masterfiles" diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch new file mode 100644 index 0000000000..b2a149b0f4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch @@ -0,0 +1,27 @@ +From a701ed30ac1bc2f77d063c237d6ae040a2d53f6b Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 16 May 2016 16:52:24 +0300 +Subject: [PATCH] Add 'm' suffix to the python library name. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + swig/python/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt +index 128798b..391cef7 100644 +--- a/swig/python/CMakeLists.txt ++++ b/swig/python/CMakeLists.txt +@@ -49,7 +49,7 @@ ADD_DEFINITIONS(-DCMPI_PLATFORM_LINUX_GENERIC_GNU -DCMPI_VERSION=200) + SET( NAME pyCmpiProvider ) + ADD_LIBRARY( ${NAME} SHARED ${SWIG_OUTPUT}) + #TARGET_LINK_LIBRARIES( ${NAME} ${PYTHON_LIBRARIES} ) +-TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION} ) ++TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}m ) + TARGET_LINK_LIBRARIES( ${NAME} pthread ) + TARGET_LINK_LIBRARIES( ${NAME} dl ) + TARGET_LINK_LIBRARIES( ${NAME} util ) +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch new file mode 100644 index 0000000000..d1a303cf4f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch @@ -0,0 +1,26 @@ +From b8e791ce93a467081fb1594b91841e2f57c634a0 Mon Sep 17 00:00:00 2001 +From: Qian Lei <qianl.fnst@cn.fujitsu.com> +Date: Fri, 16 Jan 2015 18:37:26 +0800 +Subject: [PATCH] Fix error + +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> +--- + swig/python/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt +index 3976296..8073fc8 100644 +--- a/swig/python/CMakeLists.txt ++++ b/swig/python/CMakeLists.txt +@@ -27,7 +27,7 @@ SET( SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/../cmpi.i" ) + ADD_CUSTOM_COMMAND ( + OUTPUT ${SWIG_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for Python ..." +- COMMAND ${SWIG_EXECUTABLE} -python -Wall -threads -features autodoc -o ${SWIG_OUTPUT} -outdir ${CMAKE_CURRENT_BINARY_DIR} -I/usr/include ${SWIG_INPUT} ++ COMMAND ${SWIG_EXECUTABLE} -python -Wall -threads -features autodoc -o ${SWIG_OUTPUT} -outdir ${CMAKE_CURRENT_BINARY_DIR} -I$ENV{STAGING_INCDIR} ${SWIG_INPUT} + COMMAND ${CMAKE_COMMAND} -E echo "Done." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Modify-cmakelist.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Modify-cmakelist.patch new file mode 100644 index 0000000000..92e5e5662e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Modify-cmakelist.patch @@ -0,0 +1,41 @@ +From 070822507befe7c1b8bb1be2d36cb12141d03b8f Mon Sep 17 00:00:00 2001 +From: Qian Lei <qianl.fnst@cn.fujitsu.com> +Date: Tue, 6 Jan 2015 18:38:32 +0800 +Subject: [PATCH] Change the install path in cmakelist + +Upstream-Status: Pending +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> +--- + swig/python/CMakeLists.txt | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt +index 3976296..93c87c1 100644 +--- a/swig/python/CMakeLists.txt ++++ b/swig/python/CMakeLists.txt +@@ -56,18 +56,18 @@ TARGET_LINK_LIBRARIES( ${NAME} util ) + + INSTALL(TARGETS ${NAME} LIBRARY DESTINATION ${CMPI_LIBRARY_DIR}) + # .py: swig generated +-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmpi.py DESTINATION ${PYTHON_SITE_DIR} ) ++INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmpi.py DESTINATION $ENV{ENV_INSTALL_PATH} ) + + + # + # cmpi_pywbem_bindings.py: provider implementation + # +-INSTALL(FILES cmpi_pywbem_bindings.py DESTINATION ${PYTHON_SITE_DIR} ) ++INSTALL(FILES cmpi_pywbem_bindings.py DESTINATION $ENV{ENV_INSTALL_PATH} ) + #INSTALL(FILES Py_UnixProcessProvider.py DESTINATION /usr/lib/pycim ) + +-INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}${PYTHON_SITE_DIR}/cmpi.py', dfile='${PYTHON_SITE_DIR}/cmpi.py')\")") ++INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}$ENV{ENV_INSTALL_PATH}/cmpi.py', dfile='\$ENV{ENV_INSTALL_PATH}/cmpi.py')\")") + +-INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}${PYTHON_SITE_DIR}/cmpi_pywbem_bindings.py', dfile='${PYTHON_SITE_DIR}/cmpi_pywbem_bindings.py')\")") ++INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}$ENV{ENV_INSTALL_PATH}/cmpi_pywbem_bindings.py', dfile='$ENV{ENV_INSTALL_PATH}/cmpi_pywbem_bindings.py')\")") + + + +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-fix-the-build-error-when-python-3.0.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-fix-the-build-error-when-python-3.0.patch new file mode 100644 index 0000000000..0d6f029e4c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-fix-the-build-error-when-python-3.0.patch @@ -0,0 +1,31 @@ +From 323ced03a66e6cd963d8277b66cfcc7dce740be7 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Fri, 17 Jul 2015 01:33:43 -0700 +Subject: [PATCH] fix Xthe build error when python>3.0 + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + src/target_python.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/target_python.c b/src/target_python.c +index 90b43a1..2b76c9e 100644 +--- a/src/target_python.c ++++ b/src/target_python.c +@@ -167,7 +167,12 @@ PyGlobalInitialize(const CMPIBroker* broker, CMPIStatus* st) + + Py_SetProgramName("cmpi_swig"); + Py_Initialize(); +- SWIGEXPORT void SWIG_init(void); ++#if PY_VERSION_HEX >= 0x03000000 ++SWIGEXPORT PyObject* ++#else ++ SWIGEXPORT void ++#endif ++ SWIG_init(void); + SWIG_init(); + cmpiMainPyThreadState = PyGILState_GetThisThreadState(); + PyEval_ReleaseThread(cmpiMainPyThreadState); +-- +2.1.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch new file mode 100644 index 0000000000..2072da72b5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch @@ -0,0 +1,47 @@ +From 7dd01e33f9dac75f177113de9a8ff458d4263a11 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Mon, 24 Aug 2015 11:00:13 +0900 +Subject: [PATCH] cmpi-bindings-0.4.17 no ruby perl + +Port from Fedora20 + +Upstream-Status: Pending +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> +--- + swig/CMakeLists.txt | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt +index 8b5555c..c2655b9 100644 +--- a/swig/CMakeLists.txt ++++ b/swig/CMakeLists.txt +@@ -15,15 +15,15 @@ IF (PYTHON_LIBRARY) + ENDIF (PYTHON_LINK_LIBS) + ENDIF (PYTHON_LIBRARY) + +-FIND_PACKAGE(Perl) +-IF (PERL_EXECUTABLE) +- MESSAGE(STATUS "Building Perl...") +- ADD_SUBDIRECTORY(perl) +-ENDIF (PERL_EXECUTABLE) ++#FIND_PACKAGE(Perl) ++#IF (PERL_EXECUTABLE) ++# MESSAGE(STATUS "Building Perl...") ++# ADD_SUBDIRECTORY(perl) ++#ENDIF (PERL_EXECUTABLE) + +-FIND_PACKAGE(Ruby) +-IF (RUBY_LIBRARY AND RUBY_INCLUDE_PATH) +- MESSAGE(STATUS "Building Ruby...") +- ADD_SUBDIRECTORY(ruby) +- OPTION( BUILD_RUBY_GEM "Build Ruby GEM" YES ) +-ENDIF (RUBY_LIBRARY AND RUBY_INCLUDE_PATH) ++#FIND_PACKAGE(Ruby) ++#IF (RUBY_LIBRARY AND RUBY_INCLUDE_PATH) ++# MESSAGE(STATUS "Building Ruby...") ++# ADD_SUBDIRECTORY(ruby) ++# OPTION( BUILD_RUBY_GEM "Build Ruby GEM" YES ) ++#ENDIF (RUBY_LIBRARY AND RUBY_INCLUDE_PATH) +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch new file mode 100644 index 0000000000..b99337204d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch @@ -0,0 +1,22 @@ +Port from Fedora20 + +Upstream-Status: Pending +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> + +diff -up cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py.orig cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py +--- cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py.orig 2012-03-01 17:05:31.878367281 +0100 ++++ cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py 2012-03-01 17:06:34.718110137 +0100 +@@ -350,10 +350,10 @@ class BrokerCIMOMHandle(object): + allow_null_ns = False + else: + allow_null_ns = True +- if self.broker.name() == 'RequestHandler': ++# if self.broker.name() == 'RequestHandler': + # Check sblim bug #2185410. +- if instance.path is not None: +- instance.path.namespace = None ++# if instance.path is not None: ++# instance.path.namespace = None + inst = self.proxy.pywbem2cmpi_inst(instance, allow_null_ns) + rv = self.broker.deliverIndication(self.ctx, ns, inst) + return rv diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.9.5-python-lib-dir.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.9.5-python-lib-dir.patch new file mode 100644 index 0000000000..b6a51ec0d2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.9.5-python-lib-dir.patch @@ -0,0 +1,17 @@ +Port from Fedora20 + +Upstream-Status: Pending +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> + +diff -up cmpi-bindings-0.9.5/swig/python/CMakeLists.txt.old cmpi-bindings-0.9.5/swig/python/CMakeLists.txt +--- cmpi-bindings-0.9.5/swig/python/CMakeLists.txt.old 2013-08-06 15:57:03.576285764 +0200 ++++ cmpi-bindings-0.9.5/swig/python/CMakeLists.txt 2013-08-06 15:57:14.891345941 +0200 +@@ -9,7 +9,7 @@ SET (BUILD_SHARED_LIBS ON) + + FIND_PACKAGE(PythonInterp REQUIRED) + +-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_LIB_DIR) ++EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(1))" OUTPUT_VARIABLE PYTHON_LIB_DIR) + + IF (NOT PYTHON_SITE_DIR) + SET (PYTHON_SITE_DIR ${PYTHON_LIB_DIR}) diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_git.bb b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_git.bb new file mode 100644 index 0000000000..987c09fe52 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_git.bb @@ -0,0 +1,40 @@ +SUMMARY = "Adapter to write and run CMPI-type CIM providers" +DESCRIPTION = "CMPI-compliant provider interface for various languages via SWIG" +HOMEPAGE = "http://github.com/kkaempf/cmpi-bindings" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=b19ee058d2d5f69af45da98051d91064" +SECTION = "Development/Libraries" +DEPENDS = "swig-native python3 sblim-cmpi-devel" + +SRC_URI = "git://github.com/kkaempf/cmpi-bindings.git;protocol=http \ + file://cmpi-bindings-0.4.17-no-ruby-perl.patch \ + file://cmpi-bindings-0.4.17-sblim-sigsegv.patch \ + file://cmpi-bindings-0.9.5-python-lib-dir.patch \ + file://0001-Modify-cmakelist.patch \ + file://0001-Fix-error.patch \ + file://0001-fix-the-build-error-when-python-3.0.patch \ + file://0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch \ + " + +SRCREV = "62f60e065aa1b901f826e4f530c0573ae32d065e" +S = "${WORKDIR}/git" + +inherit cmake python3native + +EXTRA_OECMAKE = "-DLIB='${baselib}' \ + -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION}" + +# With Ninja it fails with: +# ninja: error: build.ninja:282: bad $-escape (literal $ must be written as $$) +OECMAKE_GENERATOR = "Unix Makefiles" + +do_configure_prepend() { + export STAGING_LIBDIR=${STAGING_LIBDIR} + export STAGING_INCDIR=${STAGING_INCDIR} + export ENV_INSTALL_PATH=${PYTHON_SITEPACKAGES_DIR} +} + +FILES_${PN} =+"${libdir}/cmpi/libpyCmpiProvider.so ${PYTHON_SITEPACKAGES_DIR}/*" +FILES_${PN}-dbg =+ "${libdir}/cmpi/.debug/libpyCmpiProvider.so" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch new file mode 100644 index 0000000000..1ceacd8c40 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch @@ -0,0 +1,36 @@ +[PATCH] conditionally check libvirt + +Upstream-Statue: Pending + +check if libvirt is available only when a user wants to use libvirt + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure.ac | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +Index: collectd-5.7.1/configure.ac +=================================================================== +--- collectd-5.7.1.orig/configure.ac ++++ collectd-5.7.1/configure.ac +@@ -5556,12 +5556,14 @@ else + with_libxml2="no (pkg-config doesn't know libxml-2.0)" + fi + +-$PKG_CONFIG --exists libvirt 2>/dev/null +-if test "$?" = "0" +-then +- with_libvirt="yes" +-else +- with_libvirt="no (pkg-config doesn't know libvirt)" ++if test "x$enable_libvirt" = "xyes"; then ++ $PKG_CONFIG --exists libvirt 2>/dev/null ++ if test "$?" = "0" ++ then ++ with_libvirt="yes" ++ else ++ with_libvirt="no (pkg-config doesn't know libvirt)" ++ fi + fi + if test "x$with_libxml2" = "xyes" + then diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch new file mode 100644 index 0000000000..5069a639c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch @@ -0,0 +1,125 @@ +From b459c55e4968321e5a82272cb39aa69d4054990f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 22 Apr 2017 11:54:57 -0700 +Subject: [PATCH] configure: Check for -Wno-error=format-truncation compiler + option + +If this option is supported by compiler then disable it ( gcc7+) +Use -Werror to elevate the warning to an error in case compiler like clang +which warn about unknown options but not error out unless asked for + +Fixes +client.c:834:23: error: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Werror=format-truncation=] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + configure.ac | 3 +- + m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 76 insertions(+), 1 deletion(-) + create mode 100644 m4/ax_check_compile_flag.m4 + +diff --git a/configure.ac b/configure.ac +index 8854542..edb8cfb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4,7 +4,6 @@ AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)]) + AC_CONFIG_SRCDIR(src/target_set.c) + AC_CONFIG_HEADERS(src/config.h) + AC_CONFIG_AUX_DIR([libltdl/config]) +- + dnl older automake's default of ARFLAGS=cru is noisy on newer binutils; + dnl we don't really need the 'u' even in older toolchains. Then there is + dnl older libtool, which spelled it AR_FLAGS +@@ -6688,6 +6687,8 @@ then + AM_CFLAGS="$AM_CFLAGS -Werror" + AM_CXXFLAGS="$AM_CXXFLAGS -Werror" + fi ++AX_CHECK_COMPILE_FLAG([-Werror -Werror=format-truncation],[AM_CFLAGS="$AM_CFLAGS -Wno-error=format-truncation" AM_CXXFLAGS="$AM_CXXFLAGS -Wno-error=format-truncation"]) ++ + AC_SUBST([AM_CFLAGS]) + AC_SUBST([AM_CXXFLAGS]) + +diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 +new file mode 100644 +index 0000000..dcabb92 +--- /dev/null ++++ b/m4/ax_check_compile_flag.m4 +@@ -0,0 +1,74 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) ++# ++# DESCRIPTION ++# ++# Check whether the given FLAG works with the current language's compiler ++# or gives an error. (Warnings, however, are ignored) ++# ++# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on ++# success/failure. ++# ++# If EXTRA-FLAGS is defined, it is added to the current language's default ++# flags (e.g. CFLAGS) when the check is done. The check is thus made with ++# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to ++# force the compiler to issue an error when a bad flag is given. ++# ++# INPUT gives an alternative input source to AC_COMPILE_IFELSE. ++# ++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this ++# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> ++# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> ++# ++# This program is free software: you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see <https://www.gnu.org/licenses/>. ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 5 ++ ++AC_DEFUN([AX_CHECK_COMPILE_FLAG], ++[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF ++AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl ++AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ ++ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS ++ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" ++ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], ++ [AS_VAR_SET(CACHEVAR,[yes])], ++ [AS_VAR_SET(CACHEVAR,[no])]) ++ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) ++AS_VAR_IF(CACHEVAR,yes, ++ [m4_default([$2], :)], ++ [m4_default([$3], :)]) ++AS_VAR_POPDEF([CACHEVAR])dnl ++])dnl AX_CHECK_COMPILE_FLAGS +-- +2.13.4 + diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch new file mode 100644 index 0000000000..be942e5ef8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch @@ -0,0 +1,24 @@ +Subject: fix to build with glibc 2.25 + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + src/md.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/md.c b/src/md.c +index 3725f9a..202225b 100644 +--- a/src/md.c ++++ b/src/md.c +@@ -25,6 +25,7 @@ + #include "utils_ignorelist.h" + + #include <sys/ioctl.h> ++#include <sys/sysmacros.h> + + #include <linux/major.h> + #include <linux/raid/md_u.h> +-- +2.8.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init new file mode 100644 index 0000000000..95f5f73c67 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init @@ -0,0 +1,212 @@ +#!/bin/sh +# +# collectd - start and stop the statistics collection daemon +# http://collectd.org/ +# +# Copyright (C) 2005-2006 Florian Forster <octo@verplant.org> +# Copyright (C) 2006-2009 Sebastian Harl <tokkee@debian.org> +# + +### BEGIN INIT INFO +# Provides: collectd +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Should-Start: $network $named $syslog $time cpufrequtils +# Should-Stop: $network $named $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: manage the statistics collection daemon +# Description: collectd is the statistics collection daemon. +# It is a small daemon which collects system information +# periodically and provides mechanisms to monitor and store +# the values in a variety of ways. +### END INIT INFO + +. /etc/init.d/functions + +export PATH=/sbin:/bin:/usr/sbin:/usr/bin + +DISABLE=0 + +NAME=collectd +DAEMON=/usr/sbin/collectd + +CONFIGFILE=/etc/collectd.conf +PIDFILE=/var/run/collectd.pid + +USE_COLLECTDMON=1 +COLLECTDMON_DAEMON=/usr/sbin/collectdmon +COLLECTDMON_PIDFILE=/var/run/collectdmon.pid + +MAXWAIT=30 + +# Gracefully exit if the package has been removed. +test -x $DAEMON || exit 0 + +if [ -r /etc/default/$NAME ]; then + . /etc/default/$NAME +fi + +if test "$ENABLE_COREFILES" == 1; then + ulimit -c unlimited +fi + +if test "$USE_COLLECTDMON" == 1; then + _PIDFILE="$COLLECTDMON_PIDFILE" +else + _PIDFILE="$PIDFILE" +fi + +# return: +# 0 if config is fine +# 1 if there is a syntax error +# 2 if there is no configuration +check_config() { + if test ! -e "$CONFIGFILE"; then + return 2 + fi + if ! $DAEMON -t -C "$CONFIGFILE"; then + return 1 + fi + return 0 +} + +# return: +# 0 if the daemon has been started +# 1 if the daemon was already running +# 2 if the daemon could not be started +# 3 if the daemon was not supposed to be started +d_start() { + if test "$DISABLE" != 0; then + # we get here during restart + echo "disabled by /etc/default/$NAME" + return 3 + fi + + if test ! -e "$CONFIGFILE"; then + # we get here during restart + echo "disabled, no configuration ($CONFIGFILE) found" + return 3 + fi + + check_config + rc="$?" + if test "$rc" -ne 0; then + echo "not starting, configuration error" + return 2 + fi + + if test "$USE_COLLECTDMON" == 1; then + start-stop-daemon --start --quiet --oknodo --pidfile "$_PIDFILE" \ + --exec $COLLECTDMON_DAEMON -- -P "$_PIDFILE" -- -C "$CONFIGFILE" \ + || return 2 + else + start-stop-daemon --start --quiet --oknodo --pidfile "$_PIDFILE" \ + --exec $DAEMON -- -C "$CONFIGFILE" -P "$_PIDFILE" \ + || return 2 + fi + return 0 +} + +still_running_warning=" +WARNING: $NAME might still be running. +In large setups it might take some time to write all pending data to +the disk. You can adjust the waiting time in /etc/default/collectd." + +# return: +# 0 if the daemon has been stopped +# 1 if the daemon was already stopped +# 2 if daemon could not be stopped +d_stop() { + PID=$( cat "$_PIDFILE" 2> /dev/null ) || true + + start-stop-daemon --stop --quiet --oknodo --pidfile "$_PIDFILE" + rc="$?" + + if test "$rc" -eq 2; then + return 2 + fi + + sleep 1 + if test -n "$PID" && kill -0 $PID 2> /dev/null; then + i=0 + while kill -0 $PID 2> /dev/null; do + i=$(( $i + 2 )) + echo -n " ." + + if test $i -gt $MAXWAIT; then + echo "$still_running_warning" + return 2 + fi + + sleep 2 + done + return "$rc" + fi + return "$rc" +} + +# return: +# 0 if the daemon is running +# 3 if the daemon is stopped +d_status(){ + if test "$USE_COLLECTDMON" == 1; then + status $COLLECTDMON_DAEMON + else + status $DAEMON + fi +} + +case "$1" in + start) + echo -n "Starting $NAME" + d_start + case "$?" in + 0|1) echo "." ;; + *) exit 1 ;; + esac + ;; + stop) + echo -n "Stopping $NAME" + d_stop + case "$?" in + 0|1) echo "." ;; + *) exit 1 ;; + esac + ;; + status) + d_status + ;; + restart|force-reload) + echo -n "Restarting $NAME" + check_config + rc="$?" + if test "$rc" -eq 1; then + echo "not restarting, configuration error" + exit 1 + fi + d_stop + rc="$?" + case "$rc" in + 0|1) + sleep 1 + d_start + rc2="$?" + case "$rc2" in + 0|1) echo "." ;; + *) exit 1 ;; + esac + ;; + *) + exit 1 + ;; + esac + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2 + exit 3 + ;; +esac + +# vim: syntax=sh noexpandtab sw=4 ts=4 : + diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.service b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.service new file mode 100644 index 0000000000..d835b735f6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Collectd +After=local-fs.target network.target +Requires=local-fs.target network.target + +[Service] +ExecStart=@SBINDIR@/collectd -C /etc/collectd.conf -f +Restart=always +RestartSec=10 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch new file mode 100644 index 0000000000..1fde6a0711 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch @@ -0,0 +1,43 @@ +Index: collectd-5.7.1/configure.ac +=================================================================== +--- collectd-5.7.1.orig/configure.ac ++++ collectd-5.7.1/configure.ac +@@ -2305,7 +2305,7 @@ AC_ARG_WITH(libgcrypt, [AS_HELP_STRING([ + with_libgcrypt="yes" + else if test -f "$withval/bin/gcrypt-config" && test -x "$withval/bin/gcrypt-config" + then +- with_libgcrypt_config="$withval/bin/gcrypt-config" ++ with_libgcrypt_config="$withval/bin/pkg-config" + with_libgcrypt="yes" + else if test -d "$withval" + then +@@ -2313,12 +2313,12 @@ AC_ARG_WITH(libgcrypt, [AS_HELP_STRING([ + GCRYPT_LDFLAGS="$GCRYPT_LDFLAGS -L$withval/lib" + with_libgcrypt="yes" + else +- with_libgcrypt_config="gcrypt-config" ++ with_libgcrypt_config="pkg-config" + with_libgcrypt="$withval" + fi; fi; fi + ], + [ +- with_libgcrypt_config="libgcrypt-config" ++ with_libgcrypt_config="pkg-config" + with_libgcrypt="yes" + ]) + +@@ -2326,12 +2326,12 @@ if test "x$with_libgcrypt" = "xyes" && t + then + if test "x$GCRYPT_CPPFLAGS" = "x" + then +- GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null` ++ GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags libgcrypt 2>/dev/null` + fi + + if test "x$GCRYPT_LIBS" = "x" + then +- GCRYPT_LIBS=`"$with_libgcrypt_config" --libs 2>/dev/null` ++ GCRYPT_LIBS=`"$with_libgcrypt_config" --lib libgcrypt 2>/dev/null` + fi + fi + diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.2.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.2.bb new file mode 100644 index 0000000000..c156ea19c9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.2.bb @@ -0,0 +1,86 @@ +SUMMARY = "Collects and summarises system performance statistics" +DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files." +LICENSE = "GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854" + +DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2" + +SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \ + file://collectd.init \ + file://collectd.service \ + file://no-gcrypt-badpath.patch \ + file://0001-conditionally-check-libvirt.patch \ + file://0001-fix-to-build-with-glibc-2.25.patch \ + file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ +" +SRC_URI[md5sum] = "5da2b69c286a064db35c6cc1e758b039" +SRC_URI[sha256sum] = "9d20a0221569a8d6b80bbc52b86e5e84965f5bafdbf5dfc3790e0fed0763e592" + +inherit autotools pythonnative update-rc.d pkgconfig systemd + +SYSTEMD_SERVICE_${PN} = "collectd.service" + +# Floatingpoint layout, architecture dependent +# 'nothing', 'endianflip' or 'intswap' +FPLAYOUT ?= "--with-fp-layout=nothing" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[openjdk] = "--with-java=${STAGING_DIR_TARGET}${libdir}/jvm,--without-java,openjdk-7" +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp --with-libnetsnmp=no,net-snmp" +PACKAGECONFIG[libmemcached] = "--with-libmemcached,--without-libmemcached,libmemcached" +PACKAGECONFIG[iptables] = "--enable-iptables,--disable-iptables,iptables" +PACKAGECONFIG[postgresql] = "--enable-postgresql --with-libpq=yes, \ + --disable-postgresql --with-libpq=no,postgresql" +PACKAGECONFIG[mysql] = "--enable-mysql --with-libmysql=yes, \ + --disable-mysql --with-libmysql=no,mysql5" +PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi" +PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus" +PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs" +PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \ + --disable-sensors --with-libsensors=no,lmsensors" +PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \ + --disable-amqp --with-librabbitmq=no,rabbitmq-c" +# protobuf-c, libvirt that are currently only available in meta-virtualization layer +PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c" +PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt" +PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp" +PACKAGECONFIG[libmnl] = "--with-libmnl,--without-libmnl,libmnl" +PACKAGECONFIG[libatasmart] = "--with-libatasmart,--without-libatasmart,libatasmart" +PACKAGECONFIG[ldap] = "--enable-openldap --with-libldap,--disable-openldap --without-libldap, openldap" + +EXTRA_OECONF = " \ + ${FPLAYOUT} \ + --disable-perl --with-libperl=no --with-perl-bindings=no \ + --with-libgcrypt=${STAGING_BINDIR_CROSS}/libgcrypt-config \ + --disable-notify_desktop \ +" + +do_install_append() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/collectd.init ${D}${sysconfdir}/init.d/collectd + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/collectd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/collectd + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/collectd + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/collectd + + # Fix configuration file to allow collectd to start up + sed -i 's!^#FQDNLookup[ \t]*true!FQDNLookup false!g' ${D}${sysconfdir}/collectd.conf + + rmdir "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/collectd.service +} + +CONFFILES_${PN} = "${sysconfdir}/collectd.conf" + +INITSCRIPT_NAME = "collectd" +INITSCRIPT_PARAMS = "defaults" + +# threshold.so load.so are also provided by gegl +# disk.so is also provided by libgphoto2-camlibs +PRIVATE_LIBS = "threshold.so load.so disk.so" diff --git a/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb b/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb new file mode 100644 index 0000000000..2df7db9e84 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb @@ -0,0 +1,45 @@ +SUMMARY = "Data recovery tool" +DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \ + from one file or block device (hard disc, cdrom, etc) to another, \ + trying hard to rescue data in case of read errors." +HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html" +SECTION = "console" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \ + file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz" +SRC_URI[md5sum] = "49c845ed89d25b534842e40366154cb4" +SRC_URI[sha256sum] = "09857b2e8074813ac19da5d262890f722e5f7900e521a4c60354cef95eea10a7" + +# This isn't already added by base.bbclass +do_unpack[depends] += "lzip-native:do_populate_sysroot" + +CONFIGUREOPTS = "\ + '--srcdir=${S}' \ + '--prefix=${prefix}' \ + '--exec-prefix=${exec_prefix}' \ + '--bindir=${bindir}' \ + '--datadir=${datadir}' \ + '--infodir=${infodir}' \ + '--sysconfdir=${sysconfdir}' \ + 'CXX=${CXX}' \ + 'CPPFLAGS=${CPPFLAGS}' \ + 'CXXFLAGS=${CXXFLAGS}' \ + 'LDFLAGS=${LDFLAGS}' \ +" +EXTRA_OEMAKE = "" + +do_configure () { + ${S}/configure ${CONFIGUREOPTS} +} + +do_install () { + oe_runmake 'DESTDIR=${D}' install + # Info dir listing isn't interesting at this point so remove it if it exists. + if [ -e "${D}${infodir}/dir" ]; then + rm -f ${D}${infodir}/dir + fi +} + diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20171209.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20171209.bb new file mode 100644 index 0000000000..63c65c4fcc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20171209.bb @@ -0,0 +1,29 @@ +SUMMARY = "display dialog boxes from shell scripts" +DESCRIPTION = "Dialog lets you to present a variety of questions \ +or display messages using dialog boxes from a shell \ +script (or any scripting language)." +HOMEPAGE = "http://invisible-island.net/dialog/" +SECTION = "console/utils" +DEPENDS = "ncurses" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \ + " +SRC_URI[md5sum] = "f66f28beca900b54f5fc90fdcce93508" +SRC_URI[sha256sum] = "20139442119e2eff5c35236e8e5e313c901539008d9cccf8c8ab3851b41267e6" + +# hardcoded here for use in dialog-static recipe +S = "${WORKDIR}/dialog-${PV}" + +inherit autotools-brokensep pkgconfig + +EXTRA_OECONF = "--with-ncurses \ + --disable-rpath-hack" + +do_configure() { + gnu-configize --force + sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure + sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure + oe_runconf +} diff --git a/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb b/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb new file mode 100644 index 0000000000..e1a6d9508b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "Simple wrapper script which proxies signals to a child" +HOMEPAGE = "https://github.com/Yelp/dumb-init/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5940d39995ea6857d01b8227109c2e9c" + +SRC_URI = "https://github.com/Yelp/dumb-init/archive/v${PV}.tar.gz" +SRC_URI[md5sum] = "4eb7f43d7823686723ff7ac1bad097cb" +SRC_URI[sha256sum] = "74486997321bd939cad2ee6af030f481d39751bc9aa0ece84ed55f864e309a3f" + +EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS} ${LDFLAGS}'" + +do_install() { + install -d ${D}${base_sbindir} + install ${S}/dumb-init ${D}${base_sbindir}/ +} diff --git a/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/enscript-autoconf.patch b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/enscript-autoconf.patch new file mode 100644 index 0000000000..d3bb5c03a1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/enscript-autoconf.patch @@ -0,0 +1,118 @@ +autoconf no longer supports AM_C_PROTOTYPES + +| configure.ac:14: error: automatic de-ANSI-fication support has been removed +| /bitbake_build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12/protos.m4:10: AM_C_PROTOTYPES is expanded from... + +Upstream-Status: Pending + +Author: Mark Hatle <mark.hatle@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +Index: enscript-1.6.6/configure.ac +=================================================================== +--- enscript-1.6.6.orig/configure.ac ++++ enscript-1.6.6/configure.ac +@@ -11,7 +11,6 @@ AC_PROG_INSTALL + AC_PROG_CC + + AC_USE_SYSTEM_EXTENSIONS +-AM_C_PROTOTYPES + + AC_C_CONST + AC_FUNC_ALLOCA +Index: enscript-1.6.6/afmlib/afm.h +=================================================================== +--- enscript-1.6.6.orig/afmlib/afm.h ++++ enscript-1.6.6/afmlib/afm.h +@@ -24,11 +24,7 @@ + #define AFM_H + + #ifndef ___P +-#if PROTOTYPES + #define ___P(protos) protos +-#else /* no PROTOTYPES */ +-#define ___P(protos) () +-#endif /* no PROTOTYPES */ + #endif + + /********************************************************************** +Index: enscript-1.6.6/afmlib/afmint.h +=================================================================== +--- enscript-1.6.6.orig/afmlib/afmint.h ++++ enscript-1.6.6/afmlib/afmint.h +@@ -34,11 +34,7 @@ + #include <stdio.h> + + #ifndef ___P +-#if PROTOTYPES + #define ___P(protos) protos +-#else /* no PROTOTYPES */ +-#define ___P(protos) () +-#endif /* no PROTOTYPES */ + #endif + + #if STDC_HEADERS +Index: enscript-1.6.6/afmlib/strhash.h +=================================================================== +--- enscript-1.6.6.orig/afmlib/strhash.h ++++ enscript-1.6.6/afmlib/strhash.h +@@ -24,11 +24,7 @@ + #define STRHASH_H + + #ifndef ___P +-#if PROTOTYPES + #define ___P(protos) protos +-#else /* no PROTOTYPES */ +-#define ___P(protos) () +-#endif /* no PROTOTYPES */ + #endif + + typedef struct stringhash_st *StringHashPtr; +Index: enscript-1.6.6/compat/xalloc.h +=================================================================== +--- enscript-1.6.6.orig/compat/xalloc.h ++++ enscript-1.6.6/compat/xalloc.h +@@ -28,11 +28,7 @@ + #define XALLOC_H + + #ifndef ___P +-#if PROTOTYPES + #define ___P(protos) protos +-#else /* no PROTOTYPES */ +-#define ___P(protos) () +-#endif /* no PROTOTYPES */ + #endif + + void *xmalloc ___P ((size_t size)); +Index: enscript-1.6.6/src/gsint.h +=================================================================== +--- enscript-1.6.6.orig/src/gsint.h ++++ enscript-1.6.6/src/gsint.h +@@ -39,11 +39,7 @@ + #include <sys/stat.h> + + #ifndef ___P +-#if PROTOTYPES + #define ___P(protos) protos +-#else /* no PROTOTYPES */ +-#define ___P(protos) () +-#endif /* no PROTOTYPES */ + #endif + + #if STDC_HEADERS +Index: enscript-1.6.6/states/defs.h +=================================================================== +--- enscript-1.6.6.orig/states/defs.h ++++ enscript-1.6.6/states/defs.h +@@ -37,11 +37,7 @@ + #include <ctype.h> + + #ifndef ___P +-#if PROTOTYPES + #define ___P(protos) protos +-#else /* no PROTOTYPES */ +-#define ___P(protos) () +-#endif /* no PROTOTYPES */ + #endif + + #if STDC_HEADERS diff --git a/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb new file mode 100644 index 0000000000..2b6d14e6c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb @@ -0,0 +1,24 @@ +SUMMARY = "A plain ASCII to PostScript converter" +DESCRIPTION = "GNU enscript is a free replacement for Adobe''s Enscript \ +program. Enscript converts ASCII files to PostScript(TM) and spools generated \ +PostScript output to the specified printer or saves it to a file. Enscript can \ +be extended to handle different output media and includes many options for \ +customizing printouts." +HOMEPAGE = "http://www.gnu.org/software/enscript/" +SECTION = "console/utils" + +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://enscript-autoconf.patch \ +" + +inherit autotools gettext + +EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'" + +SRC_URI[md5sum] = "3acc242b829adacabcaf28533f049afd" +SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb" + +RDEPENDS_${PN} = "perl" diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch new file mode 100644 index 0000000000..e9eed24b32 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch @@ -0,0 +1,35 @@ +From 62fa9bceb15a9d160dd5d624a6d46907c1019c5c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 8 Sep 2017 17:02:55 -0700 +Subject: [PATCH] fluent-bit-shared: Link with -lpthread + +This fixes a reference to pthread_atfork in libfluent-bit.so +otherwise we get undefined reference to the symbols in binaries +which are linked with libfluent-bit.so + +Fixes errors like +arm-bec-linux-gnueabi-ld: ../../bin/hello_world: hidden symbol `pthread_atfork' in /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/fluentbit/0.12.1-r0/recipe-sysroot/usr/lib/libpthread_nonshared.a(pthread_atfork.oS) is referenced by DSO + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + + src/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 425a246..1264e59 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -168,7 +168,7 @@ set(FLB_DEPS + # Shared Library + if(NOT FLB_WITHOUT_SHARED_LIB) + add_library(fluent-bit-shared SHARED ${src}) +- target_link_libraries(fluent-bit-shared ${FLB_DEPS}) ++ target_link_libraries(fluent-bit-shared ${FLB_DEPS} -lpthread) + set_target_properties(fluent-bit-shared + PROPERTIES OUTPUT_NAME fluent-bit) + +-- +2.14.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch new file mode 100644 index 0000000000..abaf92c052 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch @@ -0,0 +1,18 @@ +Add --with-jemalloc-prefix=je_ so it compiles on musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: fluent-bit-0.12.1/CMakeLists.txt +=================================================================== +--- fluent-bit-0.12.1.orig/CMakeLists.txt ++++ fluent-bit-0.12.1/CMakeLists.txt +@@ -325,7 +325,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME} + # Link to Jemalloc as an external dependency + ExternalProject_Add(jemalloc + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc +- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR> ++ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure --with-jemalloc-prefix=je_ ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR> + CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops + BUILD_COMMAND ${MAKE} + INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/ diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb new file mode 100644 index 0000000000..99f680f9ab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "Fast data collector for Embedded Linux" +HOMEPAGE = "http://fluentbit.io" +BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" + +SRC_URI = "http://fluentbit.io/releases/0.12/fluent-bit-${PV}.tar.gz \ + file://jemalloc.patch \ + file://0001-fluent-bit-shared-Link-with-lpthread.patch \ + " +SRC_URI[md5sum] = "6b4472cb7e7213a01425af9121576827" +SRC_URI[sha256sum] = "8ec05365baea723033165687611b3bba3e67a77dce72e282e9f000f7acf9e37b" + +S = "${WORKDIR}/fluent-bit-${PV}" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" + +DEPENDS = "zlib" +INSANE_SKIP_${PN}-dev += "dev-elf" + +inherit cmake systemd + +EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" + +# With Ninja it fails with: +# ninja: error: build.ninja:134: bad $-escape (literal $ must be written as $$) +OECMAKE_GENERATOR = "Unix Makefiles" + +SYSTEMD_SERVICE_${PN} = "td-agent-bit.service" + +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch new file mode 100644 index 0000000000..f8f1fd00f7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch @@ -0,0 +1,31 @@ +From a2ac966813fdc04b788be9c8474a4c5e36c109a0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Tue, 6 Mar 2018 21:53:26 +0100 +Subject: [PATCH] reduce build to conversion tools for native build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 9241ce5..b24e291 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in -*-Makefile-*- + AUTOMAKE_OPTIONS = foreign + +-SUBDIRS = config m4 term src docs man demo tutorial share ++SUBDIRS = docs + + EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ + Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \ +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch new file mode 100644 index 0000000000..8e0b4a271d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch @@ -0,0 +1,31 @@ +From a2ac966813fdc04b788be9c8474a4c5e36c109a0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Tue, 6 Mar 2018 21:53:26 +0100 +Subject: [PATCH] Do not build demos +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 9241ce5..b24e291 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in -*-Makefile-*- + AUTOMAKE_OPTIONS = foreign + +-SUBDIRS = config m4 term src docs man demo tutorial share ++SUBDIRS = config m4 term src docs man tutorial share + + EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ + Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \ +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch new file mode 100644 index 0000000000..a4039c3170 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch @@ -0,0 +1,111 @@ +From 1128a98fd1676981e536d8773f363cb832cfa6bb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Tue, 6 Mar 2018 22:28:56 +0100 +Subject: [PATCH] Use native tools to build docs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + docs/Makefile.am | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/docs/Makefile.am b/docs/Makefile.am +index 3baf0c4..e82f87d 100644 +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -152,7 +152,7 @@ gnuplot-groff.ps: gnuplot.ms $(srcdir)/titlepag.ms + + ### doc2xxx dependencies + gnuplot.ms: doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN) ./doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ms "$(srcdir)/titlepag.ms" ++ $(AM_V_GEN) doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ms "$(srcdir)/titlepag.ms" + + doc2ms_SOURCES = doc2ms.c termdoc.c + doc2ms_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS) +@@ -173,10 +173,10 @@ pdf_figures: $(GNUPLOT_EXE) $(srcdir)/plotstyles.gnu + $(AM_V_GEN)touch $@ + + figures.tex: allterm.h doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN)./doc2tex$(EXEEXT) -figures $(srcdir)/gnuplot.doc $@ ++ $(AM_V_GEN) doc2tex$(EXEEXT) -figures $(srcdir)/gnuplot.doc $@ + + nofigures.tex: allterm.h doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN)./doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc $@ ++ $(AM_V_GEN) doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc $@ + + pdf: gnuplot.pdf + pdf_nofig: nofigures.pdf +@@ -256,7 +256,7 @@ gnuplot.ps: gnuplot.dvi + hlp: gnuplot.hlp + + gnuplot.hlp: doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN)./doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.hlp ++ $(AM_V_GEN)doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.hlp + + doc2hlp_SOURCES = doc2hlp.c termdoc.c + +@@ -264,14 +264,14 @@ doc2hlp_SOURCES = doc2hlp.c termdoc.c + gih: gnuplot.gih + + gnuplot.gih: doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN)./doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih ++ $(AM_V_GEN)doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih + + doc2gih_SOURCES = doc2gih.c termdoc.c + + # To include all terminals in the .gih file + allgih: alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc + @echo "generate gnuplot.gih with all terminals" +- $(AM_V_at)./alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih ++ $(AM_V_at)alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih + + alldoc2gih_SOURCES = doc2gih.c termdoc.c + alldoc2gih_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS) +@@ -286,7 +286,7 @@ $(srcdir)/windows/wgnuplot.hhk + wxhelp/wgnuplot.hhc wxhelp/wgnuplot.hhk wxhelp/*.html windows/*.png + + wxhelp/wgnuplot.html: doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN) ./doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/ ++ $(AM_V_GEN) doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/ + + #doc2wxhtml_SOURCES = windows/doc2html.c termdoc.c xref.c allterm.h + #doc2wxhtml_CPPFLAGS = -DALL_TERM_DOC -DWXHELP -I../src $(AM_CPPFLAGS) +@@ -336,7 +336,7 @@ install-info: gnuplot.info + ipf: gnuplot.ipf + + gnuplot.ipf: doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN) ./doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ipf ++ $(AM_V_GEN) doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ipf + + doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c + +@@ -344,7 +344,7 @@ doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c + rtf: gnuplot.rtf + + gnuplot.rtf: doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN) ./doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rtf ++ $(AM_V_GEN) doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rtf + + doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c + +@@ -352,13 +352,13 @@ doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c + rnh: gnuplot.rnh + + gnuplot.rnh: doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc +- $(AM_V_GEN) ./doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rnh ++ $(AM_V_GEN) doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rnh + + doc2rnh_SOURCES = doc2rnh.c termdoc.c + + # this is how to check the gnuplot.doc file + check-local: checkdoc$(EXEEXT) +- $(AM_V_at)./checkdoc$(EXEEXT) < $(srcdir)/gnuplot.doc; \ ++ $(AM_V_at)checkdoc$(EXEEXT) < $(srcdir)/gnuplot.doc; \ + if test $$? -eq 0; then \ + echo "PASS: gnuplot.doc"; \ + else \ +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0004-Add-configure-option-to-find-qt5-native-tools.patch b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0004-Add-configure-option-to-find-qt5-native-tools.patch new file mode 100644 index 0000000000..7ed9e761f2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0004-Add-configure-option-to-find-qt5-native-tools.patch @@ -0,0 +1,42 @@ +From 577e21622475fa29fd471149cf2380c53fdbfcbd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Tue, 6 Mar 2018 22:26:48 +0100 +Subject: [PATCH] Add configure option to find qt5 native tools +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Pkg-config checks for target locations. With these qt5 tools as uic/moc.. +cannot be used. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index cdd831a..fdd192b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1133,11 +1133,15 @@ if test "${enable_qt}" = yes ; then + else + try_qt4=yes + fi ++ AC_ARG_WITH(qt5nativesysroot, ++ AC_HELP_STRING([--with-qt5nativesysroot=PATH], [prepend path - for native qt5 tools]), ++ [QT5NATIVESYSROOT="$withval"], [QT5NATIVESYSROOT=""]) ++ + if test "x${with_qt}" != "xqt4"; then + PKG_CHECK_MODULES_NOFAIL(QT, [Qt5Core Qt5Gui Qt5Network Qt5Svg Qt5PrintSupport]) + if test $pkg_failed = no; then + try_qt4=no +- QT5LOC=`$PKG_CONFIG --variable=host_bins Qt5Core` ++ QT5LOC=${QT5NATIVESYSROOT}`$PKG_CONFIG --variable=host_bins Qt5Core` + if test "x${QT5LOC}" != "x"; then + UIC=${QT5LOC}/uic + MOC=${QT5LOC}/moc +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop new file mode 100644 index 0000000000..1012e477f7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Gnuplot +Comment=Plot data and function graphs +Exec=gnuplot +Terminal=true +Type=Application +Icon=gnuplot +Categories=Science; diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.png b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.png Binary files differnew file mode 100644 index 0000000000..054cd9e7c7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.png diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb new file mode 100644 index 0000000000..4cc289d3ab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb @@ -0,0 +1,69 @@ +SUMMARY = "Gnuplot is a portable command-line driven graphing utility" +DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \ +(text or binary) and function plotting utility." +HOMEPAGE = "http://www.gnuplot.info/" +SECTION = "console/scientific" +LICENSE = "gnuplot" +LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f" +DEPENDS = "${BPN}-native virtual/libx11 gd readline" + +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \ + http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \ + file://gnuplot.desktop \ + file://gnuplot.png \ +" +SRC_URI_append_class-target = " \ + file://0002-do-not-build-demos.patch \ + file://0003-Use-native-tools-to-build-docs.patch \ + file://0004-Add-configure-option-to-find-qt5-native-tools.patch \ +" + +SRC_URI[archive.md5sum] = "60aedd08998160593199459dea8467fe" +SRC_URI[archive.sha256sum] = "a416d22f02bdf3873ef82c5eb7f8e94146795811ef808e12b035ada88ef7b1a1" +SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6" +SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132" + +# for building docs (they deserve it) we need *doc2* tools native +BBCLASSEXTEND = "native" +DEPENDS_class-native = "readline-native" +PACKAGECONFIG_class-native = "" + +SRC_URI_append_class-native = "file://0001-reduce-build-to-conversion-tools-for-native-build.patch" + +do_install_class-native() { + install -d ${D}${bindir} + install ${B}/docs/*doc* ${D}${bindir} + rm ${D}${bindir}/*.o +} + +PACKAGECONFIG ??= "cairo" +PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango" +PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua" +PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native" + +EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \ + --without-tutorial \ + --disable-wxwidgets" + +do_compile_prepend() { + install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/ +} + +do_install_append_class-target() { + install -d ${D}${datadir}/applications/ + install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/ + install -d ${D}${datadir}/pixmaps/ + install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/ +} + +PACKAGES =+ "${PN}-x11-dbg ${PN}-x11" +DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot." +SECTION_${PN}-x11 = "x11/scientific" +FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 " + +FILES_${PN} += "${datadir}/texmf" +FILES_${PN}-x11-dbg += "${libexecdir}/gnuplot/*/.debug" diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch new file mode 100644 index 0000000000..36fd57c9bc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch @@ -0,0 +1,32 @@ +From b04eeea777df32364df74bd63fc5b7fb05d21c8d Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Tue, 27 Mar 2018 10:21:09 +0800 +Subject: [PATCH] init.d/Makefile.am: add missing dependency + +install-data-hook should epend on install-exec-hook, or the +haveged.service might be installed incorrectly when build +with -j option. + +Upstream-Status: Inappropriate [no upstream mailing list] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + init.d/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/init.d/Makefile.am b/init.d/Makefile.am +index 5940f78..07bcdf7 100644 +--- a/init.d/Makefile.am ++++ b/init.d/Makefile.am +@@ -33,7 +33,7 @@ if ENABLE_SYSTEMD + install-exec-hook: + $(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service; + +-install-data-hook: ++install-data-hook: install-exec-hook + if ENABLE_SYSTEMD_LOOKUP + install -p -D -m644 haveged.service $(DESTDIR)`pkg-config --variable=systemdsystemunitdir systemd`/haveged.service; + else +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb new file mode 100644 index 0000000000..05ee842f63 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb @@ -0,0 +1,40 @@ +SUMMARY = "haveged - A simple entropy daemon" +DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers." +AUTHOR = "Gary Wuertz" +HOMEPAGE = "http://www.issihosts.com/haveged/index.html" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \ + file://haveged-init.d-Makefile.am-add-missing-dependency.patch \ +" + +SRC_URI[md5sum] = "fb1d8b3dcbb9d06b30eccd8aa500fd31" +SRC_URI[sha256sum] = "f77d9adbdf421b61601fa29faa9ce3b479d910f73c66b9e364ba8642ccbfbe70" + +inherit autotools update-rc.d systemd + +EXTRA_OECONF = "\ + --enable-nistest=yes \ + --enable-olt=yes \ + --enable-threads=no \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--enable-init=service.redhat --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME = "haveged" +INITSCRIPT_PARAMS_${PN} = "defaults 9" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "haveged.service" + +do_install_append() { + # The exit status is 143 when the service is stopped + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service + fi +} + +MIPS_INSTRUCTION_SET = "mips" diff --git a/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb new file mode 100644 index 0000000000..050b7da3d7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb @@ -0,0 +1,16 @@ +SUMMARY = "view and edit files in hexadecimal or in ASCII" +HOMEPAGE = "http://rigaux.org/hexedit.html" +SECTION = "console/utils" +LICENSE = "GPLv2+" +DEPENDS = "ncurses" + +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +SRC_URI = "git://github.com/pixel/hexedit.git \ + " + +SRCREV = "800e4b2e6280531a84fd23ee0b48e16baeb90878" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep diff --git a/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch b/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch new file mode 100644 index 0000000000..fef2bc7541 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch @@ -0,0 +1,32 @@ +From d13b918a3ff8b0ebfd1e7b18b198b4b45841d720 Mon Sep 17 00:00:00 2001 +From: Andrea Galbusera <gizero@gmail.com> +Date: Fri, 31 Jul 2015 16:42:08 +0200 +Subject: [PATCH] Makefile: remove hardcoding of CC + +* upgrade previous patch to avoid wiping CFLAGS. This fixes build on arm +platforms which previously caused and issue due to -fPIC being lost + +Signed-off-by: Andrea Galbusera <gizero@gmail.com> +--- + Makefile | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 8b0f0c2..66a4317 100644 +--- a/Makefile ++++ b/Makefile +@@ -34,11 +34,6 @@ define REDIS_TEST_CONFIG + endef + export REDIS_TEST_CONFIG + +-# Fallback to gcc when $CC is not in $PATH. +-CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') +-OPTIMIZATION?=-O3 +-WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings +-DEBUG?= -g -ggdb + REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) $(ARCH) + REAL_LDFLAGS=$(LDFLAGS) $(ARCH) + +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb b/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb new file mode 100644 index 0000000000..fae30d771d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Minimalistic C client library for Redis" +HOMEPAGE = "http://github.com/redis/hiredis" +LICENSE = "BSD-3-Clause" +SECTION = "libs" +DEPENDS = "redis" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51" +SRC_URI = "git://github.com/redis/hiredis;protocol=git;rev=f58dd249d6ed47a7e835463c3b04722972281dbb \ + file://0001-Makefile-remove-hardcoding-of-CC.patch" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig + +EXTRA_OEMAKE = "PREFIX=${prefix}" + +# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves +# ownership and causes host-user-contamination QA issue. +# And PREFIX defaults to /usr/local. +do_install_prepend() { + export INSTALL='cp -r' +} diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/0001-include-cups-ppd.h-for-missing-ppd-definitions.patch b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/0001-include-cups-ppd.h-for-missing-ppd-definitions.patch new file mode 100644 index 0000000000..f259b5f05d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/0001-include-cups-ppd.h-for-missing-ppd-definitions.patch @@ -0,0 +1,42 @@ +From 7ef9c040dd959105c16d4dc67e14f3bbea25e77f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 16 Dec 2016 19:51:19 +0000 +Subject: [PATCH] include cups/ppd.h for missing ppd definitions + +Fixes errors spotted by clang + +| prnt/hpcups/HPCupsFilter.cpp:365:18: error: use of undeclared identifier 'ppdFindAttr' +| if (((attr = ppdFindAttr(m_ppd, "hpPrinterLanguage", NULL)) == NULL) || +| ^ +| prnt/hpcups/HPCupsFilter.cpp:368:13: error: use of undeclared identifier 'ppdClose' +| ppdClose(m_ppd); +| ^ +| prnt/hpcups/HPCupsFilter.cpp:444:9: error: use of undeclared identifier 'ppdClose' +| ppdClose(m_ppd); +| ^ +| prnt/hpcups/HPCupsFilter.cpp:497:13: error: use of undeclared identifier 'ppdOpenFile' +| m_ppd = ppdOpenFile(getenv("PPD")); +| ^ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + prnt/hpcups/HPCupsFilter.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/prnt/hpcups/HPCupsFilter.h b/prnt/hpcups/HPCupsFilter.h +index 0431a7a..eb0cad6 100644 +--- a/prnt/hpcups/HPCupsFilter.h ++++ b/prnt/hpcups/HPCupsFilter.h +@@ -37,6 +37,7 @@ + #include "Job.h"
+
+ #include "dbuscomm.h"
++#include <cups/ppd.h>
+
+ #define DBITMAPFILEHEADER 14
+ #define DBITMAPINFOHEADER 40
+-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch new file mode 100644 index 0000000000..31c005c60c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch @@ -0,0 +1,14 @@ +Index: hplip-3.12.6/configure.in +=================================================================== +--- hplip-3.12.6.orig/configure.in 2014-07-16 20:03:51.310044196 +0000 ++++ hplip-3.12.6/configure.in 2014-07-18 07:53:31.589559192 +0000 +@@ -27,8 +27,7 @@ + + #AC_PREREQ(2.59) + AC_INIT([HP Linux Imaging and Printing], [3.12.6], [3.12.6], [hplip]) +-#AM_INIT_AUTOMAKE([1.9 foreign]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([1.9 foreign]) + AC_DISABLE_STATIC + + # Checks for programs. diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch new file mode 100644 index 0000000000..7df01aab33 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch @@ -0,0 +1,395 @@ +Imported from gentoo: +https://bugs.gentoo.org/show_bug.cgi?id=428672 + +diff -Naur hplip-3.12.6_old/prnt/cupsext/cupsext.c hplip-3.12.6/prnt/cupsext/cupsext.c +--- hplip-3.12.6_old/prnt/cupsext/cupsext.c 2012-08-04 09:18:18.388330038 +0200 ++++ hplip-3.12.6/prnt/cupsext/cupsext.c 2012-08-04 09:18:27.855181327 +0200 +@@ -87,6 +87,46 @@ + #define PY_SSIZE_T_MIN INT_MIN
+ #endif
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetCount(attr) attr->num_values
++#define ippGetGroupTag(attr) attr->group_tag
++#define ippGetValueTag(attr) attr->value_tag
++#define ippGetName(attr) attr->name
++#define ippGetBoolean(attr, element) attr->values[element].boolean
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetStatusCode(ipp) ipp->request.status.status_code
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++
++static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
++{
++ ipp->request.op.operation_id = op;
++ return (1);
++}
++
++static int ippSetRequestId( ipp_t *ipp, int request_id )
++{
++ ipp->request.any.request_id = request_id;
++ return (1);
++}
++#endif
+
+ int g_num_options = 0;
+ cups_option_t * g_options;
+@@ -333,8 +373,8 @@ + request = ippNew();
+ language = cupsLangDefault();
+
+- request->request.op.operation_id = CUPS_GET_PRINTERS;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PRINTERS );
++ ippSetRequestId ( request, 1);
+
+ ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+ "attributes-charset", NULL, cupsLangEncoding( language ) );
+@@ -378,10 +418,10 @@ + ipp_pstate_t state;
+ int i = 0;
+
+- for ( attr = response->attrs; attr != NULL; attr = attr->next )
++ for ( attr = ippFirstAttribute( response ); attr != NULL; attr = ippNextAttribute( response ) )
+ {
+- while ( attr != NULL && attr->group_tag != IPP_TAG_PRINTER )
+- attr = attr->next;
++ while ( attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER )
++ attr = ippNextAttribute( response );
+
+ if ( attr == NULL )
+ break;
+@@ -390,41 +430,41 @@ + state = IPP_PRINTER_IDLE;
+ accepting = 0;
+
+- while ( attr != NULL && attr->group_tag == IPP_TAG_PRINTER )
++ while ( attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER )
+ {
+- if ( strcmp( attr->name, "printer-name" ) == 0 &&
+- attr->value_tag == IPP_TAG_NAME )
+- name = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "device-uri" ) == 0 &&
+- attr->value_tag == IPP_TAG_URI )
+- device_uri = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-uri-supported" ) == 0 &&
+- attr->value_tag == IPP_TAG_URI )
+- printer_uri = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-info" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- info = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-location" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- location = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-make-and-model" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- make_model = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-state" ) == 0 &&
+- attr->value_tag == IPP_TAG_ENUM )
+- state = ( ipp_pstate_t ) attr->values[ 0 ].integer;
+-
+- else if (!strcmp(attr->name, "printer-is-accepting-jobs") &&
+- attr->value_tag == IPP_TAG_BOOLEAN)
+- accepting = attr->values[ 0 ].boolean;
++ if ( strcmp( ippGetName( attr ), "printer-name" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_NAME )
++ name = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "device-uri" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_URI )
++ device_uri = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-uri-supported" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_URI )
++ printer_uri = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-info" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ info = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-location" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ location = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-make-and-model" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ make_model = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-state" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_ENUM )
++ state = ( ipp_pstate_t ) ippGetInteger( attr, 0 );
++
++ else if (!strcmp(ippGetName( attr ), "printer-is-accepting-jobs") &&
++ ippGetValueTag( attr ) == IPP_TAG_BOOLEAN)
++ accepting = ippGetBoolean( attr, 0 );
+
+- attr = attr->next;
++ attr = ippNextAttribute( response );
+ }
+
+ if ( device_uri == NULL )
+@@ -522,8 +562,8 @@ + request = ippNew();
+ language = cupsLangDefault();
+
+- request->request.op.operation_id = CUPS_ADD_PRINTER;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_ADD_PRINTER );
++ ippSetRequestId ( request, 1 );
+
+ ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+ "attributes-charset", NULL, cupsLangEncoding( language ) );
+@@ -568,7 +608,7 @@ + }
+ else
+ {
+- status = response->request.status.status_code;
++ status = ippGetStatusCode( response );
+ //ippDelete( response );
+ r = 1;
+ }
+@@ -631,8 +671,8 @@ + */
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_DELETE_PRINTER;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_DELETE_PRINTER );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -650,7 +690,7 @@ + */
+ response = cupsDoRequest( http, request, "/admin/" );
+
+- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
++ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
+ {
+ r = 1;
+ }
+@@ -721,8 +761,8 @@ +
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_SET_DEFAULT;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_SET_DEFAULT );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -743,7 +783,7 @@ +
+ response = cupsDoRequest( http, request, "/admin/" );
+
+- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
++ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
+ {
+ r = 1;
+ }
+@@ -797,8 +837,8 @@ +
+ request = ippNew();
+
+- request->request.op.operation_id = op;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, op );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -822,7 +862,7 @@ +
+ response = cupsDoRequest(http, request, "/admin/");
+
+- if (( response != NULL ) && (response->request.status.status_code <= IPP_OK_CONFLICT))
++ if (( response != NULL ) && (ippGetStatusCode( response ) <= IPP_OK_CONFLICT))
+ {
+ r = 1;
+ }
+@@ -837,7 +877,7 @@ + if ( response != NULL )
+ ippDelete( response );
+
+- return Py_BuildValue( "i", r );;
++ return Py_BuildValue( "i", r );
+ }
+
+
+@@ -1116,8 +1156,8 @@ +
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_GET_PPDS;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PPDS );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -1143,43 +1183,43 @@ + if ((response = cupsDoRequest(http, request, "/")) != NULL)
+ {
+
+- for (attr = response->attrs; attr; attr = attr->next)
++ for (attr = ippFirstAttribute( response ); attr; attr = ippNextAttribute( response ))
+ {
+ PyObject *dict;
+ char *ppdname = NULL;
+
+- while (attr && attr->group_tag != IPP_TAG_PRINTER)
+- attr = attr->next;
++ while (attr && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
++ attr = ippNextAttribute( response );
+
+ if (!attr)
+ break;
+
+ dict = PyDict_New ();
+
+- for (; attr && attr->group_tag == IPP_TAG_PRINTER; attr = attr->next)
++ for (; attr && ippGetGroupTag( attr ) == IPP_TAG_PRINTER; attr = ippNextAttribute( response ))
+ {
+ PyObject *val = NULL;
+
+- if (!strcmp (attr->name, "ppd-name") && attr->value_tag == IPP_TAG_NAME)
++ if (!strcmp (ippGetName( attr ), "ppd-name") && ippGetValueTag( attr ) == IPP_TAG_NAME)
+ {
+- ppdname = attr->values[0].string.text;
++ ppdname = ippGetString( attr, 0, NULL );
+
+ //sprintf( buf, "print '%s'", ppdname);
+ //PyRun_SimpleString( buf );
+ }
+
+- else if (attr->value_tag == IPP_TAG_TEXT || attr->value_tag == IPP_TAG_NAME || attr->value_tag == IPP_TAG_KEYWORD)
+- //else if ((!strcmp (attr->name, "ppd-natural-language") && attr->value_tag == IPP_TAG_LANGUAGE) ||
+- // (!strcmp (attr->name, "ppd-make-and-model") && attr->value_tag == IPP_TAG_TEXT) ||
+- // (!strcmp (attr->name, "ppd-make") && attr->value_tag == IPP_TAG_TEXT) ||
+- // (!strcmp (attr->name, "ppd-device-id") && attr->value_tag == IPP_TAG_TEXT))
++ else if (ippGetValueTag( attr ) == IPP_TAG_TEXT || ippGetValueTag( attr ) == IPP_TAG_NAME || ippGetValueTag( attr ) == IPP_TAG_KEYWORD)
++ //else if ((!strcmp (ippGetName( attr ), "ppd-natural-language") && ippGetValueTag( attr ) == IPP_TAG_LANGUAGE) ||
++ // (!strcmp (ippGetName( attr ), "ppd-make-and-model") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
++ // (!strcmp (ippGetName( attr ), "ppd-make") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
++ // (!strcmp (ippGetName( attr ), "ppd-device-id") && ippGetValueTag( attr ) == IPP_TAG_TEXT))
+ {
+- val = PyObj_from_UTF8(attr->values[0].string.text);
++ val = PyObj_from_UTF8(ippGetString( attr, 0, NULL ));
+ }
+
+ if (val)
+ {
+- PyDict_SetItemString (dict, attr->name, val);
++ PyDict_SetItemString (dict, ippGetName( attr ), val);
+ Py_DECREF (val);
+ }
+ }
+diff -Naur hplip-3.12.6_old/scan/sane/hpaio.c hplip-3.12.6/scan/sane/hpaio.c +--- hplip-3.12.6_old/scan/sane/hpaio.c 2012-08-04 09:18:21.458389913 +0200 ++++ hplip-3.12.6/scan/sane/hpaio.c 2012-08-04 09:18:27.875181720 +0200 +@@ -47,6 +47,43 @@ + #define DEBUG_DECLARE_ONLY + #include "sanei_debug.h" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetGroupTag(attr) attr->group_tag ++#define ippGetValueTag(attr) attr->value_tag ++#define ippGetName(attr) attr->name ++#define ippGetString(attr, element, language) attr->values[element].string.text ++ ++static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp ) ++{ ++ if (!ipp) ++ return (NULL); ++ return (ipp->current = ipp->attrs); ++} ++ ++static ipp_attribute_t * ippNextAttribute( ipp_t *ipp ) ++{ ++ if (!ipp || !ipp->current) ++ return (NULL); ++ return (ipp->current = ipp->current->next); ++} ++ ++static int ippSetOperation( ipp_t *ipp, ipp_op_t op ) ++{ ++ ipp->request.op.operation_id = op; ++ return (1); ++} ++ ++static int ippSetRequestId( ipp_t *ipp, int request_id ) ++{ ++ ipp->request.any.request_id = request_id; ++ return (1); ++} ++#endif ++ + static SANE_Device **DeviceList = NULL; + + static int AddDeviceList(char *uri, char *model, SANE_Device ***pd) +@@ -186,8 +223,8 @@ + /* Assemble the IPP request */ + request = ippNew(); + +- request->request.op.operation_id = CUPS_GET_PRINTERS; +- request->request.any.request_id = 1; ++ ippSetOperation( request, CUPS_GET_PRINTERS ); ++ ippSetRequestId( request, 1 ); + + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8"); + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, "en"); +@@ -197,20 +234,20 @@ + if ((response = cupsDoRequest(http, request, "/")) == NULL) + goto bugout; + +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute ( response ); attr != NULL; attr = ippNextAttribute( response )) + { + /* Skip leading attributes until we hit a printer. */ +- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER) ++ attr = ippNextAttribute( response ); + + if (attr == NULL) + break; + +- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) ++ while (attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER) + { +- if (strcmp(attr->name, "device-uri") == 0 && attr->value_tag == IPP_TAG_URI && AddCupsList(attr->values[0].string.text, printer) == 0) ++ if (strcmp(ippGetName( attr ), "device-uri") == 0 && ippGetValueTag( attr ) == IPP_TAG_URI && AddCupsList(ippGetString( attr, 0, NULL ), printer) == 0) + cnt++; +- attr = attr->next; ++ attr = ippNextAttribute( response ); + } + + if (attr == NULL) diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch new file mode 100644 index 0000000000..b347f831cb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch @@ -0,0 +1,35 @@ +Upstream-Status: Inappropriate [configuration] + +diff -rupN hplip-3.12.6_orig/configure.in hplip-3.12.6/configure.in +--- hplip-3.12.6_orig/configure.in 2012-06-18 20:44:24.000000000 +1000 ++++ hplip-3.12.6/configure.in 2012-08-16 13:40:07.259927650 +1000 +@@ -524,6 +524,8 @@ if test "$hpijs_only_build" = "no"; then + AC_CHECK_HEADERS(usb.h, ,[AC_MSG_ERROR([cannot find libusb-devel support], 11)]) + else + AC_CHECK_LIB([usb-1.0], [libusb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb 1.0 support], 2)]) ++ LIBUSBINCLUDEROOT?="/usr/include/" ++ AC_ARG_VAR(LIBUSBINCLUDEROOT, [path to libusb-1.0 folder]) + AC_CHECK_HEADERS(libusb-1.0/libusb.h, ,[AC_MSG_ERROR([cannot find libusb-1.0-devel support], 11)]) + fi + fi +diff -rupN hplip-3.12.6_orig/Makefile.am hplip-3.12.6/Makefile.am +--- hplip-3.12.6_orig/Makefile.am 2012-06-18 20:44:13.000000000 +1000 ++++ hplip-3.12.6/Makefile.am 2012-08-16 13:41:12.307932822 +1000 +@@ -72,7 +72,7 @@ libhpmud_la_SOURCES = io/hpmud/hpmud.c i + io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \ + io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb_libusb01.c + else +-libhpmud_la_CFLAGS = -I/usr/include/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\" ++libhpmud_la_CFLAGS = -I/$(LIBUSBINCLUDEROOT)/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\" + libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/pml.c \ + io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \ + io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb.c +@@ -286,7 +286,7 @@ hpmudext_la_LIBADD = libhpmud.la + if LIBUSB01_BUILD + hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) + else +-hpmudext_la_CFLAGS =-I/usr/include/libusb-1.0 -I$(PYTHONINCLUDEDIR) ++hpmudext_la_CFLAGS =-I$(LIBUSBINCLUDEROOT)/libusb-1.0 -I$(PYTHONINCLUDEDIR) + endif + + # ui (qt3) diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch new file mode 100644 index 0000000000..0e1b6c4ed3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch @@ -0,0 +1,12 @@ +Upstream-Status: Inappropriate [embedded specific] + +--- hplip-3.11.10/setup.py.orig 2011-10-02 14:06:19.000000000 +1100 ++++ hplip-3.11.10/setup.py 2012-02-29 08:21:39.167999938 +1100 +@@ -573,6 +573,7 @@ + + log.debug("Restarting CUPS...") + status, output = utils.run(restart_cups()) ++ time.sleep(3) + log.debug("Restart CUPS returned: exit=%d output=%s" % (status, output)) + + cups.setPasswordPrompt("You do not have permission to add a printer.") diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb new file mode 100644 index 0000000000..1f1e80ce82 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb @@ -0,0 +1,74 @@ +SUMMARY = "HP Linux Imaging and Printing" +LICENSE="GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=442bb3cbbeeb60643a87325718b8a8ee" + +PR = "r1" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ + file://setup-add-sleep-after-cups-reset.patch \ + file://fix-libusb-paths.patch \ + file://cups-1.6.patch \ + file://configure.patch \ + file://0001-include-cups-ppd.h-for-missing-ppd-definitions.patch \ +" + +DEPENDS += "cups python libusb" + +inherit autotools-brokensep python-dir pythonnative pkgconfig + +export STAGING_INCDIR +export STAGING_LIBDIR + +EXTRA_OECONF += "\ + LIBUSBINCLUDEROOT=${STAGING_INCDIR} \ + --disable-network-build \ + --disable-doc-build \ + --disable-pp-build \ + --disable-scan-build \ + --disable-gui-build \ + --disable-fax-build \ + --disable-policykit \ + --disable-qt4 \ + --disable-qt3 \ + --disable-dbus-build \ + --disable-foomatic-drv-install \ + --enable-foomatic-ppd-install \ + --enable-foomatic-rip-hplip-install \ + --with-cupsbackenddir=${libdir}/cups/backend \ + --with-cupsfilterdir=${libdir}/cups/filter \ +" + +PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal" + +RDEPENDS_${PN} += " \ + python-syslog \ + python-pprint \ + python-compression \ + python-shell \ + python-xml \ + python-unixadmin \ + python-html \ + python-resource \ + python-terminal \ + python-subprocess\ +" +RDEPENDS_${PN}-filter += "perl" + +# need to snag the debug file or OE will fail on backend package +FILES_${PN}-dbg += "\ + ${libdir}/cups/backend/.debug \ + ${PYTHON_SITEPACKAGES_DIR}/.debug \ + ${libdir}/cups/filter/.debug " + +FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" +FILES_${PN}-ppd = "${datadir}/ppd" +FILES_${PN}-cups = "${datadir}/cups" +FILES_${PN}-backend = "${libdir}/cups/backend" +FILES_${PN}-filter = "${libdir}/cups/filter" +FILES_${PN}-hal = "${datadir}/hal" + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so" + +SRC_URI[md5sum] = "5303938e8630775ea6fb383af85775e5" +SRC_URI[sha256sum] = "54578000792969adb583e75efeacb9c46ab69659ec7e9424de390613f3595775" + diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb new file mode 100644 index 0000000000..5a335b9249 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb @@ -0,0 +1,29 @@ +SUMMARY = "Portable Hardware Locality (hwloc) software package" +DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \ + provides a portable abstraction of the hierarchical topology of modern \ + architectures." +HOMEPAGE = "https://www.open-mpi.org/software/hwloc/" +SECTION = "base" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b" + +SRC_URI = "https://www.open-mpi.org/software/${PN}/v1.11/downloads/${BP}.tar.bz2" +SRC_URI[md5sum] = "96c34136ff416d2b13a7821c27477bed" +SRC_URI[sha256sum] = "95d80286dfe658a3f79e2ac90698782bb36e5504f4bac1bba2394ba14dbbad24" + +inherit autotools pkgconfig + +DEPENDS += "ncurses udev zlib" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}" + +PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" + +PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl" +PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2" +PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo" +PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess" + +# Split hwloc library into separate subpackage +PACKAGES_prepend = " libhwloc " +FILES_libhwloc += "${libdir}/libhwloc.so.*" +RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.10.bb b/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.10.bb new file mode 100644 index 0000000000..d25e8e3174 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.10.bb @@ -0,0 +1,22 @@ +SUMMARY = "A GNU program for formatting C code" +HOMEPAGE = "http://www.gnu.org/software/indent/" +SECTION = "Applications/Text" +DESCRIPTION = "Indent is a GNU program for beautifying C code, so that \ +it is easier to read. Indent can also convert from one C writing style \ +to a different one. Indent understands correct C syntax and tries to handle \ +incorrect C syntax. \ +Install the indent package if you are developing applications in C and \ +you want a program to format your code." +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "virtual/gettext" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "be35ea62705733859fbf8caf816d8959" +SRC_URI[sha256sum] = "8a9b41be5bfcab5d8c1be74204b10ae78789fc3deabea0775fdced8677292639" + +inherit autotools gettext + +FILES_${PN}-doc += "/usr/doc/indent/indent.html" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb new file mode 100644 index 0000000000..5dcae98b1f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb @@ -0,0 +1,24 @@ +SUMMARY = "Simple top-like I/O monitor" +DESCRIPTION = "iotop does for I/O usage what top(1) does for CPU usage. \ + It watches I/O usage information output by the Linux kernel and displays \ + a table of current I/O usage by processes on the system." +HOMEPAGE = "http://guichaz.free.fr/iotop/" + + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" + +SRC_URI = "http://guichaz.free.fr/iotop/files/${BP}.tar.bz2" +SRC_URI[md5sum] = "5ef9456b26d7694abf3101a72e1e0d1d" +SRC_URI[sha256sum] = "3adea2a24eda49bbbaeb4e6ed2042355b441dbd7161e883067a02bfc8dcef75b" + +inherit distutils + +do_install_append() { + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.pyo || true + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py || true +} + +RDEPENDS_${PN} = "python-curses python-textutils \ + python-codecs python-ctypes python-pprint \ + python-shell" diff --git a/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch new file mode 100644 index 0000000000..bcfc117245 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch @@ -0,0 +1,60 @@ +From cffe4767f89ea0b54b57e8bf9065a08a9c38d46e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Tue, 18 Jul 2017 21:53:00 -0400 +Subject: [PATCH] tweak install prefix + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index df16a3b..fbdfcb4 100644 +--- a/Makefile ++++ b/Makefile +@@ -39,26 +39,26 @@ pyisomd5sum.so: $(PYOBJS) + install: all install-bin install-python install-devel + + install-bin: +- install -d -m 0755 $(DESTDIR)/usr/bin +- install -d -m 0755 $(DESTDIR)/usr/share/man/man1 +- install -m 0755 implantisomd5 $(DESTDIR)/usr/bin +- install -m 0755 checkisomd5 $(DESTDIR)/usr/bin +- install -m 0644 implantisomd5.1 $(DESTDIR)/usr/share/man/man1 +- install -m 0644 checkisomd5.1 $(DESTDIR)/usr/share/man/man1 ++ install -d -m 0755 $(DESTDIR)$(bindir) ++ install -d -m 0755 $(DESTDIR)$(mandir)/man1 ++ install -m 0755 implantisomd5 $(DESTDIR)$(bindir) ++ install -m 0755 checkisomd5 $(DESTDIR)$(bindir) ++ install -m 0644 implantisomd5.1 $(DESTDIR)$(mandir)/man1 ++ install -m 0644 checkisomd5.1 $(DESTDIR)$(mandir)/man1 + + install-python: + install -d -m 0755 $(DESTDIR)$(PYTHONSITEPACKAGES) + install -m 0755 pyisomd5sum.so $(DESTDIR)$(PYTHONSITEPACKAGES) + + install-devel: +- install -d -m 0755 $(DESTDIR)/usr/include +- install -d -m 0755 $(DESTDIR)/usr/$(LIBDIR) +- install -d -m 0755 $(DESTDIR)/usr/share/pkgconfig +- install -m 0644 libimplantisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libcheckisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libimplantisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- install -m 0644 libcheckisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}/usr/share/pkgconfig/isomd5sum.pc ++ install -d -m 0755 $(DESTDIR)$(includedir) ++ install -d -m 0755 $(DESTDIR)$(libdir) ++ install -d -m 0755 $(DESTDIR)${datadir}/pkgconfig ++ install -m 0644 libimplantisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libcheckisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libimplantisomd5.a $(DESTDIR)$(libdir) ++ install -m 0644 libcheckisomd5.a $(DESTDIR)$(libdir) ++ sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}${datadir}/pkgconfig/isomd5sum.pc + + clean: + rm -f *.o *.so *.pyc *.a .depend *~ +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch new file mode 100644 index 0000000000..7a33e423a9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch @@ -0,0 +1,33 @@ +From 2acce7bc8ab7711e76c7765c84a198fe38f247f3 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Tue, 18 Jul 2017 23:06:41 -0400 +Subject: [PATCH] fix parallel error + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index fbdfcb4..2ad3238 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,9 +29,11 @@ implantisomd5: implantisomd5.o libimplantisomd5.a + checkisomd5: checkisomd5.o libcheckisomd5.a + $(CC) $(CPPFLAGS) $(CFLAGS) checkisomd5.o libcheckisomd5.a -lpopt $(LDFLAGS) -o checkisomd5 + +-libimplantisomd5.a: libimplantisomd5.a(libimplantisomd5.o md5.o utilities.o) ++libimplantisomd5.a: libimplantisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + +-libcheckisomd5.a: libcheckisomd5.a(libcheckisomd5.o md5.o utilities.o) ++libcheckisomd5.a: libcheckisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + + pyisomd5sum.so: $(PYOBJS) + $(CC) $(CPPFLAGS) $(CFLAGS) -shared -g -fpic $(PYOBJS) $(LDFLAGS) -o pyisomd5sum.so +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb new file mode 100644 index 0000000000..815113e674 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Tools for taking the MD5 sum of ISO images" +DESCRIPTION = "Tools for taking the MD5 sum of ISO images" + +DEPENDS = "popt python3 openssl curl popt-native" +RDEPENDS_${PN} = "openssl curl" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +SRC_URI = "git://github.com/rhinstaller/isomd5sum.git;branch=master \ + file://0001-tweak-install-prefix.patch \ + file://0002-fix-parallel-error.patch \ +" + +S = "${WORKDIR}/git" +inherit python3native + +EXTRA_OEMAKE += " \ + DESTDIR='${D}' \ + PYTHONINCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \ + PYTHONSITEPACKAGES='${PYTHON_SITEPACKAGES_DIR}' \ +" + +do_install () { + oe_runmake install +} + +PACKAGES += "${PYTHON_PN}-${PN} ${PYTHON_PN}-${PN}-dbg" + +FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so" +FILES_${PYTHON_PN}-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug/pyisomd5sum.so" + +SRCREV = "69dc036d20761715b734ca9cc59ecc6dc8145026" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.9.bb b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.9.bb new file mode 100644 index 0000000000..455b3744ac --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.9.bb @@ -0,0 +1,12 @@ +SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data" +HOMEPAGE = "http://www.digip.org/jansson/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8b70213ec164c7bd876ec2120ba52f61" + +SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "84abaefee9502b2f2ff394d758f160c7" +SRC_URI[sha256sum] = "0ad0d074ca049a36637e7abef755d40849ad73e926b93914ce294927b97bd2a5" + +inherit autotools pkgconfig + diff --git a/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch b/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch new file mode 100644 index 0000000000..40a064307e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch @@ -0,0 +1,31 @@ +From d97ac2bf2ed9c84ffd65ff10989068b202e09fdf Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Mon, 3 Aug 2015 00:29:54 +0900 +Subject: [PATCH] CMakeLists.txt: fix lib64 can not be shiped in 64bit target + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + CMakeLists.txt | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index be544d1..14696e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,13 +11,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_P + + find_package(CMPI) + +-# Set LIB_SUFFIX to 64 on 64bit architectures +-if(CMAKE_SIZEOF_VOID_P EQUAL 4) +- set(LIB_SUFFIX "") +-else(CMAKE_SIZEOF_VOID_P EQUAL 4) +- set(LIB_SUFFIX 64) +-endif(CMAKE_SIZEOF_VOID_P EQUAL 4) +- + option(WITH_PYTHON "Build experimental Python bindings" OFF) + + add_subdirectory(cmake) +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch b/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch new file mode 100644 index 0000000000..342017bedc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch @@ -0,0 +1,38 @@ +From 45e1c4c04a126d2386446775f99084bd603016af Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 1 Jun 2017 23:10:59 -0700 +Subject: [PATCH] drop including rpath cmake module + +Fixes cross compilation QA errors e.g. +/usr/lib/libkonkret.so.0.0.1 contains probably-redundant RPATH /usr/lib [useless-rpaths] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/konkret/CMakeLists.txt | 1 - + src/program/CMakeLists.txt | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/src/konkret/CMakeLists.txt b/src/konkret/CMakeLists.txt +index c2faa40..df49e11 100644 +--- a/src/konkret/CMakeLists.txt ++++ b/src/konkret/CMakeLists.txt +@@ -8,7 +8,6 @@ set(konkret_SRCS + kstr.c + print.c + ) +-include(rpath) + include_directories(${CMPI_INCLUDE_DIR}) + + add_library(libkonkret SHARED ${konkret_SRCS}) +diff --git a/src/program/CMakeLists.txt b/src/program/CMakeLists.txt +index afcefe5..8a4646c 100644 +--- a/src/program/CMakeLists.txt ++++ b/src/program/CMakeLists.txt +@@ -1,4 +1,3 @@ +-include (rpath) + include_directories(${CMPI_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/src) + + add_executable(konkret main.cpp) +-- +2.13.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb b/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb new file mode 100644 index 0000000000..0f798d2334 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb @@ -0,0 +1,38 @@ +SUMMARY = "Tool for rapid CMPI providers development" +DESCRIPTION = "\ +KonkretCMPI makes CMPI provider development easier by generating type-safe \ +concrete CIM interfaces from MOF definitions and by providing default \ +implementations for many of the provider operations." +HOMEPAGE = "https://github.com/rnovacek/konkretcmpi" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=f673270bfc350d9ce1efc8724c6c1873" +DEPENDS_append_class-target = " swig-native sblim-cmpi-devel python" +DEPENDS_append_class-native = " cmpi-bindings-native" + +SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \ + file://0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch \ + file://0001-drop-including-rpath-cmake-module.patch \ + " + +SRCREV = "ad28225e6eceff88417a60c1ba8896c8e40f21a7" +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DWITH_PYTHON=ON \ + ${@oe.utils.conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ + ${@oe.utils.conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ + " + +LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +do_install_append() { + rm -rf ${D}${datadir} +} + +PACKAGES =+ "${PN}-python ${PN}-python-dbg" + +FILES_${PN}-python = "${libdir}/python2.7/site-packages/konkretmof.py* ${libdir}/python2.7/site-packages/_konkretmof.so" +FILES_${PN}-python-dbg = "${libdir}/python2.7/site-packages/.debug/*" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-include-asm-ioctl.h-explicitly.patch b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-include-asm-ioctl.h-explicitly.patch new file mode 100644 index 0000000000..abdedad5d6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-include-asm-ioctl.h-explicitly.patch @@ -0,0 +1,43 @@ +From b5ca64c7398d516e9845d849e8306df7ac024bc4 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 11 Apr 2017 13:59:34 -0700 +Subject: [PATCH] include asm/ioctl.h explicitly + +Needed for _IOC* defines + +helps compiling with musl where this file is +not included indirectly + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + server/drivers/hd44780-pifacecad.c | 1 + + server/drivers/hd44780-spi.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/server/drivers/hd44780-pifacecad.c b/server/drivers/hd44780-pifacecad.c +index 43db19c..e2798ad 100644 +--- a/server/drivers/hd44780-pifacecad.c ++++ b/server/drivers/hd44780-pifacecad.c +@@ -54,6 +54,7 @@ + #include <unistd.h> + #include <fcntl.h> + #include <sys/ioctl.h> ++#include <asm/ioctl.h> + #include <stdint.h> + #include <linux/spi/spidev.h> + +diff --git a/server/drivers/hd44780-spi.c b/server/drivers/hd44780-spi.c +index 5f94333..8a4015b 100644 +--- a/server/drivers/hd44780-spi.c ++++ b/server/drivers/hd44780-spi.c +@@ -29,6 +29,7 @@ + #include <unistd.h> + #include <fcntl.h> + #include <sys/ioctl.h> ++#include <asm/ioctl.h> + #include <stdint.h> + #include <linux/spi/spidev.h> + +-- +2.12.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb new file mode 100644 index 0000000000..96bc826fd9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb @@ -0,0 +1,99 @@ +DESCRIPTION = "LCDproc is a client/server suite to drive all kinds of LCD (-like) devices. The client \ +shipped with this package can be used to acquire various kinds of system stats." +SUMMARY = "Drivers for character-based LCD displays" +HOMEPAGE = "http://lcdproc.org" +SECTION = "utils" +LICENSE = "GPLv2+" +DEPENDS = "ncurses lirc" + +LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ + file://README.md;beginline=107;md5=5c927ce1742d6d5cddc45b7ad6230f75" + +BASEPV = "0.5.8" +PV = "${BASEPV}+git${SRCPV}" +SRCREV = "f5156e2e41bb418f14761afea22eee8efb49fb85" +SRC_URI = "git://github.com/lcdproc/lcdproc;branch=lcdproc-${BASEPV} \ + file://0001-include-asm-ioctl.h-explicitly.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig update-rc.d + +LCD_DRIVERS ?= "all,!irman,!svga" +LCD_DEFAULT_DRIVER ?= "curses" + +PACKAGECONFIG ??= "usb" +PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0" +PACKAGECONFIG[ftdi] = "--enable-libftdi,--disable-libftdi,libftdi" +PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render," +PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid" +PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng" + +LCD_DRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}" + +EXTRA_OECONF = "--enable-drivers='${LCD_DRIVERS}'" + +do_install () { + # binaries + install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd + install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc + + # init scripts + install -d ${D}${sysconfdir}/init.d + # so far, not fixed :-( and now even uglier :-(( + cat scripts/init-LCDd.debian | sed -e s'/--oknodo//' -e 's/ -s -f / -s 1 -f 1 /' -e 's/force-reload/force-restart/' -e 's/sleep 1/sleep 4/' > ${D}${sysconfdir}/init.d/lcdd + chmod 0755 ${D}${sysconfdir}/init.d/lcdd + install -m 0755 scripts/init-lcdproc.debian ${D}${sysconfdir}/init.d/lcdproc + sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc + + # configuration files + install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf + sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf + sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf + install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf + + # driver library files + install -d ${D}${libdir}/lcdproc + for i in server/drivers/*.so; do + install -m 0644 $i ${D}${libdir}/lcdproc/ + done + # binaries + install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc + + # configuration files + install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf +} + +PACKAGES =+ "lcdd lcdvc" + +RRECOMMENDS_${PN} = "lcdd" + +FILES_lcdd = "${sysconfdir}/LCDd.conf \ + ${sbindir}/LCDd \ + ${sysconfdir}/init.d/lcdd" + +CONFFILES_lcdd = "${sysconfdir}/LCDd.conf" +CONFFILES_${PN} = "${sysconfdir}/lcdproc.conf" +CONFFILES_lcdvc = "${sysconfdir}/lcdvc.conf" +FILES_lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc" + +# Driver packages + +# USB / no USB trickery + +RCONFLICTS_lcdd-driver-hd47780nousb = "lcdd-driver-hd44780" +RCONFLICTS_lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb" + +INITSCRIPT_PACKAGES = "lcdd lcdproc" +INITSCRIPT_NAME_lcdd = "lcdd" +INITSCRIPT_NAME_lcdproc = "lcdproc" +INITSCRIPT_PARAMS_lcdd = "defaults 70 21" +INITSCRIPT_PARAMS_lcdproc = "defaults 71 20" + +python populate_packages_prepend() { + plugindir = d.expand('${libdir}/lcdproc') + do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True) +} + +PACKAGES_DYNAMIC += "^lcdd-driver-.*" diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch new file mode 100644 index 0000000000..745883ebe8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch @@ -0,0 +1,79 @@ +From 86686ccbf43c5d9e8c8dc97c66ba09e522050e5e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 27 Jul 2017 10:06:24 +0800 +Subject: [PATCH 1/3] fix configure and compile failures + +1. Fix do_configure failure +--------------------------- +|Checking header volume_key/libvolume_key.h existence and usability. +../tmp/6tvtK.c:1:38: fatal error: volume_key/libvolume_key.h: +No such file or directory +| #include <volume_key/libvolume_key.h> +|Checking header dmraid/dmraid.h existence and usability.../tmp/ +ktVJ6.c:1:27: fatal error: dmraid/dmraid.h: No such file or directory +| #include <dmraid/dmraid.h> +--------------------------- +We explictly add volume_key and dmraid to DEPENDS, do not need +configure to test. + +2. Fix config.h not found +Add it to configure.ac + +3. Correct AC_DEFINE +... +autoheader: warning: missing template: LIBMOUNT_NEW_ERR_API +autoheader: Use AC_DEFINE([LIBMOUNT_NEW_ERR_API], [], [Description]) +... + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d41a307..b036e04 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,6 +9,8 @@ AC_DISABLE_STATIC + AM_INIT_AUTOMAKE([foreign -Wall -Werror -Wno-syntax -Wno-portability]) + AC_CONFIG_MACRO_DIR([m4]) + ++AC_CONFIG_HEADERS([config.h]) ++ + AM_PATH_PYTHON + + AM_PROG_AR +@@ -154,7 +156,6 @@ LIBBLOCKDEV_PKG_CHECK_MODULES([KMOD], [libkmod >= 19]) + AS_IF([test "x$with_crypto" != "xno"], + [LIBBLOCKDEV_PKG_CHECK_MODULES([CRYPTSETUP], [libcryptsetup >= 1.6.7]) + LIBBLOCKDEV_PKG_CHECK_MODULES([NSS], [nss >= 3.18.0]) +- LIBBLOCKDEV_CHECK_HEADER([volume_key/libvolume_key.h], [$GLIB_CFLAGS $NSS_CFLAGS], [libvolume_key.h not available]) + ], + []) + +@@ -162,10 +163,6 @@ AS_IF([test "x$with_dm" != "xno" -o "x$with_lvm" != "xno" -o "x$with_lvm_dbus" ! + [LIBBLOCKDEV_PKG_CHECK_MODULES([DEVMAPPER], [devmapper >= 1.02.93])], + []) + +-AS_IF([test "x$with_dm" != "xno"], +- [LIBBLOCKDEV_CHECK_HEADER([dmraid/dmraid.h], [], [dmraid.h not available])], +- []) +- + AS_IF([test "x$with_part" != "xno" -o "x$with_fs" != "xno"], + [LIBBLOCKDEV_PKG_CHECK_MODULES([PARTED], [libparted >= 3.1])] + []) +@@ -174,7 +171,8 @@ AS_IF([test "x$with_fs" != "xno"], + [LIBBLOCKDEV_PKG_CHECK_MODULES([MOUNT], [mount >= 2.23.0]) + # new versions of libmount has some new functions we can use + AS_IF([$PKG_CONFIG --atleast-version=2.30.0 mount], +- [AC_DEFINE([LIBMOUNT_NEW_ERR_API])], []) ++ [AC_DEFINE([LIBMOUNT_NEW_ERR_API], [1], [new versions of libmount has some new functions we can use])], ++ []) + + LIBBLOCKDEV_PKG_CHECK_MODULES([BLKID], [blkid >= 2.23.0]) + # older versions of libblkid don't support BLKID_SUBLKS_BADCSUM so let's just +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0002-remove-python2-support.patch b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0002-remove-python2-support.patch new file mode 100644 index 0000000000..0719759cdb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0002-remove-python2-support.patch @@ -0,0 +1,30 @@ +From 40dae7ea6450cb30f066da8443eabf063b5b0ad7 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Mon, 8 May 2017 02:05:40 -0400 +Subject: [PATCH 2/3] remove python2 support + +Only python3 is required. + +Upstream-Status: Inappropriate [wr-installer specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/python/gi/overrides/Makefile.am | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/python/gi/overrides/Makefile.am b/src/python/gi/overrides/Makefile.am +index a2927ac..6385502 100644 +--- a/src/python/gi/overrides/Makefile.am ++++ b/src/python/gi/overrides/Makefile.am +@@ -1,8 +1,3 @@ +-pylibdir = $(shell python -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))") +- +-overridesdir = $(pylibdir)/gi/overrides +-dist_overrides_DATA = BlockDev.py +- + if WITH_PYTHON3 + py3libdir = $(shell python3 -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))") + py3overridesdir = $(py3libdir)/gi/overrides +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch new file mode 100644 index 0000000000..ac5b5e2beb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch @@ -0,0 +1,492 @@ +From bda7c937ba544182a5cae2a9cf0c173e0ba268c9 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 27 Jul 2017 09:47:23 +0800 +Subject: [PATCH 3/3] remove dmraid while compiling with --with-dm + +Fix the following failure: + +... +Perhaps you should add the directory containing `dmraid.pc' +to the PKG_CONFIG_PATH environment variable +No package 'dmraid' found +... + +... +../../../git/src/plugins/dm.c:24:10: fatal error: dmraid/dmraid.h: No +such file or directory + #include <dmraid/dmraid.h> + ^~~~~~~~~~~~~~~~~ +... + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/lib/plugin_apis/dm.api | 50 ------ + src/plugins/Makefile.am | 2 +- + src/plugins/dm.c | 330 ------------------------------------ + src/plugins/dm.h | 5 - + src/python/gi/overrides/BlockDev.py | 6 - + 5 files changed, 1 insertion(+), 392 deletions(-) + +diff --git a/src/lib/plugin_apis/dm.api b/src/lib/plugin_apis/dm.api +index 04fd8d8..5d30b6a 100644 +--- a/src/lib/plugin_apis/dm.api ++++ b/src/lib/plugin_apis/dm.api +@@ -111,53 +111,3 @@ gchar* bd_dm_get_subsystem_from_name (const gchar *device_name, GError **error); + * Tech category: %BD_DM_TECH_MAP-%BD_DM_TECH_MODE_QUERY + */ + gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean active_only, GError **error); +- +-/** +- * bd_dm_get_member_raid_sets: +- * @name: (allow-none): name of the member +- * @uuid: (allow-none): uuid of the member +- * @major: major number of the device or -1 if not specified +- * @minor: minor number of the device or -1 if not specified +- * @error: (out): variable to store error (if any) +- * +- * Returns: (transfer full) (array zero-terminated=1): list of names of the RAID sets related to +- * the member or %NULL in case of error +- * +- * One of @name, @uuid or @major:@minor has to be given. +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_MODE_QUERY +- */ +-gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error); +- +-/** +- * bd_dm_activate_raid_set: +- * @name: name of the DM RAID set to activate +- * @error: (out): variable to store error (if any) +- * +- * Returns: whether the RAID set @name was successfully activate or not +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_CREATE_ACTIVATE +- */ +-gboolean bd_dm_activate_raid_set (const gchar *name, GError **error); +- +-/** +- * bd_dm_deactivate_raid_set: +- * @name: name of the DM RAID set to deactivate +- * @error: (out): variable to store error (if any) +- * +- * Returns: whether the RAID set @name was successfully deactivate or not +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_REMOVE_DEACTIVATE +- */ +-gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error); +- +-/** +- * bd_dm_get_raid_set_type: +- * @name: name of the DM RAID set to get the type of +- * @error: (out): variable to store error (if any) +- * +- * Returns: string representation of the @name RAID set's type +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_QUERY +- */ +-gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error); +diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am +index b69c8f7..7575f4a 100644 +--- a/src/plugins/Makefile.am ++++ b/src/plugins/Makefile.am +@@ -75,7 +75,7 @@ endif + + if WITH_DM + libbd_dm_la_CFLAGS = $(GLIB_CFLAGS) $(DEVMAPPER_CFLAGS) $(UDEV_CFLAGS) -Wall -Wextra -Werror +-libbd_dm_la_LIBADD = $(GLIB_LIBS) $(DEVMAPPER_LIBS) $(UDEV_LIBS) -ldmraid ${builddir}/../utils/libbd_utils.la ++libbd_dm_la_LIBADD = $(GLIB_LIBS) $(DEVMAPPER_LIBS) $(UDEV_LIBS) ${builddir}/../utils/libbd_utils.la + libbd_dm_la_LDFLAGS = -L${srcdir}/../utils/ -version-info 2:0:0 -Wl,--no-undefined + # Dear author of libdmdraid, VERSION really is not a good name for an enum member! + libbd_dm_la_CPPFLAGS = -I${builddir}/../../include/ -UVERSION +diff --git a/src/plugins/dm.c b/src/plugins/dm.c +index 0e5466c..31ebe96 100644 +--- a/src/plugins/dm.c ++++ b/src/plugins/dm.c +@@ -21,17 +21,11 @@ + #include <unistd.h> + #include <blockdev/utils.h> + #include <libdevmapper.h> +-#include <dmraid/dmraid.h> + #include <libudev.h> + + #include "dm.h" + #include "check_deps.h" + +-/* macros taken from the pyblock/dmraid.h file plus one more*/ +-#define for_each_raidset(_c, _n) list_for_each_entry(_n, LC_RS(_c), list) +-#define for_each_subset(_rs, _n) list_for_each_entry(_n, &(_rs)->sets, list) +-#define for_each_device(_rs, _d) list_for_each_entry(_d, &(_rs)->devs, devs) +- + /** + * SECTION: dm + * @short_description: plugin for basic operations with device mapper +@@ -380,327 +374,3 @@ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean a + + return ret; + } +- +-/** +- * init_dmraid_stack: (skip) +- * +- * Initializes the dmraid stack by creating the library context, discovering +- * devices, raid sets, etc. +- */ +-static struct lib_context* init_dmraid_stack (GError **error) { +- gint rc = 0; +- gchar *argv[] = {"blockdev.dmraid", NULL}; +- struct lib_context *lc; +- +- /* the code for this function was cherry-picked from the pyblock code */ +- /* XXX: do this all just once, store global lc and provide a reinit +- * function? */ +- +- /* initialize dmraid library context */ +- lc = libdmraid_init (1, (gchar **)argv); +- +- rc = discover_devices (lc, NULL); +- if (!rc) { +- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL, +- "Failed to discover devices"); +- libdmraid_exit (lc); +- return NULL; +- } +- discover_raid_devices (lc, NULL); +- +- if (!count_devices (lc, RAID)) { +- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_NO_DEVS, +- "No RAIDs discovered"); +- libdmraid_exit (lc); +- return NULL; +- } +- +- argv[0] = NULL; +- if (!group_set (lc, argv)) { +- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL, +- "Failed to group_set"); +- libdmraid_exit (lc); +- return NULL; +- } +- +- return lc; +-} +- +-/** +- * raid_dev_matches_spec: (skip) +- * +- * Returns: whether the device specified by @sysname matches the spec given by @name, +- * @uuid, @major and @minor +- */ +-static gboolean raid_dev_matches_spec (struct raid_dev *raid_dev, const gchar *name, const gchar *uuid, gint major, gint minor) { +- gchar const *dev_name = NULL; +- gchar const *dev_uuid; +- gchar const *major_str; +- gchar const *minor_str; +- struct udev *context; +- struct udev_device *device; +- gboolean ret = TRUE; +- +- /* find the second '/' to get name (the rest of the string) */ +- dev_name = strchr (raid_dev->di->path, '/'); +- if (dev_name && strlen (dev_name) > 1) { +- dev_name++; +- dev_name = strchr (dev_name, '/'); +- } +- if (dev_name && strlen (dev_name) > 1) { +- dev_name++; +- } +- else +- dev_name = NULL; +- +- /* if we don't have the name, we cannot check any match */ +- g_return_val_if_fail (dev_name, FALSE); +- +- /* g_return_val_if_fail above checks value of dev_name and returns FALSE if +- * it is NULL so we don't need to check it here */ +- /* coverity[var_deref_model] */ +- if (name && strcmp (dev_name, name) != 0) { +- return FALSE; +- } +- +- context = udev_new (); +- device = udev_device_new_from_subsystem_sysname (context, "block", dev_name); +- dev_uuid = udev_device_get_property_value (device, "UUID"); +- major_str = udev_device_get_property_value (device, "MAJOR"); +- minor_str = udev_device_get_property_value (device, "MINOR"); +- +- if (uuid && (g_strcmp0 (uuid, "") != 0) && (g_strcmp0 (uuid, dev_uuid) != 0)) +- ret = FALSE; +- +- if (major >= 0 && (atoi (major_str) != major)) +- ret = FALSE; +- +- if (minor >= 0 && (atoi (minor_str) != minor)) +- ret = FALSE; +- +- udev_device_unref (device); +- udev_unref (context); +- +- return ret; +-} +- +-/** +- * find_raid_sets_for_dev: (skip) +- */ +-static void find_raid_sets_for_dev (const gchar *name, const gchar *uuid, gint major, gint minor, struct lib_context *lc, struct raid_set *rs, GPtrArray *ret_sets) { +- struct raid_set *subset = NULL; +- struct raid_dev *dev = NULL; +- +- if (T_GROUP(rs) || !list_empty(&(rs->sets))) { +- for_each_subset (rs, subset) +- find_raid_sets_for_dev (name, uuid, major, minor, lc, subset, ret_sets); +- } else { +- for_each_device (rs, dev) { +- if (raid_dev_matches_spec (dev, name, uuid, major, minor)) +- g_ptr_array_add (ret_sets, g_strdup (rs->name)); +- } +- } +-} +- +-/** +- * bd_dm_get_member_raid_sets: +- * @name: (allow-none): name of the member +- * @uuid: (allow-none): uuid of the member +- * @major: major number of the device or -1 if not specified +- * @minor: minor number of the device or -1 if not specified +- * @error: (out): variable to store error (if any) +- * +- * Returns: (transfer full) (array zero-terminated=1): list of names of the RAID sets related to +- * the member or %NULL in case of error +- * +- * One of @name, @uuid or @major:@minor has to be given. +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_MODE_QUERY +- */ +-gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error) { +- guint64 i = 0; +- struct lib_context *lc = NULL; +- struct raid_set *rs = NULL; +- GPtrArray *ret_sets = g_ptr_array_new (); +- gchar **ret = NULL; +- +- lc = init_dmraid_stack (error); +- if (!lc) +- /* error is already populated */ +- return NULL; +- +- for_each_raidset (lc, rs) { +- find_raid_sets_for_dev (name, uuid, major, minor, lc, rs, ret_sets); +- } +- +- /* now create the return value -- NULL-terminated array of strings */ +- ret = g_new0 (gchar*, ret_sets->len + 1); +- for (i=0; i < ret_sets->len; i++) +- ret[i] = (gchar*) g_ptr_array_index (ret_sets, i); +- ret[i] = NULL; +- +- g_ptr_array_free (ret_sets, FALSE); +- +- libdmraid_exit (lc); +- return ret; +-} +- +-/** +- * find_in_raid_sets: (skip) +- * +- * Runs @eval_fn with @data on each set (traversing recursively) and returns the +- * first RAID set that @eval_fn returns. Thus the @eval_fn should return %NULL +- * on all RAID sets that don't fulfill the search criteria. +- */ +-static struct raid_set* find_in_raid_sets (struct raid_set *rs, RSEvalFunc eval_fn, gpointer data) { +- struct raid_set *subset = NULL; +- struct raid_set *ret = NULL; +- +- ret = eval_fn (rs, data); +- if (ret) +- return ret; +- +- if (T_GROUP(rs) || !list_empty(&(rs->sets))) { +- for_each_subset (rs, subset) { +- ret = find_in_raid_sets (subset, eval_fn, data); +- if (ret) +- return ret; +- } +- } +- +- return ret; +-} +- +-static struct raid_set* rs_matches_name (struct raid_set *rs, gpointer *name_data) { +- gchar *name = (gchar*) name_data; +- +- if (g_strcmp0 (rs->name, name) == 0) +- return rs; +- else +- return NULL; +-} +- +-static gboolean change_set_by_name (const gchar *name, enum activate_type action, GError **error) { +- gint rc = 0; +- struct lib_context *lc = NULL; +- struct raid_set *iter_rs = NULL; +- struct raid_set *match_rs = NULL; +- +- lc = init_dmraid_stack (error); +- if (!lc) +- /* error is already populated */ +- return FALSE; +- +- for_each_raidset (lc, iter_rs) { +- match_rs = find_in_raid_sets (iter_rs, (RSEvalFunc)rs_matches_name, (gchar *)name); +- if (match_rs) +- break; +- } +- +- if (!match_rs) { +- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_NO_EXIST, +- "RAID set %s doesn't exist", name); +- libdmraid_exit (lc); +- return FALSE; +- } +- +- rc = change_set (lc, action, match_rs); +- if (!rc) { +- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL, +- "Failed to activate the RAID set '%s'", name); +- libdmraid_exit (lc); +- return FALSE; +- } +- +- libdmraid_exit (lc); +- return TRUE; +-} +- +-/** +- * bd_dm_activate_raid_set: +- * @name: name of the DM RAID set to activate +- * @error: (out): variable to store error (if any) +- * +- * Returns: whether the RAID set @name was successfully activate or not +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_CREATE_ACTIVATE +- */ +-gboolean bd_dm_activate_raid_set (const gchar *name, GError **error) { +- guint64 progress_id = 0; +- gchar *msg = NULL; +- gboolean ret = FALSE; +- +- msg = g_strdup_printf ("Activating DM RAID set '%s'", name); +- progress_id = bd_utils_report_started (msg); +- g_free (msg); +- ret = change_set_by_name (name, A_ACTIVATE, error); +- bd_utils_report_finished (progress_id, "Completed"); +- return ret; +-} +- +-/** +- * bd_dm_deactivate_raid_set: +- * @name: name of the DM RAID set to deactivate +- * @error: (out): variable to store error (if any) +- * +- * Returns: whether the RAID set @name was successfully deactivate or not +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_REMOVE_DEACTIVATE +- */ +-gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error) { +- guint64 progress_id = 0; +- gchar *msg = NULL; +- gboolean ret = FALSE; +- +- msg = g_strdup_printf ("Deactivating DM RAID set '%s'", name); +- progress_id = bd_utils_report_started (msg); +- g_free (msg); +- ret = change_set_by_name (name, A_DEACTIVATE, error); +- bd_utils_report_finished (progress_id, "Completed"); +- return ret; +-} +- +-/** +- * bd_dm_get_raid_set_type: +- * @name: name of the DM RAID set to get the type of +- * @error: (out): variable to store error (if any) +- * +- * Returns: string representation of the @name RAID set's type +- * +- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_QUERY +- */ +-gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error) { +- struct lib_context *lc = NULL; +- struct raid_set *iter_rs = NULL; +- struct raid_set *match_rs = NULL; +- const gchar *type = NULL; +- +- lc = init_dmraid_stack (error); +- if (!lc) +- /* error is already populated */ +- return NULL; +- +- for_each_raidset (lc, iter_rs) { +- match_rs = find_in_raid_sets (iter_rs, (RSEvalFunc)rs_matches_name, (gchar *)name); +- if (match_rs) +- break; +- } +- +- if (!match_rs) { +- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_NO_EXIST, +- "RAID set %s doesn't exist", name); +- libdmraid_exit (lc); +- return NULL; +- } +- +- type = get_set_type (lc, match_rs); +- if (!type) { +- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL, +- "Failed to get RAID set's type"); +- libdmraid_exit (lc); +- return NULL; +- } +- +- libdmraid_exit (lc); +- return g_strdup (type); +-} +diff --git a/src/plugins/dm.h b/src/plugins/dm.h +index 0dce6ac..1ee3788 100644 +--- a/src/plugins/dm.h ++++ b/src/plugins/dm.h +@@ -1,5 +1,4 @@ + #include <glib.h> +-#include <dmraid/dmraid.h> + + #ifndef BD_DM + #define BD_DM +@@ -48,9 +47,5 @@ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean a + gchar* bd_dm_name_from_node (const gchar *dm_node, GError **error); + gchar* bd_dm_node_from_name (const gchar *map_name, GError **error); + gchar* bd_dm_get_subsystem_from_name (const gchar *device_name, GError **error); +-gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error); +-gboolean bd_dm_activate_raid_set (const gchar *name, GError **error); +-gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error); +-gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error); + + #endif /* BD_DM */ +diff --git a/src/python/gi/overrides/BlockDev.py b/src/python/gi/overrides/BlockDev.py +index fb3ffb4..eed0a38 100644 +--- a/src/python/gi/overrides/BlockDev.py ++++ b/src/python/gi/overrides/BlockDev.py +@@ -233,12 +233,6 @@ def dm_create_linear(map_name, device, length, uuid=None): + return _dm_create_linear(map_name, device, length, uuid) + __all__.append("dm_create_linear") + +-_dm_get_member_raid_sets = BlockDev.dm_get_member_raid_sets +-@override(BlockDev.dm_get_member_raid_sets) +-def dm_get_member_raid_sets(name=None, uuid=None, major=-1, minor=-1): +- return _dm_get_member_raid_sets(name, uuid, major, minor) +-__all__.append("dm_get_member_raid_sets") +- + + _loop_setup = BlockDev.loop_setup + @override(BlockDev.loop_setup) +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000000..0b5b809122 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,50 @@ +From 59fbd57acd1df25b1972a131dc6a77a4fe147729 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 27 Jul 2017 10:45:02 +0800 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/plugins/crypto.c | 2 +- + src/plugins/part.c | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c +index b961471..2d3d251 100644 +--- a/src/plugins/crypto.c ++++ b/src/plugins/crypto.c +@@ -22,7 +22,7 @@ + #include <libcryptsetup.h> + #include <nss.h> + #include <volume_key/libvolume_key.h> +-#include <sys/fcntl.h> ++#include <fcntl.h> + #include <sys/ioctl.h> + #include <linux/random.h> + #include <locale.h> +diff --git a/src/plugins/part.c b/src/plugins/part.c +index 6b2a690..ab490d9 100644 +--- a/src/plugins/part.c ++++ b/src/plugins/part.c +@@ -25,6 +25,7 @@ + #include <inttypes.h> + #include <unistd.h> + #include <sys/file.h> ++#include <fcntl.h> + #include <sys/ioctl.h> + #include <linux/fs.h> + #include <blockdev/utils.h> +@@ -1354,7 +1355,7 @@ static gboolean set_gpt_flags (const gchar *device, int part_num, guint64 flags, + real_flags |= 0x4000000000000000; /* 1 << 62 */ + if (flags & BD_PART_FLAG_GPT_NO_AUTOMOUNT) + real_flags |= 0x8000000000000000; /* 1 << 63 */ +- mask_str = g_strdup_printf ("%.16"__PRI64_PREFIX"x", real_flags); ++ mask_str = g_strdup_printf ("%.16"__PRI64"x", real_flags); + + args[2] = g_strdup_printf ("%d:=:%s", part_num, mask_str); + g_free (mask_str); +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch new file mode 100644 index 0000000000..b214f0b05d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch @@ -0,0 +1,111 @@ +From 9b4a7a4d0653b627d747e00d6b3ada2990caa1d3 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Wed, 9 Aug 2017 13:57:57 +0800 +Subject: [PATCH] fix a clang compiling issue + +[snip] +../../../git/src/plugins/fs.c:2617:26: error: missing field 'start' +initializer [-Werror,-Wmissing-field-initializers] + PedGeometry geom = {0}; + ^ +../../../git/src/plugins/fs.c:2618:30: error: missing field 'start' +initializer [-Werror,-Wmissing-field-initializers] + PedGeometry new_geom = {0}; +[snip] + +Fix typo s/enum libvk_packet_format format/enum libvk_secret secret_type/ + +Upstream-Status: Submitted [https://github.com/storaged-project/libblockdev/pull/266] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/plugins/crypto.c | 6 +++--- + src/plugins/fs/vfat.c | 4 ++-- + src/plugins/part.c | 4 ++-- + src/utils/exec.c | 2 +- + 4 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c +index 563093e..b961471 100644 +--- a/src/plugins/crypto.c ++++ b/src/plugins/crypto.c +@@ -970,7 +970,7 @@ gboolean bd_crypto_tc_open (const gchar *device, const gchar *name, const guint8 + gint ret = 0; + guint64 progress_id = 0; + gchar *msg = NULL; +- struct crypt_params_tcrypt params = {0}; ++ struct crypt_params_tcrypt params = {NULL,0,NULL,0,NULL,NULL,NULL,0,0}; + + msg = g_strdup_printf ("Started opening '%s' TrueCrypt/VeraCrypt device", device); + progress_id = bd_utils_report_started (msg); +@@ -1090,7 +1090,7 @@ static gchar *replace_char (gchar *str, gchar orig, gchar new) { + return str; + } + +-static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libvk_ui *ui, enum libvk_packet_format format, const gchar *out_path, ++static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libvk_ui *ui, enum libvk_secret secret_type, const gchar *out_path, + CERTCertificate *cert, GError **error) { + gpointer packet_data = NULL; + gsize packet_data_size = 0; +@@ -1099,7 +1099,7 @@ static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libv + gsize bytes_written = 0; + GError *tmp_error = NULL; + +- packet_data = libvk_volume_create_packet_asymmetric_with_format (volume, &packet_data_size, format, cert, ++ packet_data = libvk_volume_create_packet_asymmetric_with_format (volume, &packet_data_size, secret_type, cert, + ui, LIBVK_PACKET_FORMAT_ASYMMETRIC_WRAP_SECRET_ONLY, error); + + if (!packet_data) { +diff --git a/src/plugins/fs/vfat.c b/src/plugins/fs/vfat.c +index 3ed7d4a..5ff7795 100644 +--- a/src/plugins/fs/vfat.c ++++ b/src/plugins/fs/vfat.c +@@ -376,8 +376,8 @@ BDFSVfatInfo* bd_fs_vfat_get_info (const gchar *device, GError **error) { + */ + gboolean bd_fs_vfat_resize (const gchar *device, guint64 new_size, GError **error) { + PedDevice *ped_dev = NULL; +- PedGeometry geom = {0}; +- PedGeometry new_geom = {0}; ++ PedGeometry geom = {NULL, 0, 0, 0}; ++ PedGeometry new_geom = {NULL, 0, 0, 0}; + PedFileSystem *fs = NULL; + PedSector start = 0; + PedSector length = 0; +diff --git a/src/plugins/part.c b/src/plugins/part.c +index fed8300..6b2a690 100644 +--- a/src/plugins/part.c ++++ b/src/plugins/part.c +@@ -926,7 +926,7 @@ static PedPartition* add_part_to_disk (PedDevice *dev, PedDisk *disk, BDPartType + return NULL; + } + +- part = ped_partition_new (disk, type, NULL, geom->start, geom->end); ++ part = ped_partition_new (disk, (PedPartitionType)type, NULL, geom->start, geom->end); + if (!part) { + set_parted_error (error, BD_PART_ERROR_FAIL); + g_prefix_error (error, "Failed to create new partition on device '%s'", dev->path); +@@ -1564,7 +1564,7 @@ gboolean bd_part_set_part_flags (const gchar *disk, const gchar *part, guint64 f + PedPartition *ped_part = NULL; + const gchar *part_num_str = NULL; + gint part_num = 0; +- guint64 i = 0; ++ int i = 0; + gint status = 0; + gboolean ret = FALSE; + guint64 progress_id = 0; +diff --git a/src/utils/exec.c b/src/utils/exec.c +index 11c1489..dcf87e5 100644 +--- a/src/utils/exec.c ++++ b/src/utils/exec.c +@@ -354,7 +354,7 @@ gboolean bd_utils_exec_and_report_progress (const gchar **argv, const BDExtraArg + GIOStatus io_status = G_IO_STATUS_NORMAL; + guint i = 0; + guint8 completion = 0; +- GPollFD fds[2] = {{0}, {0}}; ++ GPollFD fds[2] = {{0,0,0}, {0,0,0}}; + gboolean out_done = FALSE; + gboolean err_done = FALSE; + GString *stdout_data = g_string_new (NULL); +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.16.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.16.bb new file mode 100644 index 0000000000..0c954aa39b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.16.bb @@ -0,0 +1,51 @@ +DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \ +block devices. It has a plugin-based architecture where each technology (like \ +LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \ +with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)." +HOMEPAGE = "http://rhinstaller.github.io/libblockdev/" +LICENSE = "LGPLv2+" +SECTION = "devel/lib" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c" + +inherit autotools python3native gobject-introspection + +DEPENDS += " \ + cryptsetup \ + nss \ + volume-key \ + libbytesize \ + btrfs-tools \ +" + +SRCREV = "e2e0899efe8dd3f111ff955fb6c1dc10b0bd2075" +SRC_URI = " \ + git://github.com/rhinstaller/libblockdev;branch=master \ + file://0001-fix-configure-and-compile-failures.patch \ + file://0002-remove-python2-support.patch \ + file://0003-remove-dmraid-while-compiling-with-with-dm.patch \ + file://0005-fix-a-clang-compiling-issue.patch \ +" +SRC_URI_append_libc-musl = " \ + file://0004-fix-compile-failure-against-musl-C-library.patch \ +" + +S = "${WORKDIR}/git" + +RDEPENDS_${PN} += " \ + lvm2 \ +" + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" + +PACKAGECONFIG ??= "python3 lvm dm kmod parted fs" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools" +PACKAGECONFIG[dm] = "--with-dm, --without-dm" +PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod" +PACKAGECONFIG[parted] = "--with-part, --without-part, parted" +PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux" +PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native" + +export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs" + diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/files/python-install-location.patch b/meta-openembedded/meta-oe/recipes-extended/libcec/files/python-install-location.patch new file mode 100644 index 0000000000..b6be78dd40 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libcec/files/python-install-location.patch @@ -0,0 +1,28 @@ +From 330fa6777d51d41eefacff8e98e4250d210fde35 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Javi=20Mart=C3=ADnez?= <javi@flamingalah.net> +Date: Tue, 13 Dec 2016 22:31:13 +0100 +Subject: [PATCH] Improve/fix installation of Python bindings + +Upstream-Status: Backport + +dist-packages is a Debian-specific directory for distribution packages (and used in derivatives such as Ubuntu). Therefore changed to site-packages. +--- + src/libcec/cmake/CheckPlatformSupport.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake +index fcd0ef7..7661107 100644 +--- a/src/libcec/cmake/CheckPlatformSupport.cmake ++++ b/src/libcec/cmake/CheckPlatformSupport.cmake +@@ -195,9 +195,9 @@ else() + RENAME __init__.py) + else() + install(TARGETS ${SWIG_MODULE_cec_REAL_NAME} +- DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec) ++ DESTINATION lib/python${PYTHON_VERSION}/site-packages/cec) + install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py +- DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec ++ DESTINATION lib/python${PYTHON_VERSION}/site-packages/cec + RENAME __init__.py) + endif() + endif() diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb new file mode 100644 index 0000000000..cb65caad8c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb @@ -0,0 +1,31 @@ +SUMMARY = "USB CEC Adaptor communication Library" +HOMEPAGE = "http://libcec.pulse-eight.com/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=e61fd86f9c947b430126181da2c6c715" + +DEPENDS = "p8platform udev lockdev ncurses swig-native python3" + +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}" +DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}" + +PV = "4.0.1+gitr${SRCPV}" + +SRCREV = "2fc92b5f02dca702da92ccc5ed7b805b240ef5df" +SRC_URI = "git://github.com/Pulse-Eight/libcec.git \ + file://python-install-location.patch" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +# Create the wrapper for python3 +PACKAGES += "python3-${BPN}" +FILES_python3-${BPN} = "${libdir}/python3*" + +# cec-client and xbmc need the .so present to work :( +FILES_${PN} += "${libdir}/*.so" +INSANE_SKIP_${PN} = "dev-so" + +# Adapter shows up as a CDC-ACM device +RRECOMMENDS_${PN} = "kernel-module-cdc-acm" diff --git a/meta-openembedded/meta-oe/recipes-extended/libconfig/libconfig_1.5.bb b/meta-openembedded/meta-oe/recipes-extended/libconfig/libconfig_1.5.bb new file mode 100644 index 0000000000..fb6e50e513 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libconfig/libconfig_1.5.bb @@ -0,0 +1,14 @@ +SUMMARY = "C/C++ Configuration File Library" +DESCRIPTION = "Library for manipulating structured configuration files" +HOMEPAGE = "http://www.hyperrealm.com/libconfig/" +SECTION = "libs" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fad9b3332be894bab9bc501572864b29" + +SRC_URI = "http://www.hyperrealm.com/${BPN}/${BP}.tar.gz" + +inherit autotools-brokensep pkgconfig + +SRC_URI[md5sum] = "a939c4990d74e6fc1ee62be05716f633" +SRC_URI[sha256sum] = "e31daa390d8e4461c8830512fe2e13ba1a3d6a02a2305a02429eec61e68703f6" diff --git a/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch new file mode 100644 index 0000000000..f65d26aaea --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch @@ -0,0 +1,16 @@ +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -56,6 +56,7 @@ AM_CONDITIONAL([ENABLE_EXAMPLES], [test + # Checks for programs. + AC_PROG_CC + AC_PROG_CC_C99 ++AM_PROG_AR + + # Enable automake silent build rules. + m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) diff --git a/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb new file mode 100644 index 0000000000..6c4f4a0721 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Libdivecomputer is a cross-platform and open source library for communication with dive computers from various manufacturers." +HOMEPAGE = "http://www.divesoftware.org/libdc/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" + +DEPENDS = "libusb1" + +inherit autotools pkgconfig + +PV = "0.4.2+gitr${SRCPV}" + +SRCREV = "5f765f91430f16932d96b3777404420aa2dd4c7c" +SRC_URI = "git://git.libdivecomputer.org/libdivecomputer.git \ + file://fix-ar.patch \ + " + +S = "${WORKDIR}/git" + + diff --git a/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch b/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch new file mode 100644 index 0000000000..f1863f14b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch @@ -0,0 +1,59 @@ +From 910bbc2cb6cc1cfa6deed9d170da02a639902c7c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 19 Mar 2017 16:14:54 -0700 +Subject: [PATCH 1/2] makefile: Fix build on linux + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +Index: libexecinfo-1.1/Makefile +=================================================================== +--- libexecinfo-1.1.orig/Makefile ++++ libexecinfo-1.1/Makefile +@@ -23,24 +23,25 @@ + # SUCH DAMAGE. + # + # $Id: Makefile,v 1.3 2004/07/19 05:19:55 sobomax Exp $ ++# ++# Linux Makefile by Matt Smith <mcs@darkregion.net>, 2011/01/04 + +-LIB= execinfo +- +-SRCS= stacktraverse.c stacktraverse.h execinfo.c execinfo.h +- +-INCS= execinfo.h +- +-SHLIB_MAJOR= 1 +-SHLIB_MINOR= 0 +- +-NOPROFILE= yes +- +-DPADD= ${LIBM} +-LDADD= -lm +- +-#WARNS?= 4 +- +-#stacktraverse.c: gen.py +-# ./gen.py > stacktraverse.c ++CC?=cc ++AR?=ar ++EXECINFO_CFLAGS=$(CFLAGS) -O2 -pipe -fno-strict-aliasing -std=gnu99 -fstack-protector -c ++EXECINFO_LDFLAGS=$(LDFLAGS) ++ ++all: static dynamic ++ ++static: ++ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c ++ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c ++ $(AR) rcs libexecinfo.a stacktraverse.o execinfo.o ++ ++dynamic: ++ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c -o stacktraverse.So ++ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c -o execinfo.So ++ $(CC) -shared -Wl,-soname,libexecinfo.so.1 -o libexecinfo.so.1 $(EXECINFO_LDFLAGS) stacktraverse.So execinfo.So + +-.include <bsd.lib.mk> ++clean: ++ rm -rf *.o *.So *.a *.so diff --git a/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch b/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch new file mode 100644 index 0000000000..423b670823 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch @@ -0,0 +1,79 @@ +From 0810817773fb81d7383d2fa8464244c8f79845fb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 19 Mar 2017 16:16:18 -0700 +Subject: [PATCH 2/2] execinfo: Fix compiler errors found with newer gcc/clang + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + execinfo.c | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +diff --git a/execinfo.c b/execinfo.c +index 906fb14..9448b60 100644 +--- a/execinfo.c ++++ b/execinfo.c +@@ -69,7 +69,8 @@ backtrace(void **buffer, int size) + char ** + backtrace_symbols(void *const *buffer, int size) + { +- int i, clen, alen, offset; ++ size_t clen, alen; ++ int i, offset; + char **rval; + char *cp; + Dl_info info; +@@ -78,7 +79,6 @@ backtrace_symbols(void *const *buffer, int size) + rval = malloc(clen); + if (rval == NULL) + return NULL; +- (char **)cp = &(rval[size]); + for (i = 0; i < size; i++) { + if (dladdr(buffer[i], &info) != 0) { + if (info.dli_sname == NULL) +@@ -92,14 +92,14 @@ backtrace_symbols(void *const *buffer, int size) + 2 + /* " <" */ + strlen(info.dli_sname) + /* "function" */ + 1 + /* "+" */ +- D10(offset) + /* "offset */ ++ 10 + /* "offset */ + 5 + /* "> at " */ + strlen(info.dli_fname) + /* "filename" */ + 1; /* "\0" */ + rval = realloc_safe(rval, clen + alen); + if (rval == NULL) + return NULL; +- snprintf(cp, alen, "%p <%s+%d> at %s", ++ snprintf((char *) rval + clen, alen, "%p <%s+%d> at %s", + buffer[i], info.dli_sname, offset, info.dli_fname); + } else { + alen = 2 + /* "0x" */ +@@ -108,12 +108,15 @@ backtrace_symbols(void *const *buffer, int size) + rval = realloc_safe(rval, clen + alen); + if (rval == NULL) + return NULL; +- snprintf(cp, alen, "%p", buffer[i]); ++ snprintf((char *) rval + clen, alen, "%p", buffer[i]); + } +- rval[i] = cp; +- cp += alen; ++ rval[i] = (char *) clen; ++ clen += alen; + } + ++ for (i = 0; i < size; i++) ++ rval[i] += (long) rval; ++ + return rval; + } + +@@ -155,6 +158,6 @@ backtrace_symbols_fd(void *const *buffer, int size, int fd) + return; + snprintf(buf, len, "%p\n", buffer[i]); + } +- write(fd, buf, len - 1); ++ write(fd, buf, strlen(buf)); + } + } +-- +2.12.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb b/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb new file mode 100644 index 0000000000..d4bad38b7a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb @@ -0,0 +1,31 @@ +# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "A quick-n-dirty BSD licensed clone of the GNU libc backtrace facility." +HOMEPAGE = "http://www.freshports.org/devel/libexecinfo" +LIC_FILES_CHKSUM = "file://execinfo.c;endline=25;md5=85bd3fa4ea9acae5182e29db063fe2e5" +LICENSE = "BSD-2-Clause" +SECTION = "libs" +DEPENDS = "" + +SRC_URI = "http://distcache.freebsd.org/local-distfiles/itetcu/${BP}.tar.bz2 \ + file://0001-makefile-Fix-build-on-linux.patch \ + file://0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch \ + " +SRC_URI[md5sum] = "8e9e81c554c1c5d735bc877448e92b91" +SRC_URI[sha256sum] = "c9a21913e7fdac8ef6b33250b167aa1fc0a7b8a175145e26913a4c19d8a59b1f" + +CFLAGS += "-fno-omit-frame-pointer -D_GNU_SOURCE" + +do_install() { + install -D -m 0744 ${S}/execinfo.h ${D}${includedir}/execinfo.h + install -D -m 0744 ${S}/stacktraverse.h ${D}${includedir}/stacktraverse.h + install -D -m 0744 ${B}/libexecinfo.a ${D}${libdir}/libexecinfo.a + install -D -m 0755 ${B}/libexecinfo.so.1 ${D}${libdir}/libexecinfo.so.1 + ln -s libexecinfo.so.1 ${D}${libdir}/libexecinfo.so +} +# +# We will skip parsing for non-musl systems +# +COMPATIBLE_HOST = ".*-musl.*" + diff --git a/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch new file mode 100644 index 0000000000..41e07f39f1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch @@ -0,0 +1,53 @@ +From d2ccba90186e2affbb3d146ada341ea2ae6fab2c Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Mon, 13 May 2013 16:05:32 +0900 +Subject: [PATCH 1/3] Use AM_CPPFLAGS instead of INCLUDES + +--- + docs/reference/Makefile.am | 2 +- + libgxim/Makefile.am | 2 +- + tests/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am +index 24986e1..f785735 100644 +--- a/docs/reference/Makefile.am ++++ b/docs/reference/Makefile.am +@@ -84,7 +84,7 @@ expand_content_files= + # signals and properties. + # e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) + # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) +-INCLUDES= \ ++AM_CPPFLAGS= \ + $(GXIM_CFLAGS) \ + -I$(top_srcdir) \ + $(NULL) +diff --git a/libgxim/Makefile.am b/libgxim/Makefile.am +index 572bdb5..ae1ba32 100644 +--- a/libgxim/Makefile.am ++++ b/libgxim/Makefile.am +@@ -1,7 +1,7 @@ + ## + # Global definitions + NULL = +-INCLUDES = \ ++AM_CPPFLAGS = \ + $(GXIM_CFLAGS) \ + -I$(top_srcdir) \ + $(NULL) +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 2926829..919ccc8 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -1,7 +1,7 @@ + ## + # Global definitions + NULL = +-INCLUDES = \ ++AM_CPPFLAGS = \ + -I$(top_srcdir)/libgxim \ + -I$(top_srcdir) \ + $(GXIM_CFLAGS) \ +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch new file mode 100644 index 0000000000..808203b6ef --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch @@ -0,0 +1,31 @@ +From 3215783732b147723e3613cc3c3f83cdcf2ae832 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Wed, 22 Jan 2014 18:59:32 +0900 +Subject: [PATCH 2/3] Update autotools macro + +--- + configure.ac | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d559491..8b846a6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -11,10 +11,12 @@ dnl V=0 to make. + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + + AM_MAINTAINER_MODE +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_MACRO_DIR([m4macros]) + +-AC_PROG_LIBTOOL ++LT_PREREQ([2.2]) ++LT_INIT([disable-static]) ++ + AC_PROG_INTLTOOL + + AC_PROG_CC +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch new file mode 100644 index 0000000000..cb21e1ef44 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch @@ -0,0 +1,30 @@ +From d05d7fa24ee128f1f33a2e905fc3601955dd27d4 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 29 Mar 2017 18:06:02 -0700 +Subject: [PATCH 3/3] Add format string qualifier to fix potential security + risk + +Fixes +libgxim/gximprotocol10.c:2076:66: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libgxim/gximprotocol10.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgxim/gximprotocol10.c b/libgxim/gximprotocol10.c +index 04887a5..65bd4df 100644 +--- a/libgxim/gximprotocol10.c ++++ b/libgxim/gximprotocol10.c +@@ -2073,7 +2073,7 @@ g_xim_protocol10_closure_real_parser_error(GXimProtocol *proto, + msg = g_strdup_printf("Unable to parse the protocol %s properly", + g_xim_protocol_name(major_opcode)); + +- g_xim_messages_error(G_XIM_PROTOCOL_GET_IFACE (proto)->message, msg); ++ g_xim_messages_error(G_XIM_PROTOCOL_GET_IFACE (proto)->message, "%s", msg); + switch (major_opcode) { + case G_XIM_CONNECT: + case G_XIM_AUTH_REQUIRED: +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch new file mode 100644 index 0000000000..3d293b473e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch @@ -0,0 +1,21 @@ +multi-line ACLOCAL_AMFLAGS isn't supported by autoreconf. +It will cause configure error as follow. + + aclocal: error: non-option arguments are not accepted: '\'. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +diff -Nurp libgxim-0.5.0.orig/Makefile.am libgxim-0.5.0/Makefile.am +--- libgxim-0.5.0.orig/Makefile.am 2012-12-13 15:48:09.000000000 +0800 ++++ libgxim-0.5.0/Makefile.am 2014-12-19 11:05:50.727209821 +0800 +@@ -2,9 +2,7 @@ NULL = + AUTOMAKE_OPTIONS = dist-bzip2 + SUBDIRS = libgxim m4macros po tests docs + +-ACLOCAL_AMFLAGS = \ +- -I m4macros \ +- $(NULL) ++ACLOCAL_AMFLAGS = -I m4macros $(NULL) + + CONFIGURE_DEPENDENCIES = \ + requires \ diff --git a/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb new file mode 100644 index 0000000000..7e4c330a19 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "GObject-based XIM protocol library" +DESCRIPTION = "libgxim is a X Input Method protocol library that is implemented by GObject.\ +this library helps you to implement XIM servers or client applications to\ +communicate through XIM protocol without using Xlib API directly, particularly\ +if your application uses GObject-based main loop.\ +\ +This package contains the shared library." + +HOMEPAGE = "http://code.google.com/p/libgxim/" +SECTION = "System Environment/Libraries" + +SRC_URI = "https://bitbucket.org/tagoh/libgxim/downloads/${BPN}-${PV}.tar.bz2 \ + file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \ + file://0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch \ + file://0002-Update-autotools-macro.patch \ + file://0003-Add-format-string-qualifier-to-fix-potential-securit.patch \ + " + +SRC_URI[md5sum] = "4bb1fa63d00eb224439d413591c29a6a" +SRC_URI[sha256sum] = "75e20d1744139644f9951b78ea3910b162d3380302315cb4b3d0640f23694c79" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "\ +file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +EXTRA_OECONF = " --disable-static --disable-rebuilds --enable-compile-warnings=minimum" +DEPENDS += "gtk+ glib-2.0 glib-2.0-native ruby-native intltool-native gnome-common-native" + +inherit distro_features_check autotools pkgconfig gettext + +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/0001-Fix-warnings-found-with-clang.patch b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/0001-Fix-warnings-found-with-clang.patch new file mode 100644 index 0000000000..f8114a0634 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/0001-Fix-warnings-found-with-clang.patch @@ -0,0 +1,51 @@ +From ad1be542b87b3186f8ef7bee2c594daefe5bb4c8 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 18 Oct 2016 21:31:40 +0000 +Subject: [PATCH] Fix warnings found with clang + +| /mnt/oe/openembedded-core/build/workspace/sources/libplist/src/base64.c:107:12: error: non-void function 'base64decode' should return a value [-Wreturn-type] +| if (!buf) return; +| ^ +| /mnt/oe/openembedded-core/build/workspace/sources/libplist/src/base64.c:109:16: error: non-void function 'base64decode' should return a value [-Wreturn-type] +| if (len <= 0) return; + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libcnary/node.c | 2 +- + src/base64.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/libcnary/node.c b/libcnary/node.c +index 1f9f669..d6f3f63 100644 +--- a/libcnary/node.c ++++ b/libcnary/node.c +@@ -104,7 +104,7 @@ int node_detach(node_t* parent, node_t* child) { + + int node_insert(node_t* parent, unsigned int index, node_t* child) + { +- if (!parent || !child) return; ++ if (!parent || !child) return -1; + child->isLeaf = TRUE; + child->isRoot = FALSE; + child->parent = parent; +diff --git a/src/base64.c b/src/base64.c +index 65c6061..531a06a 100644 +--- a/src/base64.c ++++ b/src/base64.c +@@ -104,9 +104,9 @@ static int base64decode_block(unsigned char *target, const char *data, size_t da + + unsigned char *base64decode(const char *buf, size_t *size) + { +- if (!buf) return; ++ if (!buf) return 0; + size_t len = strlen(buf); +- if (len <= 0) return; ++ if (len <= 0) return 0; + unsigned char *outbuf = (unsigned char*)malloc((len/4)*3+3); + + unsigned char *line; +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/fix-parallel-make.patch b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/fix-parallel-make.patch new file mode 100644 index 0000000000..f6ef6f4f8b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/fix-parallel-make.patch @@ -0,0 +1,21 @@ +From 335b25febd4c864ad0ac08479f5cd43fc21b7d73 Mon Sep 17 00:00:00 2001 +From: Nikias Bassen +Date: Mon, 09 Jul 2012 21:17:15 +0000 +Subject: Fix building with parallel build makeopts + +--- +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0bad840..155994e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -57,6 +57,8 @@ ADD_SUBDIRECTORY( plutil ) + ADD_SUBDIRECTORY( include ) + ADD_SUBDIRECTORY( test ) + ++ADD_DEPENDENCIES( plist libcnary ) ++ + IF ( SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND ) + ADD_SUBDIRECTORY( swig ) + ENDIF ( SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND ) +-- +cgit v0.9.0.2 diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb new file mode 100644 index 0000000000..f78979619f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb @@ -0,0 +1,31 @@ +SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \ + file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7" + +DEPENDS = "libxml2 glib-2.0 swig python" + +inherit cmake pkgconfig + +SRC_URI = "http://www.libimobiledevice.org/downloads/libplist-${PV}.tar.bz2 \ + file://fix-parallel-make.patch \ + file://0001-Fix-warnings-found-with-clang.patch \ + " + +SRC_URI[md5sum] = "2a9e0258847d50f9760dc3ece25f4dc6" +SRC_URI[sha256sum] = "a418da3880308199b74766deef2a760a9b169b81a868a6a9032f7614e20500ec" + +do_install_append () { + if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then + chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so + fi +} + +PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python" +FILES_${PN} = "${libdir}/libplist${SOLIBS}" +FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}" +FILES_${PN}-utils = "${bindir}/*" +FILES_${PN}-python = "${libdir}/python*/site-packages/*" + + diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/configure.patch b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/configure.patch new file mode 100644 index 0000000000..ea13e11d25 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/configure.patch @@ -0,0 +1,25 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- liblockfile-1.05/./configure.in~configure ++++ liblockfile-1.05/./configure.in +@@ -1,4 +1,5 @@ +-AC_INIT(lockfile.c) ++AC_INIT ++AC_CONFIG_SRCDIR([lockfile.c]) + AC_CONFIG_HEADER(autoconf.h) + AC_REVISION($Revision: 1.0 $)dnl + +@@ -111,7 +112,8 @@ + AC_SUBST(INSTALL_TARGETS) + AC_SUBST(nfslockdir) + +-AC_OUTPUT(\ ++AC_CONFIG_FILES([\ + ./Makefile \ + ./maillock.h \ +-) ++]) ++AC_OUTPUT diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/install.patch b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/install.patch new file mode 100644 index 0000000000..a9319ff1e3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/install.patch @@ -0,0 +1,48 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- liblockfile-1.05/Makefile.in~install ++++ liblockfile-1.05/Makefile.in +@@ -20,6 +20,7 @@ + includedir = @includedir@ + + MAILGROUP = @MAILGROUP@ ++INSTGRP = $(if $(MAILGROUP),-g $(MAILGROUP)) + + all: @TARGETS@ + install: @INSTALL_TARGETS@ +@@ -50,25 +51,27 @@ + $(CC) $(CFLAGS) -c lockfile.c -o xlockfile.o + + install_static: static install_common ++ install -d $(ROOT)$(libdir) + install -m 644 liblockfile.a $(ROOT)$(libdir) + + install_shared: shared install_common ++ install -d $(ROOT)$(libdir) + install -m 755 liblockfile.so \ + $(ROOT)$(libdir)/liblockfile.so.$(VER) + ln -s liblockfile.so.$(VER) $(ROOT)$(libdir)/liblockfile.so + if test "$(ROOT)" = ""; then @LDCONFIG@; fi + + install_common: ++ install -d $(ROOT)$(includedir) + install -m 644 lockfile.h maillock.h $(ROOT)$(includedir) +- if [ "$(MAILGROUP)" != "" ]; then\ +- install -g $(MAILGROUP) -m 2755 dotlockfile $(ROOT)$(bindir);\ +- else \ +- install -g root -m 755 dotlockfile $(ROOT)$(bindir); \ +- fi ++ install -d $(ROOT)$(bindir) ++ install -m 755 $(INSTGRP) dotlockfile $(ROOT)$(bindir) ++ install -d $(ROOT)$(mandir)/man1 $(ROOT)$(mandir)/man3 + install -m 644 *.1 $(ROOT)$(mandir)/man1 + install -m 644 *.3 $(ROOT)$(mandir)/man3 + + install_nfslib: nfslib ++ install -d $(ROOT)$(nfslockdir) + install -m 755 nfslock.so.$(VER) $(ROOT)$(nfslockdir) + if test "$(ROOT)" = ""; then @LDCONFIG@; fi + diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/ldflags.patch b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/ldflags.patch new file mode 100644 index 0000000000..eb1d1478b8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/ldflags.patch @@ -0,0 +1,21 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- liblockfile-1.05/Makefile.in~ldflags ++++ liblockfile-1.05/Makefile.in +@@ -34,11 +34,11 @@ + + liblockfile.so: liblockfile.a + $(CC) -fPIC -shared -Wl,-soname,liblockfile.so.1 \ +- -o liblockfile.so lockfile.o -lc ++ -o liblockfile.so lockfile.o $(LDFLAGS) -lc + + nfslock.so.$(VER): nfslock.o + $(CC) -fPIC -shared -Wl,-soname,nfslock.so.0 \ +- -o nfslock.so.$(NVER) nfslock.o ++ -o nfslock.so.$(NVER) nfslock.o $(LDFLAGS) + + dotlockfile: dotlockfile.o xlockfile.o + $(CC) $(LDFLAGS) -o dotlockfile dotlockfile.o xlockfile.o diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-install-so-to-man-dir.patch b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-install-so-to-man-dir.patch new file mode 100644 index 0000000000..27f760c832 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-install-so-to-man-dir.patch @@ -0,0 +1,20 @@ +Upstream-Status: Inappropriate [no upstream] + +The extend so file is rename from nfslock.so.$(VER) to nfslock.so.$(NVER). That +causes file nfslock.so.0.1 is installed into manual directory. Fix it. + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +diff --git a/Makefile.in b/Makefile.in +index a589fb8..46a57e8 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -68,7 +68,7 @@ install_common: + install -d $(ROOT)$(bindir) + install -m 755 $(INSTGRP) dotlockfile $(ROOT)$(bindir) + install -d $(ROOT)$(mandir)/man1 $(ROOT)$(mandir)/man3 +- install -m 644 *.1 $(ROOT)$(mandir)/man1 ++ install -m 644 dotlockfile.1 $(ROOT)$(mandir)/man1 + install -m 644 *.3 $(ROOT)$(mandir)/man3 + + install_nfslib: nfslib diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-nfslib-and-soname.patch b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-nfslib-and-soname.patch new file mode 100644 index 0000000000..ffd7a40fab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-nfslib-and-soname.patch @@ -0,0 +1,54 @@ +Upstream-Status: Inappropriate [no upstream] + +* nfslib should use NVER instead of VER +* install the missing soname library + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + Makefile.in | 9 ++++++--- + 1 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 836ca9b..a589fb8 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -27,7 +27,7 @@ install: @INSTALL_TARGETS@ + + static: liblockfile.a dotlockfile + shared: liblockfile.so dotlockfile +-nfslib: nfslock.so.$(VER) ++nfslib: nfslock.so.$(NVER) + + liblockfile.a: lockfile.o + $(AR) rv liblockfile.a lockfile.o +@@ -36,7 +36,7 @@ liblockfile.so: liblockfile.a + $(CC) -fPIC -shared -Wl,-soname,liblockfile.so.1 \ + -o liblockfile.so lockfile.o $(LDFLAGS) -lc + +-nfslock.so.$(VER): nfslock.o ++nfslock.so.$(NVER): nfslock.o + $(CC) -fPIC -shared -Wl,-soname,nfslock.so.0 \ + -o nfslock.so.$(NVER) nfslock.o $(LDFLAGS) + +@@ -59,6 +59,7 @@ install_shared: shared install_common + install -m 755 liblockfile.so \ + $(ROOT)$(libdir)/liblockfile.so.$(VER) + ln -s liblockfile.so.$(VER) $(ROOT)$(libdir)/liblockfile.so ++ ln -s liblockfile.so.$(VER) $(ROOT)$(libdir)/liblockfile.so.1 + if test "$(ROOT)" = ""; then @LDCONFIG@; fi + + install_common: +@@ -72,7 +73,9 @@ install_common: + + install_nfslib: nfslib + install -d $(ROOT)$(nfslockdir) +- install -m 755 nfslock.so.$(VER) $(ROOT)$(nfslockdir) ++ install -m 755 nfslock.so.$(NVER) $(ROOT)$(nfslockdir) ++ ln -sf nfslock.so.$(NVER) $(ROOT)$(libdir)/nfslock.so ++ ln -sf nfslock.so.$(NVER) $(ROOT)$(libdir)/nfslock.so.0 + if test "$(ROOT)" = ""; then @LDCONFIG@; fi + + clean: +-- +1.7.9.5 + diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb new file mode 100644 index 0000000000..0c41afa3c0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb @@ -0,0 +1,35 @@ +SUMMARY = "File locking library" +HOMEPAGE = "http://packages.qa.debian.org/libl/liblockfile.html" +SECTION = "libs" +LICENSE = "LGPLv2+ & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ac284a60d48eaa4bc811cddc377fa341" + +SRC_URI = "${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.09.orig.tar.gz \ + ${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.09-6.debian.tar.bz2;name=1.09-6 \ + file://install.patch \ + file://configure.patch \ + file://ldflags.patch \ + file://liblockfile-fix-nfslib-and-soname.patch \ + file://liblockfile-fix-install-so-to-man-dir.patch \ +" + +SRC_URI[md5sum] = "2aa269e4405ee8235ff17d1b357c6ae8" +SRC_URI[sha256sum] = "16979eba05396365e1d6af7100431ae9d32f9bc063930d1de66298a0695f1b7f" + +SRC_URI[1.09-6.md5sum] = "a2811807e63a526c07b0f60626e329a2" +SRC_URI[1.09-6.sha256sum] = "d45eacb7c637c16d03c777c55989d98da494ae9584a0783fe6dbf0db60fa290f" + +inherit autotools-brokensep + +# set default mailgroup to mail +# --with-libnfslock specify where to install nfslock.so.NVER +EXTRA_OECONF = "--enable-shared \ + --with-mailgroup=mail \ + --with-libnfslock=${libdir} \ +" + +# Makefile using ROOT not DESTDIR +EXTRA_OEMAKE += "ROOT=${D}" + +FILES_${PN} += "${libdir}/nfslock.so.*" +FILES_${PN}-dev += "${libdir}/nfslock.so" diff --git a/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb b/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb new file mode 100644 index 0000000000..64a258b01b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb @@ -0,0 +1,23 @@ +SUMMARY = "An easy to use logging library" +DESCRIPTION = " \ +liblogging (the upstream project) is a collection of several components. \ +Namely: stdlog, journalemu, rfc3195. \ +The stdlog component of liblogging can be viewed as an enhanced version of \ +the syslog(3) API. It retains the easy semantics, but makes the API more \ +sophisticated "behind the scenes" with better support for multiple threads \ +and flexibility for different log destinations (e.g. syslog and systemd \ +journal)." +SECTION = "libs" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=63fe03535d83726f5655072502bef1bc" +SRC_URI = "http://download.rsyslog.com/${BPN}/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "44b8ce2daa1bfb84c9feaf42f9925fd7" +SRC_URI[sha256sum] = "310dc1691279b7a669d383581fe4b0babdc7bf75c9b54a24e51e60428624890b" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-man-pages" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--enable-journal, --disable-journal, systemd" diff --git a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm.inc b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm.inc new file mode 100644 index 0000000000..dc8abb91f1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm.inc @@ -0,0 +1,17 @@ +SUMMARY = "Fast samples-based log normalization library" +DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data." + +HOMEPAGE = "http://www.liblognorm.com" +SECTION = "base" + +LICENSE = "LGPL-2.1+" + +SRC_URI = "http://www.liblognorm.com/files/download/${BPN}-${PV}.tar.gz\ +" + +inherit autotools pkgconfig + +DEPENDS += "libee libestr json-c" + +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx," diff --git a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb new file mode 100644 index 0000000000..5d89e3540d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc + +SRC_URI[md5sum] = "7b9a826542af9686127110deab09d7a1" +SRC_URI[sha256sum] = "1f6cdfd901a8f6a97a3cb74bc6107c6746b3e9381f7889e4cd866a488e0c59a5" +LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad" diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc new file mode 100644 index 0000000000..a01659a72d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc @@ -0,0 +1,13 @@ +SUMMARY = "A Modbus library" +DESCRIPTION = "libmodbus is a C library designed to provide a fast and robust \ +implementation of the Modbus protocol. It runs on Linux, Mac OS X, FreeBSD, \ +QNX and Windows." +HOMEPAGE = "http://www.libmodbus.org/" +SECTION = "libs" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "http://libmodbus.org/releases/${BP}.tar.gz" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb new file mode 100644 index 0000000000..b4d32fb2c7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb @@ -0,0 +1,4 @@ +require libmodbus.inc + +SRC_URI[md5sum] = "c80f88b6ca19cabc4ceffc195ca07771" +SRC_URI[sha256sum] = "046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6" diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb new file mode 100644 index 0000000000..d438a0abca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb @@ -0,0 +1,7 @@ +require libmodbus.inc + +# Use the stable branch by default +DEFAULT_PREFERENCE = "-1" + +SRC_URI[md5sum] = "b1a8fd3a40d2db4de51fb0cbcb201806" +SRC_URI[sha256sum] = "c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637" diff --git a/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch b/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch new file mode 100644 index 0000000000..d12492f022 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch @@ -0,0 +1,48 @@ +From 1ea09e09ab2387c326bb7170835361ece6e25477 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Mon, 3 Aug 2015 13:43:14 +0800 +Subject: [PATCH] setup.py.in: add missing python include dir for cross + compiling + +Upstream-Status: inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + python/Makefile.am | 2 +- + python/setup.py.in | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/python/Makefile.am b/python/Makefile.am +index abc5cd3..e35ba71 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -14,4 +14,4 @@ all-local: + CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-lib=. + + install-exec-local: +- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} ++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR} +diff --git a/python/setup.py.in b/python/setup.py.in +index 6457595..d3db0e5 100755 +--- a/python/setup.py.in ++++ b/python/setup.py.in +@@ -6,6 +6,7 @@ + + from distutils.core import setup, Extension + from distutils.command.build_ext import build_ext as _build_ext ++import os + + class build_ext(_build_ext): + def genconstants(self, headerfile, outputfile): +@@ -23,7 +24,7 @@ class build_ext(_build_ext): + + pwqmodule = Extension('pwquality', + sources = ['pwquality.c'], +- include_dirs = ['../src'], ++ include_dirs = ['../src', os.path.join(os.environ['STAGING_INCDIR'], os.environ['PYTHON_DIR'])], + library_dirs = ['../src/.libs'], + libraries = ['pwquality']) + +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb new file mode 100644 index 0000000000..2c96063f19 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb @@ -0,0 +1,45 @@ +DESCRIPTION = "Library for password quality checking and generating random passwords" +HOMEPAGE = "https://github.com/libpwquality/libpwquality" +SECTION = "devel/lib" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2" + +SRCNAME = "libpwquality" +SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \ + file://add-missing-python-include-dir-for-cross.patch \ +" + +SRC_URI[md5sum] = "b8defcc7280a90e9400d6689c93a279c" +SRC_URI[sha256sum] = "1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232fade6b" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +DEPENDS = "cracklib virtual/gettext python3" +RDEPENDS_python3-libpwquality = "${PN}" + +inherit autotools python3native gettext + +B = "${S}" + +export PYTHON_DIR +export BUILD_SYS +export HOST_SYS +export STAGING_LIBDIR +export STAGING_INCDIR + +EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \ + --with-python-binary=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \ + --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \ + --libdir=${libdir} \ +" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam" + +PACKAGES += "python3-libpwquality python3-libpwquality-dbg" +FILES_${PN} += "${libdir}/security/pam_pwquality.so" +FILES_${PN}-dbg += "${libdir}/security/.debug" +FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a" +FILES_${PN}-dev += "${libdir}/security/pam_pwquality.la" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" +FILES_python3-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug" diff --git a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch new file mode 100644 index 0000000000..c82f3bf017 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch @@ -0,0 +1,56 @@ +From 73d2aea33e32272bac693550e8a3b0e3ad89707f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com> +Date: Tue, 26 Dec 2017 00:02:26 +0100 +Subject: [PATCH] build: fix configure script neglecting, re-enable out-of-tree + builds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +For the former, a prototype and the final code got (hm, mysteriously) +intertwisted. For the latter, I am clearly guilty of (rare, anyway) +testing of the out-of-tree builds only with libqb-already-system-wide +scenario, which is rather shortsighted. + +Thanks Fabio and his ci.kronosnet.org project for spotting that. + +X-mas-present-for: Fabio M. Di Nitto <fdinitto@redhat.com> +Signed-off-by: Jan Pokorný <jpokorny@redhat.com> +--- +Upstream-Status: Backport + + configure.ac | 2 +- + lib/Makefile.am | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9900310..f9761cc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -710,7 +710,7 @@ if test "x${GCC}" = xyes; then + | grep __stop___verbose | cut -d" " -f 3) + test "${verbose_start_addr}" = "${verbose_stop_addr}" \ + && gcc_has_attribute_section_visible=no \ +- || { verbose_start_type=$(${READELF} -s backup \ ++ || { verbose_start_type=$(${READELF} -s "conftest${shrext_cmds}" \ + | sed -n '/__start___verbose/{s/^\s*//p;q}' \ + | tr -s ' ' \ + | cut -d" " -f6) +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 6ca6b15..b035f0b 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -101,7 +101,9 @@ endif + endif + + qblog_script.ld: %.ld: %.ld.in +- $(AM_V_GEN)$(CPP) -xc -I$(top_srcdir)/include -D_GNU_SOURCE -C -P $< \ ++ $(AM_V_GEN)$(CPP) -C -D_GNU_SOURCE -P \ ++ -I$(top_srcdir)/include -I$(top_builddir)/include \ ++ -xc $< \ + | sed -n "/$$(sed -n '/^[^#]/{s/[*\/]/\\&/g;p;q;}' $<)/,$$ p" \ + > $@ + +-- +2.16.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb new file mode 100644 index 0000000000..73cea5e398 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb @@ -0,0 +1,25 @@ +SUMMARY = "An IPC library for high performance servers" +DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \ +It provides high performance logging, tracing, ipc, and poll." + +HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki" +SECTION = "libs" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785" + +inherit autotools pkgconfig + +PV .= "+git${SRCPV}" + +# v1.0.3 +SRCREV = "28dff090c74b6ba8609c4797294a5afe3fe73987" +SRC_URI = "git://github.com/ClusterLabs/${BPN}.git \ + file://0001-build-fix-configure-script-neglecting-re-enable-out-.patch \ + " +S = "${WORKDIR}/git" + +CFLAGS += "-pthread -D_REENTRANT" +do_configure_prepend() { + ( cd ${S} + ${S}/autogen.sh ) +} diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch new file mode 100644 index 0000000000..9b328a10a1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch @@ -0,0 +1,28 @@ +From db32ba60ca75d288d3ac08b54256cb74d9e1581a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Wed, 26 Apr 2017 03:47:58 -0400 +Subject: [PATCH 1/3] Makefile.am: remove doc and apidoc + +There was a failure at do_install time, so remove doc to workaround. + +Upstream-Status: Inappropriate workaround + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index c6ab640..fb09fc1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,5 +1,5 @@ + ACLOCAL_AMFLAGS = -I m4 +-SUBDIRS = po src tests doc apidoc ++SUBDIRS = po src tests + + EXTRA_DIST = \ + libreport.pc.in \ +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch new file mode 100644 index 0000000000..146510e3cf --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch @@ -0,0 +1,48 @@ +From d8c49e6a15ab28f4ca94e03b2a53ed8df63346cd Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Wed, 26 Apr 2017 03:49:45 -0400 +Subject: [PATCH 2/3] configure.ac: remove prog test of xmlto and asciidoc + +The prog of xmlto and asciidoc were used to generate documents, +and since the doc module has already been disabled, so we should +remove the prog test. + +Upstream-Status: Inappropriate workaround + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 18 ------------------ + 1 file changed, 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ccefe50..ed48c88 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -68,24 +68,6 @@ if test -z "$PYTHON3"; then + exit 1 + fi + +-AC_PATH_PROG([ASCIIDOC], [asciidoc], [no]) +-[if test "$ASCIIDOC" = "no"] +-[then] +- [echo "The asciidoc program was not found in the search path. Please ensure"] +- [echo "that it is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build libreport."] +- [exit 1] +-[fi] +- +-AC_PATH_PROG([XMLTO], [xmlto], [no]) +-[if test "$XMLTO" = "no"] +-[then] +- [echo "The xmlto program was not found in the search path. Please ensure"] +- [echo "that it is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build libreport."] +- [exit 1] +-[fi] +- + AC_ARG_WITH(bugzilla, + AS_HELP_STRING([--with-bugzilla],[use Bugzilla plugin (default is YES)]), + LIBREPORT_PARSE_WITH([bugzilla])) +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch new file mode 100644 index 0000000000..3ad7774647 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch @@ -0,0 +1,26 @@ +From 0e96d9f23b2b166e7444e7c8e0a6d4b83c2eccd7 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Wed, 26 Apr 2017 03:51:03 -0400 +Subject: [PATCH 3/3] without build plugins + +Upstream-Status: Inappropriate workaround + +Rebase to 2.9.1 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index c15928c..bac02b1 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -8,4 +8,4 @@ if BUILD_NEWT + sub_dirs += report-newt + endif + +-SUBDIRS = include lib plugins report-python cli client-python workflows $(sub_dirs) ++SUBDIRS = include lib report-python cli client-python workflows $(sub_dirs) +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch new file mode 100644 index 0000000000..9839e5a9f0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch @@ -0,0 +1,36 @@ +From cf3b646facc19078ed29f828e36dd2e552283518 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 27 Apr 2017 02:15:02 -0400 +Subject: [PATCH] configure.ac: remove prog test of augparse + +The build time does not require it. + +Upstream-Status: Inappropriate workaround + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c06af2d..b90f49e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -288,14 +288,6 @@ AC_ARG_WITH(augeaslenslibdir, + [Directory for librepor lens (default: /usr/share/augeas/lenses)])], + [], [with_augeaslenslibdir="/usr/share/augeas/lenses"]) + AC_SUBST([AUGEAS_LENS_LIB_DIR], [$with_augeaslenslibdir]) +-AC_PATH_PROG(AUGPARSE, augparse, no) +-[if test "$AUGPARSE" = "no"] +-[then] +- [echo "The augparse program was not found in the search path. Please ensure"] +- [echo "that it is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build libreport."] +- [exit 1] +-[fi] + + AC_ARG_WITH([defaultdumpdirmode], + AS_HELP_STRING([--with-defaultdumpdirmode=OCTAL-MODE], +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/files/0005-remove-python2-support.patch b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0005-remove-python2-support.patch new file mode 100644 index 0000000000..9770f077c2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libreport/files/0005-remove-python2-support.patch @@ -0,0 +1,142 @@ +From 06710ab89fc7d7a82a378289aa3fcd92d33074f2 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 27 Apr 2017 03:31:00 -0400 +Subject: [PATCH] remove python2 support + +We do not require python2, so remove it. + +Upstream-Status: Inappropriate workaround + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 15 --------------- + src/client-python/reportclient/Makefile.am | 9 --------- + src/report-python/Makefile.am | 19 ------------------- + 3 files changed, 43 deletions(-) + +diff --git a/configure.ac b/configure.ac +index eb50382..826d0fe 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -166,15 +166,6 @@ do + done + fi dnl end NO_MANTISBT + +-AC_PATH_PROG([PYTHON_CONFIG], [python-config], [no]) +-[if test "$PYTHON_CONFIG" = "no"] +-[then] +- [echo "The python-config program was not found in the search path. Please ensure"] +- [echo "that it is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build libreport."] +- [exit 1] +-[fi] +- + AC_PATH_PROG([PYTHON3_CONFIG], [python3-config], [no]) + [if test "$PYTHON3_CONFIG" = "no"] + [then] +@@ -184,9 +175,6 @@ AC_PATH_PROG([PYTHON3_CONFIG], [python3-config], [no]) + [exit 1] + [fi] + +-PYTHON_CFLAGS=`python-config --cflags 2> /dev/null` +-PYTHON_LIBS=`python-config --libs 2> /dev/null` +- + PYTHON3_CFLAGS=`python3-config --cflags 2> /dev/null` + PYTHON3_LIBS=`python3-config --libs 2> /dev/null` + +@@ -198,9 +186,6 @@ PYTHON3_DIR=`$PYTHON3 -c "import distutils.sysconfig; \ + PYTHON3_EXECDIR=`$PYTHON3 -c "import distutils.sysconfig; \ + print(distutils.sysconfig.get_python_lib(1,0,prefix='$PYTHON3_EXEC_PREFIX'))"` + +-AC_SUBST(PYTHON_CFLAGS) +-AC_SUBST(PYTHON_LIBS) +- + AC_SUBST(PYTHON3_CFLAGS) + AC_SUBST(PYTHON3_LIBS) + AC_SUBST(python3dir, $PYTHON3_DIR) +diff --git a/src/client-python/reportclient/Makefile.am b/src/client-python/reportclient/Makefile.am +index 46ac42f..fb5216a 100644 +--- a/src/client-python/reportclient/Makefile.am ++++ b/src/client-python/reportclient/Makefile.am +@@ -4,13 +4,10 @@ PYFILES = \ + dnfdebuginfo.py \ + yumdebuginfo.py + +-py2clientdir = $(pyexecdir)/reportclient + py3clientdir = $(py3execdir)/reportclient + +-py2client_PYTHON = $(PYFILES) + py3client_PYTHON = $(PYFILES) + +-py2client_LTLIBRARIES = _reportclient.la + py3client_LTLIBRARIES = _reportclient3.la + + PYEXTFILES = \ +@@ -33,12 +30,6 @@ PYEXTLDFLAGS = \ + -avoid-version \ + -Wl,-z,relro -Wl,-z,now + +-_reportclient_la_SOURCES = $(PYEXTFILES) +-_reportclient_la_CPPFLAGS = $(PYEXTCPPFLAGS) $(PYTHON_CFLAGS) +-_reportclient_la_LDFLAGS = $(PYEXTLDFLAGS) \ +- -export-symbols-regex init_reportclient +-_reportclient_la_LIBADD = ../../lib/libreport.la +- + _reportclient3_la_SOURCES = $(PYEXTFILES) + _reportclient3_la_CPPFLAGS = $(PYEXTCPPFLAGS) $(PYTHON3_CFLAGS) + _reportclient3_la_LDFLAGS = $(PYEXTLDFLAGS) \ +diff --git a/src/report-python/Makefile.am b/src/report-python/Makefile.am +index 793cebd..241dcb7 100644 +--- a/src/report-python/Makefile.am ++++ b/src/report-python/Makefile.am +@@ -1,12 +1,9 @@ + PYFILES = __init__.py accountmanager.py + +-pyreportexecdir = $(pyexecdir)/report + py3reportexecdir = $(py3execdir)/report + +-pyreportexec_PYTHON = $(PYFILES) + py3reportexec_PYTHON = $(PYFILES) + +-pyreportexec_LTLIBRARIES = _pyreport.la + py3reportexec_LTLIBRARIES = _py3report.la + + PYEXTFILES = \ +@@ -34,20 +31,6 @@ PYEXTLDFLAGS = \ + -avoid-version \ + -Wl,-z,relro -Wl,-z,now + +-_pyreport_la_SOURCES = $(PYEXTFILES) +- +-_pyreport_la_CPPFLAGS = \ +- $(PYEXTCPPFLAGS) \ +- $(PYTHON_CFLAGS) +- +-_pyreport_la_LDFLAGS = \ +- $(PYEXTLDFLAGS) \ +- -export-symbols-regex init_pyreport +- +-_pyreport_la_LIBADD = \ +- ../lib/libreport.la \ +- $(PYTHON2_LIBS) +- + _py3report_la_SOURCES = $(PYEXTFILES) + + _py3report_la_CPPFLAGS = \ +@@ -64,7 +47,6 @@ _py3report_la_LIBADD = \ + + # report compat: + +-pyreportioexecdir = $(pyexecdir)/report/io + py3reportioexecdir = $(py3execdir)/report/io + + PYIOFILES = \ +@@ -73,5 +55,4 @@ PYIOFILES = \ + io/NewtIO.py \ + io/TextIO.py + +-pyreportioexec_PYTHON = $(PYIOFILES) + py3reportioexec_PYTHON = $(PYIOFILES) +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb new file mode 100644 index 0000000000..f2c661c8f7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb @@ -0,0 +1,45 @@ +DESCRIPTION = "Libraries providing API for reporting different problems in applications \ +to different bug targets like Bugzilla, ftp, trac, etc..." +SUMMARY = "Generic library for reporting various problems" +HOMEPAGE = "https://abrt.readthedocs.org/" +LICENSE = "GPLv2+" +DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \ + json-c libtar libnewt libproxy rpm \ + augeas satyr systemd \ +" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + + +SRC_URI = "git://github.com/abrt/libreport.git;protocol=https" +SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \ + file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \ + file://0003-without-build-plugins.patch \ + file://0004-configure.ac-remove-prog-test-of-augparse.patch \ + file://0005-remove-python2-support.patch \ +" +SRCREV = "cfff49f06d9d17e269d463ee71b3d94c8bfb0c58" +S = "${WORKDIR}/git" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "systemd" + +inherit gettext autotools python3native pkgconfig + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}" +PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3," + +RDEPENDS_python3-libreport += "${PN}" + +do_patch[prefuncs] += "do_gen_version" +do_gen_version() { + cd ${S} + ./gen-version +} + +PACKAGES += "python3-libreport" + +FILES_${PN} += "${datadir}/*" +FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug" +FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*" + diff --git a/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch b/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch new file mode 100644 index 0000000000..3cae5c9928 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch @@ -0,0 +1,38 @@ +From d39c78d322585a32f9a55c67c25a99602ce08b12 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 1 Apr 2017 09:01:33 -0700 +Subject: [PATCH] include fcntl.h for O_RDWR define + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tools/lsuio.c | 1 + + tools/rwuio.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/tools/lsuio.c b/tools/lsuio.c +index 58eb922..4769446 100644 +--- a/tools/lsuio.c ++++ b/tools/lsuio.c +@@ -19,6 +19,7 @@ + #include <stdio.h> + #include <sys/types.h> + #include <getopt.h> ++#include <fcntl.h> + + #include "system.h" + #include "uio_helper.h" +diff --git a/tools/rwuio.c b/tools/rwuio.c +index aef9e90..ebc71e1 100644 +--- a/tools/rwuio.c ++++ b/tools/rwuio.c +@@ -20,6 +20,7 @@ + */ + #include <stdio.h> + #include <stdlib.h> ++#include <fcntl.h> + #include <sys/types.h> + #include <getopt.h> + +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/replace_inline_with_static-inline.patch b/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/replace_inline_with_static-inline.patch new file mode 100644 index 0000000000..fd314bfee5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/replace_inline_with_static-inline.patch @@ -0,0 +1,121 @@ +By default, gcc-5 uses C99 inline semantics, this semantics doesn't +generate externally visible function for inline functions. This results in +below error, when an another translation unit (TU) tries to link with the +inline function, + +-- snip -- +| lsuio.o: In function `main': +| <...>/libuio/0.2.1-r0/git/tools/lsuio.c:85: undefined reference to `uio_mmap' +| collect2: error: ld returned 1 exit status +| make[2]: *** [lsuio] Error 1 +-- CUT -- + +To solve this error and make libuio to compile with both 4.x and 5.x, + +1. We can remove 'uio_mmap' inline function definition in uio_mmap.c, and move + that definition into uio_helper.h file (which is included by lsuio.c) and + replace inline with "static inline". Similarly it can be done to other + uio_single_munmap and uio_munmap inline functions + +2. Add 'extern' keyword in front of inline functions declaration, to make + inlined function as externally visible function, and to link with other TUs. + +Going with option 1. + +Upstream-Status: Pending + +Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> + +--- git_org/src/uio_helper.h 2015-10-20 02:37:04.183075855 -0400 ++++ git/src/uio_helper.h 2015-10-20 03:34:24.659970136 -0400 +@@ -61,11 +61,11 @@ struct uio_info_t { + + /* function prototypes */ + +-inline char* uio_lib_name(void); +-inline char* uio_lib_version(void); +-inline int uio_lib_ifcurrent(void); +-inline int uio_lib_ifrevision(void); +-inline int uio_lib_ifage(void); ++static inline char* uio_lib_name(void); ++static inline char* uio_lib_version(void); ++static inline int uio_lib_ifcurrent(void); ++static inline int uio_lib_ifrevision(void); ++static inline int uio_lib_ifage(void); + + int uio_get_mem_size(struct uio_info_t* info, int map_num); + int uio_get_mem_addr(struct uio_info_t* info, int map_num); +@@ -76,10 +76,30 @@ int uio_get_all_info(struct uio_info_t* + int uio_get_device_attributes(struct uio_info_t* info); + + void* uio_single_mmap(struct uio_info_t* info, int map_num, int fd); +-inline void uio_mmap(struct uio_info_t* info, int fd); + +-inline void uio_single_munmap(struct uio_info_t* info, int map_num); +-inline void uio_munmap(struct uio_info_t* info); ++static inline void uio_mmap(struct uio_info_t* info, int fd); ++static inline void uio_mmap(struct uio_info_t* info, int fd) ++{ ++ int map_num; ++ if (!fd) return; ++ for (map_num= 0; map_num < MAX_UIO_MAPS; map_num++) ++ uio_single_mmap(info, map_num, fd); ++} ++ ++static inline void uio_single_munmap(struct uio_info_t* info, int map_num); ++static inline void uio_single_munmap(struct uio_info_t* info, int map_num) ++{ ++ munmap(info->maps[map_num].internal_addr, info->maps[map_num].size); ++ info->maps[map_num].mmap_result = UIO_MMAP_NOT_DONE; ++} ++ ++static inline void uio_munmap(struct uio_info_t* info); ++static inline void uio_munmap(struct uio_info_t* info) ++{ ++ int i; ++ for (i = 0; i < MAX_UIO_MAPS; i++) ++ uio_single_munmap(info, i); ++} + + void uio_free_dev_attrs(struct uio_info_t* info); + void uio_free_info(struct uio_info_t* info); +--- git_org/src/uio_mmap.c 2015-10-20 02:37:04.183075855 -0400 ++++ git/src/uio_mmap.c 2015-10-20 03:34:45.060003208 -0400 +@@ -22,11 +22,3 @@ + #include <stdlib.h> + + #include "uio_helper.h" +- +-inline void uio_mmap(struct uio_info_t* info, int fd) +-{ +- int map_num; +- if (!fd) return; +- for (map_num= 0; map_num < MAX_UIO_MAPS; map_num++) +- uio_single_mmap(info, map_num, fd); +-} +--- git_org/src/uio_munmap.c 2015-10-20 02:37:04.183075855 -0400 ++++ git/src/uio_munmap.c 2015-10-20 03:34:59.636026835 -0400 +@@ -22,10 +22,3 @@ + #include <stdlib.h> + + #include "uio_helper.h" +- +-inline void uio_munmap(struct uio_info_t* info) +-{ +- int i; +- for (i = 0; i < MAX_UIO_MAPS; i++) +- uio_single_munmap(info, i); +-} +\ No newline at end of file +--- git_org/src/uio_single_munmap.c 2015-10-20 02:37:04.183075855 -0400 ++++ git/src/uio_single_munmap.c 2015-10-20 03:52:55.005763023 -0400 +@@ -24,9 +24,3 @@ + #include <sys/mman.h> + + #include "uio_helper.h" +- +-inline void uio_single_munmap(struct uio_info_t* info, int map_num) +-{ +- munmap(info->maps[map_num].internal_addr, info->maps[map_num].size); +- info->maps[map_num].mmap_result = UIO_MMAP_NOT_DONE; +-} diff --git a/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb b/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb new file mode 100644 index 0000000000..dd34c180a3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Libuio - helper library for UIO subsystem" +SECTION = "base" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" + +SRC_URI = "git://git.code.sf.net/p/libuio/code \ + file://replace_inline_with_static-inline.patch \ + file://0001-include-fcntl.h-for-O_RDWR-define.patch \ + " + +inherit autotools + +SRCREV = "ed4f07ea147ac403c28105ab44d01bbf524d36f9" + +PV .= "+git${SRCPV}" + +S = "${WORKDIR}/git" + +PACKAGES += "${PN}-tools" + +FILES_${PN} = "${libdir}" +FILES_${PN}-tools = "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch new file mode 100644 index 0000000000..0f133e2e75 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch @@ -0,0 +1,67 @@ +From 61655f82224cadb261e81f8bae111eaaa7bdf531 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 6 Aug 2014 14:53:03 +0200 +Subject: [PATCH] configure: use pkg-config for freetype + +Upstream-status: Pending +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +--- + configure.ac | 37 ++++++++----------------------------- + 1 file changed, 8 insertions(+), 29 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3cfe974..0055a8c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -399,40 +399,19 @@ AC_ARG_WITH(freetype,[ --with-freetype=DIR use freetype2 in DIR],[ + fi + ]) + +-if [ test -n "$FREETYPE_DIR" ]; then +- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config, ,[$FREETYPE_DIR/bin:$PATH]) +-else +- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config) +-fi +- +-if [ test -n "$FREETYPE_CONFIG" ]; then +- if [ test -n "$FREETYPE_DIR" ]; then +- freetype_cflags="`$FREETYPE_CONFIG --cflags` -I$FREETYPE_DIR/include" +- freetype_libs=`$FREETYPE_CONFIG --libs` +- else +- freetype_cflags=`$FREETYPE_CONFIG --cflags` +- freetype_libs=`$FREETYPE_CONFIG --libs` +- fi +-else +- if [ test -n "$FREETYPE_DIR" ]; then +- freetype_cflags="-I$FREETYPE_DIR/include/freetype2 -I$FREETYPE_DIR/include" +- freetype_libs="-L$FREETYPE_DIR/lib -lfreetype" +- else +- freetype_cflags="" +- freetype_libs="-lfreetype" +- fi +-fi +- +-CPPFLAGS="$freetype_cflags $CPPFLAGS" +-LDFLAGS="$LDFLAGS $freetype_libs" ++PKG_CHECK_MODULES(FREETYPE2, freetype2, ++ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" ++ LDFLAGS="$LDFLAGS $FREETYPE2_LIBS", ++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) ++) + + AC_CHECK_LIB(freetype,FT_Init_FreeType,[ +- WMF_FT_LDFLAGS="$freetype_libs" ++ WMF_FT_LDFLAGS="$FREETYPE2_LIBS" + ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *]) + ]) + AC_CHECK_HEADER(ft2build.h,[ +- WMF_FT_CFLAGS="$freetype_cflags" +- WMF_FT_CONFIG_CFLAGS="$freetype_cflags" ++ WMF_FT_CFLAGS="$FREETYPE2_CFLAGS" ++ WMF_FT_CONFIG_CFLAGS="$FREETYPE2_CFLAGS" + ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *]) + ]) + +-- +1.9.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch new file mode 100644 index 0000000000..50d915c010 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch @@ -0,0 +1,31 @@ +http://cvs.fedoraproject.org/viewvc/devel/libwmf/libwmf-0.2.8.4-intoverflow.patch?view=log + +CVE-2006-3376 libwmf integer overflow + +--- libwmf-0.2.8.4.orig/src/player.c 2002-12-10 19:30:26.000000000 +0000 ++++ libwmf-0.2.8.4/src/player.c 2006-07-12 15:12:52.000000000 +0100 +@@ -42,6 +42,7 @@ + #include "player/defaults.h" /* Provides: default settings */ + #include "player/record.h" /* Provides: parameter mechanism */ + #include "player/meta.h" /* Provides: record interpreters */ ++#include <stdint.h> + + /** + * @internal +@@ -132,8 +134,14 @@ + } + } + +-/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char)); +- */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char)); ++ if (MAX_REC_SIZE(API) > UINT32_MAX / 2) ++ { ++ API->err = wmf_E_InsMem; ++ WMF_DEBUG (API,"bailing..."); ++ return (API->err); ++ } ++ ++ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char)); + + if (ERR (API)) + { WMF_DEBUG (API,"bailing..."); diff --git a/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch new file mode 100644 index 0000000000..4d2d285641 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch @@ -0,0 +1,14 @@ + +http://cvs.fedoraproject.org/viewvc/devel/libwmf/libwmf-0.2.8.4-useafterfree.patch?view=log +Resolves: CVE-2009-1364 + +--- libwmf-0.2.8.4/src/extra/gd/gd_clip.c.CVE-2009-1364-im-clip-list 2009-04-24 04:06:44.000000000 -0400 ++++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c 2009-04-24 04:08:30.000000000 -0400 +@@ -70,6 +70,7 @@ void gdClipSetAdd(gdImagePtr im,gdClipRe + { more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle)); + if (more == 0) return; + im->clip->max += 8; ++ im->clip->list = more; + } + im->clip->list[im->clip->count] = (*rect); + im->clip->count++; diff --git a/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb new file mode 100644 index 0000000000..2c31a21c0e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb @@ -0,0 +1,32 @@ +SUMMARY = "Library for converting WMF files" +HOMEPAGE = "http://wvware.sourceforge.net/libwmf.html" +SECTION = "libs" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +PR = "r3" + +DEPENDS_class-native = "freetype-native libpng-native jpeg-native" +DEPENDS = "freetype libpng jpeg expat gtk+" + +BBCLASSEXTEND = "native" + +inherit distro_features_check autotools pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/${BPN}/${PV}/${BPN}-${PV}.tar.gz;name=tarball \ + file://libwmf-0.2.8.4-intoverflow.patch \ + file://libwmf-0.2.8.4-useafterfree.patch \ + file://0001-configure-use-pkg-config-for-freetype.patch \ + " + +SRC_URI[tarball.md5sum] = "d1177739bf1ceb07f57421f0cee191e0" +SRC_URI[tarball.sha256sum] = "5b345c69220545d003ad52bfd035d5d6f4f075e65204114a9e875e84895a7cf8" + +FILES_${PN}-dbg += "${libdir}/gtk-2.0/2.10.0/loaders/.debug" +FILES_${PN}-dev += "${libdir}/gtk-2.0/2.10.0/loaders/*.la" +FILES_${PN}-staticdev += "${libdir}/gtk-2.0/2.10.0/loaders/*.a" +FILES_${PN} += "${libdir}/gtk-2.0/2.10.0/loaders/*.so" + diff --git a/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-assume-zero-is-valid-address.patch b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-assume-zero-is-valid-address.patch new file mode 100644 index 0000000000..7a46301deb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-assume-zero-is-valid-address.patch @@ -0,0 +1,26 @@ +assume zero is valid address + +Upstream-Status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + thunk.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/thunk.c b/thunk.c +index 796e88b..6121ea1 100644 +--- a/thunk.c ++++ b/thunk.c +@@ -141,9 +141,6 @@ int LRMI_init() { + + mmap_addr = LRMI_common_init(1); + +- if (!mmap_addr) +- return 0; +- + X86EMU_pioFuncs pioFuncs = { + (&x_inb), + (&x_inw), +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch new file mode 100644 index 0000000000..843acc8868 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch @@ -0,0 +1,190 @@ +Upstream-Statue: Pending +[from ftp://195.220.108.108/linux/fedora/linux/development/rawhide/source/SRPMS/l/libx86-1.1-21.fc23.src.rpm] + +diff -ur libx86-1.1/lrmi.c libx86-1.1.hack/lrmi.c +--- libx86-1.1/lrmi.c 2006-10-30 15:10:16.000000000 -0500 ++++ libx86-1.1.hack/lrmi.c 2009-10-26 15:55:42.000000000 -0400 +@@ -136,7 +136,7 @@ + if (context.ready) + return 1; + +- if (!LRMI_common_init()) ++ if (!LRMI_common_init(0)) + return 0; + + /* +diff -ur libx86-1.1/thunk.c libx86-1.1.hack/thunk.c +--- libx86-1.1/thunk.c 2008-04-02 20:48:00.000000000 -0400 ++++ libx86-1.1.hack/thunk.c 2009-10-26 16:05:39.000000000 -0400 +@@ -139,11 +139,11 @@ + int i; + X86EMU_intrFuncs intFuncs[256]; + +- if (!LRMI_common_init()) ++ mmap_addr = LRMI_common_init(1); ++ ++ if (!mmap_addr) + return 0; + +- mmap_addr = 0; +- + X86EMU_pioFuncs pioFuncs = { + (&x_inb), + (&x_inw), +@@ -169,10 +169,10 @@ + X86_ESP = 0xFFF9; + memset (stack, 0, 64*1024); + +- *((char *)0) = 0x4f; /* Make sure that we end up jumping back to a +- halt instruction */ ++ *mmap_addr = 0x4f; /* Make sure that we end up jumping back to a ++ halt instruction */ + +- M.mem_base = 0; ++ M.mem_base = (unsigned long)mmap_addr; + M.mem_size = 1024*1024; + + return 1; +diff -ur libx86-1.1/x86-common.c libx86-1.1.hack/x86-common.c +--- libx86-1.1/x86-common.c 2008-05-16 12:56:23.000000000 -0400 ++++ libx86-1.1.hack/x86-common.c 2009-10-26 16:03:21.000000000 -0400 +@@ -45,14 +45,15 @@ + static struct { + int ready; + int count; ++ void *offset; + struct mem_block blocks[REAL_MEM_BLOCKS]; + } mem_info = { 0 }; + + static int +-real_mem_init(void) ++real_mem_init(int high_page) + { + void *m; +- int fd_zero; ++ int fd_zero, flags = MAP_SHARED; + + if (mem_info.ready) + return 1; +@@ -63,9 +64,12 @@ + return 0; + } + ++ if (!high_page) ++ flags |= MAP_FIXED; ++ + m = mmap((void *)REAL_MEM_BASE, REAL_MEM_SIZE, +- PROT_READ | PROT_WRITE | PROT_EXEC, +- MAP_FIXED | MAP_SHARED, fd_zero, 0); ++ PROT_READ | PROT_WRITE | PROT_EXEC, ++ flags, fd_zero, 0); + + if (m == (void *)-1) { + perror("mmap /dev/zero"); +@@ -76,6 +80,7 @@ + close(fd_zero); + + mem_info.ready = 1; ++ mem_info.offset = m; + mem_info.count = 1; + mem_info.blocks[0].size = REAL_MEM_SIZE; + mem_info.blocks[0].free = 1; +@@ -87,7 +92,7 @@ + real_mem_deinit(void) + { + if (mem_info.ready) { +- munmap((void *)REAL_MEM_BASE, REAL_MEM_SIZE); ++ munmap(mem_info.offset, REAL_MEM_SIZE); + mem_info.ready = 0; + } + } +@@ -119,7 +124,7 @@ + LRMI_alloc_real(int size) + { + int i; +- char *r = (char *)REAL_MEM_BASE; ++ char *r = (char *)mem_info.offset; + + if (!mem_info.ready) + return NULL; +@@ -151,7 +156,7 @@ + LRMI_free_real(void *m) + { + int i; +- char *r = (char *)REAL_MEM_BASE; ++ char *r = (char *)mem_info.offset; + + if (!mem_info.ready) + return; +@@ -200,13 +205,15 @@ + return *(unsigned short *)(i * 4); + } + +-int LRMI_common_init(void) ++void *LRMI_common_init(int high_page) + { +- void *m; ++ void *m, *offset; + int fd_mem; + +- if (!real_mem_init()) +- return 0; ++ if (!real_mem_init(high_page)) ++ return NULL; ++ ++ offset = mem_info.offset - REAL_MEM_BASE; + + /* + Map the Interrupt Vectors (0x0 - 0x400) + BIOS data (0x400 - 0x502) +@@ -217,33 +224,33 @@ + if (fd_mem == -1) { + real_mem_deinit(); + perror("open /dev/mem"); +- return 0; ++ return NULL; + } + +- m = mmap((void *)0, 0x502, +- PROT_READ | PROT_WRITE | PROT_EXEC, +- MAP_FIXED | MAP_SHARED, fd_mem, 0); ++ m = mmap(offset, 0x502, ++ PROT_READ | PROT_WRITE | PROT_EXEC, ++ MAP_FIXED | MAP_SHARED, fd_mem, 0); + + if (m == (void *)-1) { + close(fd_mem); + real_mem_deinit(); + perror("mmap /dev/mem"); +- return 0; ++ return NULL; + } + +- m = mmap((void *)0xa0000, 0x100000 - 0xa0000, ++ m = mmap(offset+0xa0000, 0x100000 - 0xa0000, + PROT_READ | PROT_WRITE | PROT_EXEC, + MAP_FIXED | MAP_SHARED, fd_mem, 0xa0000); + + if (m == (void *)-1) { +- munmap((void *)0, 0x502); ++ munmap(offset, 0x502); + close(fd_mem); + real_mem_deinit(); + perror("mmap /dev/mem"); +- return 0; ++ return NULL; + } + + close(fd_mem); + +- return 1; ++ return offset; + } +diff -ur libx86-1.1/x86-common.h libx86-1.1.hack/x86-common.h +--- libx86-1.1/x86-common.h 2006-09-07 18:44:27.000000000 -0400 ++++ libx86-1.1.hack/x86-common.h 2009-10-26 16:01:19.000000000 -0400 +@@ -40,4 +40,4 @@ + + void *LRMI_alloc_real(int size); + void LRMI_free_real(void *m); +-int LRMI_common_init(void); ++void *LRMI_common_init(int high_page); diff --git a/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/makefile-add-ldflags.patch b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/makefile-add-ldflags.patch new file mode 100644 index 0000000000..821ab379d5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/makefile-add-ldflags.patch @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> + +diff --git a/Makefile b/Makefile +index 951b617..6d9b73d 100644 +--- a/Makefile ++++ b/Makefile +@@ -22,7 +22,7 @@ static: $(OBJECTS) + $(AR) cru libx86.a $(OBJECTS) + + shared: $(OBJECTS) +- $(CC) $(CFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS) + + objclean: + $(MAKE) -C x86emu clean diff --git a/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb new file mode 100644 index 0000000000..d303147259 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "x86 real-mode library" +DESCRIPTION = "A library to provide support for making real-mode calls x86 calls. On \ +x86 hardware, vm86 mode is used. On other platforms, x86 emulation is \ +provided." +HOMEPAGE = "http://www.codon.org.uk/~mjg59/libx86/" +LICENSE = "MIT & BSD-3-Clause" +SECTION = "libs" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=633af6c02e6f624d4c472d970a2aca53" + +SRC_URI = "http://www.codon.org.uk/~mjg59/libx86/downloads/${BPN}-${PV}.tar.gz \ + file://libx86-mmap-offset.patch \ + file://0001-assume-zero-is-valid-address.patch \ + file://makefile-add-ldflags.patch \ +" + +SRC_URI[md5sum] = "41bee1f8e22b82d82b5f7d7ba51abc2a" +SRC_URI[sha256sum] = "5bf13104cb327472b5cb65643352a9138646becacc06763088d83001d832d048" + +BPN = "libx86" +COMPATIBLE_HOST = '(x86_64|i.86).*-linux' + +export LIBDIR = "${libdir}" +export BACKEND = "x86emu" + +inherit autotools-brokensep diff --git a/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb b/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb new file mode 100644 index 0000000000..4354fff9a2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb @@ -0,0 +1,24 @@ +SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes" +DESCRIPTION = "\ +lockfile-progs provide a method to lock and unlock mailboxes and files \ +safely (via liblockfile)." +HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html" +SECTION = "Applications/System" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" +DEPENDS = "liblockfile" + +SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/${BPN}/${BPN}_${PV}.tar.gz" +SRC_URI[md5sum] = "64424a766fbc8cf6d613fcc14a096e14" +SRC_URI[sha256sum] = "03fb05d25499532f497775b1747b61fa6beebf12d3bcc951e125349ae166c511" + +do_compile() { + oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables' +} + +do_install() { + install -m 755 -d ${D}${bindir} + install bin/* ${D}${bindir} + install -m 755 -d ${D}${mandir}/man1 + install man/* ${D}${mandir}/man1 +} diff --git a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb new file mode 100644 index 0000000000..aea539ef0c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb @@ -0,0 +1,58 @@ +SUMMARY = "A log file analysis program" +DESCRIPTION = "\ +Logwatch is a customizable, pluggable log-monitoring system. It will go \ +through your logs for a given period of time and make a report in the areas \ +that you wish with the detail that you wish. Easy to use - works right out of \ +the package on many systems.\ +" +SECTION = "devel" +HOMEPAGE = "http://www.logwatch.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7" +RDEPENDS_${PN} = "perl" + +SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz" +SRC_URI[md5sum] = "22bd22841caa45f12c605abc3e0c2b09" +SRC_URI[sha256sum] = "1dbdc48d65e150f2dbb43f1e4f4700d94166e053b1c7bbbdedf4ad670283720e" + +do_install() { + install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts + install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles + install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services + install -m 0755 -d ${D}${localstatedir}/cache/logwatch + mv conf/ ${D}${datadir}/logwatch/default.conf + mv scripts/ ${D}${datadir}/logwatch/scripts + mv lib ${D}${datadir}/logwatch/lib + chown -R root:root ${D}${datadir}/logwatch + + install -m 0755 -d ${D}${mandir}/man1 + install -m 0755 -d ${D}${mandir}/man5 + install -m 0755 -d ${D}${mandir}/man8 + install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1 + install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1 + install -m 0644 ignore.conf.5 ${D}${mandir}/man5 + install -m 0644 override.conf.5 ${D}${mandir}/man5 + install -m 0644 logwatch.conf.5 ${D}${mandir}/man5 + install -m 0644 logwatch.8 ${D}${mandir}/man8 + + install -m 0755 -d ${D}${sysconfdir}/cron.daily + install -m 0755 -d ${D}${sbindir} + ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch + cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF + DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\` + if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ] + then + logwatch + fi +EOF + chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch + + install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles + install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services + touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf + touch ${D}${sysconfdir}/logwatch/conf/ignore.conf + touch ${D}${sysconfdir}/logwatch/conf/override.conf + echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf + echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf + echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf +} diff --git a/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb b/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb new file mode 100644 index 0000000000..963c6320f2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb @@ -0,0 +1,22 @@ +SUMMARY = "An Enhanced Printer Spooler" +SECTION = "console/utils" +LICENSE = "GPLv2 | Artistic-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c6570d8d699af1883db9d0e733ac9bfb" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "5901bed95e61d2bea3ba3056056af432" +SRC_URI[sha256sum] = "694a1747a96385b89e93f43343bf35cee5c8c73353a83814106911c99f09de10" + +inherit autotools gettext + +EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost" +FILES_${PN}-dbg += "${libdir}/lprng/filters/.debug" + +# configure: WARNING: Program 'clear' is not found. Set environment CLEAR=no if you do not want to use it +export CLEAR = "no" + +do_install_append() { + mv ${D}/etc/printcap.sample ${D}/etc/printcap + mv ${D}/etc/lpd/lpd.conf.sample ${D}/etc/lpd/lpd.conf + mv ${D}/etc/lpd/lpd.perms.sample ${D}/etc/lpd/lpd.perms +} diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch new file mode 100644 index 0000000000..77da33321d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch @@ -0,0 +1,59 @@ +From: Luk Claes <luk@debian.org> +Date: Sat, 4 Jul 2009 10:54:53 +0200 +Subject: Don't reuse weak symbol optopt to fix FTBFS on mips* + +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] +--- + getopt.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/getopt.c b/getopt.c +index 83ce628..82e983c 100644 +--- a/getopt.c ++++ b/getopt.c +@@ -43,7 +43,7 @@ typedef int ssize_t; + char *optarg; + int optind = 1; + int opterr = 1; +-int optopt; ++int optoptc; + + static void + error(const char *s, int c) +@@ -69,7 +69,7 @@ error(const char *s, int c) + *bp++ = *s++; + while (*msg) + *bp++ = *msg++; +- *bp++ = optopt; ++ *bp++ = optoptc; + *bp++ = '\n'; + write(2, buf, bp - buf); + ac_free(buf); +@@ -101,13 +101,13 @@ getopt(int argc, char *const argv[], const char *optstring) + } + curp = &argv[optind][1]; + } +- optopt = curp[0] & 0377; ++ optoptc = curp[0] & 0377; + while (optstring[0]) { + if (optstring[0] == ':') { + optstring++; + continue; + } +- if ((optstring[0] & 0377) == optopt) { ++ if ((optstring[0] & 0377) == optoptc) { + if (optstring[1] == ':') { + if (curp[1] != '\0') { + optarg = (char *)&curp[1]; +@@ -127,7 +127,7 @@ getopt(int argc, char *const argv[], const char *optstring) + optind++; + optarg = 0; + } +- return optopt; ++ return optoptc; + } + optstring++; + } diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch new file mode 100644 index 0000000000..6bad433ea6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch @@ -0,0 +1,41 @@ +From: Hilko Bengen <bengen@debian.org> +Date: Wed, 27 Apr 2011 00:18:42 +0200 +Subject: Patched out SSL2 support since it is no longer supported by OpenSSL. + +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] +--- + mailx.1 | 2 +- + openssl.c | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/mailx.1 b/mailx.1 +index 417ea04..a02e430 100644 +--- a/mailx.1 ++++ b/mailx.1 +@@ -3575,7 +3575,7 @@ Only applicable if SSL/TLS support is built using OpenSSL. + .TP + .B ssl-method + Selects a SSL/TLS protocol version; +-valid values are `ssl2', `ssl3', and `tls1'. ++valid values are `ssl3', and `tls1'. + If unset, the method is selected automatically, + if possible. + .TP +diff --git a/openssl.c b/openssl.c +index b4e33fc..44fe4e5 100644 +--- a/openssl.c ++++ b/openssl.c +@@ -216,9 +216,7 @@ ssl_select_method(const char *uhp) + + cp = ssl_method_string(uhp); + if (cp != NULL) { +- if (equal(cp, "ssl2")) +- method = SSLv2_client_method(); +- else if (equal(cp, "ssl3")) ++ if (equal(cp, "ssl3")) + method = SSLv3_client_method(); + else if (equal(cp, "tls1")) + method = TLSv1_client_method(); diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch new file mode 100644 index 0000000000..13b73ae593 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch @@ -0,0 +1,25 @@ +From: Hilko Bengen <bengen@debian.org> +Date: Sat, 14 Apr 2012 20:22:43 +0200 +Subject: Fixed Lintian warning (warning: macro `N' not defined) + +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] +--- + mailx.1 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mailx.1 b/mailx.1 +index a02e430..b0723bd 100644 +--- a/mailx.1 ++++ b/mailx.1 +@@ -3781,7 +3781,7 @@ you could examine the first message by giving the command: + .sp + .fi + which might cause +-.N mailx ++.I mailx + to respond with, for example: + .nf + .sp diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch new file mode 100644 index 0000000000..13b955c4b5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch @@ -0,0 +1,71 @@ +From 9984ae5cb0ea0d61df1612b06952a61323c083d9 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Mon, 17 Nov 2014 11:13:38 +0100 +Subject: [PATCH 1/4] outof: Introduce expandaddr flag + +Document that address expansion is disabled unless the expandaddr +binary option is set. + +This has been assigned CVE-2014-7844 for BSD mailx, but it is not +a vulnerability in Heirloom mailx because this feature was documented. + +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] +CVE: CVE-2014-7844 +--- + mailx.1 | 14 ++++++++++++++ + names.c | 3 +++ + 2 files changed, 17 insertions(+) + +diff --git a/mailx.1 b/mailx.1 +index 70a7859..22a171b 100644 +--- a/mailx.1 ++++ b/mailx.1 +@@ -656,6 +656,14 @@ but any reply returned to the machine + will have the system wide alias expanded + as all mail goes through sendmail. + .SS "Recipient address specifications" ++If the ++.I expandaddr ++option is not set (the default), recipient addresses must be names of ++local mailboxes or Internet mail addresses. ++.PP ++If the ++.I expandaddr ++option is set, the following rules apply: + When an address is used to name a recipient + (in any of To, Cc, or Bcc), + names of local mail folders +@@ -2391,6 +2399,12 @@ and exits immediately. + If this option is set, + \fImailx\fR starts even with an empty mailbox. + .TP ++.B expandaddr ++Causes ++.I mailx ++to expand message recipient addresses, as explained in the section, ++Recipient address specifications. ++.TP + .B flipr + Exchanges the + .I Respond +diff --git a/names.c b/names.c +index 66e976b..c69560f 100644 +--- a/names.c ++++ b/names.c +@@ -268,6 +268,9 @@ outof(struct name *names, FILE *fo, struct header *hp) + FILE *fout, *fin; + int ispipe; + ++ if (value("expandaddr") == NULL) ++ return names; ++ + top = names; + np = names; + time(&now); +-- +1.9.3 + + diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch new file mode 100644 index 0000000000..8cdbfd8b03 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch @@ -0,0 +1,79 @@ +From e34e2ac67b80497080ebecccec40c3b61456167d Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Mon, 17 Nov 2014 11:14:06 +0100 +Subject: [PATCH 2/4] unpack: Disable option processing for email addresses + when calling sendmail + +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] +--- + extern.h | 2 +- + names.c | 8 ++++++-- + sendout.c | 2 +- + 3 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/extern.h b/extern.h +index 6b85ba0..8873fe8 100644 +--- a/extern.h ++++ b/extern.h +@@ -396,7 +396,7 @@ struct name *outof(struct name *names, FILE *fo, struct header *hp); + int is_fileaddr(char *name); + struct name *usermap(struct name *names); + struct name *cat(struct name *n1, struct name *n2); +-char **unpack(struct name *np); ++char **unpack(struct name *smopts, struct name *np); + struct name *elide(struct name *names); + int count(struct name *np); + struct name *delete_alternates(struct name *np); +diff --git a/names.c b/names.c +index c69560f..45bbaed 100644 +--- a/names.c ++++ b/names.c +@@ -549,7 +549,7 @@ cat(struct name *n1, struct name *n2) + * Return an error if the name list won't fit. + */ + char ** +-unpack(struct name *np) ++unpack(struct name *smopts, struct name *np) + { + char **ap, **top; + struct name *n; +@@ -564,7 +564,7 @@ unpack(struct name *np) + * the terminating 0 pointer. Additional spots may be needed + * to pass along -f to the host mailer. + */ +- extra = 2; ++ extra = 3 + count(smopts); + extra++; + metoo = value("metoo") != NULL; + if (metoo) +@@ -581,6 +581,10 @@ unpack(struct name *np) + *ap++ = "-m"; + if (verbose) + *ap++ = "-v"; ++ for (; smopts != NULL; smopts = smopts->n_flink) ++ if ((smopts->n_type & GDEL) == 0) ++ *ap++ = smopts->n_name; ++ *ap++ = "--"; + for (; n != NULL; n = n->n_flink) + if ((n->n_type & GDEL) == 0) + *ap++ = n->n_name; +diff --git a/sendout.c b/sendout.c +index 7b7f2eb..c52f15d 100644 +--- a/sendout.c ++++ b/sendout.c +@@ -835,7 +835,7 @@ start_mta(struct name *to, struct name *mailargs, FILE *input, + #endif /* HAVE_SOCKETS */ + + if ((smtp = value("smtp")) == NULL) { +- args = unpack(cat(mailargs, to)); ++ args = unpack(mailargs, to); + if (debug || value("debug")) { + printf(catgets(catd, CATSET, 181, + "Sendmail arguments:")); +-- +1.9.3 + + diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch new file mode 100644 index 0000000000..5558d8639f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch @@ -0,0 +1,113 @@ +From 2bae8ecf04ec2ba6bb9f0af5b80485dd0edb427d Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Mon, 17 Nov 2014 12:48:25 +0100 +Subject: [PATCH 3/4] fio.c: Unconditionally require wordexp support + +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] +--- + fio.c | 67 +++++-------------------------------------------------------------- + 1 file changed, 5 insertions(+), 62 deletions(-) + +diff --git a/fio.c b/fio.c +index 65e8f10..1529236 100644 +--- a/fio.c ++++ b/fio.c +@@ -43,12 +43,15 @@ static char sccsid[] = "@(#)fio.c 2.76 (gritter) 9/16/09"; + #endif /* not lint */ + + #include "rcv.h" ++ ++#ifndef HAVE_WORDEXP ++#error wordexp support is required ++#endif ++ + #include <sys/stat.h> + #include <sys/file.h> + #include <sys/wait.h> +-#ifdef HAVE_WORDEXP + #include <wordexp.h> +-#endif /* HAVE_WORDEXP */ + #include <unistd.h> + + #if defined (USE_NSS) +@@ -481,7 +484,6 @@ next: + static char * + globname(char *name) + { +-#ifdef HAVE_WORDEXP + wordexp_t we; + char *cp; + sigset_t nset; +@@ -527,65 +529,6 @@ globname(char *name) + } + wordfree(&we); + return cp; +-#else /* !HAVE_WORDEXP */ +- char xname[PATHSIZE]; +- char cmdbuf[PATHSIZE]; /* also used for file names */ +- int pid, l; +- char *cp, *shell; +- int pivec[2]; +- extern int wait_status; +- struct stat sbuf; +- +- if (pipe(pivec) < 0) { +- perror("pipe"); +- return name; +- } +- snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name); +- if ((shell = value("SHELL")) == NULL) +- shell = SHELL; +- pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL); +- if (pid < 0) { +- close(pivec[0]); +- close(pivec[1]); +- return NULL; +- } +- close(pivec[1]); +-again: +- l = read(pivec[0], xname, sizeof xname); +- if (l < 0) { +- if (errno == EINTR) +- goto again; +- perror("read"); +- close(pivec[0]); +- return NULL; +- } +- close(pivec[0]); +- if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) { +- fprintf(stderr, catgets(catd, CATSET, 81, +- "\"%s\": Expansion failed.\n"), name); +- return NULL; +- } +- if (l == 0) { +- fprintf(stderr, catgets(catd, CATSET, 82, +- "\"%s\": No match.\n"), name); +- return NULL; +- } +- if (l == sizeof xname) { +- fprintf(stderr, catgets(catd, CATSET, 83, +- "\"%s\": Expansion buffer overflow.\n"), name); +- return NULL; +- } +- xname[l] = 0; +- for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--) +- ; +- cp[1] = '\0'; +- if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) { +- fprintf(stderr, catgets(catd, CATSET, 84, +- "\"%s\": Ambiguous.\n"), name); +- return NULL; +- } +- return savestr(xname); +-#endif /* !HAVE_WORDEXP */ + } + + /* +-- +1.9.3 + + diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch new file mode 100644 index 0000000000..ae14b8acfe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch @@ -0,0 +1,31 @@ +From 73fefa0c1ac70043ec84f2d8b8f9f683213f168d Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Mon, 17 Nov 2014 13:11:32 +0100 +Subject: [PATCH 4/4] globname: Invoke wordexp with WRDE_NOCMD (CVE-2004-2771) + +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] +CVE: CVE-2004-2771 +--- + fio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fio.c b/fio.c +index 1529236..774a204 100644 +--- a/fio.c ++++ b/fio.c +@@ -497,7 +497,7 @@ globname(char *name) + sigemptyset(&nset); + sigaddset(&nset, SIGCHLD); + sigprocmask(SIG_BLOCK, &nset, NULL); +- i = wordexp(name, &we, 0); ++ i = wordexp(name, &we, WRDE_NOCMD); + sigprocmask(SIG_UNBLOCK, &nset, NULL); + switch (i) { + case 0: +-- +1.9.3 + + diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch new file mode 100644 index 0000000000..2b5991425b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch @@ -0,0 +1,38 @@ +Description: Sendmail is at /usr/sbin/sendmail + As per Debian Policy §11.6 +Author: Ryan Kavanagh <rak@debian.org> +Origin: Debian +Forwarded: no +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: heirloom-mailx-12.5/Makefile +=================================================================== +This patch is taken from +ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz + +Upstream-Status: Inappropriate [upstream is dead] + +--- heirloom-mailx-12.5.orig/Makefile 2011-04-26 17:23:22.000000000 -0400 ++++ heirloom-mailx-12.5/Makefile 2015-01-27 13:20:04.733542801 -0500 +@@ -13,7 +13,7 @@ + + MAILRC = $(SYSCONFDIR)/nail.rc + MAILSPOOL = /var/mail +-SENDMAIL = /usr/lib/sendmail ++SENDMAIL = /usr/sbin/sendmail + + DESTDIR = + +Index: heirloom-mailx-12.5/mailx.1 +=================================================================== +--- heirloom-mailx-12.5.orig/mailx.1 2015-01-27 13:18:49.000000000 -0500 ++++ heirloom-mailx-12.5/mailx.1 2015-01-27 13:20:32.382336867 -0500 +@@ -4922,7 +4922,7 @@ + which just acts as a proxy. + .PP + \fIMailx\fR immediately contacts the SMTP server (or +-.IR \%/usr/lib/sendmail ) ++.IR \%/usr/sbin/sendmail ) + even when operating in + .I disconnected + mode. diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch new file mode 100644 index 0000000000..b74fd0472e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch @@ -0,0 +1,46 @@ +krb5 support is autodetected from sysroot making builds undeterministic +feel free to improve this to support explicitly enabling/disabling it + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- a/makeconfig 2013-07-21 15:06:11.177792334 +0200 ++++ b/makeconfig 2013-07-21 15:07:20.028793994 +0200 +@@ -424,36 +424,6 @@ + } + ! + +-<$tmp2.c link_check gssapi 'for GSSAPI in libgss' \ +- '#define USE_GSSAPI' '-lgss' || +- <$tmp2.c link_check gssapi 'for GSSAPI in libgssapi_krb5' \ +- '#define USE_GSSAPI' '-lgssapi_krb5' || +- link_check gssapi 'for GSSAPI in libgssapi_krb5, old-style' \ +- '#define USE_GSSAPI +-#define GSSAPI_OLD_STYLE' '-lgssapi_krb5' <<\! || \ +- link_check gssapi 'for GSSAPI in libgssapi' \ +- '#define USE_GSSAPI +-#define GSSAPI_REG_INCLUDE' '-lgssapi' <<\% +-#include <gssapi/gssapi.h> +-#include <gssapi/gssapi_generic.h> +- +-int main(void) +-{ +- gss_import_name(0, 0, gss_nt_service_name, 0); +- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0); +- return 0; +-} +-! +-#include <gssapi.h> +- +-int main(void) +-{ +- gss_import_name(0, 0, GSS_C_NT_HOSTBASED_SERVICE, 0); +- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0); +- return 0; +-} +-% +- + cat >$tmp2.c <<\! + #include "config.h" + #ifdef HAVE_NL_LANGINFO diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb b/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb new file mode 100644 index 0000000000..0a191a00c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb @@ -0,0 +1,53 @@ +SUMMARY = "mailx is the traditional command-line-mode mail user agent" + +DESCRIPTION = "Mailx is derived from Berkeley Mail and is intended provide the \ +functionality of the POSIX mailx command with additional support \ +for MIME, IMAP, POP3, SMTP, and S/MIME." + +HOMEPAGE = "http://heirloom.sourceforge.net/mailx.html" +SECTION = "console/network" +LICENSE = "BSD & MPL-1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4202a0a62910cf94f7af8a3436a2a2dd" + +DEPENDS = "openssl10" + +SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz;name=archive \ + file://0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch \ + file://0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch \ + file://0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch \ + file://0011-outof-Introduce-expandaddr-flag.patch \ + file://0012-unpack-Disable-option-processing-for-email-addresses.patch \ + file://0013-fio.c-Unconditionally-require-wordexp-support.patch \ + file://0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch \ + file://0015-usr-sbin-sendmail.patch \ + file://explicitly.disable.krb5.support.patch \ + " + +SRC_URI[archive.md5sum] = "29a6033ef1412824d02eb9d9213cb1f2" +SRC_URI[archive.sha256sum] = "015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad" + +# for this package we're mostly interested in tracking debian patches, +# and not in the upstream version where all development has effectively stopped +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/" +UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)" + +S = "${WORKDIR}/heirloom-mailx-12.5" + +inherit autotools-brokensep + +CFLAGS_append = " -D_BSD_SOURCE -DDEBIAN -I${S}/EXT" + +# "STRIP=true" means that 'true' command will be used to 'strip' files which will achieve the effect of not stripping them +# mailx's Makefile doesn't allow a more straightforward way to avoid stripping +EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail IPv6=-DHAVE_IPv6_FUNCS PREFIX=/usr UCBINSTALL=/usr/bin/install STRIP=true" + +# The makeconfig can't run parallelly, otherwise the checking results +# might be incorrect and lead to errors: +# fio.c:56:17: fatal error: ssl.h: No such file or directory +# #include <ssl.h> +PARALLEL_MAKE = "" + +# Causes gcc to get stuck and eat all available memory in qemuarm builds +# http://errors.yoctoproject.org/Errors/Details/20488/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/meta-openembedded/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch b/meta-openembedded/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch new file mode 100644 index 0000000000..cc7cdc3364 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch @@ -0,0 +1,32 @@ +From 6ef69a26126ee4e69a25392fd456b8a66c51dffd Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 15 Nov 2016 02:46:55 +0000 +Subject: [PATCH] Fix errors found by clang + +Fixes errors like + +../../git/src/hash.cpp:282:19: error: ordered comparison between pointer and zero ('const unsigned char *' and 'int') + if(fdht->base>0){ + ~~~~~~~~~~^~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/hash.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hash.cpp b/src/hash.cpp +index 4216157..52f419b 100644 +--- a/src/hash.cpp ++++ b/src/hash.cpp +@@ -279,7 +279,7 @@ void file_data_hasher_t::hash() + MAP_FILE| + #endif + MAP_SHARED,fd,0); +- if(fdht->base>0){ ++ if(fdht->base != (void *) -1){ + /* mmap is successful, so set the bounds. + * if it is not successful, we default to reading the fd + */ +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch b/meta-openembedded/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch new file mode 100644 index 0000000000..3a4c4f4c2c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch @@ -0,0 +1,39 @@ +--- a/configure.ac 2014-08-22 12:22:54.290884351 +0200 ++++ b/configure.ac 2014-08-22 12:23:15.822306295 +0200 +@@ -42,18 +42,6 @@ + ;; + esac + +- +-# Bring additional directories where things might be found into our +-# search path. I don't know why autoconf doesn't do this by default +-if test x"${mingw}" == "xno" ; then +- for spfx in /usr/local /opt/local /sw ; do +- echo checking ${spfx}/include +- if test -d ${spfx}/include; then +- CPPFLAGS="-I${spfx}/include $CPPFLAGS" +- LDFLAGS="-L${spfx}/lib $LDFLAGS" +- fi +- done +-fi + # + # + ################################################################ +@@ -71,7 +59,7 @@ + + if test $mingw = "no" ; then + # add the warnings we don't want to do on mingw +- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++" ++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++" + fi + + for option in $WARNINGS_TO_TEST +@@ -105,7 +93,7 @@ + + if test $mingw = "no" ; then + # add the warnings we don't want to do on mingw +- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++" ++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++" + fi + + for option in $WARNINGS_TO_TEST diff --git a/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb b/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb new file mode 100644 index 0000000000..bb30abedd9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb @@ -0,0 +1,17 @@ +SUMMARY = "md5deep and hashdeep to compute and audit hashsets of amounts of files." +DESCRIPTION = "md5deep is a set of programs to compute MD5, SHA-1, SHA-256, Tiger, or Whirlpool message digests on an arbitrary number of files. This package also includes hashdeep which is also able to audit hashsets." +AUTHOR = "Jesse Kornblum, Simson L. Garfinkel" +HOMEPAGE = "http://md5deep.sourceforge.net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=9190f660105b9a56cdb272309bfd5491" +# Release 4.4 +SRCREV = "cd2ed7416685a5e83eb10bb659d6e9bec01244ae" + +SRC_URI = "git://github.com/jessek/hashdeep.git \ + file://wrong-variable-expansion.patch \ + file://0001-Fix-errors-found-by-clang.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch new file mode 100644 index 0000000000..c5814bfe2b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch @@ -0,0 +1,28 @@ +From c92890c5e18bb6ee23bdb14074bacf306dd9428f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 5 May 2015 20:35:01 -0700 +Subject: [PATCH] include cstdio to get printf definitions + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/engine/boxml/BoxMLHOVElement.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/engine/boxml/BoxMLHOVElement.cc b/src/engine/boxml/BoxMLHOVElement.cc +index 1a2812c..96c9eea 100644 +--- a/src/engine/boxml/BoxMLHOVElement.cc ++++ b/src/engine/boxml/BoxMLHOVElement.cc +@@ -21,7 +21,7 @@ + // <http://www.gnu.org/licenses/>. + + #include <config.h> +- ++#include <cstdio> + #include "BoxMLAttributeSignatures.hh" + #include "BoxMLHOVElement.hh" + #include "BoxMLHElement.hh" +-- +2.1.4 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch new file mode 100644 index 0000000000..b879d6a518 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch @@ -0,0 +1,63 @@ +From 9c226fbc6a42540cb492fcfcb81ff16fffb086d6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Tue, 30 Aug 2016 23:24:53 +0200 +Subject: [PATCH] configure.ac: header detection of hash_map is broken - pin to + correct implementation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 31 ++++--------------------------- + 1 file changed, 4 insertions(+), 27 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4f2118e..16c09d5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -252,35 +252,12 @@ AC_SUBST(GTKMATHVIEW_SIZEOF_WCHAR_T, "$ac_cv_sizeof_wchar_t") + + AC_LANG_PUSH(C++) + +-AC_CHECK_HEADERS(unordered_map, +- [ +- AC_DEFINE(GMV_HAVE_UNORDERED_MAP,1,[Define if <unordered_map> is provided]) +- GMV_HAVE_UNORDERED_MAP_CFLAGS=-DGMV_HAVE_UNORDERED_MAP=1 +- ], +- [ +- GMV_HAVE_UNORDERED_MAP_CFLAGS= +- ] +-) ++GMV_HAVE_UNORDERED_MAP_CFLAGS= + AC_SUBST(GMV_HAVE_UNORDERED_MAP_CFLAGS) +-AC_CHECK_HEADERS(hash_map, +- [ +- AC_DEFINE(GMV_HAVE_HASH_MAP,1,[Define if <hash_map> is provided]) +- GMV_HAVE_HASH_MAP_CFLAGS=-DGMV_HAVE_HASH_MAP=1 +- ], +- [ +- GMV_HAVE_HASH_MAP_CFLAGS= +- ] +-) ++GMV_HAVE_HASH_MAP_CFLAGS= + AC_SUBST(GMV_HAVE_HASH_MAP_CFLAGS) +-AC_CHECK_HEADERS(ext/hash_map, +- [ +- AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided]) +- GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1 +- ], +- [ +- GMV_HAVE_EXT_HASH_MAP_CFLAGS= +- ] +-) ++AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided]) ++GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1 + AC_SUBST(GMV_HAVE_EXT_HASH_MAP_CFLAGS) + + AC_MSG_CHECKING([whether the C++ compiler supports the standard character traits]) +-- +2.5.5 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch new file mode 100644 index 0000000000..356274d17e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch @@ -0,0 +1,93 @@ +From: Gert Wollny <gw.fossdev@gmail.com> +Date: Sun, 26 Jun 2016 13:25:00 +0200 +Description: gcc 6.0 build fixes +Bug: https://bugs.debian.org/811682 + +Slightly adapted to our environment + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- a/src/engine/common/View.cc ++++ b/src/engine/common/View.cc +@@ -291,7 +291,7 @@ + } + } + +- return false; ++ return SmartPtr<Element>(); + } + + bool +--- a/src/backend/common/tfm/TFM.hh ++++ b/src/backend/common/tfm/TFM.hh +@@ -37,7 +37,7 @@ + unsigned char face; + const char* codingScheme; + int designSize; +- int checksum; ++ unsigned int checksum; + unsigned int nDimensions; + unsigned int nCharacters; + }; +@@ -52,7 +52,7 @@ + struct Kerning + { + UChar8 index; +- int value; ++ unsigned int value; + }; + + struct Ligature +@@ -67,7 +67,7 @@ + UChar8 index; + int width; + int height; +- int depth; ++ unsigned int depth; + int italicCorrection; + unsigned char nKernings; + const Kerning* kerning; +--- a/src/backend/common/StandardSymbolsShaper.hh ++++ b/src/backend/common/StandardSymbolsShaper.hh +@@ -32,20 +32,20 @@ + struct HStretchyChar + { + Char16 ch; +- Char8 normal; +- Char8 left; +- Char8 glue; +- Char8 right; ++ UChar8 normal; ++ UChar8 left; ++ UChar8 glue; ++ UChar8 right; + }; + + struct VStretchyChar + { + Char16 ch; +- Char8 normal; +- Char8 top; +- Char8 glue; +- Char8 middle; +- Char8 bottom; ++ UChar8 normal; ++ UChar8 top; ++ UChar8 glue; ++ UChar8 middle; ++ UChar8 bottom; + }; + + protected: +--- a/src/backend/common/StandardSymbolsShaper.cc ++++ b/src/backend/common/StandardSymbolsShaper.cc +@@ -29,7 +29,7 @@ + #include "ShapingContext.hh" + + struct GlyphMap { +- Char8 index; ++ UChar8 index; + Char16 ch; + }; + diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch new file mode 100644 index 0000000000..3fe632860f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch @@ -0,0 +1,18 @@ +Use build_cc to compile the programs to run on build host +helps with cross compiling + +Upstream-Status: Inappropriate [Cross-compiled OE specific] + +diff --git a/src/common/mathvariants/Makefile.am b/src/common/mathvariants/Makefile.am +index 636ccf0..ed9921d 100644 +--- a/src/common/mathvariants/Makefile.am ++++ b/src/common/mathvariants/Makefile.am +@@ -52,7 +52,7 @@ XSLTPROC = xsltproc + %.cc : %_gen.cc $(srcdir)/variant.top $(srcdir)/variant.bot + cat $(srcdir)/variant.top >$@ + $(XSLTPROC) --novalid --param temp "false()" $(srcdir)/extract.xsl $(<:%_gen.cc=$(srcdir)/xml/%.xml) >>$@ +- $(CXX) -o $(@:%.cc=%) -I$(top_builddir)/auto $< ++ $(BUILD_CXX) -o $(@:%.cc=%) -I$(top_builddir)/auto $< + echo "Char32 " >>$@ + basename map_variant_$@ .cc | tr "-" "_" >>$@ + echo "(Char32 ch)" >>$@ diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb new file mode 100644 index 0000000000..df82bef634 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb @@ -0,0 +1,27 @@ +HOMEPAGE = "http://helm.cs.unibo.it/mml-widget/" +DEPENDS = "t1lib gtk+ popt libxslt-native libxml2" + +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" + +PR = "r3" +SRCREV = "0bc2cfa0a47aed2c8a63abd989cb8da4dcceb2ec" +PV = "0.8.0+git${SRCPV}" + +SRC_URI = "git://github.com/GNOME/gtkmathview.git \ + file://use_hostcxx.patch \ + file://0001-include-cstdio-to-get-printf-definitions.patch \ + file://0002-configure.ac-header-detection-of-hash_map-is-broken-.patch \ + file://0003-gcc-6.0-build-fixes.patch \ +" + +S = "${WORKDIR}/git" + +inherit distro_features_check autotools pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11" + +do_configure_append() { + # avoid host polution inf pkg-config files + sed -i "s:${STAGING_DIR_HOST}::g" `find -name '*.pc'` +} diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch new file mode 100644 index 0000000000..40d646c7df --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch @@ -0,0 +1,32 @@ +From f36c9476d2816e0d3e61c9e13c22ed73883cb54a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 24 Apr 2017 12:13:43 -0700 +Subject: [PATCH] compare the first character of string to be null or not + +Fixes + +error: ISO C++ forbids comparison between pointer and integer [-fpermissive] +| if (value[0] == '\0') +| ^~~~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + js/src/shell/jsoptparse.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/src/shell/jsoptparse.cpp b/js/src/shell/jsoptparse.cpp +index b49d0a5..612aa00 100644 +--- a/js/src/shell/jsoptparse.cpp ++++ b/js/src/shell/jsoptparse.cpp +@@ -243,7 +243,7 @@ OptionParser::extractValue(size_t argc, char **argv, size_t *i, char **value) + char *eq = strchr(argv[*i], '='); + if (eq) { + *value = eq + 1; +- if (value[0] == '\0') ++ if (value[0][0] == '\0') + return error("A value is required for option %.*s", eq - argv[*i], argv[*i]); + return Okay; + } +-- +2.12.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch new file mode 100644 index 0000000000..bc141d9d57 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch @@ -0,0 +1,35 @@ +From 0a61b0b98c152f10404ccbdeeac583a486638a7a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Thu, 6 Jun 2013 18:36:01 +0200 +Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending + packages +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +in our cross environment the would fail with: + +| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory + +and currently it only defines __STDC_LIMIT_MACROS + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + js.pc.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/js.pc.in b/js.pc.in +index 13d761d..a95a7bd 100644 +--- a/js.pc.in ++++ b/js.pc.in +@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript + Version: @MOZILLA_VERSION@ + Requires.private: @NSPR_PKGCONF_CHECK@ + Libs: -L${libdir} -l@LIBRARY_NAME@ +-Cflags: -include ${includedir}/@MODULE@/js/RequiredDefines.h -I${includedir}/@MODULE@ ++Cflags: -I${includedir}/@MODULE@ +-- +1.7.6.5 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch new file mode 100644 index 0000000000..de72d4f9a3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch @@ -0,0 +1,36 @@ +From da3929a96d9c74e11bf37d128890e18fcb745365 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Mon, 26 Jan 2015 08:53:19 +0900 +Subject: [PATCH] mozjs17.0.0: fix the compile bug of powerpc + +To fix the bug as following + +error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]' for +argument '5' to 'JSBool TryArgumentFormatter(JSContext*, const char**, +JSBool, jsval**, __va_list_tag (*)[1])' + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + jscpucfg.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/jscpucfg.h b/jscpucfg.h +index dfb1c14..8683491 100644 +--- a/jscpucfg.h ++++ b/jscpucfg.h +@@ -47,6 +47,12 @@ + #elif defined(JS_HAVE_ENDIAN_H) + # include <endian.h> + ++#if defined(_POWER) || defined(__powerpc__) || \ ++ defined(__ppc__) ++# define HAVE_VA_LIST_AS_ARRAY 1 ++# endif ++ ++ + # if defined(__BYTE_ORDER) + # if __BYTE_ORDER == __LITTLE_ENDIAN + # define IS_LITTLE_ENDIAN 1 +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch new file mode 100644 index 0000000000..fa413ea9f3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch @@ -0,0 +1,3238 @@ +From 6440b4901c6f4bcc69686ff10806e311cc5a927b Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Tue, 3 Mar 2015 19:12:17 +0800 +Subject: [PATCH] regenerate configure with autoconf-2.13 + +Signed-off-by: Koen Kooi <koen.kooi@linaro.org> +Upstream-status: Inappropriate [generated file] + +--- + js/src/configure | 838 ++++++++++++++++++++++++++----------------------------- + 1 file changed, 389 insertions(+), 449 deletions(-) + +diff --git a/js/src/configure b/js/src/configure +index cb6b41b..b05298f 100755 +--- a/js/src/configure ++++ b/js/src/configure +@@ -5757,6 +5757,10 @@ arm*) + CPU_ARCH=arm + ;; + ++aarch64*) ++ CPU_ARCH=aarch64 ++ ;; ++ + mips|mipsel) + CPU_ARCH="mips" + ;; +@@ -5893,14 +5897,14 @@ no) + _SAVE_CFLAGS="$CFLAGS" + CFLAGS="$arch_flag" + cat > conftest.$ac_ext <<EOF +-#line 5897 "configure" ++#line 5901 "configure" + #include "confdefs.h" + + int main() { + return sizeof(__thumb2__); + ; return 0; } + EOF +-if { (eval echo configure:5904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:5908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + MOZ_THUMB2=1 + else +@@ -5972,16 +5976,16 @@ if test -n "$all_flags"; then + _SAVE_CFLAGS="$CFLAGS" + CFLAGS="$all_flags" + echo $ac_n "checking whether the chosen combination of compiler flags ($all_flags) works""... $ac_c" 1>&6 +-echo "configure:5976: checking whether the chosen combination of compiler flags ($all_flags) works" >&5 ++echo "configure:5980: checking whether the chosen combination of compiler flags ($all_flags) works" >&5 + cat > conftest.$ac_ext <<EOF +-#line 5978 "configure" ++#line 5982 "configure" + #include "confdefs.h" + + int main() { + return 0; + ; return 0; } + EOF +-if { (eval echo configure:5985: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:5989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 + else +@@ -6004,18 +6008,18 @@ fi + + if test "$CPU_ARCH" = "arm"; then + echo $ac_n "checking for ARM SIMD support in compiler""... $ac_c" 1>&6 +-echo "configure:6008: checking for ARM SIMD support in compiler" >&5 ++echo "configure:6012: checking for ARM SIMD support in compiler" >&5 + # We try to link so that this also fails when + # building with LTO. + cat > conftest.$ac_ext <<EOF +-#line 6012 "configure" ++#line 6016 "configure" + #include "confdefs.h" + + int main() { + asm("uqadd8 r1, r1, r2"); + ; return 0; } + EOF +-if { (eval echo configure:6019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:6023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + result="yes" + else +@@ -6038,18 +6042,18 @@ EOF + fi + + echo $ac_n "checking for ARM NEON support in compiler""... $ac_c" 1>&6 +-echo "configure:6042: checking for ARM NEON support in compiler" >&5 ++echo "configure:6046: checking for ARM NEON support in compiler" >&5 + # We try to link so that this also fails when + # building with LTO. + cat > conftest.$ac_ext <<EOF +-#line 6046 "configure" ++#line 6050 "configure" + #include "confdefs.h" + + int main() { + asm(".fpu neon\n vadd.i8 d0, d0, d0"); + ; return 0; } + EOF +-if { (eval echo configure:6053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:6057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + result="yes" + else +@@ -6094,7 +6098,7 @@ configure_static_assert_macros=' + ' + + echo $ac_n "checking that static assertion macros used in autoconf tests work""... $ac_c" 1>&6 +-echo "configure:6098: checking that static assertion macros used in autoconf tests work" >&5 ++echo "configure:6102: checking that static assertion macros used in autoconf tests work" >&5 + if eval "test \"`echo '$''{'ac_cv_static_assertion_macros_work'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6108,14 +6112,14 @@ cross_compiling=$ac_cv_prog_cc_cross + + ac_cv_static_assertion_macros_work="yes" + cat > conftest.$ac_ext <<EOF +-#line 6112 "configure" ++#line 6116 "configure" + #include "confdefs.h" + $configure_static_assert_macros + int main() { + CONFIGURE_STATIC_ASSERT(1) + ; return 0; } + EOF +-if { (eval echo configure:6119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : + else + echo "configure: failed program was:" >&5 +@@ -6125,14 +6129,14 @@ else + fi + rm -f conftest* + cat > conftest.$ac_ext <<EOF +-#line 6129 "configure" ++#line 6133 "configure" + #include "confdefs.h" + $configure_static_assert_macros + int main() { + CONFIGURE_STATIC_ASSERT(0) + ; return 0; } + EOF +-if { (eval echo configure:6136: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_static_assertion_macros_work="no" + else +@@ -6148,14 +6152,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes + cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +-#line 6152 "configure" ++#line 6156 "configure" + #include "confdefs.h" + $configure_static_assert_macros + int main() { + CONFIGURE_STATIC_ASSERT(1) + ; return 0; } + EOF +-if { (eval echo configure:6159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : + else + echo "configure: failed program was:" >&5 +@@ -6165,14 +6169,14 @@ else + fi + rm -f conftest* + cat > conftest.$ac_ext <<EOF +-#line 6169 "configure" ++#line 6173 "configure" + #include "confdefs.h" + $configure_static_assert_macros + int main() { + CONFIGURE_STATIC_ASSERT(0) + ; return 0; } + EOF +-if { (eval echo configure:6176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_static_assertion_macros_work="no" + else +@@ -6317,7 +6321,7 @@ if test "$GNU_CC"; then + _WARNINGS_CFLAGS="${_WARNINGS_CFLAGS} -Wall -Wpointer-arith -Wdeclaration-after-statement" + + echo $ac_n "checking whether the C compiler supports -Werror=return-type""... $ac_c" 1>&6 +-echo "configure:6321: checking whether the C compiler supports -Werror=return-type" >&5 ++echo "configure:6325: checking whether the C compiler supports -Werror=return-type" >&5 + if eval "test \"`echo '$''{'ac_c_has_werror_return_type'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6333,14 +6337,14 @@ cross_compiling=$ac_cv_prog_cc_cross + _SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Werror=return-type" + cat > conftest.$ac_ext <<EOF +-#line 6337 "configure" ++#line 6341 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_c_has_werror_return_type="yes" + else +@@ -6368,7 +6372,7 @@ echo "$ac_t""$ac_c_has_werror_return_type" 1>&6 + + + echo $ac_n "checking whether the C compiler supports -Wtype-limits""... $ac_c" 1>&6 +-echo "configure:6372: checking whether the C compiler supports -Wtype-limits" >&5 ++echo "configure:6376: checking whether the C compiler supports -Wtype-limits" >&5 + if eval "test \"`echo '$''{'ac_c_has_wtype_limits'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6384,14 +6388,14 @@ cross_compiling=$ac_cv_prog_cc_cross + _SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wtype-limits" + cat > conftest.$ac_ext <<EOF +-#line 6388 "configure" ++#line 6392 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_c_has_wtype_limits="yes" + else +@@ -6419,7 +6423,7 @@ echo "$ac_t""$ac_c_has_wtype_limits" 1>&6 + + + echo $ac_n "checking whether the C compiler supports -Wempty-body""... $ac_c" 1>&6 +-echo "configure:6423: checking whether the C compiler supports -Wempty-body" >&5 ++echo "configure:6427: checking whether the C compiler supports -Wempty-body" >&5 + if eval "test \"`echo '$''{'ac_c_has_wempty_body'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6435,14 +6439,14 @@ cross_compiling=$ac_cv_prog_cc_cross + _SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wempty-body" + cat > conftest.$ac_ext <<EOF +-#line 6439 "configure" ++#line 6443 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6446: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_c_has_wempty_body="yes" + else +@@ -6476,7 +6480,7 @@ echo "$ac_t""$ac_c_has_wempty_body" 1>&6 + _WARNINGS_CFLAGS="${_WARNINGS_CFLAGS} -Wno-unused" + + echo $ac_n "checking whether the C compiler supports -Wno-overlength-strings""... $ac_c" 1>&6 +-echo "configure:6480: checking whether the C compiler supports -Wno-overlength-strings" >&5 ++echo "configure:6484: checking whether the C compiler supports -Wno-overlength-strings" >&5 + if eval "test \"`echo '$''{'ac_c_has_wno_overlength_strings'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6492,14 +6496,14 @@ cross_compiling=$ac_cv_prog_cc_cross + _SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Woverlength-strings" + cat > conftest.$ac_ext <<EOF +-#line 6496 "configure" ++#line 6500 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6507: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_c_has_wno_overlength_strings="yes" + else +@@ -6580,7 +6584,7 @@ if test "$GNU_CXX"; then + _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wall -Wpointer-arith -Woverloaded-virtual" + + echo $ac_n "checking whether the C++ compiler supports -Werror=return-type""... $ac_c" 1>&6 +-echo "configure:6584: checking whether the C++ compiler supports -Werror=return-type" >&5 ++echo "configure:6588: checking whether the C++ compiler supports -Werror=return-type" >&5 + if eval "test \"`echo '$''{'ac_cxx_has_werror_return_type'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6596,14 +6600,14 @@ cross_compiling=$ac_cv_prog_cxx_cross + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror -Werror=return-type" + cat > conftest.$ac_ext <<EOF +-#line 6600 "configure" ++#line 6604 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6607: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6611: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cxx_has_werror_return_type="yes" + else +@@ -6631,7 +6635,7 @@ echo "$ac_t""$ac_cxx_has_werror_return_type" 1>&6 + + + echo $ac_n "checking whether the C++ compiler supports -Wtype-limits""... $ac_c" 1>&6 +-echo "configure:6635: checking whether the C++ compiler supports -Wtype-limits" >&5 ++echo "configure:6639: checking whether the C++ compiler supports -Wtype-limits" >&5 + if eval "test \"`echo '$''{'ac_cxx_has_wtype_limits'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6647,14 +6651,14 @@ cross_compiling=$ac_cv_prog_cxx_cross + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror -Wtype-limits" + cat > conftest.$ac_ext <<EOF +-#line 6651 "configure" ++#line 6655 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cxx_has_wtype_limits="yes" + else +@@ -6682,7 +6686,7 @@ echo "$ac_t""$ac_cxx_has_wtype_limits" 1>&6 + + + echo $ac_n "checking whether the C++ compiler supports -Wempty-body""... $ac_c" 1>&6 +-echo "configure:6686: checking whether the C++ compiler supports -Wempty-body" >&5 ++echo "configure:6690: checking whether the C++ compiler supports -Wempty-body" >&5 + if eval "test \"`echo '$''{'ac_cxx_has_wempty_body'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6698,14 +6702,14 @@ cross_compiling=$ac_cv_prog_cxx_cross + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror -Wempty-body" + cat > conftest.$ac_ext <<EOF +-#line 6702 "configure" ++#line 6706 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cxx_has_wempty_body="yes" + else +@@ -6741,7 +6745,7 @@ echo "$ac_t""$ac_cxx_has_wempty_body" 1>&6 + _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-ctor-dtor-privacy" + + echo $ac_n "checking whether the C++ compiler supports -Wno-overlength-strings""... $ac_c" 1>&6 +-echo "configure:6745: checking whether the C++ compiler supports -Wno-overlength-strings" >&5 ++echo "configure:6749: checking whether the C++ compiler supports -Wno-overlength-strings" >&5 + if eval "test \"`echo '$''{'ac_cxx_has_wno_overlength_strings'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6757,14 +6761,14 @@ cross_compiling=$ac_cv_prog_cxx_cross + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror -Woverlength-strings" + cat > conftest.$ac_ext <<EOF +-#line 6761 "configure" ++#line 6765 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cxx_has_wno_overlength_strings="yes" + else +@@ -6792,7 +6796,7 @@ echo "$ac_t""$ac_cxx_has_wno_overlength_strings" 1>&6 + + + echo $ac_n "checking whether the C++ compiler supports -Wno-invalid-offsetof""... $ac_c" 1>&6 +-echo "configure:6796: checking whether the C++ compiler supports -Wno-invalid-offsetof" >&5 ++echo "configure:6800: checking whether the C++ compiler supports -Wno-invalid-offsetof" >&5 + if eval "test \"`echo '$''{'ac_cxx_has_wno_invalid_offsetof'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6808,14 +6812,14 @@ cross_compiling=$ac_cv_prog_cxx_cross + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror -Winvalid-offsetof" + cat > conftest.$ac_ext <<EOF +-#line 6812 "configure" ++#line 6816 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cxx_has_wno_invalid_offsetof="yes" + else +@@ -6843,7 +6847,7 @@ echo "$ac_t""$ac_cxx_has_wno_invalid_offsetof" 1>&6 + + + echo $ac_n "checking whether the C++ compiler supports -Wno-variadic-macros""... $ac_c" 1>&6 +-echo "configure:6847: checking whether the C++ compiler supports -Wno-variadic-macros" >&5 ++echo "configure:6851: checking whether the C++ compiler supports -Wno-variadic-macros" >&5 + if eval "test \"`echo '$''{'ac_cxx_has_wno_variadic_macros'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6859,14 +6863,14 @@ cross_compiling=$ac_cv_prog_cxx_cross + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror -Wvariadic-macros" + cat > conftest.$ac_ext <<EOF +-#line 6863 "configure" ++#line 6867 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cxx_has_wno_variadic_macros="yes" + else +@@ -6918,7 +6922,7 @@ echo "$ac_t""$ac_cxx_has_wno_variadic_macros" 1>&6 + _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-c++0x-extensions" + + echo $ac_n "checking whether the C++ compiler supports -Wno-extended-offsetof""... $ac_c" 1>&6 +-echo "configure:6922: checking whether the C++ compiler supports -Wno-extended-offsetof" >&5 ++echo "configure:6926: checking whether the C++ compiler supports -Wno-extended-offsetof" >&5 + if eval "test \"`echo '$''{'ac_cxx_has_wno_extended_offsetof'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6934,14 +6938,14 @@ cross_compiling=$ac_cv_prog_cxx_cross + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror -Wextended-offsetof" + cat > conftest.$ac_ext <<EOF +-#line 6938 "configure" ++#line 6942 "configure" + #include "confdefs.h" + + int main() { + return(0); + ; return 0; } + EOF +-if { (eval echo configure:6945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:6949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cxx_has_wno_extended_offsetof="yes" + else +@@ -6979,7 +6983,7 @@ MKSHLIB_UNFORCE_ALL= + if test "$COMPILE_ENVIRONMENT"; then + if test "$GNU_CC"; then + echo $ac_n "checking whether ld has archive extraction flags""... $ac_c" 1>&6 +-echo "configure:6983: checking whether ld has archive extraction flags" >&5 ++echo "configure:6987: checking whether ld has archive extraction flags" >&5 + if eval "test \"`echo '$''{'ac_cv_mkshlib_force_and_unforce'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -6996,14 +7000,14 @@ LOOP_INPUT + LDFLAGS=$force + LIBS=$unforce + cat > conftest.$ac_ext <<EOF +-#line 7000 "configure" ++#line 7004 "configure" + #include "confdefs.h" + + int main() { + + ; return 0; } + EOF +-if { (eval echo configure:7007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:7011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_mkshlib_force_and_unforce=$line; break + else +@@ -7038,16 +7042,16 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a + cross_compiling=$ac_cv_prog_cc_cross + + echo $ac_n "checking for 64-bit OS""... $ac_c" 1>&6 +-echo "configure:7042: checking for 64-bit OS" >&5 ++echo "configure:7046: checking for 64-bit OS" >&5 + cat > conftest.$ac_ext <<EOF +-#line 7044 "configure" ++#line 7048 "configure" + #include "confdefs.h" + $configure_static_assert_macros + int main() { + CONFIGURE_STATIC_ASSERT(sizeof(void*) == 8) + ; return 0; } + EOF +-if { (eval echo configure:7051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:7055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + result="yes" + else +@@ -7170,7 +7174,7 @@ case "$host" in + esac + + echo $ac_n "checking for Python version >= $PYTHON_VERSION but not 3.x""... $ac_c" 1>&6 +-echo "configure:7174: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5 ++echo "configure:7178: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5 + + $PYTHON -c "import sys; sys.exit(sys.version[:3] < sys.argv[1] or sys.version[:2] != '2.')" $PYTHON_VERSION + _python_res=$? +@@ -7181,7 +7185,7 @@ fi + echo "$ac_t""yes" 1>&6 + + echo $ac_n "checking for custom <stdint.h> implementation""... $ac_c" 1>&6 +-echo "configure:7185: checking for custom <stdint.h> implementation" >&5 ++echo "configure:7189: checking for custom <stdint.h> implementation" >&5 + if test "$MOZ_CUSTOM_STDINT_H"; then + cat >> confdefs.pytmp <<EOF + (''' MOZ_CUSTOM_STDINT_H ''', r''' "$MOZ_CUSTOM_STDINT_H" ''') +@@ -7249,9 +7253,9 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes + cross_compiling=$ac_cv_prog_cxx_cross + + echo $ac_n "checking for IBM XLC/C++ compiler version >= 9.0.0.7""... $ac_c" 1>&6 +-echo "configure:7253: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5 ++echo "configure:7257: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5 + cat > conftest.$ac_ext <<EOF +-#line 7255 "configure" ++#line 7259 "configure" + #include "confdefs.h" + + int main() { +@@ -7260,7 +7264,7 @@ int main() { + #endif + ; return 0; } + EOF +-if { (eval echo configure:7264: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:7268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _BAD_COMPILER= + else +@@ -7298,12 +7302,12 @@ cross_compiling=$ac_cv_prog_cc_cross + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:7302: checking for $ac_hdr" >&5 ++echo "configure:7306: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 7307 "configure" ++#line 7311 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -7311,7 +7315,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:7315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:7319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -7394,17 +7398,17 @@ EOF + # builds. + _SAVE_LDFLAGS=$LDFLAGS + echo $ac_n "checking for -framework ExceptionHandling""... $ac_c" 1>&6 +-echo "configure:7398: checking for -framework ExceptionHandling" >&5 ++echo "configure:7402: checking for -framework ExceptionHandling" >&5 + LDFLAGS="$LDFLAGS -framework ExceptionHandling" + cat > conftest.$ac_ext <<EOF +-#line 7401 "configure" ++#line 7405 "configure" + #include "confdefs.h" + + int main() { + return 0; + ; return 0; } + EOF +-if { (eval echo configure:7408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:7412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_have_framework_exceptionhandling="yes" + else +@@ -7426,18 +7430,18 @@ rm -f conftest* + echo "Skipping -dead_strip because DTrace is enabled. See bug 403132." + else + echo $ac_n "checking for -dead_strip option to ld""... $ac_c" 1>&6 +-echo "configure:7430: checking for -dead_strip option to ld" >&5 ++echo "configure:7434: checking for -dead_strip option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-dead_strip" + cat > conftest.$ac_ext <<EOF +-#line 7434 "configure" ++#line 7438 "configure" + #include "confdefs.h" + + int main() { + return 0; + ; return 0; } + EOF +-if { (eval echo configure:7441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:7445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + _HAVE_DEAD_STRIP=1 + else +@@ -7783,12 +7787,12 @@ EOF + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:7787: checking for $ac_hdr" >&5 ++echo "configure:7791: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 7792 "configure" ++#line 7796 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -7796,7 +7800,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:7800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:7804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -7989,19 +7993,19 @@ EOF + _DEFINES_CXXFLAGS="$_DEFINES_CXXFLAGS -Uunix -U__unix -U__unix__" + + echo $ac_n "checking for __declspec(dllexport)""... $ac_c" 1>&6 +-echo "configure:7993: checking for __declspec(dllexport)" >&5 ++echo "configure:7997: checking for __declspec(dllexport)" >&5 + if eval "test \"`echo '$''{'ac_os2_declspec'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 7998 "configure" ++#line 8002 "configure" + #include "confdefs.h" + __declspec(dllexport) void ac_os2_declspec(void) {} + int main() { + return 0; + ; return 0; } + EOF +-if { (eval echo configure:8005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:8009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_os2_declspec="yes" + else +@@ -8054,14 +8058,14 @@ EOF + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="-M /usr/lib/ld/map.noexstk $LDFLAGS" + cat > conftest.$ac_ext <<EOF +-#line 8058 "configure" ++#line 8062 "configure" + #include "confdefs.h" + #include <stdio.h> + int main() { + printf("Hello World\n"); + ; return 0; } + EOF +-if { (eval echo configure:8065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:8069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + : + else + echo "configure: failed program was:" >&5 +@@ -8089,7 +8093,7 @@ rm -f conftest* + CC_VERSION=`$CC -V 2>&1 | grep '^cc:' 2>/dev/null | $AWK -F\: '{ print $2 }'` + CXX_VERSION=`$CXX -V 2>&1 | grep '^CC:' 2>/dev/null | $AWK -F\: '{ print $2 }'` + echo $ac_n "checking for Sun C++ compiler version >= 5.9""... $ac_c" 1>&6 +-echo "configure:8093: checking for Sun C++ compiler version >= 5.9" >&5 ++echo "configure:8097: checking for Sun C++ compiler version >= 5.9" >&5 + + ac_ext=C + # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +@@ -8099,7 +8103,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes + cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +-#line 8103 "configure" ++#line 8107 "configure" + #include "confdefs.h" + + int main() { +@@ -8108,7 +8112,7 @@ int main() { + #endif + ; return 0; } + EOF +-if { (eval echo configure:8112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:8116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _BAD_COMPILER= + else +@@ -8125,7 +8129,7 @@ rm -f conftest* + _res="yes" + fi + cat > conftest.$ac_ext <<EOF +-#line 8129 "configure" ++#line 8133 "configure" + #include "confdefs.h" + + int main() { +@@ -8134,7 +8138,7 @@ int main() { + #endif + ; return 0; } + EOF +-if { (eval echo configure:8138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:8142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _ABOVE_SS12U1= + else +@@ -8535,7 +8539,7 @@ fi + + if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -z "$MOZ_DISABLE_ICF"; then + echo $ac_n "checking whether the linker supports Identical Code Folding""... $ac_c" 1>&6 +-echo "configure:8539: checking whether the linker supports Identical Code Folding" >&5 ++echo "configure:8543: checking whether the linker supports Identical Code Folding" >&5 + if eval "test \"`echo '$''{'LD_SUPPORTS_ICF'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -8544,7 +8548,7 @@ else + 'int main() {return foo() - bar();}' > conftest.${ac_ext} + # If the linker supports ICF, foo and bar symbols will have + # the same address +- if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS -Wl,--icf=safe -ffunction-sections conftest.${ac_ext} $LIBS 1>&2'; { (eval echo configure:8548: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && ++ if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS -Wl,--icf=safe -ffunction-sections conftest.${ac_ext} $LIBS 1>&2'; { (eval echo configure:8552: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && + test -s conftest${ac_exeext} && + objdump -t conftest${ac_exeext} | awk '{a[$6] = $1} END {if (a["foo"] && (a["foo"] != a["bar"])) { exit 1 }}'; then + LD_SUPPORTS_ICF=yes +@@ -8559,14 +8563,14 @@ echo "$ac_t""$LD_SUPPORTS_ICF" 1>&6 + _SAVE_LDFLAGS="$LDFLAGS -Wl,--icf=safe" + LDFLAGS="$LDFLAGS -Wl,--icf=safe -Wl,--print-icf-sections" + cat > conftest.$ac_ext <<EOF +-#line 8563 "configure" ++#line 8567 "configure" + #include "confdefs.h" + + int main() { + + ; return 0; } + EOF +-if { (eval echo configure:8570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:8574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + LD_PRINT_ICF_SECTIONS=-Wl,--print-icf-sections + else +@@ -8584,15 +8588,15 @@ fi + + if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -n "$MOZ_DEBUG_FLAGS"; then + echo $ac_n "checking whether removing dead symbols breaks debugging""... $ac_c" 1>&6 +-echo "configure:8588: checking whether removing dead symbols breaks debugging" >&5 ++echo "configure:8592: checking whether removing dead symbols breaks debugging" >&5 + if eval "test \"`echo '$''{'GC_SECTIONS_BREAKS_DEBUG_RANGES'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + echo 'int foo() {return 42;}' \ + 'int bar() {return 1;}' \ + 'int main() {return foo();}' > conftest.${ac_ext} +- if { ac_try='${CC-cc} -o conftest.${ac_objext} $CFLAGS $MOZ_DEBUG_FLAGS -c conftest.${ac_ext} 1>&2'; { (eval echo configure:8595: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && +- { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS $MOZ_DEBUG_FLAGS -Wl,--gc-sections conftest.${ac_objext} $LIBS 1>&2'; { (eval echo configure:8596: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && ++ if { ac_try='${CC-cc} -o conftest.${ac_objext} $CFLAGS $MOZ_DEBUG_FLAGS -c conftest.${ac_ext} 1>&2'; { (eval echo configure:8599: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && ++ { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS $MOZ_DEBUG_FLAGS -Wl,--gc-sections conftest.${ac_objext} $LIBS 1>&2'; { (eval echo configure:8600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && + test -s conftest${ac_exeext} -a -s conftest.${ac_objext}; then + if test "`$PYTHON "$_topsrcdir"/build/autoconf/check_debug_ranges.py conftest.${ac_objext} conftest.${ac_ext}`" = \ + "`$PYTHON "$_topsrcdir"/build/autoconf/check_debug_ranges.py conftest${ac_exeext} conftest.${ac_ext}`"; then +@@ -8615,12 +8619,12 @@ fi + + if test -z "$SKIP_COMPILER_CHECKS"; then + echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +-echo "configure:8619: checking for ANSI C header files" >&5 ++echo "configure:8623: checking for ANSI C header files" >&5 + if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 8624 "configure" ++#line 8628 "configure" + #include "confdefs.h" + #include <stdlib.h> + #include <stdarg.h> +@@ -8628,7 +8632,7 @@ else + #include <float.h> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:8632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:8636: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -8645,7 +8649,7 @@ rm -f conftest* + if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat > conftest.$ac_ext <<EOF +-#line 8649 "configure" ++#line 8653 "configure" + #include "confdefs.h" + #include <string.h> + EOF +@@ -8663,7 +8667,7 @@ fi + if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat > conftest.$ac_ext <<EOF +-#line 8667 "configure" ++#line 8671 "configure" + #include "confdefs.h" + #include <stdlib.h> + EOF +@@ -8684,7 +8688,7 @@ if test "$cross_compiling" = yes; then + : + else + cat > conftest.$ac_ext <<EOF +-#line 8688 "configure" ++#line 8692 "configure" + #include "confdefs.h" + #include <ctype.h> + #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +@@ -8695,7 +8699,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); + exit (0); } + + EOF +-if { (eval echo configure:8699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:8703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + : + else +@@ -8722,12 +8726,12 @@ EOF + fi + + echo $ac_n "checking for working const""... $ac_c" 1>&6 +-echo "configure:8726: checking for working const" >&5 ++echo "configure:8730: checking for working const" >&5 + if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 8731 "configure" ++#line 8735 "configure" + #include "confdefs.h" + + int main() { +@@ -8776,7 +8780,7 @@ ccp = (char const *const *) p; + + ; return 0; } + EOF +-if { (eval echo configure:8780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:8784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_c_const=yes + else +@@ -8800,12 +8804,12 @@ EOF + fi + + echo $ac_n "checking for mode_t""... $ac_c" 1>&6 +-echo "configure:8804: checking for mode_t" >&5 ++echo "configure:8808: checking for mode_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 8809 "configure" ++#line 8813 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS +@@ -8836,12 +8840,12 @@ EOF + fi + + echo $ac_n "checking for off_t""... $ac_c" 1>&6 +-echo "configure:8840: checking for off_t" >&5 ++echo "configure:8844: checking for off_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 8845 "configure" ++#line 8849 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS +@@ -8872,12 +8876,12 @@ EOF + fi + + echo $ac_n "checking for pid_t""... $ac_c" 1>&6 +-echo "configure:8876: checking for pid_t" >&5 ++echo "configure:8880: checking for pid_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 8881 "configure" ++#line 8885 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS +@@ -8908,12 +8912,12 @@ EOF + fi + + echo $ac_n "checking for size_t""... $ac_c" 1>&6 +-echo "configure:8912: checking for size_t" >&5 ++echo "configure:8916: checking for size_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 8917 "configure" ++#line 8921 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS +@@ -8951,12 +8955,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes + cross_compiling=$ac_cv_prog_cxx_cross + + echo $ac_n "checking for __stdcall""... $ac_c" 1>&6 +-echo "configure:8955: checking for __stdcall" >&5 ++echo "configure:8959: checking for __stdcall" >&5 + if eval "test \"`echo '$''{'ac_cv___stdcall'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 8960 "configure" ++#line 8964 "configure" + #include "confdefs.h" + template <typename Method> struct foo; + template <> struct foo<void (*)()> {}; +@@ -8965,7 +8969,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:8969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:8973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv___stdcall=true + else +@@ -8997,12 +9001,12 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a + cross_compiling=$ac_cv_prog_cc_cross + + echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 +-echo "configure:9001: checking for ssize_t" >&5 ++echo "configure:9005: checking for ssize_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9006 "configure" ++#line 9010 "configure" + #include "confdefs.h" + #include <stdio.h> + #include <sys/types.h> +@@ -9010,7 +9014,7 @@ int main() { + ssize_t foo = 0; + ; return 0; } + EOF +-if { (eval echo configure:9014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9018: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_type_ssize_t=true + else +@@ -9035,12 +9039,12 @@ else + echo "$ac_t""no" 1>&6 + fi + echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6 +-echo "configure:9039: checking for st_blksize in struct stat" >&5 ++echo "configure:9043: checking for st_blksize in struct stat" >&5 + if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9044 "configure" ++#line 9048 "configure" + #include "confdefs.h" + #include <sys/types.h> + #include <sys/stat.h> +@@ -9048,7 +9052,7 @@ int main() { + struct stat s; s.st_blksize; + ; return 0; } + EOF +-if { (eval echo configure:9052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_struct_st_blksize=yes + else +@@ -9072,12 +9076,12 @@ EOF + fi + + echo $ac_n "checking for siginfo_t""... $ac_c" 1>&6 +-echo "configure:9076: checking for siginfo_t" >&5 ++echo "configure:9080: checking for siginfo_t" >&5 + if eval "test \"`echo '$''{'ac_cv_siginfo_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9081 "configure" ++#line 9085 "configure" + #include "confdefs.h" + #define _POSIX_C_SOURCE 199506L + #include <signal.h> +@@ -9085,7 +9089,7 @@ int main() { + siginfo_t* info; + ; return 0; } + EOF +-if { (eval echo configure:9089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_siginfo_t=true + else +@@ -9111,72 +9115,8 @@ else + fi + + +-echo $ac_n "checking for the size of void*""... $ac_c" 1>&6 +-echo "configure:9116: checking for the size of void*" >&5 +-if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_WORD'+set}'`\" = set"; then +- echo $ac_n "(cached) $ac_c" 1>&6 +-else +- +- moz_cv_size_of_JS_BYTES_PER_WORD= +- for size in 4 8; do +- cat > conftest.$ac_ext <<EOF +-#line 9124 "configure" +-#include "confdefs.h" +- +-int main() { +- +- int a[sizeof (void*) == $size ? 1 : -1]; +- return 0; +- +-; return 0; } +-EOF +-if { (eval echo configure:9134: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +- rm -rf conftest* +- moz_cv_size_of_JS_BYTES_PER_WORD=$size; break +-else +- echo "configure: failed program was:" >&5 +- cat conftest.$ac_ext >&5 +-fi +-rm -f conftest* +- done +- if test ! "$moz_cv_size_of_JS_BYTES_PER_WORD"; then +- { echo "configure: error: No size found for void*" 1>&2; exit 1; } +- fi +- +-fi +- +-echo "$ac_t""$moz_cv_size_of_JS_BYTES_PER_WORD" 1>&6 +-cat >> confdefs.pytmp <<EOF +- (''' JS_BYTES_PER_WORD ''', r''' $moz_cv_size_of_JS_BYTES_PER_WORD ''') +-EOF +-cat >> confdefs.h <<EOF +-#define JS_BYTES_PER_WORD $moz_cv_size_of_JS_BYTES_PER_WORD +-EOF +- +- +-if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then +- cat >> confdefs.pytmp <<\EOF +- (''' JS_BITS_PER_WORD_LOG2 ''', r''' 5 ''') +-EOF +-cat >> confdefs.h <<\EOF +-#define JS_BITS_PER_WORD_LOG2 5 +-EOF +- +-elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then +- cat >> confdefs.pytmp <<\EOF +- (''' JS_BITS_PER_WORD_LOG2 ''', r''' 6 ''') +-EOF +-cat >> confdefs.h <<\EOF +-#define JS_BITS_PER_WORD_LOG2 6 +-EOF +- +-else +- { echo "configure: error: Unexpected JS_BYTES_PER_WORD" 1>&2; exit 1; } +-fi +- +- + echo $ac_n "checking for the alignment of void*""... $ac_c" 1>&6 +-echo "configure:9180: checking for the alignment of void*" >&5 ++echo "configure:9120: checking for the alignment of void*" >&5 + if eval "test \"`echo '$''{'moz_cv_align_of_JS_ALIGN_OF_POINTER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -9184,7 +9124,7 @@ else + moz_cv_align_of_JS_ALIGN_OF_POINTER= + for align in 2 4 8 16; do + cat > conftest.$ac_ext <<EOF +-#line 9188 "configure" ++#line 9128 "configure" + #include "confdefs.h" + + #include <stddef.h> +@@ -9197,7 +9137,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:9201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + moz_cv_align_of_JS_ALIGN_OF_POINTER=$align; break + else +@@ -9223,7 +9163,7 @@ EOF + + + echo $ac_n "checking for the size of double""... $ac_c" 1>&6 +-echo "configure:9227: checking for the size of double" >&5 ++echo "configure:9167: checking for the size of double" >&5 + if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_DOUBLE'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -9231,7 +9171,7 @@ else + moz_cv_size_of_JS_BYTES_PER_DOUBLE= + for size in 6 8 10 12 14; do + cat > conftest.$ac_ext <<EOF +-#line 9235 "configure" ++#line 9175 "configure" + #include "confdefs.h" + + int main() { +@@ -9241,7 +9181,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:9245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9185: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + moz_cv_size_of_JS_BYTES_PER_DOUBLE=$size; break + else +@@ -9270,12 +9210,12 @@ EOF + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:9274: checking for $ac_hdr" >&5 ++echo "configure:9214: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9279 "configure" ++#line 9219 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -9283,7 +9223,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:9287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -9326,12 +9266,12 @@ fi + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:9330: checking for $ac_hdr" >&5 ++echo "configure:9270: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9335 "configure" ++#line 9275 "configure" + #include "confdefs.h" + #include <sys/types.h> + #include <$ac_hdr> +@@ -9339,7 +9279,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:9343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -9382,12 +9322,12 @@ fi + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:9386: checking for $ac_hdr" >&5 ++echo "configure:9326: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9391 "configure" ++#line 9331 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -9395,7 +9335,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:9399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -9435,12 +9375,12 @@ EOF + fi + + echo $ac_n "checking for uint""... $ac_c" 1>&6 +-echo "configure:9439: checking for uint" >&5 ++echo "configure:9379: checking for uint" >&5 + if eval "test \"`echo '$''{'ac_cv_uint'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9444 "configure" ++#line 9384 "configure" + #include "confdefs.h" + #include <stdio.h> + #include <sys/types.h> +@@ -9448,7 +9388,7 @@ int main() { + uint foo = 0; + ; return 0; } + EOF +-if { (eval echo configure:9452: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9392: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_uint=true + else +@@ -9473,12 +9413,12 @@ else + echo "$ac_t""no" 1>&6 + fi + echo $ac_n "checking for uint_t""... $ac_c" 1>&6 +-echo "configure:9477: checking for uint_t" >&5 ++echo "configure:9417: checking for uint_t" >&5 + if eval "test \"`echo '$''{'ac_cv_uint_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9482 "configure" ++#line 9422 "configure" + #include "confdefs.h" + #include <stdio.h> + #include <sys/types.h> +@@ -9486,7 +9426,7 @@ int main() { + uint_t foo = 0; + ; return 0; } + EOF +-if { (eval echo configure:9490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_uint_t=true + else +@@ -9520,12 +9460,12 @@ cross_compiling=$ac_cv_prog_cxx_cross + + + echo $ac_n "checking for uname.domainname""... $ac_c" 1>&6 +-echo "configure:9524: checking for uname.domainname" >&5 ++echo "configure:9464: checking for uname.domainname" >&5 + if eval "test \"`echo '$''{'ac_cv_have_uname_domainname_field'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9529 "configure" ++#line 9469 "configure" + #include "confdefs.h" + #include <sys/utsname.h> + int main() { +@@ -9533,7 +9473,7 @@ int main() { + (void)uname(res); if (res != 0) { domain = res->domainname; } + ; return 0; } + EOF +-if { (eval echo configure:9537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9477: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_have_uname_domainname_field=true + else +@@ -9560,12 +9500,12 @@ else + fi + + echo $ac_n "checking for uname.__domainname""... $ac_c" 1>&6 +-echo "configure:9564: checking for uname.__domainname" >&5 ++echo "configure:9504: checking for uname.__domainname" >&5 + if eval "test \"`echo '$''{'ac_cv_have_uname_us_domainname_field'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9569 "configure" ++#line 9509 "configure" + #include "confdefs.h" + #include <sys/utsname.h> + int main() { +@@ -9573,7 +9513,7 @@ int main() { + (void)uname(res); if (res != 0) { domain = res->__domainname; } + ; return 0; } + EOF +-if { (eval echo configure:9577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_have_uname_us_domainname_field=true + else +@@ -9609,7 +9549,7 @@ cross_compiling=$ac_cv_prog_cc_cross + + if test "$GNU_CC"; then + echo $ac_n "checking for visibility(hidden) attribute""... $ac_c" 1>&6 +-echo "configure:9613: checking for visibility(hidden) attribute" >&5 ++echo "configure:9553: checking for visibility(hidden) attribute" >&5 + if eval "test \"`echo '$''{'ac_cv_visibility_hidden'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -9637,7 +9577,7 @@ EOF + + + echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6 +-echo "configure:9641: checking for visibility(default) attribute" >&5 ++echo "configure:9581: checking for visibility(default) attribute" >&5 + if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -9665,7 +9605,7 @@ EOF + + + echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6 +-echo "configure:9669: checking for visibility pragma support" >&5 ++echo "configure:9609: checking for visibility pragma support" >&5 + if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -9690,7 +9630,7 @@ fi + echo "$ac_t""$ac_cv_visibility_pragma" 1>&6 + if test "$ac_cv_visibility_pragma" = "yes"; then + echo $ac_n "checking For gcc visibility bug with class-level attributes (GCC bug 26905)""... $ac_c" 1>&6 +-echo "configure:9694: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5 ++echo "configure:9634: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5 + if eval "test \"`echo '$''{'ac_cv_have_visibility_class_bug'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -9718,7 +9658,7 @@ fi + echo "$ac_t""$ac_cv_have_visibility_class_bug" 1>&6 + + echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6 +-echo "configure:9722: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5 ++echo "configure:9662: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5 + if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -9770,7 +9710,7 @@ fi # Sun Studio on Solaris + if test "$GNU_CC"; then + + echo $ac_n "checking for gcc PR49911""... $ac_c" 1>&6 +-echo "configure:9774: checking for gcc PR49911" >&5 ++echo "configure:9714: checking for gcc PR49911" >&5 + ac_have_gcc_pr49911="no" + + ac_ext=C +@@ -9787,7 +9727,7 @@ if test "$cross_compiling" = yes; then + true + else + cat > conftest.$ac_ext <<EOF +-#line 9791 "configure" ++#line 9731 "configure" + #include "confdefs.h" + + extern "C" void abort(void); +@@ -9828,7 +9768,7 @@ int main(void) { + } + + EOF +-if { (eval echo configure:9832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:9772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + true + else +@@ -9865,12 +9805,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 +-echo "configure:9869: checking for $ac_hdr that defines DIR" >&5 ++echo "configure:9809: checking for $ac_hdr that defines DIR" >&5 + if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 9874 "configure" ++#line 9814 "configure" + #include "confdefs.h" + #include <sys/types.h> + #include <$ac_hdr> +@@ -9878,7 +9818,7 @@ int main() { + DIR *dirp = 0; + ; return 0; } + EOF +-if { (eval echo configure:9882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=yes" + else +@@ -9906,7 +9846,7 @@ done + # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. + if test $ac_header_dirent = dirent.h; then + echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 +-echo "configure:9910: checking for opendir in -ldir" >&5 ++echo "configure:9850: checking for opendir in -ldir" >&5 + ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -9914,7 +9854,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-ldir $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 9918 "configure" ++#line 9858 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -9925,7 +9865,7 @@ int main() { + opendir() + ; return 0; } + EOF +-if { (eval echo configure:9929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:9869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -9947,7 +9887,7 @@ fi + + else + echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 +-echo "configure:9951: checking for opendir in -lx" >&5 ++echo "configure:9891: checking for opendir in -lx" >&5 + ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -9955,7 +9895,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-lx $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 9959 "configure" ++#line 9899 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -9966,7 +9906,7 @@ int main() { + opendir() + ; return 0; } + EOF +-if { (eval echo configure:9970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:9910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -10000,12 +9940,12 @@ esac + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:10004: checking for $ac_hdr" >&5 ++echo "configure:9944: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10009 "configure" ++#line 9949 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -10013,7 +9953,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:9957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10048,12 +9988,12 @@ EOF + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:10052: checking for $ac_hdr" >&5 ++echo "configure:9992: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10057 "configure" ++#line 9997 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -10061,7 +10001,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10095,12 +10035,12 @@ EOF + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:10099: checking for $ac_hdr" >&5 ++echo "configure:10039: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10104 "configure" ++#line 10044 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -10108,7 +10048,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10141,12 +10081,12 @@ EOF + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:10145: checking for $ac_hdr" >&5 ++echo "configure:10085: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10150 "configure" ++#line 10090 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -10154,7 +10094,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10188,12 +10128,12 @@ EOF + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:10192: checking for $ac_hdr" >&5 ++echo "configure:10132: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10197 "configure" ++#line 10137 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -10201,7 +10141,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10241,12 +10181,12 @@ cross_compiling=$ac_cv_prog_cxx_cross + NEW_H=new.h + ac_safe=`echo "new" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for new""... $ac_c" 1>&6 +-echo "configure:10245: checking for new" >&5 ++echo "configure:10185: checking for new" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10250 "configure" ++#line 10190 "configure" + #include "confdefs.h" + + #include <new> +@@ -10254,7 +10194,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10298,12 +10238,12 @@ fi + if test "x$enable_dtrace" = "xyes"; then + ac_safe=`echo "sys/sdt.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for sys/sdt.h""... $ac_c" 1>&6 +-echo "configure:10302: checking for sys/sdt.h" >&5 ++echo "configure:10242: checking for sys/sdt.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10307 "configure" ++#line 10247 "configure" + #include "confdefs.h" + + #include <sys/sdt.h> +@@ -10311,7 +10251,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10353,12 +10293,12 @@ case $target in + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:10357: checking for $ac_hdr" >&5 ++echo "configure:10297: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10362 "configure" ++#line 10302 "configure" + #include "confdefs.h" + + #include <$ac_hdr> +@@ -10366,7 +10306,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10310: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10418,12 +10358,12 @@ CFLAGS="$CFLAGS $LINUX_HEADERS_INCLUDES" + + ac_safe=`echo "linux/perf_event.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for linux/perf_event.h""... $ac_c" 1>&6 +-echo "configure:10422: checking for linux/perf_event.h" >&5 ++echo "configure:10362: checking for linux/perf_event.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10427 "configure" ++#line 10367 "configure" + #include "confdefs.h" + + #include <linux/perf_event.h> +@@ -10431,7 +10371,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10435: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10375: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10446,19 +10386,19 @@ fi + if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + echo $ac_n "checking for perf_event_open system call""... $ac_c" 1>&6 +-echo "configure:10450: checking for perf_event_open system call" >&5 ++echo "configure:10390: checking for perf_event_open system call" >&5 + if eval "test \"`echo '$''{'ac_cv_perf_event_open'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10455 "configure" ++#line 10395 "configure" + #include "confdefs.h" + #include <asm/unistd.h> + int main() { + return sizeof(__NR_perf_event_open); + ; return 0; } + EOF +-if { (eval echo configure:10462: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10402: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_perf_event_open=yes + else +@@ -10494,7 +10434,7 @@ case $target in + ;; + *) + echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6 +-echo "configure:10498: checking for gethostbyname_r in -lc_r" >&5 ++echo "configure:10438: checking for gethostbyname_r in -lc_r" >&5 + ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -10502,7 +10442,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-lc_r $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 10506 "configure" ++#line 10446 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -10513,7 +10453,7 @@ int main() { + gethostbyname_r() + ; return 0; } + EOF +-if { (eval echo configure:10517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:10457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -10554,14 +10494,14 @@ case $target in + *) + + echo $ac_n "checking for library containing dlopen""... $ac_c" 1>&6 +-echo "configure:10558: checking for library containing dlopen" >&5 ++echo "configure:10498: checking for library containing dlopen" >&5 + if eval "test \"`echo '$''{'ac_cv_search_dlopen'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_func_search_save_LIBS="$LIBS" + ac_cv_search_dlopen="no" + cat > conftest.$ac_ext <<EOF +-#line 10565 "configure" ++#line 10505 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -10572,7 +10512,7 @@ int main() { + dlopen() + ; return 0; } + EOF +-if { (eval echo configure:10576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:10516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_search_dlopen="none required" + else +@@ -10583,7 +10523,7 @@ rm -f conftest* + test "$ac_cv_search_dlopen" = "no" && for i in dl; do + LIBS="-l$i $ac_func_search_save_LIBS" + cat > conftest.$ac_ext <<EOF +-#line 10587 "configure" ++#line 10527 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -10594,7 +10534,7 @@ int main() { + dlopen() + ; return 0; } + EOF +-if { (eval echo configure:10598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:10538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_search_dlopen="-l$i" + break +@@ -10612,12 +10552,12 @@ if test "$ac_cv_search_dlopen" != "no"; then + test "$ac_cv_search_dlopen" = "none required" || LIBS="$ac_cv_search_dlopen $LIBS" + ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 +-echo "configure:10616: checking for dlfcn.h" >&5 ++echo "configure:10556: checking for dlfcn.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10621 "configure" ++#line 10561 "configure" + #include "confdefs.h" + + #include <dlfcn.h> +@@ -10625,7 +10565,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:10629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:10569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -10662,12 +10602,12 @@ CFLAGS="$CFLAGS -D_GNU_SOURCE" + for ac_func in dladdr + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:10666: checking for $ac_func" >&5 ++echo "configure:10606: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 10671 "configure" ++#line 10611 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -10690,7 +10630,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:10694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:10634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -10724,7 +10664,7 @@ if test ! "$GNU_CXX"; then + case $target in + *-aix*) + echo $ac_n "checking for demangle in -lC_r""... $ac_c" 1>&6 +-echo "configure:10728: checking for demangle in -lC_r" >&5 ++echo "configure:10668: checking for demangle in -lC_r" >&5 + ac_lib_var=`echo C_r'_'demangle | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -10732,7 +10672,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-lC_r $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 10736 "configure" ++#line 10676 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -10743,7 +10683,7 @@ int main() { + demangle() + ; return 0; } + EOF +-if { (eval echo configure:10747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:10687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -10776,7 +10716,7 @@ fi + ;; + *) + echo $ac_n "checking for demangle in -lC""... $ac_c" 1>&6 +-echo "configure:10780: checking for demangle in -lC" >&5 ++echo "configure:10720: checking for demangle in -lC" >&5 + ac_lib_var=`echo C'_'demangle | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -10784,7 +10724,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-lC $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 10788 "configure" ++#line 10728 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -10795,7 +10735,7 @@ int main() { + demangle() + ; return 0; } + EOF +-if { (eval echo configure:10799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:10739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -10834,7 +10774,7 @@ case $target in + ;; + *) + echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 +-echo "configure:10838: checking for socket in -lsocket" >&5 ++echo "configure:10778: checking for socket in -lsocket" >&5 + ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -10842,7 +10782,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-lsocket $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 10846 "configure" ++#line 10786 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -10853,7 +10793,7 @@ int main() { + socket() + ; return 0; } + EOF +-if { (eval echo configure:10857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:10797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -10892,7 +10832,7 @@ darwin*) + *) + + echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6 +-echo "configure:10896: checking for pthread_create in -lpthreads" >&5 ++echo "configure:10836: checking for pthread_create in -lpthreads" >&5 + echo " + #include <pthread.h> + #include <stdlib.h> +@@ -10915,7 +10855,7 @@ echo " + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 +-echo "configure:10919: checking for pthread_create in -lpthread" >&5 ++echo "configure:10859: checking for pthread_create in -lpthread" >&5 + echo " + #include <pthread.h> + #include <stdlib.h> +@@ -10938,7 +10878,7 @@ echo " + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6 +-echo "configure:10942: checking for pthread_create in -lc_r" >&5 ++echo "configure:10882: checking for pthread_create in -lc_r" >&5 + echo " + #include <pthread.h> + #include <stdlib.h> +@@ -10961,7 +10901,7 @@ echo " + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6 +-echo "configure:10965: checking for pthread_create in -lc" >&5 ++echo "configure:10905: checking for pthread_create in -lc" >&5 + echo " + #include <pthread.h> + #include <stdlib.h> +@@ -11020,7 +10960,7 @@ then + rm -f conftest* + ac_cv_have_dash_pthread=no + echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6 +-echo "configure:11024: checking whether ${CC-cc} accepts -pthread" >&5 ++echo "configure:10964: checking whether ${CC-cc} accepts -pthread" >&5 + echo 'int main() { return 0; }' | cat > conftest.c + ${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1 + if test $? -eq 0; then +@@ -11043,7 +10983,7 @@ echo "configure:11024: checking whether ${CC-cc} accepts -pthread" >&5 + ac_cv_have_dash_pthreads=no + if test "$ac_cv_have_dash_pthread" = "no"; then + echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6 +-echo "configure:11047: checking whether ${CC-cc} accepts -pthreads" >&5 ++echo "configure:10987: checking whether ${CC-cc} accepts -pthreads" >&5 + echo 'int main() { return 0; }' | cat > conftest.c + ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1 + if test $? -eq 0; then +@@ -11148,13 +11088,13 @@ fi + + if test $ac_cv_prog_gcc = yes; then + echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 +-echo "configure:11152: checking whether ${CC-cc} needs -traditional" >&5 ++echo "configure:11092: checking whether ${CC-cc} needs -traditional" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_pattern="Autoconf.*'x'" + cat > conftest.$ac_ext <<EOF +-#line 11158 "configure" ++#line 11098 "configure" + #include "confdefs.h" + #include <sgtty.h> + Autoconf TIOCGETP +@@ -11172,7 +11112,7 @@ rm -f conftest* + + if test $ac_cv_prog_gcc_traditional = no; then + cat > conftest.$ac_ext <<EOF +-#line 11176 "configure" ++#line 11116 "configure" + #include "confdefs.h" + #include <termio.h> + Autoconf TCGETA +@@ -11194,7 +11134,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6 + fi + + echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 +-echo "configure:11198: checking for 8-bit clean memcmp" >&5 ++echo "configure:11138: checking for 8-bit clean memcmp" >&5 + if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -11202,7 +11142,7 @@ else + ac_cv_func_memcmp_clean=no + else + cat > conftest.$ac_ext <<EOF +-#line 11206 "configure" ++#line 11146 "configure" + #include "confdefs.h" + + main() +@@ -11212,7 +11152,7 @@ main() + } + + EOF +-if { (eval echo configure:11216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:11156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv_func_memcmp_clean=yes + else +@@ -11234,12 +11174,12 @@ for ac_func in fchmod flockfile getc_unlocked _getc_nolock getpagesize \ + stat64 statvfs statvfs64 strerror strtok_r truncate64 + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:11238: checking for $ac_func" >&5 ++echo "configure:11178: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11243 "configure" ++#line 11183 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -11262,7 +11202,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:11266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -11291,14 +11231,14 @@ done + + + cat > conftest.$ac_ext <<EOF +-#line 11295 "configure" ++#line 11235 "configure" + #include "confdefs.h" + #include <windows.h> + int main() { + SYSTEMTIME st;FILETIME ft;SystemTimeToFileTime(&st,&ft); + ; return 0; } + EOF +-if { (eval echo configure:11302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_have_systemtimetofiletime="yes" + else +@@ -11318,14 +11258,14 @@ EOF + + fi + cat > conftest.$ac_ext <<EOF +-#line 11322 "configure" ++#line 11262 "configure" + #include "confdefs.h" + #include <windows.h> + int main() { + FILETIME ft;GetSystemTimeAsFileTime(&ft); + ; return 0; } + EOF +-if { (eval echo configure:11329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_have_getsystemtimeasfiletime="yes" + else +@@ -11355,19 +11295,19 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes + cross_compiling=$ac_cv_prog_cxx_cross + + echo $ac_n "checking for wcrtomb""... $ac_c" 1>&6 +-echo "configure:11359: checking for wcrtomb" >&5 ++echo "configure:11299: checking for wcrtomb" >&5 + if eval "test \"`echo '$''{'ac_cv_have_wcrtomb'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11364 "configure" ++#line 11304 "configure" + #include "confdefs.h" + #include <wchar.h> + int main() { + mbstate_t ps={0};wcrtomb(0,'f',&ps); + ; return 0; } + EOF +-if { (eval echo configure:11371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_have_wcrtomb="yes" + else +@@ -11390,19 +11330,19 @@ EOF + + fi + echo $ac_n "checking for mbrtowc""... $ac_c" 1>&6 +-echo "configure:11394: checking for mbrtowc" >&5 ++echo "configure:11334: checking for mbrtowc" >&5 + if eval "test \"`echo '$''{'ac_cv_have_mbrtowc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11399 "configure" ++#line 11339 "configure" + #include "confdefs.h" + #include <wchar.h> + int main() { + mbstate_t ps={0};mbrtowc(0,0,0,&ps); + ; return 0; } + EOF +-if { (eval echo configure:11406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_have_mbrtowc="yes" + else +@@ -11434,12 +11374,12 @@ cross_compiling=$ac_cv_prog_cc_cross + fi + + echo $ac_n "checking for res_ninit()""... $ac_c" 1>&6 +-echo "configure:11438: checking for res_ninit()" >&5 ++echo "configure:11378: checking for res_ninit()" >&5 + if eval "test \"`echo '$''{'ac_cv_func_res_ninit'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11443 "configure" ++#line 11383 "configure" + #include "confdefs.h" + + #ifdef linux +@@ -11451,7 +11391,7 @@ int main() { + int foo = res_ninit(&_res); + ; return 0; } + EOF +-if { (eval echo configure:11455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_func_res_ninit=yes + else +@@ -11484,12 +11424,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes + cross_compiling=$ac_cv_prog_cxx_cross + + echo $ac_n "checking for gnu_get_libc_version()""... $ac_c" 1>&6 +-echo "configure:11488: checking for gnu_get_libc_version()" >&5 ++echo "configure:11428: checking for gnu_get_libc_version()" >&5 + if eval "test \"`echo '$''{'ac_cv_func_gnu_get_libc_version'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11493 "configure" ++#line 11433 "configure" + #include "confdefs.h" + + #ifdef HAVE_GNU_LIBC_VERSION_H +@@ -11500,7 +11440,7 @@ int main() { + const char *glibc_version = gnu_get_libc_version(); + ; return 0; } + EOF +-if { (eval echo configure:11504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_func_gnu_get_libc_version=yes + else +@@ -11534,7 +11474,7 @@ cross_compiling=$ac_cv_prog_cc_cross + + + echo $ac_n "checking for an implementation of va_copy()""... $ac_c" 1>&6 +-echo "configure:11538: checking for an implementation of va_copy()" >&5 ++echo "configure:11478: checking for an implementation of va_copy()" >&5 + if eval "test \"`echo '$''{'ac_cv_va_copy'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -11544,7 +11484,7 @@ else + + else + cat > conftest.$ac_ext <<EOF +-#line 11548 "configure" ++#line 11488 "configure" + #include "confdefs.h" + + #include <stdarg.h> +@@ -11558,7 +11498,7 @@ else + } + int main() { f (0, 42); return 0; } + EOF +-if { (eval echo configure:11562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:11502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv_va_copy=yes + else +@@ -11575,7 +11515,7 @@ fi + + echo "$ac_t""$ac_cv_va_copy" 1>&6 + echo $ac_n "checking for an implementation of __va_copy()""... $ac_c" 1>&6 +-echo "configure:11579: checking for an implementation of __va_copy()" >&5 ++echo "configure:11519: checking for an implementation of __va_copy()" >&5 + if eval "test \"`echo '$''{'ac_cv___va_copy'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -11585,7 +11525,7 @@ else + + else + cat > conftest.$ac_ext <<EOF +-#line 11589 "configure" ++#line 11529 "configure" + #include "confdefs.h" + + #include <stdarg.h> +@@ -11599,7 +11539,7 @@ else + } + int main() { f (0, 42); return 0; } + EOF +-if { (eval echo configure:11603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:11543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv___va_copy=yes + else +@@ -11616,7 +11556,7 @@ fi + + echo "$ac_t""$ac_cv___va_copy" 1>&6 + echo $ac_n "checking whether va_lists can be copied by value""... $ac_c" 1>&6 +-echo "configure:11620: checking whether va_lists can be copied by value" >&5 ++echo "configure:11560: checking whether va_lists can be copied by value" >&5 + if eval "test \"`echo '$''{'ac_cv_va_val_copy'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -11626,7 +11566,7 @@ else + + else + cat > conftest.$ac_ext <<EOF +-#line 11630 "configure" ++#line 11570 "configure" + #include "confdefs.h" + + #include <stdarg.h> +@@ -11640,7 +11580,7 @@ else + } + int main() { f (0, 42); return 0; } + EOF +-if { (eval echo configure:11644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:11584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv_va_val_copy=yes + else +@@ -11710,12 +11650,12 @@ ARM_ABI_PREFIX= + if test "$GNU_CC"; then + if test "$CPU_ARCH" = "arm" ; then + echo $ac_n "checking for ARM EABI""... $ac_c" 1>&6 +-echo "configure:11714: checking for ARM EABI" >&5 ++echo "configure:11654: checking for ARM EABI" >&5 + if eval "test \"`echo '$''{'ac_cv_gcc_arm_eabi'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11719 "configure" ++#line 11659 "configure" + #include "confdefs.h" + + int main() { +@@ -11728,7 +11668,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:11732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:11672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_gcc_arm_eabi="yes" + else +@@ -11753,12 +11693,12 @@ echo "$ac_t""$ac_cv_gcc_arm_eabi" 1>&6 + fi + + echo $ac_n "checking for modern C++ template specialization syntax support""... $ac_c" 1>&6 +-echo "configure:11757: checking for modern C++ template specialization syntax support" >&5 ++echo "configure:11697: checking for modern C++ template specialization syntax support" >&5 + if eval "test \"`echo '$''{'ac_cv_cpp_modern_specialize_template_syntax'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11762 "configure" ++#line 11702 "configure" + #include "confdefs.h" + template <class T> struct X { int a; }; + class Y {}; +@@ -11768,7 +11708,7 @@ X<int> int_x; + X<Y> y_x; + ; return 0; } + EOF +-if { (eval echo configure:11772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:11712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_cpp_modern_specialize_template_syntax=yes + else +@@ -11786,12 +11726,12 @@ if test "$ac_cv_cpp_modern_specialize_template_syntax" = no ; then + fi + + echo $ac_n "checking whether partial template specialization works""... $ac_c" 1>&6 +-echo "configure:11790: checking whether partial template specialization works" >&5 ++echo "configure:11730: checking whether partial template specialization works" >&5 + if eval "test \"`echo '$''{'ac_cv_cpp_partial_specialization'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11795 "configure" ++#line 11735 "configure" + #include "confdefs.h" + template <class T> class Foo {}; + template <class T> class Foo<T*> {}; +@@ -11799,7 +11739,7 @@ int main() { + return 0; + ; return 0; } + EOF +-if { (eval echo configure:11803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:11743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_cpp_partial_specialization=yes + else +@@ -11823,12 +11763,12 @@ EOF + fi + + echo $ac_n "checking whether the C++ \"using\" keyword resolves ambiguity""... $ac_c" 1>&6 +-echo "configure:11827: checking whether the C++ \"using\" keyword resolves ambiguity" >&5 ++echo "configure:11767: checking whether the C++ \"using\" keyword resolves ambiguity" >&5 + if eval "test \"`echo '$''{'ac_cv_cpp_ambiguity_resolving_using'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11832 "configure" ++#line 11772 "configure" + #include "confdefs.h" + class X { + public: int go(const X&) {return 3;} +@@ -11844,7 +11784,7 @@ int main() { + X x; Y y; y.jo(x); + ; return 0; } + EOF +-if { (eval echo configure:11848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:11788: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_cpp_ambiguity_resolving_using=yes + else +@@ -11868,7 +11808,7 @@ EOF + fi + + echo $ac_n "checking for C++ dynamic_cast to void*""... $ac_c" 1>&6 +-echo "configure:11872: checking for C++ dynamic_cast to void*" >&5 ++echo "configure:11812: checking for C++ dynamic_cast to void*" >&5 + if eval "test \"`echo '$''{'ac_cv_cpp_dynamic_cast_void_ptr'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -11876,7 +11816,7 @@ else + ac_cv_cpp_dynamic_cast_void_ptr=no + else + cat > conftest.$ac_ext <<EOF +-#line 11880 "configure" ++#line 11820 "configure" + #include "confdefs.h" + class X { int i; public: virtual ~X() { } }; + class Y { int j; public: virtual ~Y() { } }; +@@ -11892,7 +11832,7 @@ class X { int i; public: virtual ~X() { } }; + ((void*)&mdo == dynamic_cast<void*>(suby)))); + } + EOF +-if { (eval echo configure:11896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:11836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv_cpp_dynamic_cast_void_ptr=yes + else +@@ -11919,19 +11859,19 @@ fi + + + echo $ac_n "checking whether C++ requires implementation of unused virtual methods""... $ac_c" 1>&6 +-echo "configure:11923: checking whether C++ requires implementation of unused virtual methods" >&5 ++echo "configure:11863: checking whether C++ requires implementation of unused virtual methods" >&5 + if eval "test \"`echo '$''{'ac_cv_cpp_unused_required'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11928 "configure" ++#line 11868 "configure" + #include "confdefs.h" + class X {private: virtual void never_called();}; + int main() { + X x; + ; return 0; } + EOF +-if { (eval echo configure:11935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_cpp_unused_required=no + else +@@ -11957,12 +11897,12 @@ fi + + + echo $ac_n "checking for trouble comparing to zero near std::operator!=()""... $ac_c" 1>&6 +-echo "configure:11961: checking for trouble comparing to zero near std::operator!=()" >&5 ++echo "configure:11901: checking for trouble comparing to zero near std::operator!=()" >&5 + if eval "test \"`echo '$''{'ac_cv_trouble_comparing_to_zero'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 11966 "configure" ++#line 11906 "configure" + #include "confdefs.h" + #include <algorithm> + template <class T> class Foo {}; +@@ -11973,7 +11913,7 @@ int main() { + Foo<int> f; return (0 != f); + ; return 0; } + EOF +-if { (eval echo configure:11977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:11917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_trouble_comparing_to_zero=no + else +@@ -12003,19 +11943,19 @@ fi + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $DSO_PIC_CFLAGS $DSO_LDOPTS $MOZ_OPTIMIZE_LDFLAGS" + echo $ac_n "checking for __thread keyword for TLS variables""... $ac_c" 1>&6 +-echo "configure:12007: checking for __thread keyword for TLS variables" >&5 ++echo "configure:11947: checking for __thread keyword for TLS variables" >&5 + if eval "test \"`echo '$''{'ac_cv_thread_keyword'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12012 "configure" ++#line 11952 "configure" + #include "confdefs.h" + __thread bool tlsIsMainThread = false; + int main() { + return tlsIsMainThread; + ; return 0; } + EOF +-if { (eval echo configure:12019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:11959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_thread_keyword=yes + else +@@ -12055,12 +11995,12 @@ fi + MALLOC_H= + ac_safe=`echo "malloc.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for malloc.h""... $ac_c" 1>&6 +-echo "configure:12059: checking for malloc.h" >&5 ++echo "configure:11999: checking for malloc.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12064 "configure" ++#line 12004 "configure" + #include "confdefs.h" + + #include <malloc.h> +@@ -12068,7 +12008,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:12072: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -12091,12 +12031,12 @@ fi + if test "$MALLOC_H" = ""; then + ac_safe=`echo "malloc/malloc.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for malloc/malloc.h""... $ac_c" 1>&6 +-echo "configure:12095: checking for malloc/malloc.h" >&5 ++echo "configure:12035: checking for malloc/malloc.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12100 "configure" ++#line 12040 "configure" + #include "confdefs.h" + + #include <malloc/malloc.h> +@@ -12104,7 +12044,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:12108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12048: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -12127,12 +12067,12 @@ fi + if test "$MALLOC_H" = ""; then + ac_safe=`echo "sys/malloc.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for sys/malloc.h""... $ac_c" 1>&6 +-echo "configure:12131: checking for sys/malloc.h" >&5 ++echo "configure:12071: checking for sys/malloc.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12136 "configure" ++#line 12076 "configure" + #include "confdefs.h" + + #include <sys/malloc.h> +@@ -12140,7 +12080,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:12144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -12176,12 +12116,12 @@ MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc" + for ac_func in strndup posix_memalign memalign valloc + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:12180: checking for $ac_func" >&5 ++echo "configure:12120: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12185 "configure" ++#line 12125 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -12207,7 +12147,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:12211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:12151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -12237,19 +12177,19 @@ done + + + echo $ac_n "checking for __attribute__((always_inline))""... $ac_c" 1>&6 +-echo "configure:12241: checking for __attribute__((always_inline))" >&5 ++echo "configure:12181: checking for __attribute__((always_inline))" >&5 + if eval "test \"`echo '$''{'ac_cv_attribute_always_inline'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12246 "configure" ++#line 12186 "configure" + #include "confdefs.h" + inline void f(void) __attribute__((always_inline)); + int main() { + + ; return 0; } + EOF +-if { (eval echo configure:12253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_attribute_always_inline=yes + else +@@ -12264,19 +12204,19 @@ fi + echo "$ac_t""$ac_cv_attribute_always_inline" 1>&6 + + echo $ac_n "checking for __attribute__((malloc))""... $ac_c" 1>&6 +-echo "configure:12268: checking for __attribute__((malloc))" >&5 ++echo "configure:12208: checking for __attribute__((malloc))" >&5 + if eval "test \"`echo '$''{'ac_cv_attribute_malloc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12273 "configure" ++#line 12213 "configure" + #include "confdefs.h" + void* f(int) __attribute__((malloc)); + int main() { + + ; return 0; } + EOF +-if { (eval echo configure:12280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12220: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_attribute_malloc=yes + else +@@ -12291,19 +12231,19 @@ fi + echo "$ac_t""$ac_cv_attribute_malloc" 1>&6 + + echo $ac_n "checking for __attribute__((warn_unused_result))""... $ac_c" 1>&6 +-echo "configure:12295: checking for __attribute__((warn_unused_result))" >&5 ++echo "configure:12235: checking for __attribute__((warn_unused_result))" >&5 + if eval "test \"`echo '$''{'ac_cv_attribute_warn_unused'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12300 "configure" ++#line 12240 "configure" + #include "confdefs.h" + int f(void) __attribute__((warn_unused_result)); + int main() { + + ; return 0; } + EOF +-if { (eval echo configure:12307: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_attribute_warn_unused=yes + else +@@ -12327,19 +12267,19 @@ cross_compiling=$ac_cv_prog_cc_cross + + + echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 +-echo "configure:12331: checking for LC_MESSAGES" >&5 ++echo "configure:12271: checking for LC_MESSAGES" >&5 + if eval "test \"`echo '$''{'ac_cv_i18n_lc_messages'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12336 "configure" ++#line 12276 "configure" + #include "confdefs.h" + #include <locale.h> + int main() { + int category = LC_MESSAGES; + ; return 0; } + EOF +-if { (eval echo configure:12343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_i18n_lc_messages=yes + else +@@ -12365,12 +12305,12 @@ fi + for ac_func in localeconv + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:12369: checking for $ac_func" >&5 ++echo "configure:12309: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 12374 "configure" ++#line 12314 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -12393,7 +12333,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:12397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:12337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -12580,7 +12520,7 @@ fi + # Extract the first word of "nspr-config", so it can be a program name with args. + set dummy nspr-config; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:12584: checking for $ac_word" >&5 ++echo "configure:12524: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_path_NSPR_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -12615,7 +12555,7 @@ fi + + min_nspr_version=$NSPR_MINVER + echo $ac_n "checking for NSPR - version >= $min_nspr_version""... $ac_c" 1>&6 +-echo "configure:12619: checking for NSPR - version >= $min_nspr_version" >&5 ++echo "configure:12559: checking for NSPR - version >= $min_nspr_version" >&5 + + no_nspr="" + if test "$NSPR_CONFIG" != "no"; then +@@ -12678,7 +12618,7 @@ if test -n "$MOZ_NATIVE_NSPR"; then + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $NSPR_CFLAGS" + cat > conftest.$ac_ext <<EOF +-#line 12682 "configure" ++#line 12622 "configure" + #include "confdefs.h" + #include "prlog.h" + int main() { +@@ -12687,7 +12627,7 @@ int main() { + #endif + ; return 0; } + EOF +-if { (eval echo configure:12691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + MOZ_NATIVE_NSPR=1 + else +@@ -12729,7 +12669,7 @@ if test -z "$MOZ_ZLIB_LIBS$MOZ_ZLIB_CFLAGS$SKIP_LIBRARY_CHECKS"; then + MOZ_NATIVE_ZLIB= + else + echo $ac_n "checking for gzread in -lz""... $ac_c" 1>&6 +-echo "configure:12733: checking for gzread in -lz" >&5 ++echo "configure:12673: checking for gzread in -lz" >&5 + ac_lib_var=`echo z'_'gzread | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -12737,7 +12677,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-lz $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 12741 "configure" ++#line 12681 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -12748,7 +12688,7 @@ int main() { + gzread() + ; return 0; } + EOF +-if { (eval echo configure:12752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:12692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -12772,7 +12712,7 @@ fi + if test "$MOZ_NATIVE_ZLIB" = 1; then + MOZZLIBNUM=`echo $MOZZLIB | awk -F. '{printf "0x%x\n", ((($1 * 16 + $2) * 16) + $3) * 16 + $4}'` + cat > conftest.$ac_ext <<EOF +-#line 12776 "configure" ++#line 12716 "configure" + #include "confdefs.h" + #include <stdio.h> + #include <string.h> +@@ -12783,7 +12723,7 @@ int main() { + #endif + ; return 0; } + EOF +-if { (eval echo configure:12787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:12727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + MOZ_NATIVE_ZLIB=1 + else +@@ -12829,7 +12769,7 @@ if test -n "$MOZ_NATIVE_FFI"; then + # Extract the first word of "pkg-config", so it can be a program name with args. + set dummy pkg-config; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:12833: checking for $ac_word" >&5 ++echo "configure:12773: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -12873,19 +12813,19 @@ fi + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo $ac_n "checking for libffi > 3.0.9""... $ac_c" 1>&6 +-echo "configure:12877: checking for libffi > 3.0.9" >&5 ++echo "configure:12817: checking for libffi > 3.0.9" >&5 + + if $PKG_CONFIG --exists "libffi > 3.0.9" ; then + echo "$ac_t""yes" 1>&6 + succeeded=yes + + echo $ac_n "checking MOZ_FFI_CFLAGS""... $ac_c" 1>&6 +-echo "configure:12884: checking MOZ_FFI_CFLAGS" >&5 ++echo "configure:12824: checking MOZ_FFI_CFLAGS" >&5 + MOZ_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi > 3.0.9"` + echo "$ac_t""$MOZ_FFI_CFLAGS" 1>&6 + + echo $ac_n "checking MOZ_FFI_LIBS""... $ac_c" 1>&6 +-echo "configure:12889: checking MOZ_FFI_LIBS" >&5 ++echo "configure:12829: checking MOZ_FFI_LIBS" >&5 + ## Remove evil flags like -Wl,--export-dynamic + MOZ_FFI_LIBS="`$PKG_CONFIG --libs \"libffi > 3.0.9\" |sed s/-Wl,--export-dynamic//g`" + echo "$ac_t""$MOZ_FFI_LIBS" 1>&6 +@@ -12921,7 +12861,7 @@ echo "configure:12889: checking MOZ_FFI_LIBS" >&5 + # Extract the first word of "pkg-config", so it can be a program name with args. + set dummy pkg-config; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:12925: checking for $ac_word" >&5 ++echo "configure:12865: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -12965,19 +12905,19 @@ fi + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo $ac_n "checking for libffi >= 3.0.9""... $ac_c" 1>&6 +-echo "configure:12969: checking for libffi >= 3.0.9" >&5 ++echo "configure:12909: checking for libffi >= 3.0.9" >&5 + + if $PKG_CONFIG --exists "libffi >= 3.0.9" ; then + echo "$ac_t""yes" 1>&6 + succeeded=yes + + echo $ac_n "checking MOZ_FFI_CFLAGS""... $ac_c" 1>&6 +-echo "configure:12976: checking MOZ_FFI_CFLAGS" >&5 ++echo "configure:12916: checking MOZ_FFI_CFLAGS" >&5 + MOZ_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi >= 3.0.9"` + echo "$ac_t""$MOZ_FFI_CFLAGS" 1>&6 + + echo $ac_n "checking MOZ_FFI_LIBS""... $ac_c" 1>&6 +-echo "configure:12981: checking MOZ_FFI_LIBS" >&5 ++echo "configure:12921: checking MOZ_FFI_LIBS" >&5 + ## Remove evil flags like -Wl,--export-dynamic + MOZ_FFI_LIBS="`$PKG_CONFIG --libs \"libffi >= 3.0.9\" |sed s/-Wl,--export-dynamic//g`" + echo "$ac_t""$MOZ_FFI_LIBS" 1>&6 +@@ -13112,18 +13052,18 @@ MOZ_DEBUG_DISABLE_DEFS="-DNDEBUG -DTRIMMED" + + if test -n "$MOZ_DEBUG"; then + echo $ac_n "checking for valid debug flags""... $ac_c" 1>&6 +-echo "configure:13116: checking for valid debug flags" >&5 ++echo "configure:13056: checking for valid debug flags" >&5 + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_DEBUG_FLAGS" + cat > conftest.$ac_ext <<EOF +-#line 13120 "configure" ++#line 13060 "configure" + #include "confdefs.h" + #include <stdio.h> + int main() { + printf("Hello World\n"); + ; return 0; } + EOF +-if { (eval echo configure:13127: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:13067: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _results=yes + else +@@ -13201,18 +13141,18 @@ fi + if test "$COMPILE_ENVIRONMENT"; then + if test -n "$MOZ_OPTIMIZE"; then + echo $ac_n "checking for valid optimization flags""... $ac_c" 1>&6 +-echo "configure:13205: checking for valid optimization flags" >&5 ++echo "configure:13145: checking for valid optimization flags" >&5 + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS" + cat > conftest.$ac_ext <<EOF +-#line 13209 "configure" ++#line 13149 "configure" + #include "confdefs.h" + #include <stdio.h> + int main() { + printf("Hello World\n"); + ; return 0; } + EOF +-if { (eval echo configure:13216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:13156: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _results=yes + else +@@ -13364,7 +13304,7 @@ EOF + fi + else + echo $ac_n "checking size of int *""... $ac_c" 1>&6 +-echo "configure:13368: checking size of int *" >&5 ++echo "configure:13308: checking size of int *" >&5 + if eval "test \"`echo '$''{'ac_cv_sizeof_int_p'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -13372,7 +13312,7 @@ else + ac_cv_sizeof_int_p=4 + else + cat > conftest.$ac_ext <<EOF +-#line 13376 "configure" ++#line 13316 "configure" + #include "confdefs.h" + #include <stdio.h> + int main() +@@ -13383,7 +13323,7 @@ int main() + return(0); + } + EOF +-if { (eval echo configure:13387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:13327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv_sizeof_int_p=`cat conftestval` + else +@@ -13687,12 +13627,12 @@ fi + if test -n "$MOZ_VALGRIND"; then + ac_safe=`echo "valgrind/valgrind.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for valgrind/valgrind.h""... $ac_c" 1>&6 +-echo "configure:13691: checking for valgrind/valgrind.h" >&5 ++echo "configure:13631: checking for valgrind/valgrind.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 13696 "configure" ++#line 13636 "configure" + #include "confdefs.h" + + #include <valgrind/valgrind.h> +@@ -13700,7 +13640,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:13704: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:13644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -13973,7 +13913,7 @@ do + # Extract the first word of "$ac_prog", so it can be a program name with args. + set dummy $ac_prog; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:13977: checking for $ac_word" >&5 ++echo "configure:13917: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_path_CCACHE'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -14099,12 +14039,12 @@ cross_compiling=$ac_cv_prog_cxx_cross + for ac_func in __cxa_demangle + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:14103: checking for $ac_func" >&5 ++echo "configure:14043: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 14108 "configure" ++#line 14048 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -14130,7 +14070,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:14134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:14074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -14184,12 +14124,12 @@ fi + if test -z "$SKIP_LIBRARY_CHECKS"; then + ac_safe=`echo "unwind.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for unwind.h""... $ac_c" 1>&6 +-echo "configure:14188: checking for unwind.h" >&5 ++echo "configure:14128: checking for unwind.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 14193 "configure" ++#line 14133 "configure" + #include "confdefs.h" + + #include <unwind.h> +@@ -14197,7 +14137,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:14201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:14141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else +@@ -14214,12 +14154,12 @@ fi + for ac_func in _Unwind_Backtrace + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:14218: checking for $ac_func" >&5 ++echo "configure:14158: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 14223 "configure" ++#line 14163 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -14242,7 +14182,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:14246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:14186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -14334,7 +14274,7 @@ if test -z "$SKIP_COMPILER_CHECKS"; then + # Compiler Options + + echo $ac_n "checking for -pipe support""... $ac_c" 1>&6 +-echo "configure:14338: checking for -pipe support" >&5 ++echo "configure:14278: checking for -pipe support" >&5 + if test -n "$GNU_CC" -a -n "$GNU_CXX"; then + CFLAGS="$CFLAGS -pipe" + CXXFLAGS="$CXXFLAGS -pipe" +@@ -14348,16 +14288,16 @@ _SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fprofile-generate -fprofile-correction" + + echo $ac_n "checking whether C compiler supports -fprofile-generate""... $ac_c" 1>&6 +-echo "configure:14352: checking whether C compiler supports -fprofile-generate" >&5 ++echo "configure:14292: checking whether C compiler supports -fprofile-generate" >&5 + cat > conftest.$ac_ext <<EOF +-#line 14354 "configure" ++#line 14294 "configure" + #include "confdefs.h" + + int main() { + return 0; + ; return 0; } + EOF +-if { (eval echo configure:14361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:14301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + PROFILE_GEN_CFLAGS="-fprofile-generate" + result="yes" +@@ -14421,16 +14361,16 @@ if test "$_PEDANTIC"; then + _SAVE_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS -pedantic ${_WARNINGS_CXXFLAGS} -Wno-long-long" + echo $ac_n "checking whether C++ compiler has -pedantic long long bug""... $ac_c" 1>&6 +-echo "configure:14425: checking whether C++ compiler has -pedantic long long bug" >&5 ++echo "configure:14365: checking whether C++ compiler has -pedantic long long bug" >&5 + cat > conftest.$ac_ext <<EOF +-#line 14427 "configure" ++#line 14367 "configure" + #include "confdefs.h" + $configure_static_assert_macros + int main() { + CONFIGURE_STATIC_ASSERT(sizeof(long long) == 8) + ; return 0; } + EOF +-if { (eval echo configure:14434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:14374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + result="no" + else +@@ -14457,12 +14397,12 @@ fi + _SAVE_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS ${_WARNINGS_CXXFLAGS}" + echo $ac_n "checking for correct overload resolution with const and templates""... $ac_c" 1>&6 +-echo "configure:14461: checking for correct overload resolution with const and templates" >&5 ++echo "configure:14401: checking for correct overload resolution with const and templates" >&5 + if eval "test \"`echo '$''{'ac_nscap_nonconst_opeq_bug'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 14466 "configure" ++#line 14406 "configure" + #include "confdefs.h" + + template <class T> +@@ -14492,7 +14432,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:14496: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:14436: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_nscap_nonconst_opeq_bug="no" + else +@@ -14518,19 +14458,19 @@ EOF + fi + + echo $ac_n "checking for tm_zone tm_gmtoff in struct tm""... $ac_c" 1>&6 +-echo "configure:14522: checking for tm_zone tm_gmtoff in struct tm" >&5 ++echo "configure:14462: checking for tm_zone tm_gmtoff in struct tm" >&5 + if eval "test \"`echo '$''{'ac_cv_struct_tm_zone_tm_gmtoff'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 14527 "configure" ++#line 14467 "configure" + #include "confdefs.h" + #include <time.h> + int main() { + struct tm tm; tm.tm_zone = 0; tm.tm_gmtoff = 1; + ; return 0; } + EOF +-if { (eval echo configure:14534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:14474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_struct_tm_zone_tm_gmtoff="yes" + else +@@ -14572,18 +14512,18 @@ cross_compiling=$ac_cv_prog_cc_cross + + + echo $ac_n "checking what kind of list files are supported by the linker""... $ac_c" 1>&6 +-echo "configure:14576: checking what kind of list files are supported by the linker" >&5 ++echo "configure:14516: checking what kind of list files are supported by the linker" >&5 + if eval "test \"`echo '$''{'EXPAND_LIBS_LIST_STYLE'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + echo "int main() {return 0;}" > conftest.${ac_ext} +- if { ac_try='${CC-cc} -o conftest.${OBJ_SUFFIX} -c $CFLAGS $CPPFLAGS conftest.${ac_ext} 1>&5'; { (eval echo configure:14581: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.${OBJ_SUFFIX}; then ++ if { ac_try='${CC-cc} -o conftest.${OBJ_SUFFIX} -c $CFLAGS $CPPFLAGS conftest.${ac_ext} 1>&5'; { (eval echo configure:14521: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.${OBJ_SUFFIX}; then + echo "INPUT(conftest.${OBJ_SUFFIX})" > conftest.list +- if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS conftest.list $LIBS 1>&5'; { (eval echo configure:14583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then ++ if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS conftest.list $LIBS 1>&5'; { (eval echo configure:14523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then + EXPAND_LIBS_LIST_STYLE=linkerscript + else + echo "conftest.${OBJ_SUFFIX}" > conftest.list +- if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS @conftest.list $LIBS 1>&5'; { (eval echo configure:14587: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then ++ if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS @conftest.list $LIBS 1>&5'; { (eval echo configure:14527: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then + EXPAND_LIBS_LIST_STYLE=list + else + EXPAND_LIBS_LIST_STYLE=none +@@ -14603,7 +14543,7 @@ LIBS_DESC_SUFFIX=desc + + if test "$GCC_USE_GNU_LD"; then + echo $ac_n "checking what kind of ordering can be done with the linker""... $ac_c" 1>&6 +-echo "configure:14607: checking what kind of ordering can be done with the linker" >&5 ++echo "configure:14547: checking what kind of ordering can be done with the linker" >&5 + if eval "test \"`echo '$''{'EXPAND_LIBS_ORDER_STYLE'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -14611,14 +14551,14 @@ else + _SAVE_LDFLAGS="$LDFLAGS" + LDFLAGS="${LDFLAGS} -Wl,--section-ordering-file,conftest.order" + cat > conftest.$ac_ext <<EOF +-#line 14615 "configure" ++#line 14555 "configure" + #include "confdefs.h" + + int main() { + + ; return 0; } + EOF +-if { (eval echo configure:14622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:14562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + EXPAND_LIBS_ORDER_STYLE=section-ordering-file + else +@@ -14630,7 +14570,7 @@ fi + rm -f conftest* + LDFLAGS="$_SAVE_LDFLAGS" + if test -z "$EXPAND_LIBS_ORDER_STYLE"; then +- if { ac_try='${CC-cc} ${DSO_LDOPTS} ${LDFLAGS} -o ${DLL_PREFIX}conftest${DLL_SUFFIX} -Wl'; { (eval echo configure:14634: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then ++ if { ac_try='${CC-cc} ${DSO_LDOPTS} ${LDFLAGS} -o ${DLL_PREFIX}conftest${DLL_SUFFIX} -Wl'; { (eval echo configure:14574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + EXPAND_LIBS_ORDER_STYLE=linkerscript + else + EXPAND_LIBS_ORDER_STYLE=none +@@ -14741,7 +14681,7 @@ esac + if test -z "$SKIP_LIBRARY_CHECKS" -a -z "$NO_EDITLINE"; then + if test -n "$JS_WANT_READLINE"; then + echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6 +-echo "configure:14745: checking for readline in -lreadline" >&5 ++echo "configure:14685: checking for readline in -lreadline" >&5 + ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -14749,7 +14689,7 @@ else + ac_save_LIBS="$LIBS" + LIBS="-lreadline $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 14753 "configure" ++#line 14693 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -14760,7 +14700,7 @@ int main() { + readline() + ; return 0; } + EOF +-if { (eval echo configure:14764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:14704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -14990,9 +14930,9 @@ EOF + + + echo $ac_n "checking for posix_fallocate""... $ac_c" 1>&6 +-echo "configure:14994: checking for posix_fallocate" >&5 ++echo "configure:14934: checking for posix_fallocate" >&5 + cat > conftest.$ac_ext <<EOF +-#line 14996 "configure" ++#line 14936 "configure" + #include "confdefs.h" + #define _XOPEN_SOURCE 600 + #include <fcntl.h> +@@ -15000,7 +14940,7 @@ int main() { + posix_fallocate(0, 0, 0); + ; return 0; } + EOF +-if { (eval echo configure:15004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:14944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv___posix_fallocate=true + else +@@ -15029,7 +14969,7 @@ if test "$MOZ_X11"; then + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $XCFLAGS" + cat > conftest.$ac_ext <<EOF +-#line 15033 "configure" ++#line 14973 "configure" + #include "confdefs.h" + + #include <stdio.h> +@@ -15047,7 +14987,7 @@ int main() { + + ; return 0; } + EOF +-if { (eval echo configure:15051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:14991: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : + else + echo "configure: failed program was:" >&5 +@@ -15162,12 +15102,12 @@ fi + for ac_func in setlocale + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:15166: checking for $ac_func" >&5 ++echo "configure:15106: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 15171 "configure" ++#line 15111 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -15190,7 +15130,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:15194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:15134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -15220,12 +15160,12 @@ done + for ac_func in localeconv + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +-echo "configure:15224: checking for $ac_func" >&5 ++echo "configure:15164: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 15229 "configure" ++#line 15169 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +@@ -15248,7 +15188,7 @@ $ac_func(); + + ; return 0; } + EOF +-if { (eval echo configure:15252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:15192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +-- +1.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch new file mode 100644 index 0000000000..6aeb2f6836 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch @@ -0,0 +1,75 @@ +From d4a15ad82292ff6d772dcc631df98754d20be31b Mon Sep 17 00:00:00 2001 +From: Colin Walters <walters@verbum.org> +Date: Tue, 18 Mar 2014 11:46:05 -0400 +Subject: [PATCH 2/5] Move JS_BYTES_PER_WORD out of config.h + +Instead define it in terms of the already extant GNU C extension +__SIZEOF_POINTER__. This avoids multiarch conflicts when 32 and 64 +bit packages of js are co-installed. +--- + +Upstream-status: Pending + + js/src/configure.in | 9 --------- + js/src/js-config.h.in | 1 - + js/src/jstypes.h | 12 ++++++++++++ + 3 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/js/src/configure.in b/js/src/configure.in +index 15605b2..64c7606 100644 +--- a/js/src/configure.in ++++ b/js/src/configure.in +@@ -2345,15 +2345,6 @@ else + AC_MSG_RESULT(no) + fi + +-MOZ_SIZE_OF_TYPE(JS_BYTES_PER_WORD, void*, 4 8) +-if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then +- AC_DEFINE(JS_BITS_PER_WORD_LOG2, 5) +-elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then +- AC_DEFINE(JS_BITS_PER_WORD_LOG2, 6) +-else +- AC_MSG_ERROR([Unexpected JS_BYTES_PER_WORD]) +-fi +- + MOZ_ALIGN_OF_TYPE(JS_ALIGN_OF_POINTER, void*, 2 4 8 16) + MOZ_SIZE_OF_TYPE(JS_BYTES_PER_DOUBLE, double, 6 8 10 12 14) + +diff --git a/js/src/js-config.h.in b/js/src/js-config.h.in +index 6889e00..4775420 100644 +--- a/js/src/js-config.h.in ++++ b/js/src/js-config.h.in +@@ -56,7 +56,6 @@ + #undef JS_INT32_TYPE + #undef JS_INT64_TYPE + #undef JS_INTPTR_TYPE +-#undef JS_BYTES_PER_WORD + + /* Some mozilla code uses JS-friend APIs that depend on JS_METHODJIT being + correct. */ +diff --git a/js/src/jstypes.h b/js/src/jstypes.h +index d0cf183..3e7928f 100644 +--- a/js/src/jstypes.h ++++ b/js/src/jstypes.h +@@ -24,6 +24,18 @@ + #include "mozilla/Util.h" + + #include "js-config.h" ++#ifndef JS_BYTES_PER_WORD ++#define JS_BYTES_PER_WORD __SIZEOF_POINTER__ ++#endif ++#ifndef JS_BITS_PER_WORD_LOG2 ++#if JS_BYTES_PER_WORD == 8 ++#define JS_BITS_PER_WORD_LOG2 6 ++#elif JS_BYTES_PER_WORD == 4 ++#define JS_BITS_PER_WORD_LOG2 5 ++#else ++#error Unhandled JS_BYTES_PER_WORD ++#endif ++#endif + + /*********************************************************************** + ** MACROS: JS_EXTERN_API +-- +1.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0003-Add-AArch64-support.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0003-Add-AArch64-support.patch new file mode 100644 index 0000000000..6e724292a4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0003-Add-AArch64-support.patch @@ -0,0 +1,76 @@ +From 15e710e331d36eb279852b5cd1ba37a9a6005217 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Mon, 2 Mar 2015 19:08:22 +0800 +Subject: [PATCH 3/5] Add AArch64 support + +--- +Upstream-status: Pending + + js/src/assembler/jit/ExecutableAllocator.h | 6 ++++++ + js/src/assembler/wtf/Platform.h | 4 ++++ + js/src/configure.in | 4 ++++ + mfbt/double-conversion/utils.h | 1 + + 4 files changed, 15 insertions(+) + +diff --git a/js/src/assembler/jit/ExecutableAllocator.h b/js/src/assembler/jit/ExecutableAllocator.h +index c071c33..90764c3 100644 +--- a/js/src/assembler/jit/ExecutableAllocator.h ++++ b/js/src/assembler/jit/ExecutableAllocator.h +@@ -382,6 +382,12 @@ public: + { + reprotectRegion(start, size, Executable); + } ++#elif WTF_CPU_AARCH64 && WTF_PLATFORM_LINUX ++ static void cacheFlush(void* code, size_t size) ++ { ++ intptr_t end = reinterpret_cast<intptr_t>(code) + size; ++ __builtin___clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(end)); ++ } + #else + static void makeWritable(void*, size_t) {} + static void makeExecutable(void*, size_t) {} +diff --git a/js/src/assembler/wtf/Platform.h b/js/src/assembler/wtf/Platform.h +index 0c84896..e8763a7 100644 +--- a/js/src/assembler/wtf/Platform.h ++++ b/js/src/assembler/wtf/Platform.h +@@ -325,6 +325,10 @@ + #define WTF_THUMB_ARCH_VERSION 0 + #endif + ++/* CPU(AArch64) - 64-bit ARM */ ++#if defined(__aarch64__) ++#define WTF_CPU_AARCH64 1 ++#endif + + /* WTF_CPU_ARMV5_OR_LOWER - ARM instruction set v5 or earlier */ + /* On ARMv5 and below the natural alignment is required. +diff --git a/js/src/configure.in b/js/src/configure.in +index 64c7606..0673aca 100644 +--- a/js/src/configure.in ++++ b/js/src/configure.in +@@ -1121,6 +1121,10 @@ arm*) + CPU_ARCH=arm + ;; + ++aarch64) ++ CPU_ARCH=aarch64 ++ ;; ++ + mips|mipsel) + CPU_ARCH="mips" + ;; +diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h +index 0eec2d9..fe26dab 100644 +--- a/mfbt/double-conversion/utils.h ++++ b/mfbt/double-conversion/utils.h +@@ -58,6 +58,7 @@ + defined(__mips__) || defined(__powerpc__) || \ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ + defined(__SH4__) || defined(__alpha__) || \ ++ defined(__aarch64__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) +-- +1.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch new file mode 100644 index 0000000000..8bd35d4055 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch @@ -0,0 +1,103 @@ +From 0128c5a9eeee0d3fc0deb9129dd20eb79338c8f4 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Mon, 2 Mar 2015 19:08:59 +0800 +Subject: [PATCH 4/5] mozbug746112-no-decommit-on-large-pages + +--- +Upstream-status: Pending + + js/src/gc/Heap.h | 15 ++++++++++----- + js/src/jsgc.cpp | 15 ++++++++++++--- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h +index b8f8c78..1cfd269 100644 +--- a/js/src/gc/Heap.h ++++ b/js/src/gc/Heap.h +@@ -103,26 +103,31 @@ struct Cell + }; + + /* +- * Page size is 4096 by default, except for SPARC, where it is 8192. ++ * Page size must be static to support our arena pointer optimizations, so we ++ * are forced to support each platform with non-4096 pages as a special case. ++ * Note: The freelist supports a maximum arena shift of 15. + * Note: Do not use JS_CPU_SPARC here, this header is used outside JS. + * Bug 692267: Move page size definition to gc/Memory.h and include it + * directly once jsgc.h is no longer an installed header. + */ + #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9)) + const size_t PageShift = 13; ++const size_t ArenaShift = PageShift; ++#elif defined(__powerpc__) ++const size_t PageShift = 16; ++const size_t ArenaShift = 12; + #else + const size_t PageShift = 12; ++const size_t ArenaShift = PageShift; + #endif + const size_t PageSize = size_t(1) << PageShift; ++const size_t ArenaSize = size_t(1) << ArenaShift; ++const size_t ArenaMask = ArenaSize - 1; + + const size_t ChunkShift = 20; + const size_t ChunkSize = size_t(1) << ChunkShift; + const size_t ChunkMask = ChunkSize - 1; + +-const size_t ArenaShift = PageShift; +-const size_t ArenaSize = PageSize; +-const size_t ArenaMask = ArenaSize - 1; +- + /* + * This is the maximum number of arenas we allow in the FreeCommitted state + * before we trigger a GC_SHRINK to release free arenas to the OS. +diff --git a/js/src/jsgc.cpp b/js/src/jsgc.cpp +index b3caf05..a258d2d 100644 +--- a/js/src/jsgc.cpp ++++ b/js/src/jsgc.cpp +@@ -251,6 +251,13 @@ static const int BackgroundPhaseLength[] = { + sizeof(BackgroundPhaseStrings) / sizeof(AllocKind) + }; + ++/* Unused memory decommiting requires the arena size match the page size. */ ++static bool ++DecommitEnabled() ++{ ++ return PageSize == ArenaSize; ++} ++ + #ifdef DEBUG + void + ArenaHeader::checkSynchronizedWithFreeList() const +@@ -742,7 +749,8 @@ Chunk::fetchNextDecommittedArena() + decommittedArenas.unset(offset); + + Arena *arena = &arenas[offset]; +- MarkPagesInUse(arena, ArenaSize); ++ if (DecommitEnabled()) ++ MarkPagesInUse(arena, ArenaSize); + arena->aheader.setAsNotAllocated(); + + return &arena->aheader; +@@ -2731,7 +2739,7 @@ DecommitArenasFromAvailableList(JSRuntime *rt, Chunk **availableListHeadp) + chunk->removeFromAvailableList(); + + size_t arenaIndex = Chunk::arenaIndex(aheader->arenaAddress()); +- bool ok; ++ bool ok = true; + { + /* + * If the main thread waits for the decommit to finish, skip +@@ -2741,7 +2749,8 @@ DecommitArenasFromAvailableList(JSRuntime *rt, Chunk **availableListHeadp) + Maybe<AutoUnlockGC> maybeUnlock; + if (!rt->isHeapBusy()) + maybeUnlock.construct(rt); +- ok = MarkPagesUnused(aheader->getArena(), ArenaSize); ++ if (DecommitEnabled()) ++ ok = MarkPagesUnused(aheader->getArena(), ArenaSize); + } + + if (ok) { +-- +1.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch new file mode 100644 index 0000000000..bc99ecc504 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch @@ -0,0 +1,44 @@ +From 9c42920c2b635a399bd1f93833efdeb1696f17ee Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Mon, 2 Mar 2015 19:09:57 +0800 +Subject: [PATCH 5/5] aarch64-64k-page + +--- +Upstream-status: Pending + + js/src/gc/Heap.h | 2 +- + js/src/gc/Memory.cpp | 3 +++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h +index 1cfd269..f4dbcda 100644 +--- a/js/src/gc/Heap.h ++++ b/js/src/gc/Heap.h +@@ -113,7 +113,7 @@ struct Cell + #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9)) + const size_t PageShift = 13; + const size_t ArenaShift = PageShift; +-#elif defined(__powerpc__) ++#elif defined(__powerpc__) || defined(__aarch64__) + const size_t PageShift = 16; + const size_t ArenaShift = 12; + #else +diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp +index 5b386a2..e5ad018 100644 +--- a/js/src/gc/Memory.cpp ++++ b/js/src/gc/Memory.cpp +@@ -302,8 +302,11 @@ GetPageFaultCount() + void + InitMemorySubsystem() + { ++ /* aarch64 may have 64KB or 4KB pages */ ++#ifndef __aarch64__ + if (size_t(sysconf(_SC_PAGESIZE)) != PageSize) + MOZ_CRASH(); ++#endif + } + + void * +-- +1.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch new file mode 100644 index 0000000000..6432e1fb7b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch @@ -0,0 +1,46 @@ +From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001 +From: Maciej Borzecki <maciej.borzecki@open-rnd.pl> +Date: Tue, 5 Jan 2016 22:04:17 +0100 +Subject: [PATCH] fix cross compilation on i586 targets + +Remove offending -Wl,-rpath-link that may cause host libraries to be picked +during linking. The patch applies a fix to configure.in. So as not to +regenerate configure, similar fix is applied there. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> +--- + js/src/configure | 2 +- + js/src/configure.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/js/src/configure b/js/src/configure +index d019b0fdba44233596541de94307010d85a8e32e..5aa40f757a3dbb7d6887175046f44212c15c2eac 100755 +--- a/js/src/configure ++++ b/js/src/configure +@@ -5555,7 +5555,7 @@ TARGET_MD_ARCH=unix + DIRENT_INO=d_ino + MOZ_USER_DIR=".mozilla" + +-MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' ++MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' + + MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' + +diff --git a/js/src/configure.in b/js/src/configure.in +index 0673aca12f6d83035549ade2a4a83906bf91f0f0..39b22724f9535ac1a6dba04658c91e4ef667fc47 100644 +--- a/js/src/configure.in ++++ b/js/src/configure.in +@@ -919,7 +919,7 @@ TARGET_MD_ARCH=unix + DIRENT_INO=d_ino + MOZ_USER_DIR=".mozilla" + +-MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' ++MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' + + MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' + +-- +2.5.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch new file mode 100644 index 0000000000..83f4543193 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch @@ -0,0 +1,112 @@ +From 1d1fa95c8ff7697e46343385a79a8f7e5c514a87 Mon Sep 17 00:00:00 2001 +From: Zheng Xu <zheng.xu@linaro.org> +Date: Fri, 2 Sep 2016 17:40:05 +0800 +Subject: [PATCH] Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits + are clear. r=ehoogeveen + +There might be 48-bit VA on arm64 depending on kernel configuration. +Manually mmap heap memory to align with the assumption made by JS engine. + +Change-Id: Ic5d2b2fe4b758b3c87cc0688348af7e71a991146 + +Upstream-status: Backport + +--- + js/src/gc/Memory.cpp | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 71 insertions(+), 2 deletions(-) + +diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp +index e5ad018..4149adf 100644 +--- a/js/src/gc/Memory.cpp ++++ b/js/src/gc/Memory.cpp +@@ -309,6 +309,75 @@ InitMemorySubsystem() + #endif + } + ++static inline void * ++MapMemory(size_t length, int prot, int flags, int fd, off_t offset) ++{ ++#if defined(__ia64__) ++ /* ++ * The JS engine assumes that all allocated pointers have their high 17 bits clear, ++ * which ia64's mmap doesn't support directly. However, we can emulate it by passing ++ * mmap an "addr" parameter with those bits clear. The mmap will return that address, ++ * or the nearest available memory above that address, providing a near-guarantee ++ * that those bits are clear. If they are not, we return NULL below to indicate ++ * out-of-memory. ++ * ++ * The addr is chosen as 0x0000070000000000, which still allows about 120TB of virtual ++ * address space. ++ * ++ * See Bug 589735 for more information. ++ */ ++ void *region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset); ++ if (region == MAP_FAILED) ++ return MAP_FAILED; ++ /* ++ * If the allocated memory doesn't have its upper 17 bits clear, consider it ++ * as out of memory. ++ */ ++ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) { ++ JS_ALWAYS_TRUE(0 == munmap(region, length)); ++ return MAP_FAILED; ++ } ++ return region; ++#elif defined(__aarch64__) ++ /* ++ * There might be similar virtual address issue on arm64 which depends on ++ * hardware and kernel configurations. But the work around is slightly ++ * different due to the different mmap behavior. ++ * ++ * TODO: Merge with the above code block if this implementation works for ++ * ia64 and sparc64. ++ */ ++ const uintptr_t start = UINT64_C(0x0000070000000000); ++ const uintptr_t end = UINT64_C(0x0000800000000000); ++ const uintptr_t step = ChunkSize; ++ /* ++ * Optimization options if there are too many retries in practice: ++ * 1. Examine /proc/self/maps to find an available address. This file is ++ * not always available, however. In addition, even if we examine ++ * /proc/self/maps, we may still need to retry several times due to ++ * racing with other threads. ++ * 2. Use a global/static variable with lock to track the addresses we have ++ * allocated or tried. ++ */ ++ uintptr_t hint; ++ void* region = MAP_FAILED; ++ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) { ++ region = mmap((void*)hint, length, prot, flags, fd, offset); ++ if (region != MAP_FAILED) { ++ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) { ++ if (munmap(region, length)) { ++ MOZ_ASSERT(errno == ENOMEM); ++ } ++ region = MAP_FAILED; ++ } ++ } ++ } ++ return region == MAP_FAILED ? NULL : region; ++#else ++ return mmap(NULL, length, prot, flags, fd, offset); ++#endif ++} ++ + void * + MapAlignedPages(size_t size, size_t alignment) + { +@@ -322,12 +391,12 @@ MapAlignedPages(size_t size, size_t alignment) + + /* Special case: If we want page alignment, no further work is needed. */ + if (alignment == PageSize) { +- return mmap(NULL, size, prot, flags, -1, 0); ++ return MapMemory(size, prot, flags, -1, 0); + } + + /* Overallocate and unmap the region's edges. */ + size_t reqSize = Min(size + 2 * alignment, 2 * size); +- void *region = mmap(NULL, reqSize, prot, flags, -1, 0); ++ void *region = MapMemory(reqSize, prot, flags, -1, 0); + if (region == MAP_FAILED) + return NULL; + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch new file mode 100644 index 0000000000..43c459042b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch @@ -0,0 +1,18 @@ +fix the compile error of powerpc64 + +Upstream-status: Accepted + + fix the following error + |error: 'jsuword' does not name a type + + +--- a/js/src/jsval.hold 2015-04-24 01:15:06.692970731 -0500 ++++ b/js/src/jsval.h 2015-04-24 01:15:41.792969478 -0500 +@@ -304,7 +304,6 @@ + int32_t i32; + uint32_t u32; + JSWhyMagic why; +- jsuword word; + } payload; + } s; + double asDouble; diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch new file mode 100644 index 0000000000..abde01bcdb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch @@ -0,0 +1,20 @@ +fix the compile error do to perl update + +Upstream-status: Inappropriate + + +Signed-of-by: Armin Kuster <akuster808@gmail.com> + +Index: src/config/milestone.pl +=================================================================== +--- src.orig/config/milestone.pl ++++ src/config/milestone.pl +@@ -55,7 +55,7 @@ $MILESTONE_FILE = "$TOPSRCDIR/config/mi + # + my $milestone = Moz::Milestone::getOfficialMilestone($MILESTONE_FILE); + +-if (defined(@TEMPLATE_FILE)) { ++if (@TEMPLATE_FILE) { + my $TFILE; + + foreach $TFILE (@TEMPLATE_FILE) { diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb new file mode 100644 index 0000000000..49b7f156e1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb @@ -0,0 +1,82 @@ +SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" +HOMEPAGE = "http://www.mozilla.org/js/" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad" + +SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \ + file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \ + file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \ + file://0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch;patchdir=../../ \ + file://0003-Add-AArch64-support.patch;patchdir=../../ \ + file://0004-mozbug746112-no-decommit-on-large-pages.patch;patchdir=../../ \ + file://0005-aarch64-64k-page.patch;patchdir=../../ \ + file://0001-regenerate-configure.patch;patchdir=../../ \ + file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \ + file://fix_milestone_compile_issue.patch \ + file://0010-fix-cross-compilation-on-i586-targets.patch;patchdir=../../ \ + file://Manually_mmap_heap_memory_esr17.patch;patchdir=../../ \ + file://0001-compare-the-first-character-of-string-to-be-null-or-.patch;patchdir=../../ \ + " + +SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202" +SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba" + +S = "${WORKDIR}/${BPN}${PV}/js/src" + +inherit autotools pkgconfig perlnative pythonnative + +DEPENDS += "nspr zlib" + +# Host specific flags need to be defined, otherwise target flags will be passed to the host +export HOST_CFLAGS = "${BUILD_CFLAGS}" +export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}" +export HOST_LDFLAGS = "${BUILD_LDFLAGS}" + +# nspr's package-config is ignored so set libs manually +EXTRA_OECONF = " \ + --target=${TARGET_SYS} \ + --host=${BUILD_SYS} \ + --build=${BUILD_SYS} \ + --prefix=${prefix} \ + --libdir=${libdir} \ + --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \ + --enable-threadsafe \ + --disable-static \ +" +EXTRA_OECONF_append_armv4 = " \ + --disable-methodjit \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" + +# mozjs requires autoreconf 2.13 +do_configure() { + export HOST_CFLAGS="${BUILD_CFLAGS}" + export HOST_CXXFLAGS="${BUILD_CPPFLAGS}" + export HOST_LDFLAGS="${BUILD_LDFLAGS}" + ( cd ${S} + gnu-configize --force + mv config.guess config.sub build/autoconf ) + ${S}/configure ${EXTRA_OECONF} +} + +# patch.bbclass will try to apply the patches already present and fail, so clean them out +do_unpack() { + tar -xvf ${DL_DIR}/mozjs17.0.0.tar.gz -C ${WORKDIR}/ + rm -rf ${WORKDIR}/${BPN}${PV}/patches +} + + +PACKAGES =+ "lib${BPN}" +FILES_lib${BPN} += "${libdir}/lib*.so" +FILES_${PN}-dev += "${bindir}/js17-config" + +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20' +#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)' +#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)' +#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300' +#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52' +ARM_INSTRUCTION_SET = "arm" diff --git a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb new file mode 100644 index 0000000000..930c041233 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb @@ -0,0 +1,58 @@ +SUMMARY = "Linux Library for low speed I/O Communication" +HOMEPAGE = "https://github.com/intel-iot-devkit/mraa" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=4b92a3b497d7943042a6db40c088c3f2" + +SRCREV = "fbb7d9232067eac3f4508a37a8f7ea0c4fcebacb" +PV = "1.9.0-git${SRCPV}" + +SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \ + " + +S = "${WORKDIR}/git" + +# CMakeLists.txt checks the architecture, only x86 and ARM supported for now +COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" + +inherit cmake distutils3-base + +DEPENDS += "json-c" + +EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON" + +# Prepend mraa-utils to make sure bindir ends up in there +PACKAGES =+ "${PN}-utils" + +FILES_${PN}-doc += "${datadir}/mraa/examples/" + +FILES_${PN}-utils = "${bindir}/" + +# override this in local.conf to get needed bindings. +# BINDINGS_pn-mraa="python" +# will result in only the python bindings being built/packaged. +# Note: 'nodejs' is disabled by default because the bindings +# generation currently fails with nodejs (>v7.x). +BINDINGS ??= "python" + +# nodejs isn't available for armv4/armv5 architectures +BINDINGS_armv4 ??= "python" +BINDINGS_armv5 ??= "python" + +PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \ + ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}" + +PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN}," +PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native," +PACKAGECONFIG[ft4222] = "-DUSBPLAT=ON -DFTDI4222=ON, -DUSBPLAT=OFF -DFTDI4222=OFF,, libft4222" + +FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/" +RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}" + +FILES_node-${PN} = "${prefix}/lib/node_modules/" +RDEPENDS_node-${PN} += "nodejs" + +### Include desired language bindings ### +PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}" +PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch b/meta-openembedded/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch new file mode 100644 index 0000000000..653a7e44c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch @@ -0,0 +1,40 @@ +From 7b04c4873c0a4510bdaf9145bf01ca34b3549fdb Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Thu, 4 Dec 2014 03:50:19 +0900 +Subject: [PATCH 1/2] change mandir to DESTDIR + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + man/Makefile.am | 2 +- + man/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/man/Makefile.am b/man/Makefile.am +index 80d24d8..944bc57 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -16,5 +16,5 @@ install-data-local: + @sect=1; \ + inst=`echo "nana" | sed '$(transform)'`.1; \ + echo installing nana.1 as $(mandir)/man$$sect/$$inst; \ +- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst ++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst + +diff --git a/man/Makefile.in b/man/Makefile.in +index 6008b20..64bb84c 100644 +--- a/man/Makefile.in ++++ b/man/Makefile.in +@@ -274,7 +274,7 @@ install-data-local: + @sect=1; \ + inst=`echo "nana" | sed '$(transform)'`.1; \ + echo installing nana.1 as $(mandir)/man$$sect/$$inst; \ +- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst ++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch b/meta-openembedded/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch new file mode 100644 index 0000000000..aeb25466ca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch @@ -0,0 +1,137 @@ +From 679e33bfe74d713240fdd930602b993b937dce39 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 23 Jan 2015 03:30:47 +0900 +Subject: [PATCH] modify acinclude.m4 and configure.in + +this patch is from Debian to fix build errors. +"acinclude.m4:34: error: automatic de-ANSI-fication +support has been removed" + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + acinclude.m4 | 79 ------------------------------------------------------------ + configure.in | 12 +++++++++ + 2 files changed, 12 insertions(+), 79 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index e9e5500..d467fb5 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -30,82 +30,3 @@ AC_SUBST($1) + ## ------------------------------- ## + ## Check for function prototypes. ## + ## ------------------------------- ## +- +-AC_DEFUN(fp_C_PROTOTYPES, +-[AC_REQUIRE([AM_PROG_CC_STDC]) +-AC_MSG_CHECKING([for function prototypes]) +-if test "$ac_cv_prog_cc_stdc" != no; then +- AC_MSG_RESULT(yes) +- AC_DEFINE(PROTOTYPES) +- U= ANSI2KNR= +-else +- AC_MSG_RESULT(no) +- U=_ ANSI2KNR=./ansi2knr +-fi +-AC_SUBST(U)dnl +-AC_SUBST(ANSI2KNR)dnl +-]) +- +-## ----------------------------------------- ## +-## ANSIfy the C compiler whenever possible. ## +-## ----------------------------------------- ## +- +-# @defmac AC_PROG_CC_STDC +-# @maindex PROG_CC_STDC +-# @ovindex CC +-# If the C compiler in not in ANSI C mode by default, try to add an option +-# to output variable @code{CC} to make it so. This macro tries various +-# options that select ANSI C on some system or another. It considers the +-# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and +-# handles function prototypes correctly. +-# +-# If you use this macro, you should check after calling it whether the C +-# compiler has been set to accept ANSI C; if not, the shell variable +-# @code{ac_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source +-# code in ANSI C, you can make an un-ANSIfied copy of it by using the +-# program @code{ansi2knr}, which comes with Ghostscript. +-# @end defmac +- +-AC_DEFUN(fp_PROG_CC_STDC, +-[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) +-AC_CACHE_VAL(ac_cv_prog_cc_stdc, +-[ac_cv_prog_cc_stdc=no +-ac_save_CFLAGS="$CFLAGS" +-# Don't try gcc -ansi; that turns off useful extensions and +-# breaks some systems' header files. +-# AIX -qlanglvl=ansi +-# Ultrix and OSF/1 -std1 +-# HP-UX -Aa -D_HPUX_SOURCE +-# SVR4 -Xc +-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc +-do +- CFLAGS="$ac_save_CFLAGS $ac_arg" +- AC_TRY_COMPILE( +-[#if !defined(__STDC__) || __STDC__ != 1 +-choke me +-#endif +-], [int test (int i, double x); +-struct s1 {int (*f) (int a);}; +-struct s2 {int (*f) (double a);};], +-[ac_cv_prog_cc_stdc="$ac_arg"; break]) +-done +-CFLAGS="$ac_save_CFLAGS" +-]) +-AC_MSG_RESULT($ac_cv_prog_cc_stdc) +-case "x$ac_cv_prog_cc_stdc" in +- x|xno) ;; +- *) CC="$CC $ac_cv_prog_cc_stdc" ;; +-esac +-]) +- +-## --------------------------------------------------------- ## +-## Use AC_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ## +-## substitution. ## +-## --------------------------------------------------------- ## +- +-AC_DEFUN(fp_PROG_INSTALL, +-[AC_PROG_INSTALL +-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755' +-AC_SUBST(INSTALL_SCRIPT)dnl +-]) +- +diff --git a/configure.in b/configure.in +index 6b25ed5..a6a7f5b 100644 +--- a/configure.in ++++ b/configure.in +@@ -103,6 +103,12 @@ nana_DEFINE(DI_MAKE_VALID_BREAKPOINT,(exprn), + sparc-*-*|i?86-*-*) + DI_MAKE_VALID_BREAKPOINT='asm("nop")' + ;; ++ arm*-*-*|frv-*-*|mips*-*-*) ++ DI_MAKE_VALID_BREAKPOINT='asm("nop")' ++ ;; ++ sh*-*-*) ++ DI_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")' ++ ;; + esac + ]) + +@@ -113,6 +119,12 @@ nana_DEFINE(DL_MAKE_VALID_BREAKPOINT,(), + sparc-*-*|i?86-*-*) + DL_MAKE_VALID_BREAKPOINT='asm("nop")' + ;; ++ arm*-*-*|frv-*-*|mips*-*-*) ++ DL_MAKE_VALID_BREAKPOINT='asm("nop")' ++ ;; ++ sh*-*-*) ++ DL_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")' ++ ;; + esac + ]) + +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb b/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb new file mode 100644 index 0000000000..19a90ff07b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb @@ -0,0 +1,34 @@ +SUMMARY = "Support for assertion checking and logging in GNU C/C++" +DESCRIPTION = "GNU Nana is a free library providing improved support for assertion\ +checking (as in assert.h) and logging (printf style debugging) in \ +GNU C and C++." +SECTION = "Development/Languages/C and C++" + +SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${BP}.tar.gz \ + file://change-mandir-to-DESTDIR.patch \ + file://modify-acinclude.m4-and-configure.in.patch \ +" +SRC_URI[md5sum] = "66c88aa0ad095b2e67673773135475f1" +SRC_URI[sha256sum] = "fd1819ffea94b209513959447e4802afe2719600e7d161cd78b265a42812affa" + +LICENSE = "BSD-2-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11" + +inherit autotools-brokensep pkgconfig + +EXTRA_OEMAKE = "DESTDIR=${D}" + +do_configure_prepend_class-nativesdk() { + sed -i -e 's:@CPP@:\$\{CXX\} \$\{CXXFLAGS\} \-E:g' ${S}/src/nana.in + sed -i -e 's:@CC@:\$\{CC\} \$\{CFLAGS\} \-E:g' ${S}/src/nana-clg.in + sed -i -e 's:@CXX@::g' ${S}/src/nana-c++lg.in + sed -i -e 's:@GDB@:\$\{GDB\}:g' ${S}/src/nana-run.in +} + +do_install_prepend() { + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man3 + install -d ${D}${datadir}/info +} +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch b/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch new file mode 100644 index 0000000000..a208f97eb2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch @@ -0,0 +1,37 @@ +From 52590fbf735cef3fec85a042458aa89a02c52b57 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 15 Jul 2017 11:33:12 -0700 +Subject: [PATCH] nicstat.c: Do not define uint64_t and uint32_t + +Use the defines from platform + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + nicstat.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/nicstat.c b/nicstat.c +index 83ad557..2a6e0c1 100644 +--- a/nicstat.c ++++ b/nicstat.c +@@ -32,6 +32,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <unistd.h> + #include <string.h> + #include <ctype.h> +@@ -88,8 +89,6 @@ + #define PROC_NET_BUFSIZ (128 * 1024) + #define PROC_UPTIME "/proc/uptime" + /* Needs to be fixed if not built under ILP32 */ +-typedef unsigned long long uint64_t; +-typedef unsigned int uint32_t; + extern char *optarg; + extern int optind, opterr, optopt; + #endif /* OS_LINUX */ +-- +2.13.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb new file mode 100644 index 0000000000..3875f0f605 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "nicstat is a Solaris and Linux command-line that prints out network \ +statistics for all network interface cards (NICs), including packets, kilobytes \ +per second, average packet sizes and more." +HOMEPAGE = "http://nicstat.sourceforge.net" +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0" + +SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz \ + file://0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch \ + " +SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d" +SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} -o nicstat nicstat.c +} +do_install() { + install -d ${D}/${bindir}/ + install -d ${D}/${mandir}/ + install -m 0755 ${S}/nicstat ${D}${bindir}/ + install -m 0644 ${S}/nicstat.1 ${D}/${mandir}/ +} diff --git a/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb new file mode 100644 index 0000000000..13e67cba12 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb @@ -0,0 +1,28 @@ +SUMMARY = "Set of CLI tools for Openlmi providers" +DESCRIPTION = "openlmi-tools is a set of command line tools for Openlmi providers." +HOMEPAGE = "http://www.openlmi.org/" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" +SECTION = "System/Management" + +inherit setuptools + +DEPENDS = "python-native pywbem-native python-m2crypto pywbem" + +SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \ + " +SRC_URI[md5sum] = "e156246cb7b49753db82f4ddf7f03e50" +SRC_URI[sha256sum] = "292b8f5f2250655a4add8183c529b73358bc980bd4f23cfa484a940953fce9e4" + +do_compile_prepend() { + cd cli + sed 's/@@VERSION@@/$(VERSION)/g' setup.py.skel >setup.py +} +do_install_prepend() { + cd cli +} + +python() { + if 'meta-python' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python to be present.') +} diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch new file mode 100644 index 0000000000..7823fde7a0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch @@ -0,0 +1,29 @@ +From e05bad73f5fe4be1626560d92465893a5fc931e5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 15 Sep 2017 00:01:19 -0700 +Subject: [PATCH] lock.c: Define PTHREAD_MUTEX_RECURSIVE_NP if undefined + +Check for PTHREAD_MUTEX_RECURSIVE_NP being defined instead of +checking for OS + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/lib/u/lock.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/u/lock.c b/src/lib/u/lock.c +index 025eea4c..b31c77b5 100644 +--- a/src/lib/u/lock.c ++++ b/src/lib/u/lock.c +@@ -50,7 +50,7 @@ + extern int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type); + #endif + +-#if defined (__SVR4) && defined (__sun) ++#ifndef PTHREAD_MUTEX_RECURSIVE_NP + #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE + #endif + +-- +2.14.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch new file mode 100644 index 0000000000..bd540e37c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch @@ -0,0 +1,17 @@ +libssl is required by wsman_client_transport if ENABLE_EVENTING_SUPPORT enabled. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +diff -Nurp openwsman-2.4.12.orig/src/lib/CMakeLists.txt openwsman-2.4.12/src/lib/CMakeLists.txt +--- openwsman-2.4.12.orig/src/lib/CMakeLists.txt 2014-10-28 23:04:47.000000000 +0800 ++++ openwsman-2.4.12/src/lib/CMakeLists.txt 2014-12-31 11:09:20.340428523 +0800 +@@ -56,6 +56,9 @@ TARGET_LINK_LIBRARIES( ${WSMAN_CLIENT_TR + SET_TARGET_PROPERTIES( ${WSMAN_CLIENT_TRANSPORT_PKG} PROPERTIES VERSION 1.0.0 SOVERSION 1) + INSTALL(TARGETS ${WSMAN_CLIENT_TRANSPORT_PKG} DESTINATION ${LIB_INSTALL_DIR}) + ++IF( ENABLE_EVENTING_SUPPORT ) ++TARGET_LINK_LIBRARIES( ${WSMAN_CLIENT_TRANSPORT_PKG} ${OPENSSL_LIBRARIES} ) ++ENDIF( ENABLE_EVENTING_SUPPORT ) + + ############### wsman_client ############### + diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/openwsmand.service b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/openwsmand.service new file mode 100644 index 0000000000..154f3cdaf2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/openwsmand.service @@ -0,0 +1,12 @@ +[Unit] +Description=Openwsman WS-Management Service +After=syslog.target + +[Service] +Type=forking +ExecStart=@SBINDIR@/openwsmand +ExecStartPre=@SYSCONFDIR@/openwsman/owsmangencert.sh +PIDFile=@LOCALSTATEDIR@/run/wsmand.pid + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb new file mode 100644 index 0000000000..f618f02b5d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb @@ -0,0 +1,70 @@ +SUMMARY = "Opensource Implementation of WS-Management" +DESCRIPTION = "Openwsman is a project intended to provide an open-source \ +implementation of the Web Services Management specipication \ +(WS-Management) and to expose system management information on the \ +Linux operating system using the WS-Management protocol. WS-Management \ +is based on a suite of web services specifications and usage \ +requirements that exposes a set of operations focused on and covers \ +all system management aspects. \ +Openwsman Server and service libraries" +HOMEPAGE = "http://www.openwsman.org/" +SECTION = "Applications/System" + +DEPENDS = "curl libxml2 openssl libpam" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "pam" + +SRCREV = "feb7ec9b004fcaea0dbe65ce8a1a79cc29dd994c" +PV = "2.6.3" + +SRC_URI = "git://github.com/Openwsman/openwsman.git \ + file://libssl-is-required-if-eventint-supported.patch \ + file://openwsmand.service \ + file://0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch \ + " + +S = "${WORKDIR}/git" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba" + +inherit systemd cmake pkgconfig pythonnative perlnative + +SYSTEMD_SERVICE_${PN} = "openwsmand.service" +SYSTEMD_AUTO_ENABLE = "disable" + +LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd ", '', d)}" + +EXTRA_OECMAKE = "-DBUILD_BINDINGS=NO \ + -DBUILD_LIBCIM=NO \ + -DBUILD_PERL=YES \ + -DCMAKE_INSTALL_PREFIX=${prefix} \ + -DLIB=${baselib} \ + " + +do_configure_prepend() { + export STAGING_INCDIR=${STAGING_INCDIR} + export STAGING_LIBDIR=${STAGING_LIBDIR} +} + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${B}/etc/init/openwsmand.sh ${D}/${sysconfdir}/init.d/openwsmand + ln -sf ${sysconfdir}/init.d/openwsmand ${D}/${sbindir}/rcopenwsmand + chmod 755 ${D}/${sysconfdir}/openwsman/owsmangencert.sh + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openwsmand.service ${D}/${systemd_unitdir}/system + + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/openwsmand.service + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/openwsmand.service + sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/openwsmand.service + fi +} + +FILES_${PN}-dbg += "${libdir}/openwsman/plugins/.debug/ \ + ${libdir}/openwsman/authenticators/.debug/ \ + " + +INSANE_SKIP_${PN} = "dev-so" diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch new file mode 100644 index 0000000000..ae27517458 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch @@ -0,0 +1,48 @@ +From b6b1782af4aa7f9084d32e4144738dc2535c8d6f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 23 Apr 2018 23:07:21 -0700 +Subject: [PATCH] Fix narrowing errors -Wc++11-narrowing + +Clang 6.x finds these errors + + ../../../../CPP/Windows/ErrorMsg.cpp:24:10: error: case value evaluates to -2147024809, which cannot be narrowed to type 'DWORD' (aka 'unsigned int') [-Wc++11-narrowing] + case E_INVALIDARG : txt = "E_INVALIDARG"; break ; + ^ + +HRESULT causes the macro to be parsed as a signed long, so we need to force it +to be checked as an unsigned long instead. + +also reported here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224930 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + CPP/Windows/ErrorMsg.cpp | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/CPP/Windows/ErrorMsg.cpp b/CPP/Windows/ErrorMsg.cpp +index 99684ae..78a64ba 100644 +--- a/CPP/Windows/ErrorMsg.cpp ++++ b/CPP/Windows/ErrorMsg.cpp +@@ -15,13 +15,13 @@ UString MyFormatMessage(DWORD errorCode) + + switch(errorCode) { + case ERROR_NO_MORE_FILES : txt = "No more files"; break ; +- case E_NOTIMPL : txt = "E_NOTIMPL"; break ; +- case E_NOINTERFACE : txt = "E_NOINTERFACE"; break ; +- case E_ABORT : txt = "E_ABORT"; break ; +- case E_FAIL : txt = "E_FAIL"; break ; +- case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ; +- case E_OUTOFMEMORY : txt = "E_OUTOFMEMORY"; break ; +- case E_INVALIDARG : txt = "E_INVALIDARG"; break ; ++ case (DWORD) E_NOTIMPL : txt = "E_NOTIMPL"; break ; ++ case (DWORD) E_NOINTERFACE : txt = "E_NOINTERFACE"; break ; ++ case (DWORD) E_ABORT : txt = "E_ABORT"; break ; ++ case (DWORD) E_FAIL : txt = "E_FAIL"; break ; ++ case (DWORD) STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ; ++ case (DWORD) E_OUTOFMEMORY : txt = "E_OUTOFMEMORY"; break ; ++ case (DWORD) E_INVALIDARG : txt = "E_INVALIDARG"; break ; + case ERROR_DIRECTORY : txt = "Error Directory"; break ; + default: + txt = strerror(errorCode); diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch new file mode 100644 index 0000000000..177d1455f8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch @@ -0,0 +1,31 @@ +p7zip: Fix CVE-2017-17969 + +[No upstream tracking] -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888297 + +Heap-based buffer overflow in 7zip + +Compress/ShrinkDecoder.cpp: Heap-based buffer overflow +in the NCompress::NShrink::CDecoder::CodeReal method +in 7-Zip before 18.00 and p7zip allows remote attackers +to cause a denial of service (out-of-bounds write) +or potentially execute arbitrary code via a crafted ZIP archive. + +Upstream-Status: Backport [https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/8316/attachment/CVE-2017-17969.patch] +CVE: CVE-2017-17969 +Signed-off-by: Radovan Scasny <radovan.scasny@siemens.com> + +--- a/CPP/7zip/Compress/ShrinkDecoder.cpp ++++ b/CPP/7zip/Compress/ShrinkDecoder.cpp +@@ -121,7 +121,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream * + { + _stack[i++] = _suffixes[cur]; + cur = _parents[cur]; ++ if (cur >= kNumItems || i >= kNumItems) ++ break; + } ++ ++ if (cur >= kNumItems || i >= kNumItems) ++ break; + + _stack[i++] = (Byte)cur; + lastChar2 = (Byte)cur; diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch new file mode 100644 index 0000000000..b0a560fe98 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch @@ -0,0 +1,30 @@ +do not override compiler and do not strip + +The default makefile sets the compiler to g++ or gcc. This leads to a wrong architecture when cross-compiling. +Remove the hardcoded compiler and just append the flags to CXX and CC. + +Upstream-Status: Pending +Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com> +Reviewed-By: Pascal Bach <pascal.bach@siemens.com> + +diff -Nurp p7zip_15.14.1_orig/makefile.machine p7zip_15.14.1/makefile.machine +--- p7zip_15.14.1_orig/makefile.machine 2016-03-23 20:37:47.000000000 +0100 ++++ p7zip_15.14.1/makefile.machine 2016-06-17 15:33:39.720454477 +0200 +@@ -2,7 +2,7 @@ + # makefile for Linux (x86, PPC, alpha ...) + # + +-OPTFLAGS=-O -s ++OPTFLAGS=-O + + ALLFLAGS=${OPTFLAGS} -pipe \ + -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ +@@ -10,8 +10,6 @@ ALLFLAGS=${OPTFLAGS} -pipe \ + -D_7ZIP_LARGE_PAGES \ + $(LOCAL_FLAGS) + +-CXX=g++ +-CC=gcc + CC_SHARED=-fPIC + LINK_SHARED=-fPIC -shared + diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb b/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb new file mode 100644 index 0000000000..d986da9043 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb @@ -0,0 +1,42 @@ +SUMMARY = "7-zip is a commandline utility handling 7z archives." +HOMEPAGE = "http://www.7-zip.org/" +LICENSE = "LGPL-2.1+ & unRAR" +LIC_FILES_CHKSUM = "file://DOC/copying.txt;md5=4fbd65380cdd255951079008b364516c \ + file://DOC/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de \ + file://DOC/License.txt;md5=879598edf1f54dddb6930d7581357f8b" + +SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_all.tar.bz2 \ + file://do_not_override_compiler_and_do_not_strip.patch \ + file://CVE-2017-17969.patch \ + file://0001-Fix-narrowing-errors-Wc-11-narrowing.patch \ + " + +SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf" +SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f" + +S = "${WORKDIR}/${BPN}_${PV}" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/bin/* ${D}${bindir} +} + +# all3: to build bin/7za, bin/7z (with its plugins), bin/7zr and bin/7zCon.sfx +EXTRA_OEMAKE_class-native = "all3" + +do_install_class-native() { + install -d ${D}${bindir} + install -d ${D}${bindir}/Codecs + install -m 0755 ${S}/bin/7* ${D}${bindir} + install -m 0755 ${S}/bin/Codecs/* ${D}${bindir}/Codecs + + # Create a shell script wrapper to execute next to 7z.so + mv ${D}${bindir}/7z ${D}${bindir}/7z.bin + cat > ${D}${bindir}/7z << 'EOF' +#!/bin/sh +exec "$(dirname "$0")"/7z.bin "$@" +EOF + chmod 0755 ${D}${bindir}/7z +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb b/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb new file mode 100644 index 0000000000..f6347c2a4d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb @@ -0,0 +1,18 @@ +SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi" +HOMEPAGE = "http://libcec.pulse-eight.com/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://src/os.h;md5=752555fa94e82005d45fd201fee5bd33" + +PV = "2.1.0" + +SRC_URI = "git://github.com/Pulse-Eight/platform.git" +SRCREV = "d7bceb64541cb046421cbcd4c98d91e9bf24822f" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +EXTRA_OECMAKE += "-DCMAKE_INSTALL_LIBDIR=${libdir} -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir}" + +FILES_${PN}-dev += "${libdir}/p8-platform" diff --git a/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb new file mode 100644 index 0000000000..1638c41c88 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb @@ -0,0 +1,51 @@ +SUMMARY = "pam-ssh-agent-auth" +DESCRIPTION = "A PAM module which permits authentication via ssh-agent." +HOMEPAGE = "http://sourceforge.net/projects/pamsshagentauth/" +SECTION = "libs" +LICENSE = "openssl & BSD" +LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a \ + file://OPENSSH_LICENSE;md5=7ae09218173be1643c998a4b71027f9b \ +" + +SRC_URI = "http://sourceforge.net/projects/pamsshagentauth/files/pam_ssh_agent_auth/v${PV}/pam_ssh_agent_auth-${PV}.tar.bz2" +SRC_URI[md5sum] = "8dbe90ab3625e545036333e6f51ccf1d" +SRC_URI[sha256sum] = "3c53d358d6eaed1b211239df017c27c6f9970995d14102ae67bae16d4f47a763" + +DEPENDS += "libpam openssl" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "pam" + +# This gets us ssh-agent, which we are almost certain to want. +# +RDEPENDS_${PN} += "openssh-misc" + +# Kind of unfortunate to have underscores in the name. +# +S = "${WORKDIR}/pam_ssh_agent_auth-${PV}" + +inherit autotools-brokensep + +# Avoid autoreconf. Override the --libexec oe_runconf specifies so that +# the module is put with the other pam modules. Because it cannot, in general, +# do a runtime test, configure wants to use rpl_malloc() and rpl_realloc() +# instead of malloc() and realloc(). We set variables to tell it not to because +# these functions do not exist. +# +do_configure () { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf --without-openssl-header-check --libexecdir=${base_libdir}/security \ + ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes +} + +# Link with CC. Configure cannot figure out the correct AR. +# +do_compile () { + oe_runmake LD="${CC}" AR="${AR}" +} + +# This stuff is not any place looked at by default. +# +FILES_${PN} += "${base_libdir}/security/pam*" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" diff --git a/meta-openembedded/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb b/meta-openembedded/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb new file mode 100644 index 0000000000..035fe9f654 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb @@ -0,0 +1,22 @@ +SUMMARY = "Perl module that provides simple filename and pathname matching" +DESCRIPTION = "File::FnMatch::fnmatch() provides simple, shell-like pattern \ +matching. \ +Though considerably less powerful than regular expressions, shell patterns \ +are nonetheless useful and familiar to a large audience of end-users." + +HOMEPAGE = "http://search.cpan.org/dist/File-FnMatch/" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://README;beginline=34;endline=37;md5=54fdfac62963b7cece5583ab38f2cf0d" + +SRC_URI = "https://cpan.metacpan.org/authors/id/M/MJ/MJP/File-FnMatch-${PV}.tar.gz" + +SRC_URI[md5sum] = "22f77c20d0fb5af01a3165e2df2fe34c" +SRC_URI[sha256sum] = "962454b8e86bea8b132bf8af35757d0c6a8f5d599015bd6a5d68cb7ae7a9e916" + +S = "${WORKDIR}/File-FnMatch-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.NetworkManager.rules b/meta-openembedded/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.NetworkManager.rules new file mode 100644 index 0000000000..4b50cf8814 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.NetworkManager.rules @@ -0,0 +1,8 @@ +/* give group 'network' rights to change settings */ +/* taken from https://wiki.archlinux.org/index.php/NetworkManager#Set_up_PolicyKit_permissions */ + +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) { + return polkit.Result.YES; + } +}); diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.timedate1.rules b/meta-openembedded/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.timedate1.rules new file mode 100644 index 0000000000..95b0e0f698 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.timedate1.rules @@ -0,0 +1,8 @@ +/* give group 'datetime' rights to change settings */ +/* based upon http://lists.freedesktop.org/archives/systemd-devel/2013-March/009576.html */ + +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.timedate1.") == 0 && subject.isInGroup("datetime")) { + return polkit.Result.YES; + } +}); diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb new file mode 100644 index 0000000000..934a53e5c3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Create usergroup datetime. All members off this group are allowed set date/time/timezone via system dbus" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +require polkit-group-rule.inc + +SRC_URI = "file://50-org.freedesktop.timedate1.rules" + +do_install() { + install -m 0755 ${WORKDIR}/50-org.freedesktop.timedate1.rules ${D}${sysconfdir}/polkit-1/rules.d +} + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system datetime" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb new file mode 100644 index 0000000000..66a73eaaf4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Create usergroup network. All members off this group are allowed to modify networkmanager settings" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +require polkit-group-rule.inc + +SRC_URI = "file://50-org.freedesktop.NetworkManager.rules" + +do_install() { + install -m 0755 ${WORKDIR}/50-org.freedesktop.NetworkManager.rules ${D}${sysconfdir}/polkit-1/rules.d +} + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system network" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc new file mode 100644 index 0000000000..40e4005423 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc @@ -0,0 +1,10 @@ +# polkit must prepare polkitd group +DEPENDS += "polkit" + +inherit useradd + +do_install_prepend() { + install -m 700 -d ${D}${sysconfdir}/polkit-1/rules.d + chown polkitd:polkitd ${D}${sysconfdir}/polkit-1/rules.d +} +USERADD_PARAM_${PN}_prepend = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch new file mode 100644 index 0000000000..4e3af876e5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch @@ -0,0 +1,107 @@ +From 7d5e205aa58a10e7b1ccc2fa75b443508a5c3e18 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 20 Jan 2016 04:31:59 +0000 +Subject: [PATCH] make netgroup support configurable + +Disable using innetgr and *netigrent function if not available + +These functions are not available on all libc implementations e.g. musl +doesnt have them. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + configure.ac | 2 +- + src/polkitbackend/polkitbackendinteractiveauthority.c | 6 +++++- + src/polkitbackend/polkitbackendjsauthority.c | 5 ++--- + 3 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 07982d1..21590b2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -158,7 +158,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], + [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) + AC_SUBST(EXPAT_LIBS) + +-AC_CHECK_FUNCS(clearenv fdatasync) ++AC_CHECK_FUNCS(clearenv fdatasync getnetgrent innetgr) + + if test "x$GCC" = "xyes"; then + LDFLAGS="-Wl,--as-needed $LDFLAGS" +diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c +index 7019356..cf39d77 100644 +--- a/src/polkitbackend/polkitbackendinteractiveauthority.c ++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c +@@ -2213,7 +2213,7 @@ get_users_in_group (PolkitIdentity *group, + out: + return ret; + } +- ++#if defined HAVE_GETNETGRENT + static GList * + get_users_in_net_group (PolkitIdentity *group, + gboolean include_root) +@@ -2270,6 +2270,8 @@ get_users_in_net_group (PolkitIdentity *group, + return ret; + } + ++#endif ++ + /* ---------------------------------------------------------------------------------------------------- */ + + static void +@@ -2355,10 +2357,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent, + { + user_identities = g_list_concat (user_identities, get_users_in_group (identity, FALSE)); + } ++#if defined HAVE_GETNETGRENT + else if (POLKIT_IS_UNIX_NETGROUP (identity)) + { + user_identities = g_list_concat (user_identities, get_users_in_net_group (identity, FALSE)); + } ++#endif + else + { + g_warning ("Unsupported identity"); +diff --git a/src/polkitbackend/polkitbackendjsauthority.c b/src/polkitbackend/polkitbackendjsauthority.c +index 097dcc5..e59b3f7 100644 +--- a/src/polkitbackend/polkitbackendjsauthority.c ++++ b/src/polkitbackend/polkitbackendjsauthority.c +@@ -1498,7 +1498,6 @@ js_polkit_spawn (JSContext *cx, + + /* ---------------------------------------------------------------------------------------------------- */ + +- + static JSBool + js_polkit_user_is_in_netgroup (JSContext *cx, + unsigned argc, +@@ -1518,6 +1517,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, + user = JS_EncodeString (cx, user_str); + netgroup = JS_EncodeString (cx, netgroup_str); + ++#if defined HAVE_INNETGR + if (innetgr (netgroup, + NULL, /* host */ + user, +@@ -1525,6 +1525,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, + { + is_in_netgroup = JS_TRUE; + } ++#endif + + JS_free (cx, netgroup); + JS_free (cx, user); +@@ -1536,8 +1537,6 @@ js_polkit_user_is_in_netgroup (JSContext *cx, + return ret; + } + +- +- + /* ---------------------------------------------------------------------------------------------------- */ + + typedef struct +-- +2.7.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch new file mode 100644 index 0000000000..74647efce4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch @@ -0,0 +1,23 @@ +polkit: No system-auth in OE-Core, we can use common-* in place of it. + +Upstream-Status:Inappropriate [configuration] + +Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> + +--- a/configure.ac 2011-03-04 02:26:20.000000000 +0800 ++++ b/configure.ac.new 2011-07-18 10:14:12.516818852 +0800 +@@ -350,10 +350,10 @@ + PAM_FILE_INCLUDE_PASSWORD=system + PAM_FILE_INCLUDE_SESSION=system + else +- PAM_FILE_INCLUDE_AUTH=system-auth +- PAM_FILE_INCLUDE_ACCOUNT=system-auth +- PAM_FILE_INCLUDE_PASSWORD=system-auth +- PAM_FILE_INCLUDE_SESSION=system-auth ++ PAM_FILE_INCLUDE_AUTH=common-auth ++ PAM_FILE_INCLUDE_ACCOUNT=common-account ++ PAM_FILE_INCLUDE_PASSWORD=common-password ++ PAM_FILE_INCLUDE_SESSION=common-session + fi + + AC_SUBST(PAM_FILE_INCLUDE_AUTH) diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb new file mode 100644 index 0000000000..f34928fe3a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb @@ -0,0 +1,51 @@ +SUMMARY = "PolicyKit Authorization Framework" +DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \ + file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4" + +DEPENDS = "expat glib-2.0 intltool-native mozjs" + +inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ + " + +PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam" +PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd" +# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS +PACKAGECONFIG[consolekit] = ",,,consolekit" + +PAM_SRC_URI = "file://polkit-1_pam.patch" +SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \ + file://0001-make-netgroup-support-configurable.patch \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ +" +SRC_URI[md5sum] = "4b77776c9e4f897dcfe03b2c34198edf" +SRC_URI[sha256sum] = "e1c095093c654951f78f8618d427faf91cf62abdefed98de40ff65eca6413c81" + +EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages" + +do_compile_prepend () { + export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs" +} + +PACKAGES =+ "${PN}-examples" + +FILES_${PN}_append = " \ + ${libdir}/${BPN}-1 \ + ${nonarch_libdir}/${BPN}-1 \ + ${datadir}/dbus-1 \ + ${datadir}/${BPN}-1 \ +" + +FILES_${PN}-examples = "${bindir}/*example*" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd" + +SYSTEMD_SERVICE_${PN} = "${BPN}.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch new file mode 100644 index 0000000000..77c75b4a27 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch @@ -0,0 +1,89 @@ +From d91161eb163c16408202a91b4325a3381ab33752 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 17:55:31 +0900 +Subject: [PATCH 1/5] rarpd.8 : add man file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.8 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 69 insertions(+) + create mode 100644 rarpd.8 + +diff --git a/rarpd.8 b/rarpd.8 +new file mode 100644 +index 0000000..ce7bd70 +--- /dev/null ++++ b/rarpd.8 +@@ -0,0 +1,69 @@ ++.TH RARP 8 "7 April 2000" "rarpd" "Linux Programmer's Manual" ++.SH NAME ++rarpd \- Reverse Address Resolution Protocol (RARP) daemon ++.SH SYNOPSIS ++.B "rarpd [-aAvde] [-b bootdir ] [ interface ]" ++.SH DESCRIPTION ++.B Rarpd ++is a daemon which responds to RARP requests. ++RARP is used by some machines at boot time to discover their IP address. ++They provide their Ethernet address and ++.B rarpd ++responds with their IP address if it finds it in the ethers database ++(either ++.I /etc/ethers ++file or NIS+ lookup) and using DNS lookup if ethers database ++contains a hostname and not an IP address. ++By default ++.B rarpd ++also checks if a bootable image with a name starting with the IP address ++in hexadecimal uppercase letters is present in the TFTP boot directory ++(usually ++.I /tftpboot ++) before it decides to respond to the RARP request. ++.SH OPTIONS ++.TP ++.B \-a ++Do not bind to the interface. ++.TP ++.B \-A ++Respond to ARP as well as RARP requests. ++.TP ++.B \-v ++Tell the user what is going on by being verbose. ++.TP ++.B \-d ++Debugging mode. Do not detach from the tty. ++.TP ++.B \-e ++Skip the check for bootable image in the TFTP boot directory. If not ++present, then even if the Ethernet address is present in ++the ethers database but the bootable image for the resolved IP does not exist, ++.B rarpd ++will not respond to the request. ++.TP ++.B "\-b bootdir" ++Use ++.I bootdir ++instead of the default ++.I /tftpboot ++as the TFTP boot directory for bootable image checks. ++.SH OBSOLETES ++This ++.B rarpd ++obsoletes kernel ++.B rarp ++daemon present in Linux kernels up to 2.2 which was controlled by the ++rarp(8) command. ++.SH FILES ++.I /etc/ethers, ++.br ++.I /etc/nsswitch.conf, ++.br ++.I /tftpboot ++.SH SEE ALSO ++ethers(5) ++.SH AUTHORS ++Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> ++.br ++Jakub Jelinek, <jakub@redhat.com> +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch new file mode 100644 index 0000000000..0b3ebc468f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch @@ -0,0 +1,26 @@ +From d23b13bd959204824070433d954c5dfbfc421bb7 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:05:27 +0900 +Subject: [PATCH 2/5] Makefile : modify compile parameters + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 19966b4..86a8169 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + CC=gcc + CFLAGS=-O2 -Wall -g $(DEFINES) + +-OBJ=rarpd.o ethernet.o ++OBJ=rarpd.o + + all: rarpd + +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch new file mode 100644 index 0000000000..7ce1279090 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch @@ -0,0 +1,263 @@ +From b49c8e6e66801406520d1bff791c66dff7b1cddb Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:10:20 +0900 +Subject: [PATCH 3/5] rarpd.c : bug fix + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.c | 98 +++++++++++++++++++++++++++++++++++++---------------------------- + 1 file changed, 56 insertions(+), 42 deletions(-) + +diff --git a/rarpd.c b/rarpd.c +index 335d2d2..d45300e 100644 +--- a/rarpd.c ++++ b/rarpd.c +@@ -7,9 +7,11 @@ + * 2 of the License, or (at your option) any later version. + * + * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> ++ * Jakub Jelinek, <jakub@redhat.com> + */ + + #include <stdio.h> ++#include <stdlib.h> + #include <syslog.h> + #include <dirent.h> + #include <malloc.h> +@@ -26,6 +28,8 @@ + #include <net/if.h> + #include <net/if_arp.h> + #include <netinet/in.h> ++#include <netinet/ether.h> ++#include <asm/types.h> + #include <linux/if_packet.h> + #include <linux/filter.h> + +@@ -39,27 +43,26 @@ int only_ethers; + int all_ifaces; + int listen_arp; + char *ifname; +-char *tftp_dir = "/etc/tftpboot"; ++char *tftp_dir = "/tftpboot"; + +-extern int ether_ntohost(char *name, unsigned char *ea); + void usage(void) __attribute__((noreturn)); + +-struct iflink ++struct rarpiflink + { +- struct iflink *next; +- int index; +- int hatype; +- unsigned char lladdr[16]; +- unsigned char name[IFNAMSIZ]; +- struct ifaddr *ifa_list; ++ struct rarpiflink *next; ++ int index; ++ int hatype; ++ unsigned char lladdr[16]; ++ unsigned char name[IFNAMSIZ]; ++ struct rarpifaddr *ifa_list; + } *ifl_list; + +-struct ifaddr ++struct rarpifaddr + { +- struct ifaddr *next; +- __u32 prefix; +- __u32 mask; +- __u32 local; ++ struct rarpifaddr *next; ++ __u32 prefix; ++ __u32 mask; ++ __u32 local; + }; + + struct rarp_map +@@ -87,8 +90,8 @@ void load_if() + { + int fd; + struct ifreq *ifrp, *ifend; +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + struct ifconf ifc; + struct ifreq ibuf[256]; + +@@ -144,7 +147,7 @@ void load_if() + continue; + } + +- ifl = (struct iflink*)malloc(sizeof(*ifl)); ++ ifl = (struct rarpiflink*)malloc(sizeof(*ifl)); + if (ifl == NULL) + continue; + memset(ifl, 0, sizeof(*ifl)); +@@ -154,6 +157,7 @@ void load_if() + ifl->hatype = ifrp->ifr_hwaddr.sa_family; + memcpy(ifl->lladdr, ifrp->ifr_hwaddr.sa_data, 14); + strncpy(ifl->name, ifrp->ifr_name, IFNAMSIZ); ++ ifl->name[IFNAMSIZ-1] = 0; + p = strchr(ifl->name, ':'); + if (p) + *p = 0; +@@ -179,7 +183,7 @@ void load_if() + if (ifa == NULL) { + if (mask == 0 || prefix == 0) + continue; +- ifa = (struct ifaddr*)malloc(sizeof(*ifa)); ++ ifa = (struct rarpifaddr*)malloc(sizeof(*ifa)); + memset(ifa, 0, sizeof(*ifa)); + ifa->local = addr; + ifa->prefix = prefix; +@@ -207,6 +211,7 @@ void load_if() + } + } + } ++ close(fd); + } + + void configure() +@@ -225,20 +230,21 @@ int bootable(__u32 addr) + d = opendir(tftp_dir); + if (d == NULL) { + syslog(LOG_ERR, "opendir: %m"); +- return 0; ++ goto done_bootable; + } + while ((dent = readdir(d)) != NULL) { + if (strncmp(dent->d_name, name, 8) == 0) + break; + } ++done_bootable: + closedir(d); + return dent != NULL; + } + +-struct ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist) ++struct rarpifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist) + { +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + int retry = 0; + int i; + +@@ -294,7 +300,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype, + + if (r == NULL) { + if (hatype == ARPHRD_ETHER && halen == 6) { +- struct ifaddr *ifa; ++ struct rarpifaddr *ifa; + struct hostent *hp; + char ename[256]; + static struct rarp_map emap = { +@@ -304,7 +310,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype, + 6, + }; + +- if (ether_ntohost(ename, lladdr) != 0 || ++ if (ether_ntohost(ename, (struct ether_addr *)lladdr) != 0 || + (hp = gethostbyname(ename)) == NULL) { + if (verbose) + syslog(LOG_INFO, "not found in /etc/ethers"); +@@ -345,7 +351,7 @@ static int load_arp_bpflet(int fd) + + int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen) + { +- struct iflink *ifl; ++ struct rarpiflink *ifl; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -362,8 +368,8 @@ int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen) + int put_myipaddr(unsigned char **ptr_p, int ifindex, __u32 hisipaddr) + { + __u32 laddr = 0; +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -388,7 +394,7 @@ void arp_advise(int ifindex, unsigned char *lladdr, int lllen, __u32 ipaddr) + int fd; + struct arpreq req; + struct sockaddr_in *sin; +- struct iflink *ifl; ++ struct rarpiflink *ifl; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -421,6 +427,10 @@ void serve_it(int fd) + struct rarp_map *rmap; + unsigned char *ptr; + int n; ++ int i; ++ char tmpbuf[16*3]; ++ char tmpname[IFNAMSIZ]; ++ struct rarpiflink *ifl; + + n = recvfrom(fd, buf, sizeof(buf), MSG_DONTWAIT, (struct sockaddr*)&sll, &sll_len); + if (n<0) { +@@ -447,21 +457,23 @@ void serve_it(int fd) + if (a->ar_op != htons(ARPOP_RREQUEST)) + return; + +- if (verbose) { +- int i; +- char tmpbuf[16*3]; +- char *ptr = tmpbuf; +- for (i=0; i<sll.sll_halen; i++) { +- if (i) { +- sprintf(ptr, ":%02x", sll.sll_addr[i]); +- ptr++; +- } else +- sprintf(ptr, "%02x", sll.sll_addr[i]); +- ptr += 2; +- } +- syslog(LOG_INFO, "RARP request from %s on if%d", tmpbuf, sll.sll_ifindex); ++ ptr = tmpbuf; ++ snprintf(tmpbuf, 2, "%02x", sll.sll_addr[0]); ++ for (ptr=tmpbuf+2, i=1; i<sll.sll_halen; i++) { ++ snprintf(ptr, 3, ":%02x", sll.sll_addr[i]); ++ ptr += 3; + } + ++ for (ifl=ifl_list; ifl; ifl = ifl->next) ++ if (ifl->index == sll.sll_ifindex) ++ break; ++ if (ifl) { ++ strncpy(tmpname, ifl->name, IFNAMSIZ); ++ tmpname[IFNAMSIZ-1] = 0; ++ } else ++ sprintf(tmpname, "if%d", sll.sll_ifindex); ++ syslog(LOG_INFO, "RARP request from %s on %s", tmpbuf, tmpname); ++ + /* Sanity checks */ + + /* 1. IP only -> pln==4 */ +@@ -526,6 +538,8 @@ void serve_it(int fd) + ptr += rmap->lladdr_len; + memcpy(ptr, &rmap->ipaddr, 4); + ptr += 4; ++ syslog(LOG_INFO, "RARP response to %s %s on %s", tmpbuf, ++ inet_ntoa(*(struct in_addr *)&rmap->ipaddr), tmpname); + + /* Update our ARP cache. Probably, this guy + will not able to make ARP (if it is broken) +@@ -613,7 +627,7 @@ int main(int argc, char **argv) + if (ifname) { + struct ifreq ifr; + memset(&ifr, 0, sizeof(ifr)); +- strncpy(ifr.ifr_name, ifname, IFNAMSIZ); ++ strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1); + if (ioctl(pset[0].fd, SIOCGIFINDEX, &ifr)) { + perror("ioctl(SIOCGIFINDEX)"); + usage(); +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch new file mode 100644 index 0000000000..3ba11ffe55 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch @@ -0,0 +1,116 @@ +From 0ef1a95b220c7e110da950e5cc544c50c25b1bc6 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:11:56 +0900 +Subject: [PATCH 4/5] rarpd.init : add new init file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.init | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 96 insertions(+) + create mode 100644 rarpd.init + +diff --git a/rarpd.init b/rarpd.init +new file mode 100644 +index 0000000..efcf825 +--- /dev/null ++++ b/rarpd.init +@@ -0,0 +1,96 @@ ++#!/bin/bash ++# ++# /etc/init.d/rarpd ++# ++# Starts the rarpd daemon ++# ++# chkconfig: - 82 16 ++# description: Server Reverse Address Resolution Protocol requests. ++# processname: rarpd ++ ++### BEGIN INIT INFO ++# Provides: rarpd ++# Required-Start: $syslog $network ++# Required-Stop: $syslog $network ++# Default-Start: ++# Default-Stop: 0 1 2 3 4 5 6 ++# Short-Description: start and stop rarpd ++# Description: RARP (Reverse Address Resolution Protocol) is a protocol \ ++# which allows individual devices on an IP network to get \ ++# their own IP addresses from the RARP server. \ ++### END INIT INFO ++ ++# Source function library. ++. /etc/init.d/functions ++ ++# Read the config file if exists ++if [ -f /etc/sysconfig/rarpd ]; then ++ . /etc/sysconfig/rarpd ++fi ++ ++RETVAL=0 ++prog="rarpd" ++ ++ ++start() { ++ #if these files don't exist rarpd can't work ++ test -x /usr/sbin/rarpd -a -f /etc/ethers || exit 6 ++ # Check if rarpd is already running ++ #if [ ! -f /var/lock/subsys/rarpd ]; then ++ status rarpd; ++ if [ $? -ne 0 ]; then ++ echo -n $"Starting $prog: " ++ daemon /usr/sbin/rarpd $OPTIONS $INTERFACE ++ RETVAL=$? ++ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rarpd ++ echo ++ fi ++ return $RETVAL ++} ++ ++stop() { ++ echo -n $"Stopping $prog: " ++ killproc /usr/sbin/rarpd ++ RETVAL=$? ++ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rarpd ++ echo ++ return $RETVAL ++} ++reload() { ++ RETVAL=3 ++} ++ ++# ++# See how we were called. ++# ++case "$1" in ++ start) ++ start ++ ;; ++ stop) ++ stop ++ ;; ++ reload) ++ reload ++ ;; ++ force-reload|restart) ++ stop ++ start ++ ;; ++ condrestart) ++ if [ -f /var/lock/subsys/rarpd ]; then ++ stop ++ start ++ fi ++ ;; ++ status) ++ status rarpd ++ RETVAL=$? ++ ;; ++ *) ++ echo $"Usage: $0 {start|stop|restart|condrestart|reload|status|force-reload}" ++ RETVAL=2 ++ ++esac ++ ++exit $RETVAL +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch new file mode 100644 index 0000000000..c77c806127 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch @@ -0,0 +1,244 @@ +From abe15ba10ddc3548c528ccb088097d7abf5be48b Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:14:07 +0900 +Subject: [PATCH 5/5] ethernet.c : remove it + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + ethernet.c | 224 ------------------------------------------------------------- + 1 file changed, 224 deletions(-) + delete mode 100644 ethernet.c + +diff --git a/ethernet.c b/ethernet.c +deleted file mode 100644 +index d682b63..0000000 +--- a/ethernet.c ++++ /dev/null +@@ -1,224 +0,0 @@ +-/* +- * Copyright (c) 1990, 1993 The Regents of the University of California. +- * All rights reserved. +- * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that: (1) source code distributions +- * retain the above copyright notice and this paragraph in its entirety, (2) +- * distributions including binary code include the above copyright notice and +- * this paragraph in its entirety in the documentation or other materials +- * provided with the distribution, and (3) all advertising materials mentioning +- * features or use of this software display the following acknowledgement: +- * ``This product includes software developed by the University of California, +- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of +- * the University nor the names of its contributors may be used to endorse +- * or promote products derived from this software without specific prior +- * written permission. +- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +- */ +-#ifndef lint +-static char rcsid[] = +- "@(#) $Header: etherent.c,v 1.4 96/06/14 20:34:25 leres Exp $ (LBL)"; +-#endif +- +-#include <sys/types.h> +-#include <sys/stat.h> +-#include <sys/time.h> +- +-#include <ctype.h> +-#include <stdio.h> +-#include <string.h> +- +-#ifndef ETHERS_FILE +-#define ETHERS_FILE "/etc/ethers" +-#endif +- +-struct etherent { +- u_char addr[6]; +- char name[122]; +-}; +- +-static FILE *ether_fp = NULL; +- +- +-/* Hex digit to integer. */ +-static inline int +-xdtoi(c) +- int c; +-{ +- +- if (isdigit(c)) +- return c - '0'; +- else if (islower(c)) +- return c - 'a' + 10; +- else +- return c - 'A' + 10; +-} +- +-static inline int +-skip_space(f) +- FILE *f; +-{ +- int c; +- +- do { +- c = getc(f); +- } while (isspace(c) && c != '\n'); +- +- return c; +-} +- +-static inline int +-skip_line(f) +- FILE *f; +-{ +- int c; +- +- do +- c = getc(f); +- while (c != '\n' && c != EOF); +- +- return c; +-} +- +-static struct etherent * +-next_etherent(fp) +- FILE *fp; +-{ +- register int c, d, i; +- char *bp; +- static struct etherent e; +- static int nline = 1; +- top: +- while (nline) { +- /* Find addr */ +- c = skip_space(fp); +- if (c == '\n') +- continue; +- /* If this is a comment, or first thing on line +- cannot be etehrnet address, skip the line. */ +- else if (!isxdigit(c)) +- c = skip_line(fp); +- else { +- /* must be the start of an address */ +- for (i = 0; i < 6; i += 1) { +- d = xdtoi(c); +- c = getc(fp); +- if (c != ':') { +- d <<= 4; +- d |= xdtoi(c); +- c = getc(fp); +- } +- e.addr[i] = d; +- if (c != ':') +- break; +- c = getc(fp); +- } +- nline = 0; +- } +- if (c == EOF) +- return NULL; +- } +- +- /* If we started a new line, 'c' holds the char past the ether addr, +- which we assume is white space. If we are continuing a line, +- 'c' is garbage. In either case, we can throw it away. */ +- +- c = skip_space(fp); +- if (c == '\n') { +- nline = 1; +- goto top; +- } +- else if (c == '#') { +- (void)skip_line(fp); +- nline = 1; +- goto top; +- } +- else if (c == EOF) +- return NULL; +- +- /* Must be a name. */ +- bp = e.name; +- /* Use 'd' to prevent buffer overflow. */ +- d = sizeof(e.name) - 1; +- do { +- *bp++ = c; +- c = getc(fp); +- } while (!isspace(c) && c != EOF && --d > 0); +- *bp = '\0'; +- if (c == '\n') +- nline = 1; +- +- return &e; +-} +- +-/* Open/rewind the ethers files; returns 1 if file was reopened */ +-int +-ether_rewind() +-{ +- struct stat st; +- static long mtime = 0, ctime = 0; +- +- if (ether_fp != NULL) { +- if (fstat(fileno(ether_fp), &st) < 0 || +- mtime != st.st_mtime || ctime != st.st_ctime || +- fseek(ether_fp, 0L, SEEK_SET) < 0) { +- fclose(ether_fp); +- ether_fp = NULL; +- } +- } +- if (ether_fp == NULL) { +- ether_fp = fopen(ETHERS_FILE, "r"); +- if (ether_fp == NULL) +- return (-1); +- if (fstat(fileno(ether_fp), &st) < 0) { +- fclose(ether_fp); +- ether_fp = NULL; +- return (-1); +- } +- mtime = st.st_mtime; +- ctime = st.st_ctime; +- return (1); +- } +- return (0); +-} +- +-/* Map an ethernet address to a name; returns 0 on success, else 1. */ +-int +-ether_ntohost(name, ea) +- register char *name; +- register u_char *ea; +-{ +- register struct etherent *ep; +- +- if (ether_rewind() < 0) +- return (1); +- +- while ((ep = next_etherent(ether_fp)) != NULL) +- if (bcmp(ep->addr, ea, 6) == 0) { +- strcpy(name, ep->name); +- return (0); +- } +- return (1); +-} +- +-/* Map an ethernet name to an address; returns 0 on success, else 1. */ +-int +-ether_hostton(name, ea) +- register char *name; +- register u_char *ea; +-{ +- register struct etherent *ep; +- +- if (ether_rewind() < 0) +- return (1); +- +- while ((ep = next_etherent(ether_fp)) != NULL) +- if (strcmp(ep->name, name) == 0) { +- bcopy(ep->addr, ea, 6); +- return (0); +- } +- return (1); +-} +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample new file mode 100644 index 0000000000..249ca6b3c3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample @@ -0,0 +1 @@ +# see man ethers for syntax diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service new file mode 100644 index 0000000000..137710eb15 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service @@ -0,0 +1,14 @@ +[Unit] +Description=Reverse Address Resolution Protocol Requests Server +Requires=network.target +After=syslog.target network.target + +[Service] +Type=forking +EnvironmentFile=-/etc/sysconfig/rarpd +ExecStart=/usr/sbin/rarpd $OPTIONS $INTERFACE +StandardError=syslog + +[Install] +WantedBy=multi-user.target + diff --git a/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb new file mode 100644 index 0000000000..7c9f2df9db --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb @@ -0,0 +1,51 @@ +SUMMARY = "The RARP daemon." +DESCRIPTION = "RARP (Reverse Address Resolution Protocol) is a protocol which \ +allows individual devices on an IP network to get their own IP addresses from \ +the RARP server. Some machines (e.g. SPARC boxes) use this protocol instead \ +of e.g. DHCP to query their IP addresses during network bootup. \ +Linux kernels up to 2.2 used to provide a kernel daemon for this service, \ +but since 2.3 kernels it is served by this userland daemon. \ +You should install rarpd if you want to set up a RARP server on your \ +network." +SECTION = "System Environment/Daemons" + +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.gz/be2a88f8ccddf2a40ac484cb3294fedc/${BP}.tar.gz" +SRC_URI[md5sum] = "be2a88f8ccddf2a40ac484cb3294fedc" +SRC_URI[sha256sum] = "4d6145d435a5d8b567b9798620f57f9b0a464078a1deba267958f168fbe776e6" + +SRC_URI += "file://0001-rarpd.8-add-man-file.patch \ + file://0002-Makefile-modify-compile-parameters.patch \ + file://0003-rarpd.c-bug-fix.patch \ + file://0004-rarpd.init-add-new-init-file.patch \ + file://0005-ethernet.c-remove-it.patch \ + file://ethers.sample \ + file://rarpd.service \ +" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://rarpd.c;md5=199b20b172ea93121bc613a9c77b6931" + +S = "${WORKDIR}/${BPN}" + +EXTRA_OEMAKE = "-e MAKEFLAGS=" + +do_install() { + install -d ${D}${sysconfdir}/init.d + install -d ${D}${sbindir} + install -d ${D}${mandir}/man8 + install -m 755 rarpd.init ${D}${sysconfdir}/init.d/rarpd + install -m 755 rarpd ${D}${sbindir}/rarpd + install -m 644 rarpd.8 ${D}${mandir}/man8/rarpd.8 + install -m 644 ${WORKDIR}/ethers.sample ${D}${sysconfdir}/ethers + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/ +} + +inherit systemd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "rarpd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-update-Makefile-to-add-symbols-to-staticlib.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-update-Makefile-to-add-symbols-to-staticlib.patch new file mode 100644 index 0000000000..2b3b587936 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-update-Makefile-to-add-symbols-to-staticlib.patch @@ -0,0 +1,19 @@ +--- redis-3.0.2/deps/hiredis/Makefile.orig 2016-05-06 19:36:26.179003036 -0700 ++++ redis-3.0.2/deps/hiredis/Makefile 2016-05-06 19:40:15.341340736 -0700 +@@ -25,7 +25,7 @@ + + # Fallback to gcc when $CC is not in $PATH. + CC?=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') +-OPTIMIZATION?=-O3 ++OPTIMIZATION?=-O2 + WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings + DEBUG?= -g -ggdb + REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) $(ARCH) +@@ -68,6 +68,7 @@ + + $(STLIBNAME): $(OBJ) + $(STLIB_MAKE_CMD) $(OBJ) ++ $(RANLIB) $@ + + dynamic: $(DYLIBNAME) + static: $(STLIBNAME) diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch new file mode 100644 index 0000000000..f9f1c0dbd5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch @@ -0,0 +1,30 @@ +From dc745a33f3875cc72d41bd34ed490b352e546352 Mon Sep 17 00:00:00 2001 +From: Venture Research <tech@ventureresearch.com> +Date: Fri, 8 Feb 2013 17:39:52 -0600 +Subject: [PATCH] hiredis: use default CC if it is set + +Instead of trying to automagically figure out CC, which breaks with OE +as CC has spaces in it, just skip it if one was already passed in. + +Signed-off-by: Venture Research <tech@ventureresearch.com> + +Update to work with 3.0.x +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +--- + deps/hiredis/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: deps/hiredis/Makefile +=================================================================== +--- a/deps/hiredis/Makefile ++++ b/deps/hiredis/Makefile +@@ -24,7 +24,7 @@ endef + export REDIS_TEST_CONFIG + + # Fallback to gcc when $CC is not in $PATH. +-CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') ++CC?=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') + OPTIMIZATION?=-O3 + WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings + DEBUG?= -g -ggdb diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/init-redis-server b/meta-openembedded/meta-oe/recipes-extended/redis/redis/init-redis-server new file mode 100755 index 0000000000..6014d70c0e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/init-redis-server @@ -0,0 +1,40 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: redis-server +# Required-Start: $network +# Required-Stop: $network +# Default-Start: S 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Redis, a key-value store +# Description: Redis is an open source, advanced key-value store. +# http://redis.io +### END INIT INFO + +test -f /usr/bin/redis-server || exit 0 + +ARGS="/etc/redis/redis.conf" + +case "$1" in + start) + echo "Starting redis-server..." + start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS + ;; + stop) + echo "Stopping redis-server..." + start-stop-daemon --stop --quiet --exec /usr/bin/redis-server + ;; + restart) + echo "Stopping redis-server..." + start-stop-daemon --stop --quiet --exec /usr/bin/redis-server + echo "Starting redis-server..." + start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS + ;; + *) + echo "Usage: /etc/init.d/redis-server {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch new file mode 100644 index 0000000000..7e62ae1316 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch @@ -0,0 +1,71 @@ +From 394108035d350ae662a431c80131f812b5f72dff Mon Sep 17 00:00:00 2001 +From: Venture Research <tech@ventureresearch.com> +Date: Fri, 8 Feb 2013 20:22:19 -0600 +Subject: [PATCH] lua: update Makefile to use environment build settings + +OE-specific parameters, instead of overriding all of these simply use +the ones that are already passed in. Also configure for only Linux... + +Signed-off-by: Venture Research <tech@ventureresearch.com> + +Updated to work with 3.0.x + +Signed-off-by: Armin Kuster <akust808@gmail.com> + +--- + deps/lua/src/Makefile | 18 +++++++----------- + 1 file changed, 7 insertions(+), 11 deletions(-) + +Index: redis-3.0.2/deps/lua/src/Makefile +=================================================================== +--- redis-3.0.2.orig/deps/lua/src/Makefile ++++ redis-3.0.2/deps/lua/src/Makefile +@@ -5,18 +5,14 @@ + # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= + + # Your platform. See PLATS for possible values. +-PLAT= none ++PLAT= linux + +-CC?= gcc +-CFLAGS= -O2 -Wall $(MYCFLAGS) +-AR= ar rcu +-RANLIB= ranlib +-RM= rm -f +-LIBS= -lm $(MYLIBS) +- +-MYCFLAGS= ++MYCFLAGS=-DLUA_USE_LINUX + MYLDFLAGS= +-MYLIBS= ++MYLIBS=-Wl,-E -ldl -lreadline -lhistory -lncurses ++ ++CFLAGS += $(MYCFLAGS) ++LIBS += -lm $(MYLIBS) + + # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= + +Index: redis-3.0.2/deps/Makefile +=================================================================== +--- redis-3.0.2.orig/deps/Makefile ++++ redis-3.0.2/deps/Makefile +@@ -63,7 +63,6 @@ LUA_LDFLAGS+= $(LDFLAGS) + # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more + # challenging to cross-compile lua (and redis). These defines make it easier + # to fit redis into cross-compilation environments, which typically set AR. +-AR=ar + ARFLAGS=rcu + + lua: .make-prerequisites +Index: redis-3.0.2/deps/lua/Makefile +=================================================================== +--- redis-3.0.2.orig/deps/lua/Makefile ++++ redis-3.0.2/deps/lua/Makefile +@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644 + + # Utilities. + MKDIR= mkdir -p +-RANLIB= ranlib + + # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= + diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch new file mode 100644 index 0000000000..b768a77491 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch @@ -0,0 +1,34 @@ +From f8861d2129b9e18bba137705bfa38c6bd9be1790 Mon Sep 17 00:00:00 2001 +From: Venture Research <tech@ventureresearch.com> +Date: Wed, 6 Feb 2013 20:51:02 -0600 +Subject: [PATCH] hack to force use of libc malloc + +Hack to force libc usage as it seems the option to pass it in has been +removed in favor of magic. + +Note that this of course doesn't allow tcmalloc and jemalloc, however +jemalloc wasn't building correctly. + +Signed-off-by: Venture Research <tech@ventureresearch.com> + +Update to work with 3.0.x +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: src/Makefile +=================================================================== +--- a/src/Makefile ++++ b/src/Makefile +@@ -13,7 +13,8 @@ + # Just use 'make dep', but this is only needed by developers. + + release_hdr := $(shell sh -c './mkreleasehdr.sh') +-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') ++# use fake uname option to force use of generic libc ++uname_S := "USE_LIBC_MALLOC" + OPTIMIZATION?=-O2 + DEPENDENCY_TARGETS=hiredis linenoise lua + diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf b/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf new file mode 100644 index 0000000000..ab024ad852 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf @@ -0,0 +1,550 @@ +# Redis configuration file example + +# Note on units: when memory size is needed, it is possible to specify +# it in the usual form of 1k 5GB 4M and so forth: +# +# 1k => 1000 bytes +# 1kb => 1024 bytes +# 1m => 1000000 bytes +# 1mb => 1024*1024 bytes +# 1g => 1000000000 bytes +# 1gb => 1024*1024*1024 bytes +# +# units are case insensitive so 1GB 1Gb 1gB are all the same. + +# By default Redis does not run as a daemon. Use 'yes' if you need it. +# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# +# OE: run as a daemon. +# +daemonize yes + +# When running daemonized, Redis writes a pid file in /var/run/redis.pid by +# default. You can specify a custom pid file location here. +pidfile /var/run/redis.pid + +# Accept connections on the specified port, default is 6379. +# If port 0 is specified Redis will not listen on a TCP socket. +port 6379 + +# If you want you can bind a single interface, if the bind option is not +# specified all the interfaces will listen for incoming connections. +# +bind 127.0.0.1 + +# Specify the path for the unix socket that will be used to listen for +# incoming connections. There is no default, so Redis will not listen +# on a unix socket when not specified. +# +# unixsocket /tmp/redis.sock +# unixsocketperm 755 + +# Close the connection after a client is idle for N seconds (0 to disable) +timeout 0 + +# Set server verbosity to 'debug' +# it can be one of: +# debug (a lot of information, useful for development/testing) +# verbose (many rarely useful info, but not a mess like the debug level) +# notice (moderately verbose, what you want in production probably) +# warning (only very important / critical messages are logged) +loglevel notice + +# Specify the log file name. Also 'stdout' can be used to force +# Redis to log on the standard output. Note that if you use standard +# output for logging but daemonize, logs will be sent to /dev/null +# logfile /var/log/redis.log + +# To enable logging to the system logger, just set 'syslog-enabled' to yes, +# and optionally update the other syslog parameters to suit your needs. +syslog-enabled yes + +# Specify the syslog identity. +syslog-ident redis + +# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. +# syslog-facility local0 + +# Set the number of databases. The default database is DB 0, you can select +# a different one on a per-connection basis using SELECT <dbid> where +# dbid is a number between 0 and 'databases'-1 +databases 16 + +################################ SNAPSHOTTING ################################# +# +# Save the DB on disk: +# +# save <seconds> <changes> +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behaviour will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving at all commenting all the "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" + +#save 900 1 +#save 300 10 +#save 60 10000 + +# OE: tune for a small embedded system with a limited # of keys. +save 120 1 +save 60 100 +save 30 1000 + +# By default Redis will stop accepting writes if RDB snapshots are enabled +# (at least one save point) and the latest background save failed. +# This will make the user aware (in an hard way) that data is not persisting +# on disk properly, otherwise chances are that no one will notice and some +# distater will happen. +# +# If the background saving process will start working again Redis will +# automatically allow writes again. +# +# However if you have setup your proper monitoring of the Redis server +# and persistence, you may want to disable this feature so that Redis will +# continue to work as usually even if there are problems with disk, +# permissions, and so forth. +stop-writes-on-bgsave-error yes + +# Compress string objects using LZF when dump .rdb databases? +# For default that's set to 'yes' as it's almost always a win. +# If you want to save some CPU in the saving child set it to 'no' but +# the dataset will likely be bigger if you have compressible values or keys. +rdbcompression yes + +# Since verison 5 of RDB a CRC64 checksum is placed at the end of the file. +# This makes the format more resistant to corruption but there is a performance +# hit to pay (around 10%) when saving and loading RDB files, so you can disable it +# for maximum performances. +# +# RDB files created with checksum disabled have a checksum of zero that will +# tell the loading code to skip the check. +rdbchecksum yes + +# The filename where to dump the DB +dbfilename dump.rdb + +# The working directory. +# +# The DB will be written inside this directory, with the filename specified +# above using the 'dbfilename' configuration directive. +# +# Also the Append Only File will be created inside this directory. +# +# Note that you must specify a directory here, not a file name. +dir /var/lib/redis/ + +################################# REPLICATION ################################# + +# Master-Slave replication. Use slaveof to make a Redis instance a copy of +# another Redis server. Note that the configuration is local to the slave +# so for example it is possible to configure the slave to save the DB with a +# different interval, or to listen to another port, and so on. +# +# slaveof <masterip> <masterport> + +# If the master is password protected (using the "requirepass" configuration +# directive below) it is possible to tell the slave to authenticate before +# starting the replication synchronization process, otherwise the master will +# refuse the slave request. +# +# masterauth <master-password> + +# When a slave lost the connection with the master, or when the replication +# is still in progress, the slave can act in two different ways: +# +# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will +# still reply to client requests, possibly with out of date data, or the +# data set may just be empty if this is the first synchronization. +# +# 2) if slave-serve-stale data is set to 'no' the slave will reply with +# an error "SYNC with master in progress" to all the kind of commands +# but to INFO and SLAVEOF. +# +slave-serve-stale-data yes + +# You can configure a slave instance to accept writes or not. Writing against +# a slave instance may be useful to store some ephemeral data (because data +# written on a slave will be easily deleted after resync with the master) but +# may also cause problems if clients are writing to it because of a +# misconfiguration. +# +# Since Redis 2.6 by default slaves are read-only. +# +# Note: read only slaves are not designed to be exposed to untrusted clients +# on the internet. It's just a protection layer against misuse of the instance. +# Still a read only slave exports by default all the administrative commands +# such as CONFIG, DEBUG, and so forth. To a limited extend you can improve +# security of read only slaves using 'rename-command' to shadow all the +# administrative / dangerous commands. +slave-read-only yes + +# Slaves send PINGs to server in a predefined interval. It's possible to change +# this interval with the repl_ping_slave_period option. The default value is 10 +# seconds. +# +# repl-ping-slave-period 10 + +# The following option sets a timeout for both Bulk transfer I/O timeout and +# master data or ping response timeout. The default value is 60 seconds. +# +# It is important to make sure that this value is greater than the value +# specified for repl-ping-slave-period otherwise a timeout will be detected +# every time there is low traffic between the master and the slave. +# +# repl-timeout 60 + +# The slave priority is an integer number published by Redis in the INFO output. +# It is used by Redis Sentinel in order to select a slave to promote into a +# master if the master is no longer working correctly. +# +# A slave with a low priority number is considered better for promotion, so +# for instance if there are three slaves with priority 10, 100, 25 Sentinel will +# pick the one wtih priority 10, that is the lowest. +# +# However a special priority of 0 marks the slave as not able to perform the +# role of master, so a slave with priority of 0 will never be selected by +# Redis Sentinel for promotion. +# +# By default the priority is 100. +slave-priority 100 + +################################## SECURITY ################################### + +# Require clients to issue AUTH <PASSWORD> before processing any other +# commands. This might be useful in environments in which you do not trust +# others with access to the host running redis-server. +# +# This should stay commented out for backward compatibility and because most +# people do not need auth (e.g. they run their own servers). +# +# Warning: since Redis is pretty fast an outside user can try up to +# 150k passwords per second against a good box. This means that you should +# use a very strong password otherwise it will be very easy to break. +# +# requirepass foobared + +# Command renaming. +# +# It is possible to change the name of dangerous commands in a shared +# environment. For instance the CONFIG command may be renamed into something +# of hard to guess so that it will be still available for internal-use +# tools but not available for general clients. +# +# Example: +# +# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 +# +# It is also possible to completely kill a command renaming it into +# an empty string: +# +# rename-command CONFIG "" + +################################### LIMITS #################################### + +# Set the max number of connected clients at the same time. By default +# this limit is set to 10000 clients, however if the Redis server is not +# able ot configure the process file limit to allow for the specified limit +# the max number of allowed clients is set to the current file limit +# minus 32 (as Redis reserves a few file descriptors for internal uses). +# +# Once the limit is reached Redis will close all the new connections sending +# an error 'max number of clients reached'. +# +# maxclients 10000 + +# Don't use more memory than the specified amount of bytes. +# When the memory limit is reached Redis will try to remove keys +# accordingly to the eviction policy selected (see maxmemmory-policy). +# +# If Redis can't remove keys according to the policy, or if the policy is +# set to 'noeviction', Redis will start to reply with errors to commands +# that would use more memory, like SET, LPUSH, and so on, and will continue +# to reply to read-only commands like GET. +# +# This option is usually useful when using Redis as an LRU cache, or to set +# an hard memory limit for an instance (using the 'noeviction' policy). +# +# WARNING: If you have slaves attached to an instance with maxmemory on, +# the size of the output buffers needed to feed the slaves are subtracted +# from the used memory count, so that network problems / resyncs will +# not trigger a loop where keys are evicted, and in turn the output +# buffer of slaves is full with DELs of keys evicted triggering the deletion +# of more keys, and so forth until the database is completely emptied. +# +# In short... if you have slaves attached it is suggested that you set a lower +# limit for maxmemory so that there is some free RAM on the system for slave +# output buffers (but this is not needed if the policy is 'noeviction'). +# +# maxmemory <bytes> + +# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory +# is reached? You can select among five behavior: +# +# volatile-lru -> remove the key with an expire set using an LRU algorithm +# allkeys-lru -> remove any key accordingly to the LRU algorithm +# volatile-random -> remove a random key with an expire set +# allkeys-random -> remove a random key, any key +# volatile-ttl -> remove the key with the nearest expire time (minor TTL) +# noeviction -> don't expire at all, just return an error on write operations +# +# Note: with all the kind of policies, Redis will return an error on write +# operations, when there are not suitable keys for eviction. +# +# At the date of writing this commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort +# +# The default is: +# +# maxmemory-policy volatile-lru + +# LRU and minimal TTL algorithms are not precise algorithms but approximated +# algorithms (in order to save memory), so you can select as well the sample +# size to check. For instance for default Redis will check three keys and +# pick the one that was used less recently, you can change the sample size +# using the following configuration directive. +# +# maxmemory-samples 3 + +############################## APPEND ONLY MODE ############################### + +# By default Redis asynchronously dumps the dataset on disk. This mode is +# good enough in many applications, but an issue with the Redis process or +# a power outage may result into a few minutes of writes lost (depending on +# the configured save points). +# +# The Append Only File is an alternative persistence mode that provides +# much better durability. For instance using the default data fsync policy +# (see later in the config file) Redis can lose just one second of writes in a +# dramatic event like a server power outage, or a single write if something +# wrong with the Redis process itself happens, but the operating system is +# still running correctly. +# +# AOF and RDB persistence can be enabled at the same time without problems. +# If the AOF is enabled on startup Redis will load the AOF, that is the file +# with the better durability guarantees. +# +# Please check http://redis.io/topics/persistence for more information. + +# +# OE: changed default to enable this +appendonly yes + +# The name of the append only file (default: "appendonly.aof") +# appendfilename appendonly.aof + +# The fsync() call tells the Operating System to actually write data on disk +# instead to wait for more data in the output buffer. Some OS will really flush +# data on disk, some other OS will just try to do it ASAP. +# +# Redis supports three different modes: +# +# no: don't fsync, just let the OS flush the data when it wants. Faster. +# always: fsync after every write to the append only log . Slow, Safest. +# everysec: fsync only one time every second. Compromise. +# +# The default is "everysec" that's usually the right compromise between +# speed and data safety. It's up to you to understand if you can relax this to +# "no" that will let the operating system flush the output buffer when +# it wants, for better performances (but if you can live with the idea of +# some data loss consider the default persistence mode that's snapshotting), +# or on the contrary, use "always" that's very slow but a bit safer than +# everysec. +# +# More details please check the following article: +# http://antirez.com/post/redis-persistence-demystified.html +# +# If unsure, use "everysec". + +# appendfsync always +appendfsync everysec +# appendfsync no + +# When the AOF fsync policy is set to always or everysec, and a background +# saving process (a background save or AOF log background rewriting) is +# performing a lot of I/O against the disk, in some Linux configurations +# Redis may block too long on the fsync() call. Note that there is no fix for +# this currently, as even performing fsync in a different thread will block +# our synchronous write(2) call. +# +# In order to mitigate this problem it's possible to use the following option +# that will prevent fsync() from being called in the main process while a +# BGSAVE or BGREWRITEAOF is in progress. +# +# This means that while another child is saving the durability of Redis is +# the same as "appendfsync none", that in practical terms means that it is +# possible to lost up to 30 seconds of log in the worst scenario (with the +# default Linux settings). +# +# If you have latency problems turn this to "yes". Otherwise leave it as +# "no" that is the safest pick from the point of view of durability. +no-appendfsync-on-rewrite no + +# Automatic rewrite of the append only file. +# Redis is able to automatically rewrite the log file implicitly calling +# BGREWRITEAOF when the AOF log size will growth by the specified percentage. +# +# This is how it works: Redis remembers the size of the AOF file after the +# latest rewrite (or if no rewrite happened since the restart, the size of +# the AOF at startup is used). +# +# This base size is compared to the current size. If the current size is +# bigger than the specified percentage, the rewrite is triggered. Also +# you need to specify a minimal size for the AOF file to be rewritten, this +# is useful to avoid rewriting the AOF file even if the percentage increase +# is reached but it is still pretty small. +# +# Specify a percentage of zero in order to disable the automatic AOF +# rewrite feature. + +auto-aof-rewrite-percentage 100 +auto-aof-rewrite-min-size 64mb + +################################ LUA SCRIPTING ############################### + +# Max execution time of a Lua script in milliseconds. +# +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. +# +# When a long running script exceed the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet called write commands. The second +# is the only way to shut down the server in the case a write commands was +# already issue by the script but the user don't want to wait for the natural +# termination of the script. +# +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 + +################################## SLOW LOG ################################### + +# The Redis Slow Log is a system to log queries that exceeded a specified +# execution time. The execution time does not include the I/O operations +# like talking with the client, sending the reply and so forth, +# but just the time needed to actually execute the command (this is the only +# stage of command execution where the thread is blocked and can not serve +# other requests in the meantime). +# +# You can configure the slow log with two parameters: one tells Redis +# what is the execution time, in microseconds, to exceed in order for the +# command to get logged, and the other parameter is the length of the +# slow log. When a new command is logged the oldest one is removed from the +# queue of logged commands. + +# The following time is expressed in microseconds, so 1000000 is equivalent +# to one second. Note that a negative number disables the slow log, while +# a value of zero forces the logging of every command. +slowlog-log-slower-than 10000 + +# There is no limit to this length. Just be aware that it will consume memory. +# You can reclaim memory used by the slow log with SLOWLOG RESET. +slowlog-max-len 128 + +############################### ADVANCED CONFIG ############################### + +# Hashes are encoded using a memory efficient data structure when they have a +# small number of entries, and the biggest entry does not exceed a given +# threshold. These thresholds can be configured using the following directives. +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 + +# Similarly to hashes, small lists are also encoded in a special way in order +# to save a lot of space. The special representation is only used when +# you are under the following limits: +list-max-ziplist-entries 512 +list-max-ziplist-value 64 + +# Sets have a special encoding in just one case: when a set is composed +# of just strings that happens to be integers in radix 10 in the range +# of 64 bit signed integers. +# The following configuration setting sets the limit in the size of the +# set in order to use this special memory saving encoding. +set-max-intset-entries 512 + +# Similarly to hashes and lists, sorted sets are also specially encoded in +# order to save a lot of space. This encoding is only used when the length and +# elements of a sorted set are below the following limits: +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 + +# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in +# order to help rehashing the main Redis hash table (the one mapping top-level +# keys to values). The hash table implementation Redis uses (see dict.c) +# performs a lazy rehashing: the more operation you run into an hash table +# that is rehashing, the more rehashing "steps" are performed, so if the +# server is idle the rehashing is never complete and some more memory is used +# by the hash table. +# +# The default is to use this millisecond 10 times every second in order to +# active rehashing the main dictionaries, freeing memory when possible. +# +# If unsure: +# use "activerehashing no" if you have hard latency requirements and it is +# not a good thing in your environment that Redis can reply form time to time +# to queries with 2 milliseconds delay. +# +# use "activerehashing yes" if you don't have such hard requirements but +# want to free memory asap when possible. +activerehashing yes + +# The client output buffer limits can be used to force disconnection of clients +# that are not reading data from the server fast enough for some reason (a +# common reason is that a Pub/Sub client can't consume messages as fast as the +# publisher can produce them). +# +# The limit can be set differently for the three different classes of clients: +# +# normal -> normal clients +# slave -> slave clients and MONITOR clients +# pubsub -> clients subcribed to at least one pubsub channel or pattern +# +# The syntax of every client-output-buffer-limit directive is the following: +# +# client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds> +# +# A client is immediately disconnected once the hard limit is reached, or if +# the soft limit is reached and remains reached for the specified number of +# seconds (continuously). +# So for instance if the hard limit is 32 megabytes and the soft limit is +# 16 megabytes / 10 seconds, the client will get disconnected immediately +# if the size of the output buffers reach 32 megabytes, but will also get +# disconnected if the client reaches 16 megabytes and continuously overcomes +# the limit for 10 seconds. +# +# By default normal clients are not limited because they don't receive data +# without asking (in a push way), but just after a request, so only +# asynchronous clients may create a scenario where data is requested faster +# than it can read. +# +# Instead there is a default limit for pubsub and slave clients, since +# subscribers and slaves receive data in a push fashion. +# +# Both the hard or the soft limit can be disabled just setting it to zero. +client-output-buffer-limit normal 0 0 0 +client-output-buffer-limit slave 256mb 64mb 60 +client-output-buffer-limit pubsub 32mb 8mb 60 + +################################## INCLUDES ################################### + +# Include one or more other config files here. This is useful if you +# have a standard template that goes to all Redis server but also need +# to customize a few per-server settings. Include files can include +# other files, so use this wisely. +# +# include /path/to/local.conf +# include /path/to/other.conf diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service new file mode 100644 index 0000000000..36d29852da --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service @@ -0,0 +1,15 @@ +[Unit] +Description=Redis In-Memory Data Store +After=network.target + +[Service] +User=redis +Group=redis +ExecStart=/usr/bin/redis-server /etc/redis/redis.conf +ExecStop=/usr/bin/redis-cli shutdown +Restart=always +LimitNOFILE=10032 + +[Install] +WantedBy=multi-user.target + diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb new file mode 100644 index 0000000000..9395b33b08 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb @@ -0,0 +1,55 @@ +SUMMARY = "Redis key-value store" +DESCRIPTION = "Redis is an open source, advanced key-value store." +HOMEPAGE = "http://redis.io" +SECTION = "libs" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6" +DEPENDS = "" + +SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ + file://hiredis-use-default-CC-if-it-is-set.patch \ + file://lua-update-Makefile-to-use-environment-build-setting.patch \ + file://oe-use-libc-malloc.patch \ + file://redis.conf \ + file://init-redis-server \ + file://redis.service \ + file://hiredis-update-Makefile-to-add-symbols-to-staticlib.patch \ +" + +SRC_URI[md5sum] = "87be8867447f62524b584813e5a7bd14" +SRC_URI[sha256sum] = "93e422c0d584623601f89b956045be158889ebe594478a2c24e1bf218495633f" + +inherit autotools-brokensep update-rc.d systemd useradd + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" +GROUPADD_PARAM_${PN} = "--system redis" + + +REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/redis + install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server + install -d ${D}/var/lib/redis/ + chown redis.redis ${D}/var/lib/redis/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service + + if [ "${REDIS_ON_SYSTEMD}" = true ]; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf + fi +} + +CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" + +INITSCRIPT_NAME = "redis-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb new file mode 100644 index 0000000000..797bcaaeea --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb @@ -0,0 +1,128 @@ +SUMMARY = "High performance data logging and graphing system for time series data" +HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3349111ed0533471494beec99715bc9d" + +DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native" + +SRCREV = "61f116744262c4c18922dcf806e496715f199669" +PV = "1.6.0" + +SRC_URI = "\ + git://github.com/oetiker/rrdtool-1.x.git;branch=1.6;protocol=http; \ +" + +S = "${WORKDIR}/git" + +inherit cpan autotools-brokensep gettext pythonnative python-dir systemd + +BBCLASSEXTEND = "native" + +SYSTEMD_PACKAGES = "rrdcached" +SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service" + +EXTRA_AUTORECONF = "-I m4 --exclude=autopoint" + +PACKAGECONFIG ??= "python perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +PACKAGECONFIG[python] = "--enable-python=yes \ +am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \ +am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\ +--disable-python,python," + +PACKAGECONFIG[perl] = \ +"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor"' \ +ac_cv_path_PERL_CC='${CC}', \ +--disable-perl,perl," + +PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi" + +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," + +EXTRA_OECONF = " \ + --enable-shared \ + --disable-libwrap \ + --program-prefix='' \ + rd_cv_ieee_works=yes \ + --disable-ruby \ + --disable-lua \ + --disable-tcl \ + --disable-rpath \ + --enable-nls=${USE_NLS} \ +" + +export STAGING_LIBDIR +export STAGING_INCDIR + +# emulate cpan_do_configure +EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" ' +# Avoid do_configure error on some hosts + +do_configure() { + unset PERLHOSTLIB + #fix the pkglib problem with newer automake + #perl + sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \ + ${S}/bindings/perl-shared/Makefile.PL + + #python + sed -i -e '/PYTHON_INCLUDES="-I${/c \ + PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \ + ${S}/m4/acinclude.m4 + #remove the useless RPATH from the rrdtool.so + sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am + + autotools_do_configure + + #modify python sitepkg + #remove the dependency of perl-shared:Makefile + #or perl-shared/Makefile will be regenerated + #if any code touch bindings/Makefile after below perl bindings code + sed -i -e "s:python/setup.py install:python/setup.py install \ + --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \ + -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ + ${B}/bindings/Makefile + + #redo the perl bindings + ( + cd ${S}/bindings/perl-shared; + perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; + + cd ../../bindings/perl-piped; + perl Makefile.PL INSTALLDIRS="vendor"; + ) + + #change the interpreter in file + sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \ + ${B}/examples/Makefile + sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \ + ${B}/examples/*.pl +} + +PACKAGES =+ "${PN}-perl ${PN}-python" +PACKAGES =+ "rrdcached" + +DESCRIPTION_rrdcached = \ +"The rrdcached package contains the data caching daemon for RRDtool." + +FILES_rrdcached = "${bindir}/rrdcached \ + ${systemd_unitdir}/system/rrdcached.service \ + ${systemd_unitdir}/system/rrdcached.socket" + +FILES_${PN}-doc += "${datadir}/rrdtool/examples" + +DESCRIPTION_${PN}-perl = \ +"The ${PN}-perl package includes RRDtool bindings for perl." +FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \ + ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" +RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ + perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" + +DESCRIPTION_${PN}-python = \ +"The ${PN}-python package includes RRDtool bindings for python." +FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" +RDEPENDS_${PN}-python = "python" + +FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \ + ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug" diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb new file mode 100644 index 0000000000..2e23d7ec6d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb @@ -0,0 +1,15 @@ +SUMMARY = "A fork of json-c library" +HOMEPAGE = "https://github.com/rsyslog/libfastjson" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=a958bb07122368f3e1d9b2efe07d231f" + +DEPENDS = "" + +SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https" + +SRCREV = "6e057a094cb225c9d80d8d6e6b1f36ca88a942dd" + +S = "${WORKDIR}/git" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb new file mode 100644 index 0000000000..28047eb542 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb @@ -0,0 +1,15 @@ +SUMMARY = "A reliable logging library" +HOMEPAGE = "https://github.com/rsyslog/libfastjson" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9" + +DEPENDS = "gmp nettle libidn zlib gnutls" + +SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https" + +SRCREV = "fc512e337bfc7c92770246dbff5f482b879498b9" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch new file mode 100644 index 0000000000..ca88dd3f7e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch @@ -0,0 +1,31 @@ +From 9739095de6ae5f844354756ae968f5f8864eb3e3 Mon Sep 17 00:00:00 2001 +From: Ming Liu <peter.x.liu@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@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[]) + { diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/initscript b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/initscript new file mode 100644 index 0000000000..7a8f8f9918 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/initscript @@ -0,0 +1,118 @@ +#! /bin/sh +# +# This is an init script for openembedded +# Copy it to /etc/init.d/rsyslog and type +# > update-rc.d rsyslog defaults 5 +# + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +NAME=rsyslog +RSYSLOGD=rsyslogd +RSYSLOGD_BIN=/usr/sbin/rsyslogd +RSYSLOGD_OPTIONS="" +RSYSLOGD_PIDFILE=/var/run/rsyslogd.pid +SCRIPTNAME=/etc/init.d/$NAME +# Exit if the package is not installed +[ -x "$RSYSLOGD_BIN" ] || exit 0 +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME +# +# Function that starts the daemon/service +# +do_start() +{ + DAEMON=$1 + DAEMON_ARGS=$2 + PIDFILE=$3 + # Return + # 0 if daemon has been started + # 1 if daemon could not be started + # if daemon had already been started, start-stop-daemon will return 1 + # so add -o/--oknodo(if nothing is done, exit 0) + start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \ + --oknodo -- $DAEMON_ARGS || return 1 +} +# +# Function that stops the daemon/service +# +do_stop() +{ + NAME=$1 + PIDFILE=$2 + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + # QUIT/TERM/INT should work here, but they don't ????? + start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE --name $NAME + RETVAL="$?" + rm -f $PIDFILE + return "$RETVAL" +} +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + NAME=$1 + PIDFILE=$2 + start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +do_status() { + NAME=$1 + PIDFILE=$2 + # -t: test only but not stop + start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME + # exit with status 0 if process is found + if [ "$?" = "0" ]; then + return 0 + else + return 1 + fi +} + +case "$1" in + start) + echo -n "starting $RSYSLOGD ... " + do_start "$RSYSLOGD_BIN" "$RSYSLOGD_OPTIONS" "$RSYSLOGD_PIDFILE" + case "$?" in + 0) echo "done" ;; + 1) echo "failed" ;; + esac + ;; + stop) + echo -n "stopping $RSYSLOGD ... " + do_stop "$RSYSLOGD" "$RSYSLOGD_PIDFILE" + case "$?" in + 0|1) echo "done" ;; + 2) echo "failed" ;; + esac + ;; + reload|force-reload) + echo -n "reloading $RSYSLOGD ... " + do_reload "$RSYSLOGD" "$RSYSLOGD_PIDFILE" + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + status) + echo -n "status $RSYSLOGD ... " + do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE" + if [ "$?" = "0" ]; then + echo "running" + exit 0 + else + echo "stopped" + exit 1 + fi + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2 + exit 3 + ;; +esac +exit 0 diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch new file mode 100644 index 0000000000..a248f75e5b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch @@ -0,0 +1,118 @@ +From 07ad2a1905089b9124623324a9969e4522317110 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Fri, 12 Sep 2014 03:41:11 -0400 +Subject: [PATCH] rsyslog: update configure to fix ptest + +$MaxMessageSize doesn't work if before $IncludeConfig diag-common.conf, then +test cases fall into infinite loop with error message: + +8062.511110729:4902c480: error: message received is larger than max msg size, we split it +8062.511152265:4902c480: discarding zero-sized message + +Update configure to fix it. + +Upstream-Status: Pending + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +--- + tests/testsuites/complex1.conf | 2 +- + tests/testsuites/gzipwr_large.conf | 2 +- + tests/testsuites/gzipwr_large_dynfile.conf | 2 +- + tests/testsuites/imptcp_conndrop.conf | 2 +- + tests/testsuites/imptcp_large.conf | 2 +- + tests/testsuites/imtcp_conndrop.conf | 2 +- + tests/testsuites/wr_large.conf | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/tests/testsuites/complex1.conf b/tests/testsuites/complex1.conf +index 9b6a9f3..e00caa4 100644 +--- a/tests/testsuites/complex1.conf ++++ b/tests/testsuites/complex1.conf +@@ -1,7 +1,7 @@ + # complex test case with multiple actions in gzip mode + # rgerhards, 2009-05-22 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $MainMsgQueueTimeoutEnqueue 5000 + +diff --git a/tests/testsuites/gzipwr_large.conf b/tests/testsuites/gzipwr_large.conf +index 54ad3bb..e8247a9 100644 +--- a/tests/testsuites/gzipwr_large.conf ++++ b/tests/testsuites/gzipwr_large.conf +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff --git a/tests/testsuites/gzipwr_large_dynfile.conf b/tests/testsuites/gzipwr_large_dynfile.conf +index 3a1b255..297cb70 100644 +--- a/tests/testsuites/gzipwr_large_dynfile.conf ++++ b/tests/testsuites/gzipwr_large_dynfile.conf +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff --git a/tests/testsuites/imptcp_conndrop.conf b/tests/testsuites/imptcp_conndrop.conf +index 77a5d79..d9a14a8 100644 +--- a/tests/testsuites/imptcp_conndrop.conf ++++ b/tests/testsuites/imptcp_conndrop.conf +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imptcp/.libs/imptcp + $MainMsgQueueTimeoutShutdown 10000 +diff --git a/tests/testsuites/imptcp_large.conf b/tests/testsuites/imptcp_large.conf +index 77a5d79..d9a14a8 100644 +--- a/tests/testsuites/imptcp_large.conf ++++ b/tests/testsuites/imptcp_large.conf +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imptcp/.libs/imptcp + $MainMsgQueueTimeoutShutdown 10000 +diff --git a/tests/testsuites/imtcp_conndrop.conf b/tests/testsuites/imtcp_conndrop.conf +index de41bc4..7844dc7 100644 +--- a/tests/testsuites/imtcp_conndrop.conf ++++ b/tests/testsuites/imtcp_conndrop.conf +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff --git a/tests/testsuites/wr_large.conf b/tests/testsuites/wr_large.conf +index b64f132..b0ae264 100644 +--- a/tests/testsuites/wr_large.conf ++++ b/tests/testsuites/wr_large.conf +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf new file mode 100644 index 0000000000..324ae6d82a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf @@ -0,0 +1,86 @@ +# if you experience problems, check +# http://www.rsyslog.com/troubleshoot for assistance + +# rsyslog v3: load input modules +# If you do not load inputs, nothing happens! +# You may need to set the module load path if modules are not found. +# +# Ported from debian's sysklogd.conf + +$ModLoad immark # provides --MARK-- message capability +$ModLoad imuxsock # provides support for local system logging (e.g. via logger command) +$ModLoad imklog # kernel logging (formerly provided by rklogd) + +# +# Set the default permissions +# +$FileOwner root +$FileGroup adm +$FileCreateMode 0640 +$DirCreateMode 0755 +$Umask 0022 + +auth,authpriv.* /var/log/auth.log +*.*;auth,authpriv.none -/var/log/syslog +cron.* /var/log/cron.log +daemon.* -/var/log/daemon.log +kern.* -/var/log/kern.log +lpr.* -/var/log/lpr.log +mail.* -/var/log/mail.log +user.* -/var/log/user.log + +# +# Logging for the mail system. Split it up so that +# it is easy to write scripts to parse these files. +# +mail.info -/var/log/mail.info +mail.warn -/var/log/mail.warn +mail.err /var/log/mail.err + +# Logging for INN news system +# +news.crit /var/log/news.crit +news.err /var/log/news.err +news.notice -/var/log/news.notice + +# +# Some `catch-all' logfiles. +# +*.=debug;\ + auth,authpriv.none;\ + news.none;mail.none -/var/log/debug +*.=info;*.=notice;*.=warn;\ + auth,authpriv.none;\ + cron,daemon.none;\ + mail,news.none -/var/log/messages + +# +# Emergencies are sent to everybody logged in. +# +*.emerg :omusrmsg:* + +# Save boot messages also to boot.log +local7.* /var/log/boot.log + +# Remote Logging (we use TCP for reliable delivery) +# An on-disk queue is created for this action. If the remote host is +# down, messages are spooled to disk and sent when it is up again. +#$WorkDirectory /var/spool/rsyslog # where to place spool files +#$ActionQueueFileName uniqName # unique name prefix for spool files +$ActionQueueMaxDiskSpace 10m # 1gb space limit (use as much as possible) +#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown +#$ActionQueueType LinkedList # run asynchronously +#$ActionResumeRetryCount -1 # infinite retries if host is down +# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional +#*.* @@remote-host:514 + + +# ######### Receiving Messages from Remote Hosts ########## +# TCP Syslog Server: +# provides TCP syslog reception and GSS-API (if compiled to support it) +#$ModLoad imtcp.so # load module +#$InputTCPServerRun 514 # start up TCP listener at port 514 + +# UDP Syslog Server: +#$ModLoad imudp.so # provides UDP syslog reception +#$UDPServerRun 514 # start a UDP syslog server at standard port 514 diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate new file mode 100644 index 0000000000..94ec517b21 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate @@ -0,0 +1,39 @@ +# /etc/logrotate.d/rsyslog - Ported from Debian + +/var/log/syslog +{ + rotate 7 + daily + missingok + notifempty + delaycompress + compress + postrotate + /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true + endscript +} + +/var/log/mail.info +/var/log/mail.warn +/var/log/mail.err +/var/log/mail.log +/var/log/daemon.log +/var/log/kern.log +/var/log/auth.log +/var/log/user.log +/var/log/lpr.log +/var/log/cron.log +/var/log/debug +/var/log/messages +{ + rotate 4 + weekly + missingok + notifempty + compress + delaycompress + sharedscripts + postrotate + /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true + endscript +} diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest new file mode 100644 index 0000000000..3770a75065 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# +make -C tests -k check-TESTS diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch new file mode 100644 index 0000000000..162d239a13 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch @@ -0,0 +1,43 @@ +From d0852006bf3d305e8984b85b41997d43d4476937 Mon Sep 17 00:00:00 2001 +From: Roy Li <rongqing.li@windriver.com> +Date: Wed, 18 Jun 2014 13:46:52 +0800 +Subject: [PATCH] use pkgconfig to check libgcrypt + +Upstream-status: Inappropriate [configuration] + +libgcrypt does no longer provide libgcrypt-config, and provide +*.pc, so we should use pkgconfig to check + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> + +--- + configure.ac | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 62178c3..b56c9c7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -889,20 +889,7 @@ AC_ARG_ENABLE(libgcrypt, + [enable_libgcrypt=yes] + ) + if test "x$enable_libgcrypt" = "xyes"; then +- AC_PATH_PROG([LIBGCRYPT_CONFIG],[libgcrypt-config],[no]) +- if test "x${LIBGCRYPT_CONFIG}" = "xno"; then +- AC_MSG_FAILURE([libgcrypt-config not found in PATH]) +- fi +- AC_CHECK_LIB( +- [gcrypt], +- [gcry_cipher_open], +- [LIBGCRYPT_CFLAGS="`${LIBGCRYPT_CONFIG} --cflags`" +- LIBGCRYPT_LIBS="`${LIBGCRYPT_CONFIG} --libs`" +- ], +- [AC_MSG_FAILURE([libgcrypt is missing])], +- [`${LIBGCRYPT_CONFIG} --libs --cflags`] +- ) +- AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present]) ++ PKG_CHECK_MODULES(LIBGCRYPT, libgcrypt) + fi + AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes) + AC_SUBST(LIBGCRYPT_CFLAGS) diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb new file mode 100644 index 0000000000..476540d0a7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb @@ -0,0 +1,150 @@ +SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd" +DESCRIPTION = "\ +Rsyslog is an enhanced syslogd supporting, among others, MySQL,\ + PostgreSQL, failover log destinations, syslog/tcp, fine grain\ + output format control, high precision timestamps, queued operations\ + and the ability to filter on any message part. It is quite\ + compatible to stock sysklogd and can be used as a drop-in replacement.\ + Its advanced features make it suitable for enterprise-class,\ + encryption protected syslog relay chains while at the same time being\ + very easy to setup for the novice user." + +DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging" +HOMEPAGE = "http://www.rsyslog.com/" +LICENSE = "GPLv3 & LGPLv3 & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \ + file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \ + file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\ +" + +SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \ + file://initscript \ + file://rsyslog.conf \ + file://rsyslog.logrotate \ + file://use-pkgconfig-to-check-libgcrypt.patch \ + file://run-ptest \ + file://rsyslog-fix-ptest-not-finish.patch \ +" + +SRC_URI_append_libc-musl = " \ + file://0001-Include-sys-time-h.patch \ +" + +SRC_URI[md5sum] = "3805617f65a4b4bea34606487a5255a0" +SRC_URI[sha256sum] = "220ba30b5afb0f3ddb328613fea7aa3966b01e4d0c52d6de9ab27b0858f19738" + +inherit autotools pkgconfig systemd update-rc.d ptest + +EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes" + +# first line is default yes in configure +PACKAGECONFIG ??= " \ + rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \ + imdiag gnutls imfile \ + ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \ +" + +# default yes in configure +PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp," +PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,," +PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,," +PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,," +PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,," +PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,," +PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," +PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt," +PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,," + +# default no in configure +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,," +PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,," +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp," +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," +PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," +PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," +PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," + +TESTDIR = "tests" +do_compile_ptest() { + echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + # install the tests + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # fix the srcdir, top_srcdir + sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # valgrind is not compatible with arm and mips, + # so remove related test cases if there is no valgrind. + if [ x${VALGRIND} = x ]; then + sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + fi + + # install test-driver + install -m 644 ${S}/test-driver ${D}${PTEST_PATH} + + # install necessary links + install -d ${D}${PTEST_PATH}/tools + ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd + + install -d ${D}${PTEST_PATH}/runtime + install -d ${D}${PTEST_PATH}/runtime/.libs + ( + cd ${D}/${libdir}/rsyslog + allso="*.so" + for i in $allso; do + ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i + done + ) + + # fix the module load path with runtime/.libs + find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \ + sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g' +} + +do_install_append() { + install -d "${D}${sysconfdir}/init.d" + install -d "${D}${sysconfdir}/logrotate.d" + install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog + install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf + install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog +} + +FILES_${PN} += "${bindir}" + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "defaults" + +CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf" + +RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${BPN}.service" + +RDEPENDS_${PN} += "logrotate" + +# for rsyslog-ptest +VALGRIND = "valgrind" +VALGRIND_mips = "" +VALGRIND_mips64 = "" +VALGRIND_mips64n32 = "" +VALGRIND_arm = "" +VALGRIND_aarch64 = "" +RDEPENDS_${PN}-ptest += "make diffutils gzip bash gawk coreutils procps" +RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-cmpi-devel/sblim-cmpi-devel/sblim-cmpi-devel-2.0.3-docdir.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-cmpi-devel/sblim-cmpi-devel/sblim-cmpi-devel-2.0.3-docdir.patch new file mode 100644 index 0000000000..58940c1e92 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-cmpi-devel/sblim-cmpi-devel/sblim-cmpi-devel-2.0.3-docdir.patch @@ -0,0 +1,17 @@ +Port from Fedora20 + +Upstream-Status: Pending +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> + +diff -up sblim-cmpi-devel-2.0.3/Makefile.in.orig sblim-cmpi-devel-2.0.3/Makefile.in +--- sblim-cmpi-devel-2.0.3/Makefile.in.orig 2012-07-31 06:11:51.000000000 +0200 ++++ sblim-cmpi-devel-2.0.3/Makefile.in 2013-08-07 18:28:09.600712807 +0200 +@@ -221,7 +221,7 @@ build_vendor = @build_vendor@ + builddir = @builddir@ + datadir = @datadir@ + datarootdir = @datarootdir@ +-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) ++docdir = $(datadir)/doc/$(PACKAGE) + dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-cmpi-devel/sblim-cmpi-devel_2.0.3.bb b/meta-openembedded/meta-oe/recipes-extended/sblim-cmpi-devel/sblim-cmpi-devel_2.0.3.bb new file mode 100644 index 0000000000..0e5fc7b6bb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-cmpi-devel/sblim-cmpi-devel_2.0.3.bb @@ -0,0 +1,18 @@ +SUMMARY = "SBLIM CMPI Provider Development Support" +DESCRIPTION = "\ +This packages provides the C and C++ CMPI header files needed by provider \ +developers and can be used standalone. If used for C++ provider development \ +it is also necessary to have tog-pegasus-devel installed." +HOMEPAGE = "http://sblim.wiki.sourceforge.net/" +LICENSE = "EPL-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f63d3a4e701129e869e89d7dcac8982" +SECTION = "Development/Libraries" + +SRC_URI = "${SOURCEFORGE_MIRROR}/sblim/${BP}.tar.bz2 \ + file://sblim-cmpi-devel-2.0.3-docdir.patch" +SRC_URI[md5sum] = "b934616f88a848f17ca3cf1b9e792cbf" +SRC_URI[sha256sum] = "1671cabff6b922b6fde897673d9fdafd56c9310f82a7eacc0547d596b9cdfea6" + +inherit autotools + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfc-common/sblim-sfc-common_1.0.1.bb b/meta-openembedded/meta-oe/recipes-extended/sblim-sfc-common/sblim-sfc-common_1.0.1.bb new file mode 100644 index 0000000000..2a9b4bb883 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfc-common/sblim-sfc-common_1.0.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "Common functions for SBLIM Small Footprint CIM Broker and CIM Client Library." +DESCRIPTION = "\ +This package provides a common library for functions shared between Small Footprint CIM Broker (sblim-sfcb) \ +Small Footprint CIM Client (and sblim-sfcc)." +HOMEPAGE = "http://sourceforge.net/projects/sblim/" +LICENSE = "EPL" +LIC_FILES_CHKSUM = "file://COPYING;md5=f300afd598546add034364cd0a533261" +SECTION = "Development/Libraries" + +DEPENDS = "cmpi-bindings" + +S = "${WORKDIR}/sblim-sfcCommon-${PV}" +SRC_URI = "http://downloads.sourceforge.net/sblim/sblim-sfcCommon-${PV}.tar.bz2" +SRC_URI[md5sum] = "8aa2655d97bdea54c4750f220b40990c" +SRC_URI[sha256sum] = "b9b1037173d6ae0181c3bd5a316ddab5afd6a342ad0dbdc18e940fc0ad2c3297" + +inherit autotools + +do_install() { + oe_runmake DESTDIR=${D} install + + rm -rf ${D}${libdir}/libsfcUtil.a + rm -rf ${D}${libdir}/libsfcUtil.la +} + diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/files/sfcb.service b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/files/sfcb.service new file mode 100644 index 0000000000..5adf63c8a4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/files/sfcb.service @@ -0,0 +1,11 @@ +[Unit] +Description=Small Footprint CIM Broker Service +After=syslog.target + +[Service] +Type=oneshot +ExecStart=/usr/sbin/sfcbd -d +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch new file mode 100644 index 0000000000..e723050237 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch @@ -0,0 +1,124 @@ +From 394bf0f1ed07419d40f6024363cc1ffc7ef61bc6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 31 Aug 2017 21:56:25 -0700 +Subject: [PATCH] Replace need for error.h when it does not exist + +helps fixing build on musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + brokerUpc.c | 5 ++++- + configure.ac | 2 +- + httpAdapter.c | 4 +++- + support.c | 14 +++++++++++++- + trace.c | 4 +++- + 5 files changed, 24 insertions(+), 5 deletions(-) + +diff --git a/brokerUpc.c b/brokerUpc.c +index 17cbd9b..fe2b347 100644 +--- a/brokerUpc.c ++++ b/brokerUpc.c +@@ -20,8 +20,11 @@ + + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_ERROR_H + #include <error.h> +- ++#else ++#include <err.h> ++#endif + #include "support.h" + #include "native.h" + #include <sfcCommon/utilft.h> +diff --git a/configure.ac b/configure.ac +index ab2964e..d4915a1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -517,7 +517,7 @@ fi + # Checks for header files. + AC_HEADER_STDC + AC_HEADER_SYS_WAIT +-AC_CHECK_HEADERS([fcntl.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h]) ++AC_CHECK_HEADERS([error.h fcntl.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h]) + AC_CHECK_HEADERS([cmpi/cmpimacs.h cmpi/cmpift.h cmpi/cmpidt.h],[],[AC_MSG_ERROR([Could not find required CPMI header.])]) + + # Checks for typedefs, structures, and compiler characteristics. +diff --git a/httpAdapter.c b/httpAdapter.c +index 2719e6c..e768972 100644 +--- a/httpAdapter.c ++++ b/httpAdapter.c +@@ -71,7 +71,9 @@ + #ifdef HAVE_UDS + #include <grp.h> + #endif +- ++#ifndef __SOCKADDR_ARG ++# define __SOCKADDR_ARG struct sockaddr *__restrict ++#endif + /* should probably go into cimRequest.h */ + #define CIM_PROTOCOL_ANY 0 + #define CIM_PROTOCOL_CIM_XML 1 +diff --git a/support.c b/support.c +index c7bba8b..5b3eef1 100644 +--- a/support.c ++++ b/support.c +@@ -32,7 +32,11 @@ + #include "support.h" + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_ERROR_H + #include <error.h> ++#else ++#include <err.h> ++#endif + #include <errno.h> + #include "native.h" + #include "trace.h" +@@ -331,17 +335,25 @@ loadQualifierDeclMI(const char *provider, + _SFCB_RETURN(NULL); + }; + ++ + /****************************************************************************/ + + /** Exits the program with a memory allocation error message in case the given + * condition holds. + */ ++#if HAVE_ERROR_H + #define __ALLOC_ERROR(cond) \ + if ( cond ) { \ + error_at_line ( -1, errno, __FILE__, __LINE__, \ + "unable to allocate requested memory." ); \ + } +- ++#else ++#define __ALLOC_ERROR(cond) \ ++ if ( cond ) { \ ++ err(1, "%s:%d: %s", __FILE__, __LINE__, \ ++ "unable to allocate requested memory." ); \ ++ } ++#endif + /** + * flag to ensure MM is initialized only once + */ +diff --git a/trace.c b/trace.c +index d7f30db..438af46 100644 +--- a/trace.c ++++ b/trace.c +@@ -279,7 +279,9 @@ _sfcb_trap(int tn) + } + #endif + } +- ++#ifndef SA_INTERRUPT ++# define SA_INTERRUPT 0x20000000 /* from GLIBC's <bits/sigaction.h> */ ++#endif + sigHandler * + setSignal(int sn, sigHandler * sh, int flags) + { +-- +2.14.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch new file mode 100644 index 0000000000..c2111a2c10 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch @@ -0,0 +1,29 @@ +From 446fb15f79499f52ce01ca759dbdcfe635519a82 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 27 Jun 2017 07:09:33 -0700 +Subject: [PATCH] include stdint.h system header for UINT16_MAX + +Fixes build error + +error: 'UINT16_MAX' undeclared (first use in this function) + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + interopServerProvider.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/interopServerProvider.c b/interopServerProvider.c +index 23ae182..532febe 100644 +--- a/interopServerProvider.c ++++ b/interopServerProvider.c +@@ -33,6 +33,7 @@ + #include <sfcCommon/utilft.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <ctype.h> + #include <string.h> + #include <sys/types.h> +-- +2.13.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.15-fix-provider-debugging.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.15-fix-provider-debugging.patch new file mode 100644 index 0000000000..4fbecaa63f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.15-fix-provider-debugging.patch @@ -0,0 +1,12 @@ +diff -up sblim-sfcb-1.4.5/providerDrv.c.orig sblim-sfcb-1.4.5/providerDrv.c +--- sblim-sfcb-1.4.5/providerDrv.c.orig 2013-09-04 12:59:22.140813239 +0200 ++++ sblim-sfcb-1.4.5/providerDrv.c 2013-09-04 12:59:40.511870274 +0200 +@@ -3585,7 +3585,7 @@ processProviderInvocationRequests(char * + rc = spRecvReq(&providerSockets.receive, &parms->requestor, + (void **) &parms->req, &rl, &mqg); + if (mqg.rdone) { +- int debug_break = 0; ++ volatile int debug_break = 0; + if (rc != 0) { + mlogf(M_ERROR,M_SHOW, "spRecvReq returned error %d. Skipping message.\n", rc); + free(parms); diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-maxMsgLen.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-maxMsgLen.patch new file mode 100644 index 0000000000..a0dd81653d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-maxMsgLen.patch @@ -0,0 +1,14 @@ +diff -up sblim-sfcb-1.3.16/sfcb.cfg.pre.in.old sblim-sfcb-1.3.16/sfcb.cfg.pre.in +--- sblim-sfcb-1.3.16/sfcb.cfg.pre.in.old 2012-06-13 23:21:09.000000000 +0200 ++++ sblim-sfcb-1.3.16/sfcb.cfg.pre.in 2013-06-24 15:34:38.881992781 +0200 +@@ -113,8 +113,8 @@ provProcs: 32 + + ## Max message length, in bytes. This is a limit on the size of messages + ## written across sockets, for instance, between providers and SFCB. +-## Default is 10000000 +-maxMsgLen: 10000000 ++## Default is 100000000 ++maxMsgLen: 100000000 + + ## Location of the registration directory, where providerRegister can be found + ## Default is @localstatedir@/lib/sfcb/registration diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-multilib-man-cfg.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-multilib-man-cfg.patch new file mode 100644 index 0000000000..c8cece2c20 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-multilib-man-cfg.patch @@ -0,0 +1,41 @@ +diff -up sblim-sfcb-1.3.16/man/sfcbd.1.pre.in.orig sblim-sfcb-1.3.16/man/sfcbd.1.pre.in +--- sblim-sfcb-1.3.16/man/sfcbd.1.pre.in.orig 2014-02-26 14:05:32.213091734 +0100 ++++ sblim-sfcb-1.3.16/man/sfcbd.1.pre.in 2014-02-26 15:10:54.476196379 +0100 +@@ -151,7 +151,7 @@ Default=\fI@localstatedir@/lib/sfcb/regi + .TP + .B providerDirs + A space separated list of directories where sfcb is looking for provider +-libraries. Default=\fI@libdir@\ @libdir@/cmpi\fR ++libraries. Default=\fI/usr/lib\ /usr/lib/cmpi /usr/lib64\ /usr/lib64/cmpi\fR + .TP + .B providerSampleInterval + The interval in seconds at which the provider manager is checking for +@@ -275,11 +275,11 @@ SSL private key file for sfcb. + SSL client certificate / trust store for sfcb. + .SH LIBRARIES + .TP +-.I @libdir@/libsfc* ++.I /usr/lib/libsfc* /usr/lib64/libsfc* + Binaries for sfcb runtime libraries. + .TP +-.I @libdir@/cmpi/* +-Binaries for providers ++.I /usr/lib/cmpi/* /usr/lib64/cmpi/* ++Binaries for providers. + .SH AUTHOR + Adrian Schuur <schuur@de.ibm.com> + .SH CONRIBUTORS +diff -up sblim-sfcb-1.3.16/sfcb.cfg.pre.in.orig sblim-sfcb-1.3.16/sfcb.cfg.pre.in +--- sblim-sfcb-1.3.16/sfcb.cfg.pre.in.orig 2014-02-26 15:35:43.133869718 +0100 ++++ sblim-sfcb-1.3.16/sfcb.cfg.pre.in 2014-02-26 15:38:12.794240532 +0100 +@@ -121,8 +121,8 @@ maxMsgLen: 100000000 + registrationDir: @localstatedir@/lib/sfcb/registration + + ## Locations to look for provider libraries. Delimit paths with a space. +-## Default is @libdir@/sfcb @libdir@ @libdir@/cmpi +-providerDirs: @libdir@/sfcb @libdir@ @libdir@/cmpi ++## Default is /usr/lib/sfcb /usr/lib64/sfcb /usr/lib /usr/lib64 /usr/lib/cmpi /usr/lib64/cmpi ++providerDirs: /usr/lib/sfcb /usr/lib64/sfcb /usr/lib /usr/lib64 /usr/lib/cmpi /usr/lib64/cmpi + + ## Enable the root/interop namespace (affects indications) + ## Default: true diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch new file mode 100644 index 0000000000..7f95a9da3f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch @@ -0,0 +1,42 @@ +diff -up sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in.orig sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in +--- sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in.orig 2009-10-13 21:54:13.000000000 +0200 ++++ sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in 2010-09-06 14:01:57.294564062 +0200 +@@ -26,7 +26,7 @@ Supported command line options are: + .TP + \fB\-c\fR \fIschemadir\fR + Path to obtain the CIM Schema classes. +-Default is \fI@datadir@/sfcb\fR ++Default is \fI@datadir@/mof/cim-current\fR + .TP + \fB\-s\fR \fIstagingdir\fR + Path to sfcb staging area containing class MOFs and registration files +@@ -58,7 +58,7 @@ Alias of \fB-b\fR + Display usage information and exit. + .SH FILES + .TP +-\fI@datadir@/sfcb/CIM/CIM_Schema.mof\fR ++\fI@datadir@/mof/cim-current/CIM_Schema.mof\fR + CIM Schema + .TP + \fI@localstatedir@/lib/sfcb/registration/providerRegister\fR +diff -up sblim-sfcb-1.3.9/sfcbrepos.sh.in.orig sblim-sfcb-1.3.9/sfcbrepos.sh.in +--- sblim-sfcb-1.3.9/sfcbrepos.sh.in.orig 2009-12-22 01:18:29.000000000 +0100 ++++ sblim-sfcb-1.3.9/sfcbrepos.sh.in 2010-09-06 13:45:28.671491648 +0200 +@@ -59,7 +59,7 @@ then + echo -e "\t-X create repository in non-native format as specifed by argument" + echo -e "\t-s specify staging directory [@localstatedir@/lib/sfcb/stage]" + echo -e "\t-r specify repository directory [@localstatedir@/lib/sfcb/registration]" +- echo -e "\t-c specify directory containing CIM Schema MOFs [@datadir@/sfcb/CIM]" ++ echo -e "\t-c specify directory containing CIM Schema MOFs [@datadir@/mof/cim-current]" + echo -e "\t-t create tiny class repository by omitting inheritance information" + echo -e "\t-z compress repository with gzip" + echo +@@ -99,7 +99,7 @@ fi + + if [ -z "$cimschemadir" ] + then +- cimschemadir=${DESTDIR}@datadir@/sfcb/CIM ++ cimschemadir=${DESTDIR}@datadir@/mof/cim-current + fi + + if [ -d $stagingdir ] && [ -f $stagingdir/default.reg ] && diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.5-service.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.5-service.patch new file mode 100644 index 0000000000..eaccfa594c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.5-service.patch @@ -0,0 +1,27 @@ +diff -up sblim-sfcb-1.4.6/Makefile.in.orig sblim-sfcb-1.4.6/Makefile.in +--- sblim-sfcb-1.4.6/Makefile.in.orig 2013-10-07 10:43:34.783228137 +0200 ++++ sblim-sfcb-1.4.6/Makefile.in 2013-10-07 10:44:30.178533289 +0200 +@@ -627,7 +627,6 @@ initdir = $(sysconfdir)/init.d + pamdir = $(sysconfdir)/pam.d + sfcblibdir = $(libdir)/sfcb + cmpilibdir = $(libdir)/cmpi +-systemddir = $(DESTDIR)@SYSTEMDDIR@ + MANFILES = man/genSslCert.1 man/getSchema.1 man/sfcbd.1 man/sfcbmof.1 \ + man/sfcbrepos.1 man/sfcbstage.1 man/sfcbunstage.1 man/sfcbuuid.1 \ + man/wbemcat.1 man/xmltest.1 +@@ -2366,7 +2365,6 @@ unittest: + cd test && sh check_all.sh + + install-data-local: +- if test -d $(systemddir); then cp $(srcdir)/sblim-sfcb.service $(systemddir); fi; + test -d $(DESTDIR)$(sfcbstatedir)/registration/repository || $(mkdir_p) $(DESTDIR)$(sfcbstatedir)/registration/repository + test -d $(DESTDIR)$(sfcbstatedir)/stage/mofs/root/interop || $(mkdir_p) $(DESTDIR)$(sfcbstatedir)/stage/mofs/root/interop + test -d $(DESTDIR)$(sfcbstatedir)/stage/regs || $(mkdir_p) $(DESTDIR)$(sfcbstatedir)/stage/regs +@@ -2384,7 +2382,6 @@ install-data-local: + uninstall-local: + rm -f $(DESTDIR)$(sfcbstatedir)/stage/default.reg + rm -f $(DESTDIR)$(sfcbstatedir)/stage/mofs/root/interop/10_interop.mof +- rm -f $(systemddir)/sblim-sfcb.service + @INDICATIONS_TRUE@ rm -f $(DESTDIR)$(sfcbstatedir)/stage/mofs/root/interop/20_indication.mof + @INDICATIONS_TRUE@ rm -f $(DESTDIR)$(sfcbstatedir)/stage/mofs/indication.mof + @DOCS_TRUE@ rm -rf $(DESTDIR)$(sfcbdocdir)/html diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch new file mode 100644 index 0000000000..3268d49f43 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch @@ -0,0 +1,26 @@ +diff -up sblim-sfcb-1.4.8/control.c.orig sblim-sfcb-1.4.8/control.c +--- sblim-sfcb-1.4.8/control.c.orig 2014-03-27 00:46:28.000000000 +0100 ++++ sblim-sfcb-1.4.8/control.c 2014-05-15 12:31:38.304169409 +0200 +@@ -170,7 +170,7 @@ static Control init[] = { + {"sslCertList", CTL_STRING, SFCB_CONFDIR "/clist.pem", {0}}, + {"sslCiphers", CTL_STRING, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH", {0}}, + {"sslDhParamsFilePath", CTL_STRING, NULL, {0}}, +- {"sslEcDhCurveName", CTL_STRING, "secp224r1", {0}}, ++ {"sslEcDhCurveName", CTL_STRING, "secp384r1", {0}}, + {"enableSslCipherServerPref", CTL_BOOL, NULL, {.b=0}}, + + {"registrationDir", CTL_STRING, SFCB_STATEDIR "/registration", {0}}, +diff -up sblim-sfcb-1.4.8/sfcb.cfg.pre.in.orig sblim-sfcb-1.4.8/sfcb.cfg.pre.in +--- sblim-sfcb-1.4.8/sfcb.cfg.pre.in.orig 2014-05-15 12:31:59.188244865 +0200 ++++ sblim-sfcb-1.4.8/sfcb.cfg.pre.in 2014-05-15 12:32:45.554408412 +0200 +@@ -293,8 +293,8 @@ sslCiphers: ALL:!ADH:!LOW:!EXP:!MD5:@STR + ## environment. If this value is not set, the indicated default is in effect. + ## If the value is set but the curve name is not recognized by the underlying + ## openssl implementation, SFCB will abort. +-## Default is secp224r1 +-#sslEcDhCurveName: secp224r1 ++## Default is secp384r1 ++#sslEcDhCurveName: secp384r1 + + ## When set to true, sets the SSL_OP_CIPHER_SERVER_PREFERENCE flag for the ssl + ## context, to enforce server's preference instead of the client preference for diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.9-fix-ftbfs.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.9-fix-ftbfs.patch new file mode 100644 index 0000000000..9548b3c063 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.9-fix-ftbfs.patch @@ -0,0 +1,12 @@ +diff -up sblim-sfcb-1.4.9/control.c.orig sblim-sfcb-1.4.9/control.c +--- sblim-sfcb-1.4.9/control.c.orig 2015-07-13 15:06:21.331660336 +0200 ++++ sblim-sfcb-1.4.9/control.c 2015-07-13 15:08:38.031308917 +0200 +@@ -83,7 +83,7 @@ long httpReqHandlerTimeout; + * Kindly null terminate, always, even if might overwrite + * the last char of the truncated string. + */ +-inline char *strncpy_kind(char *to, char *from, size_t size) { ++char *strncpy_kind(char *to, char *from, size_t size) { + strncpy(to, from, size); + *(to + size - 1) = '\0'; + return to; diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb new file mode 100644 index 0000000000..10ffaaa31b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb @@ -0,0 +1,87 @@ +SUMMARY = "Small Footprint CIM Broker" +DESCRIPTION = "\ +Small Footprint CIM Broker (sfcb) is a CIM server conforming to the CIM \ +Operations over HTTP protocol. It is robust, with low resource consumption \ +and therefore specifically suited for embedded and resource constrained \ +environments. sfcb supports providers written against the Common \ +Manageability Programming Interface (CMPI)." +HOMEPAGE = "http://www.sblim.org" +SECTION = "Applications/System" +LICENSE = "EPL-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=f300afd598546add034364cd0a533261" +DEPENDS = "curl libpam openssl sblim-sfc-common unzip-native" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "pam" + +SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \ + file://sfcb.service \ + file://sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch \ + file://sblim-sfcb-1.3.15-fix-provider-debugging.patch \ + file://sblim-sfcb-1.3.16-maxMsgLen.patch \ + file://sblim-sfcb-1.4.5-service.patch \ + file://sblim-sfcb-1.3.16-multilib-man-cfg.patch \ + file://sblim-sfcb-1.4.8-default-ecdh-curve-name.patch \ + file://sblim-sfcb-1.4.9-fix-ftbfs.patch \ + file://0001-include-stdint.h-system-header-for-UINT16_MAX.patch \ + file://0001-Replace-need-for-error.h-when-it-does-not-exist.patch \ +" + +SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30" +SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd" + +inherit autotools +inherit systemd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "sblim-sfcb.service" +SYSTEMD_AUTO_ENABLE = "enable" + +LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +EXTRA_OECONF = '--enable-debug \ + --enable-ssl \ + --enable-pam \ + --enable-ipv6 \ + CFLAGS="${CFLAGS} -D_GNU_SOURCE"' + +# make all with -j option is unsafe. +PARALLEL_MAKE = "" + +INSANE_SKIP_${PN} = "dev-so" +CONFIG_SITE = "${WORKDIR}/config-site.${P}" + +do_install() { + cp -f ${S}/sfcb.cfg.pre.in ${S}/sfcb.cfg + + oe_runmake DESTDIR=${D} install + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/sfcb.service ${D}${systemd_unitdir}/system/sblim-sfcb.service + + install -d ${D}${sysconfdir}/init.d + mv ${D}${sysconfdir}/init.d/sfcb ${D}${sysconfdir}/init.d/sblim-sfcb + sed -i -e 's/\/var\/lock\/subsys\/sfcb/\/var\/lock\/subsys\/sblim-sfcb/g' ${D}${sysconfdir}/init.d/sblim-sfcb + + rm -rf ${D}${libdir}/sfcb/*.la +} + +pkg_postinst_${PN} () { + OPTS="" + + if [ x"$D" != "x" ]; then + OPTS="--root=$D" + if type systemctl >/dev/null 2>/dev/null; then + systemctl $OPTS ${SYSTEMD_AUTO_ENABLE} ${SYSTEMD_SERVICE} + fi + exit 1 + fi + + ${datadir}/sfcb/genSslCert.sh ${sysconfdir}/sfcb + ${bindir}/sfcbrepos -f +} + +FILES_${PN} += "${libdir}/sfcb ${datadir}/sfcb" +FILES_${PN}-dbg += "${libdir}/sfcb/.debug" + +RDEPENDS_${PN} = "perl bash" diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-cimxml-Include-sys-select.h-for-fd_set.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-cimxml-Include-sys-select.h-for-fd_set.patch new file mode 100644 index 0000000000..19e50ec79a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-cimxml-Include-sys-select.h-for-fd_set.patch @@ -0,0 +1,37 @@ +From 9981542cb443cdaf9134500b78fe7eda9f99861f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 7 Sep 2017 21:43:26 -0700 +Subject: [PATCH] cimxml: Include sys/select.h for fd_set + +define __SOCKADDR_ARG on linux when libc != glibc + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + backend/cimxml/indicationlistener.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/backend/cimxml/indicationlistener.c b/backend/cimxml/indicationlistener.c +index 0d7d9fe..37c45ae 100755 +--- a/backend/cimxml/indicationlistener.c ++++ b/backend/cimxml/indicationlistener.c +@@ -25,6 +25,7 @@ + + #include <pthread.h> + #include <sys/socket.h> ++#include <sys/select.h> + #include <netinet/in.h> + #include <fcntl.h> + #include <errno.h> +@@ -36,7 +37,7 @@ static int do_listen=1; + #define hdrBufsize 5000 + #define hdrLimmit 5000 + +-#ifdef __APPLE__ ++#if defined(__APPLE__) || (defined(__linux__) && !defined(__GLIBC__)) + # define __SOCKADDR_ARG struct sockaddr *__restrict + #endif + +-- +2.14.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb new file mode 100644 index 0000000000..df55a67996 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb @@ -0,0 +1,17 @@ +SUMMARY = "Small Footprint CIM Client Library" +DESCRIPTION = "Small Footprint CIM Client Library Runtime Libraries" +HOMEPAGE = "http://www.sblim.org" + +SRC_URI = "http://netcologne.dl.sourceforge.net/project/sblim/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://0001-cimxml-Include-sys-select.h-for-fd_set.patch \ + " + +SRC_URI[md5sum] = "0bac0dec19f17ec065b6c332a56d7bae" +SRC_URI[sha256sum] = "1b8f187583bc6c6b0a63aae0165ca37892a2a3bd4bb0682cd76b56268b42c3d6" + +LICENSE = "EPL-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=f300afd598546add034364cd0a533261" + +DEPENDS = "curl" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch new file mode 100644 index 0000000000..6edda08cdf --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch @@ -0,0 +1,13 @@ +--- mdadm.d/mdadm-1.3.0/mdadm.h.org 2017-06-20 00:35:55.366978372 -0700 ++++ mdadm.d/mdadm-1.3.0/mdadm.h 2017-06-20 00:36:41.244363348 -0700 +@@ -29,8 +29,9 @@ + + #define __USE_LARGEFILE64 + #include <unistd.h> +-extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); ++//extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); + ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <stdlib.h> diff --git a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch new file mode 100644 index 0000000000..ac81780582 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch @@ -0,0 +1,218 @@ +Index: scsirastools-1.6.6/src/sgcommon.c +=================================================================== +--- scsirastools-1.6.6.orig/src/sgcommon.c ++++ scsirastools-1.6.6/src/sgcommon.c +@@ -304,8 +304,8 @@ void showit(char *buf) + fdlog = stderr; + } + } +- if (flogopen) fprintf(fdlog, buf); /*write to log */ +- fprintf(fdmsg, buf); /*defaults to stdout */ ++ if (flogopen) fprintf(fdlog, "%s", buf); /*write to log */ ++ fprintf(fdmsg, "%s", buf); /*defaults to stdout */ + } + + void showlog(const char * format, ...) +Index: scsirastools-1.6.6/src/sgdefects.c +=================================================================== +--- scsirastools-1.6.6.orig/src/sgdefects.c ++++ scsirastools-1.6.6/src/sgdefects.c +@@ -226,7 +226,7 @@ int main(int argc, char **argv) + (" ******************************************\n"); + if (flogopen) + printf("Log file %s is open\n", logfile); +- printf(HeaderStr); ++ printf("%s", HeaderStr); + /* get SCSI Device Info */ + idev = 0; + flags = O_RDWR; /* could use OPEN_FLAG if read-only. */ +Index: scsirastools-1.6.6/src/sgdiag.c +=================================================================== +--- scsirastools-1.6.6.orig/src/sgdiag.c ++++ scsirastools-1.6.6/src/sgdiag.c +@@ -250,7 +250,7 @@ int main(int argc, char **argv) + printf(" ******************************************\n"); + if (flogopen) + printf("Log file %s is open, debug=%d\n", logfile,fdebug); +- printf(HeaderStr); ++ printf("%s", HeaderStr); + } + /* get SCSI Device Info */ + idev = 0; +@@ -356,12 +356,12 @@ int main(int argc, char **argv) + case 'F': + case 'f': + func = 'f'; +- printf(erase_msg); ++ printf("%s", erase_msg); + break; + case 'W': + case 'w': + func = 'w'; +- printf(erase_msg); ++ printf("%s", erase_msg); + break; + case 'S': + case 's': +Index: scsirastools-1.6.6/src/sgdiskmon.c +=================================================================== +--- scsirastools-1.6.6.orig/src/sgdiskmon.c ++++ scsirastools-1.6.6/src/sgdiskmon.c +@@ -197,9 +197,9 @@ void showit(char *buf) + } + } + if (flogopen) +- fprintf(fdlog, buf); /*write to log */ ++ fprintf(fdlog, "%s", buf); /*write to log */ + if (!background) +- fprintf(fdmsg, buf); /*message display defaults to stdout */ ++ fprintf(fdmsg, "%s", buf); /*message display defaults to stdout */ + } + + /* +@@ -235,7 +235,7 @@ rem_scsi_dev(int bus, int ch, int id, in + fp = fopen("/proc/scsi/scsi","r+"); + if (fp == NULL) return(errno); + sprintf(cmd,"remove-single-device %d %d %d %d",bus,ch,id,lun); +- n = fprintf(fp,cmd); ++ n = fprintf(fp,"%s", cmd); + fclose(fp); + strcat(cmd,"\n"); + showit(cmd); +@@ -256,7 +256,7 @@ add_scsi_dev(int bus, int ch, int id, in + fp = fopen("/proc/scsi/scsi","r+"); + if (fp == NULL) return(errno); + sprintf(cmd,"add-single-device %d %d %d %d",bus,ch,id,lun); +- n = fprintf(fp,cmd); ++ n = fprintf(fp, "%s", cmd); + fclose(fp); + strcat(cmd,"\n"); + showit(cmd); +@@ -1233,7 +1233,7 @@ main(int argc, char **argv) + interval = atoi(optarg); + break; + default: +- printf(output2); /*prog header*/ ++ printf("%s", output2); /*prog header*/ + printf("Usage: %s [-bemnrx -t time]\n",progname); + printf(" -b Run in Background as a daemon\n"); + printf(" -e Do not write to any files.\n"); +@@ -1246,7 +1246,7 @@ main(int argc, char **argv) + exit(1); + } + } +- if (!background) printf(output2); /*prog header*/ ++ if (!background) printf("%s", output2); /*prog header*/ + + /* only run this as superuser */ + i = geteuid(); +Index: scsirastools-1.6.6/src/sgmode.c +=================================================================== +--- scsirastools-1.6.6.orig/src/sgmode.c ++++ scsirastools-1.6.6/src/sgmode.c +@@ -303,7 +303,7 @@ int main(int argc, char **argv) + (" ******************************************\n"); + if (flogopen) + printf("Log file %s is open\n", logfile); +- printf(HeaderStr); ++ printf("%s", HeaderStr); + /* get SCSI Device Info */ + idev = 0; + flags = O_RDWR; /* could use OPEN_FLAG if read-only. */ +@@ -585,8 +585,8 @@ int do_modeselect(int idx) + if (!foverwrite) { + /* use existing capacity from mode sense */ + memcpy(sel_buffer + 4, out_buffer + 4, 8); +- sprintf(scratch, "Using existing capacity instead\n"); +- printf(scratch); ++ sprintf(scratch, "%s", "Using existing capacity instead\n"); ++ printf("%s",scratch); + showlog( scratch); + } else { /* foverwrite==1, changing something */ + /* usually only change num blks, if change blk size, flag it. */ +Index: scsirastools-1.6.6/src/sgraidmon.c +=================================================================== +--- scsirastools-1.6.6.orig/src/sgraidmon.c ++++ scsirastools-1.6.6/src/sgraidmon.c +@@ -269,9 +269,9 @@ void showit(char *buf) + } + } + if (flogopen) +- fprintf(fdlog, buf); /*write to log */ ++ fprintf(fdlog, "%s", buf); /*write to log */ + if (!background) +- fprintf(fdmsg, buf); /*message display defaults to stdout */ ++ fprintf(fdmsg, "%s", buf); /*message display defaults to stdout */ + } + + /* +@@ -563,7 +563,7 @@ add_scsi_dev(int bus, int ch, int id, in + fp = fopen("/proc/scsi/scsi","r+"); + if (fp == NULL) return(errno); + sprintf(cmd,"add-single-device %d %d %d %d",bus,ch,id,lun); +- fprintf(fp,cmd); ++ fprintf(fp, "%s", cmd); + fclose(fp); + strcat(cmd,"\n"); + showit(cmd); +@@ -1585,7 +1585,7 @@ main(int argc, char **argv) + interval = atoi(optarg); + break; + default: +- printf(output2); /*prog header*/ ++ printf("%s", output2); /*prog header*/ + printf("Usage: %s [-bemnrx -t time]\n",progname); + printf(" -b Run in Background as a daemon\n"); + printf(" -e Do not write to any files.\n"); +@@ -1598,7 +1598,7 @@ main(int argc, char **argv) + exit(1); + } + } +- if (!background) printf(output2); /*prog header*/ ++ if (!background) printf("%s", output2); /*prog header*/ + + /* only run this as superuser */ + i = geteuid(); +Index: scsirastools-1.6.6/src/sgsafte.c +=================================================================== +--- scsirastools-1.6.6.orig/src/sgsafte.c ++++ scsirastools-1.6.6/src/sgsafte.c +@@ -174,9 +174,9 @@ void showit(char *buf) + } + } + if (flogopen) +- fprintf(fdlog, buf); /*write to log */ ++ fprintf(fdlog, "%s", buf); /*write to log */ + if (!background) +- fprintf(fdmsg, buf); /*message display defaults to stdout */ ++ fprintf(fdmsg, "%s", buf); /*message display defaults to stdout */ + } + + /* +@@ -384,7 +384,7 @@ add_scsi_dev(int bus, int ch, int id, in + fp = fopen("/proc/scsi/scsi","r+"); + if (fp == NULL) return(errno); + sprintf(cmd,"add-single-device %d %d %d %d",bus,ch,id,lun); +- fprintf(fp,cmd); ++ fprintf(fp, "%s", cmd); + fclose(fp); + strcat(cmd,"\n"); + showit(cmd); +@@ -1261,7 +1261,7 @@ main(int argc, char **argv) + do_numeric = 0; + break; + default: +- printf(output2); /*prog header*/ ++ printf("%s", output2); /*prog header*/ + printf("Usage: %s [-d num -rf -emnx]\n",progname); + printf(" -d drive number to set (0, 1, ...)\n"); + printf(" -r set SAF-TE status to ready\n"); +@@ -1273,7 +1273,7 @@ main(int argc, char **argv) + exit(1); + } + } +- if (!background) printf(output2); /*prog header*/ ++ if (!background) printf("%s", output2); /*prog header*/ + + if (setval != 0 && drivenum == -1) drivenum = 0; /*default to first drive*/ + diff --git a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb new file mode 100644 index 0000000000..e202d16ebe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb @@ -0,0 +1,49 @@ +SUMMARY = "Linux SCSi tools to service maintain disk storage devices" +DESCRIPTION = "scsirastools were designed to add to the Serviceability of \ + SCSI devices under Linux so that the system does not have \ + to be rebooted or taken out of service to perform common \ + maintenance or service functions. It handles SCSI, \ + Linux SW RAID, SAS, SATA, and USB devices via SCSI emulation." +HOMEPAGE = "http://scsirastools.sourceforge.net/" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=687ea108478d26152ae46eb29d9d1545" + +DEPENDS += "groff-native" + +SRC_URI = "http://prdownloads.sourceforge.net/scsirastools/scsirastools-${PV}.tar.gz \ + file://mdadm.patch;apply=no \ + file://print-format.patch \ +" +SRC_URI[md5sum] = "6271a61b2ce40aaf33ef61775148cda1" +SRC_URI[sha256sum] = "e7b997e75decb06a650c42c35cd63d0c94c34e39cf133c723337b0eeabbfdf6a" + +inherit autotools update-rc.d + +# mdadm Makefile has CC set to gcc, hence override CC to ${CC} +EXTRA_OEMAKE += "CC='${CC}'" + + +do_configure_append() { + oe_runmake -C mdadm.d mdadm-1.3.0 + patch -p0 < ${WORKDIR}/mdadm.patch +} +INITSCRIPT_PACKAGES = "${PN}-diskmon ${PN}-raidmon" +INITSCRIPT_NAME_${PN}-diskmon = "sgdisk" +INITSCRIPT_PARAMS_${PN}-diskmon = "defaults 80 20" +INITSCRIPT_NAME_${PN}-raidmon = "sgraid" +INITSCRIPT_PARAMS_${PN}-raidmon = "defaults 80 20" + +PACKAGES =+ "${PN}-diskmon ${PN}-diskmon-dbg" +PACKAGES =+ "${PN}-raidmon ${PN}-raidmon-dbg" + +FILES_${PN}-dbg += "/usr/share/scsirastools/.debug" + +FILES_${PN}-diskmon = "${sbindir}/sgdiskmon ${sysconfdir}/init.d/sgdisk" +FILES_${PN}-diskmon-dbg = "${sbindir}/.debug/sgdiskmon" + +FILES_${PN}-raidmon = "${sbindir}/sgraidmon ${sysconfdir}/init.d/sgraid" +FILES_${PN}-raidmon-dbg = "${sbindir}/.debug/sgraidmon" + +RDEPENDS_${PN} += "bash" +RDEPENDS_${PN}-diskmon += "${PN}" +RDEPENDS_${PN}-raidmon += "${PN}" diff --git a/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch b/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch new file mode 100644 index 0000000000..87fdd6058a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch @@ -0,0 +1,29 @@ +From 92bf2f24d4762efd1dbcc4add457e2b600aa50cf Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 18 Mar 2017 08:02:17 -0700 +Subject: [PATCH] makefile: Add LDFLAGS to linking rule + +This make it use correct link flags and fixes errors like +No GNU_HASH in the elf binary + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c2b0bc7..cdfb58f 100755 +--- a/Makefile ++++ b/Makefile +@@ -34,7 +34,7 @@ sgpio.o: sgpio.c + ${CC} $(CFLAGS) -c sgpio.c + + sgpio: sgpio.o +- ${CC} -g sgpio.o -o sgpio ++ ${CC} $(LDFLAGS) -g sgpio.o -o sgpio + + clean: + rm -f sgpio.o sgpio +-- +2.12.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch b/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch new file mode 100644 index 0000000000..709f8316f1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch @@ -0,0 +1,127 @@ +Fix Makefile: + +* change the file format from dos to unix to avoid do_patch failed. +* override gcc,SBIN_DIR and INSTALL for cross-compilation. + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile | 107 ++++++++++++++++++++++++++++++++------------------------------- + 1 file changed, 55 insertions(+), 52 deletions(-) + +diff --git a/Makefile b/Makefile +index 278d966..c2b0bc7 100755 +--- a/Makefile ++++ b/Makefile +@@ -1,52 +1,55 @@ +-########################################################################
+-# Copyright (C) 2007-2008, Intel Corp. All rights reserved.
+-#
+-#
+-# This program is free software; you can redistribute it and/or modify it under
+-# the terms of the GNU General Public License as published by the Free Software
+-# Foundation; either version 2 of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful, but
+-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+-# for more details.
+-#
+-# You should have received a copy of the GNU General Public License along
+-# with this program; if not, write to the Free Software Foundation, Inc.,
+-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-########################################################################
+-
+-
+-# Intel SGPIO enclosure management utility
+-#
+-# Author: Eric R Hall <Eric.R.Hall@intel.com>
+-
+-
+-MANDIR ?= /usr/local/man
+-ALL = sgpio
+-
+-all: $(ALL)
+-
+-sgpio.o: sgpio.c
+- gcc -g -Wall -c sgpio.c
+-
+-sgpio: sgpio.o
+- gcc -g sgpio.o -o sgpio
+-
+-clean:
+- rm -f sgpio.o sgpio
+-
+-install: $(ALL)
+- for i in $(ALL); do \
+- install $$i /sbin/$$i; \
+- done
+- install -d $(MANDIR)/man1
+- install -m 0644 *.1 $(MANDIR)/man1
+-
+-uninstall:
+- for i in $(ALL); do \
+- rm -f /sbin/$$i; \
+- done
+- for i in $(ALL:=.1); do \
+- rm -f $(MANDIR)/man1/$$i; \
+- done
++######################################################################## ++# Copyright (C) 2007-2008, Intel Corp. All rights reserved. ++# ++# ++# This program is free software; you can redistribute it and/or modify it under ++# the terms of the GNU General Public License as published by the Free Software ++# Foundation; either version 2 of the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++# for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++######################################################################## ++ ++ ++# Intel SGPIO enclosure management utility ++# ++# Author: Eric R Hall <Eric.R.Hall@intel.com> ++ ++ ++MANDIR ?= /usr/local/man ++SBIN_DIR = /sbin ++INSTALL =/usr/bin/install -c ++ALL = sgpio ++CFLAGS = -g -Wall ++ ++all: $(ALL) ++ ++sgpio.o: sgpio.c ++ ${CC} $(CFLAGS) -c sgpio.c ++ ++sgpio: sgpio.o ++ ${CC} -g sgpio.o -o sgpio ++ ++clean: ++ rm -f sgpio.o sgpio ++ ++install: $(ALL) ++ for i in $(ALL); do \ ++ $(INSTALL) -D $$i $(SBIN_DIR)/$$i; \ ++ done ++ $(INSTALL) -d $(MANDIR)/man1 ++ $(INSTALL) -m 0644 *.1 $(MANDIR)/man1 ++ ++uninstall: ++ for i in $(ALL); do \ ++ rm -f /sbin/$$i; \ ++ done ++ for i in $(ALL:=.1); do \ ++ rm -f $(MANDIR)/man1/$$i; \ ++ done +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb b/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb new file mode 100644 index 0000000000..63e8d36d0a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb @@ -0,0 +1,27 @@ +SUMMARY = "SGPIO captive backplane tool" +HOMEPAGE = "http://sources.redhat.com/lvm2/wiki/DMRAID_Eventing" +DESCRIPTION = "Intel SGPIO enclosure management utility" + +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BPN}-1.2-0.10-src.tar.gz/a417bf68da4e9bd79a4664c11d7debd1/${BPN}-1.2-0.10-src.tar.gz \ + file://Makefile-error-fix.patch \ + file://0001-makefile-Add-LDFLAGS-to-linking-rule.patch \ + " +SRC_URI[md5sum] = "a417bf68da4e9bd79a4664c11d7debd1" +SRC_URI[sha256sum] = "9bf8c42acaa247efd9321bdb1fc2390022f0c554d77fbbd4a7363d990fc0270b" + +S = "${WORKDIR}/${BPN}" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE_GPL;md5=393a5ca445f6965873eca0259a17f833" + +do_compile_prepend() { + oe_runmake clean +} + +do_install() { + oe_runmake install \ + INSTALL="/usr/bin/install -p" \ + DESTDIR=${D} \ + SBIN_DIR=${D}/${sbindir} \ + MANDIR=${D}/${mandir} +} diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/initd.smartd b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/initd.smartd new file mode 100755 index 0000000000..54adcb406b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/initd.smartd @@ -0,0 +1,112 @@ +#! /bin/sh + +# smartmontools init file for smartd +# Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net> +# $Id: smartd.initd.in 3360 2011-06-06 19:25:36Z chrfranke $ + +# For RedHat and cousins: +# chkconfig: - 60 60 +# description: Self Monitoring and Reporting Technology (SMART) Daemon +# processname: smartd + +# For SuSE and cousins +### BEGIN INIT INFO +# Provides: smartd +# Required-Start: $syslog $remote_fs +# Should-Start: sendmail +# Required-Stop: $syslog $remote_fs +# Should-Stop: sendmail +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Monitors disk and tape health via S.M.A.R.T. +# Description: Start S.M.A.R.T. disk and tape monitor. +### END INIT INFO + +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# You should have received a copy of the GNU General Public License (for +# example COPYING); if not, write to the Free Software Foundation, Inc., 675 +# Mass Ave, Cambridge, MA 02139, USA. +# This code was originally developed as a Senior Thesis by Michael Cornwell +# at the Concurrent Systems Laboratory (now part of the Storage Systems +# Research Center), Jack Baskin School of Engineering, University of +# California, Santa Cruz. http://ssrc.soe.ucsc.edu/. + +# Uncomment the line below to pass options to smartd on startup. +# Note that distribution specific configuration files like +# /etc/{default,sysconfig}/smartmontools might override these +#smartd_opts="--interval=1800" + +SMARTD_BIN=/usr/sbin/smartd +SMARTDPID=/var/run/smartd.pid +[ -x $SMARTD_BIN ] || exit 0 +RET=0 + +# source configuration file +[ -r /etc/default/rcS ] && . /etc/default/rcS +[ -r /etc/default/smartmontools ] && . /etc/default/smartmontools + +smartd_opts="--pidfile $SMARTDPID $smartd_opts" + +case "$1" in + start) + if [ "$start_smartd" != "yes" ]; then + [ "$VERBOSE" != "no" ] && echo "Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools" + exit 0 + fi + echo -n "Starting S.M.A.R.T. daemon: smartd" + if start-stop-daemon --start --quiet --pidfile $SMARTDPID \ + --exec $SMARTD_BIN -- $smartd_opts; then + echo "." + else + echo " (failed)" + RET=1 + fi + ;; + stop) + echo -n "Stopping S.M.A.R.T. daemon: smartd" + start-stop-daemon --stop --quiet --oknodo --pidfile $SMARTDPID + echo "." + ;; + restart) + $0 stop + $0 start + ;; + force-reload) + $0 reload || $0 restart + ;; + reload) + echo -n "Reload S.M.A.R.T. daemon: smartd" + if start-stop-daemon --stop --quiet --signal 1 \ + --pidfile $SMARTDPID; then + echo "." + else + echo " (failed)" + RET=1 + fi + ;; + report) + echo -n "Checking SMART devices now" + if start-stop-daemon --stop --quiet --signal 10 \ + --pidfile $SMARTDPID; then + echo "." + else + echo " (failed)" + RET=1 + fi + ;; + status) + if pidof $SMARTD_BIN >/dev/null; then + echo "$SMARTD_BIN is running." + else + echo "$SMARTD_BIN is not running." + RET=1 + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload|reload|report|status}" + exit 1 +esac +exit $RET diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/smartd.service b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/smartd.service new file mode 100644 index 0000000000..f3db946c81 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/smartd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Self Monitoring and Reporting Technology (SMART) Daemon +After=syslog.target + +[Service] +EnvironmentFile=-@SYSCONFDIR@/smartmontools +ExecStart=@SBINDIR@/smartd -n $smart_opts +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID +StandardOutput=syslog + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/smartmontools.default b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/smartmontools.default new file mode 100644 index 0000000000..602e00beb1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/smartmontools.default @@ -0,0 +1,6 @@ +# uncomment to start smartd on system startup for SysV init script +# For systemd service file, use `systemctl enable smartd'. +#start_smartd=yes + +# uncomment to pass additional options to smartd on startup +#smartd_opts="--interval=1800" diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb new file mode 100644 index 0000000000..1a1767e11f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb @@ -0,0 +1,52 @@ +SUMMARY = "Control and monitor storage systems using S.M.A.R.T" +DESCRIPTION = \ +"The smartmontools package contains two utility programs (smartctl \ +and smartd) to control and monitor storage systems using the Self-\ +Monitoring, Analysis and Reporting Technology System (SMART) built \ +into most modern ATA and SCSI hard disks. In many cases, these \ +utilities will provide advanced warning of disk degradation and failure." + +HOMEPAGE = "http://smartmontools.sourceforge.net/" +SECTION = "console/utils" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \ + file://initd.smartd \ + file://smartmontools.default \ + file://smartd.service \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}" +PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng" +PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux" + +SRC_URI[md5sum] = "9ae2c6e7131cd2813edcc65cbe5f223f" +SRC_URI[sha256sum] = "51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054" + +inherit autotools update-rc.d systemd + +SYSTEMD_SERVICE_${PN} = "smartd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +do_install_append () { + #install the init.d/smartd + install -d ${D}${sysconfdir}/init.d + install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd + install -d ${D}${sysconfdir}/default + install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools + + #install systemd service file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/smartd.service +} + +INITSCRIPT_NAME = "smartd" +INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ." + +RDEPENDS_${PN} += "mailx" diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb new file mode 100644 index 0000000000..3c019eb7ce --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb @@ -0,0 +1,12 @@ +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=72d977d697c3c05830fdff00a7448931" +SRCREV = "d1248b0f22ea8dc3b9d84a61bd35a83309bdb4b4" +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https" + +S = "${WORKDIR}/git" + +inherit module + +EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}" diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb new file mode 100644 index 0000000000..a2d62c3667 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb @@ -0,0 +1,16 @@ +SUMMARY = "Linux CAN network development utilities" +DESCRIPTION = "Linux CAN network development" +LICENSE = "GPLv2 & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a069ac1436553ee7" + +DEPENDS = "libsocketcan" + +SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master" +SRCREV = "4c8fb05cb4d6ddcd67299008db54af423f86fd05" + +PV = "0.0+gitr${SRCPV}" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils/0001-canutils-candump-Add-error-frame-s-handling.patch b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils/0001-canutils-candump-Add-error-frame-s-handling.patch new file mode 100644 index 0000000000..fcc38e0617 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils/0001-canutils-candump-Add-error-frame-s-handling.patch @@ -0,0 +1,94 @@ +From bab595e38295dcafcfc17a011d3d51f2df1618e6 Mon Sep 17 00:00:00 2001 +From: AnilKumar Ch <anilkumar@ti.com> +Date: Tue, 10 Jan 2012 18:55:11 +0530 +Subject: [PATCH] canutils: candump: Add error frame's handling + +This patch adds the error handling capability to candump utility +by adding error flags for displaying all kind of error frames +like tx_timeout, lost arbitration, controller problems, buserrors, +bus warnings etc. + +Usage of candump for error frame display on console: +candump [<can-interface>] [Options] +Ex: candump can0 --error + +This patch is created on top of canutils-4.0.6 tag from +http://git.pengutronix.de/?p=tools/canutils.git + +Signed-off-by: AnilKumar Ch <anilkumar@ti.com> +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- +Upstream-Status: Backport + + src/candump.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/src/candump.c b/src/candump.c +index 259d442..c16425b 100644 +--- a/src/candump.c ++++ b/src/candump.c +@@ -20,6 +20,7 @@ + + #include <linux/can.h> + #include <linux/can/raw.h> ++#include <linux/can/error.h> + + extern int optind, opterr, optopt; + +@@ -40,6 +41,7 @@ static void print_usage(char *prg) + " -p, --protocol=PROTO\t" "CAN protocol (default CAN_RAW = %d)\n" + " --filter=id:mask[:id:mask]...\n" + "\t\t\t" "apply filter\n" ++ " -e, --error\t\t" "dump error frames along with data frames\n" + " -h, --help\t\t" "this help\n" + " -o <filename>\t\t" "output into filename\n" + " -d\t\t\t" "daemonize\n" +@@ -86,6 +88,11 @@ int main(int argc, char **argv) + int nbytes, i; + int opt, optdaemon = 0; + uint32_t id, mask; ++ int error = 0; ++ can_err_mask_t err_mask = (CAN_ERR_TX_TIMEOUT | CAN_ERR_LOSTARB | ++ CAN_ERR_CRTL | CAN_ERR_PROT | ++ CAN_ERR_TRX | CAN_ERR_ACK | CAN_ERR_BUSOFF | ++ CAN_ERR_BUSERROR); + + signal(SIGPIPE, SIG_IGN); + +@@ -95,6 +102,7 @@ int main(int argc, char **argv) + { "protocol", required_argument, 0, 'p' }, + { "type", required_argument, 0, 't' }, + { "filter", required_argument, 0, FILTER_OPTION }, ++ { "error", no_argument, 0, 'e' }, + { "version", no_argument, 0, VERSION_OPTION}, + { 0, 0, 0, 0}, + }; +@@ -121,6 +129,10 @@ int main(int argc, char **argv) + proto = strtoul(optarg, NULL, 0); + break; + ++ case 'e': ++ error = 1; ++ break; ++ + case 'o': + optout = optarg; + break; +@@ -186,6 +198,14 @@ int main(int argc, char **argv) + } + } + ++ if (error) { ++ if (setsockopt(s, SOL_CAN_RAW, CAN_RAW_ERR_FILTER, &err_mask, ++ sizeof(err_mask)) != 0) { ++ perror("setsockopt"); ++ exit(1); ++ } ++ } ++ + if (optdaemon) + daemon(1, 0); + else { +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb new file mode 100644 index 0000000000..e1508af857 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb @@ -0,0 +1,20 @@ +SUMMARY = "canutils (PTX flavour)" +HOMEPAGE = "http://www.pengutronix.de" +SECTION = "console/network" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "libsocketcan" + +SRCREV = "299dff7f5322bf0348dcdd60071958ebedf5f09d" +SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \ + file://0001-canutils-candump-Add-error-frame-s-handling.patch \ +" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +# Busybox ip doesn't support can interface configuration, use the real thing +RDEPENDS_${PN} += "iproute2" diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb new file mode 100644 index 0000000000..60ca580168 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb @@ -0,0 +1,14 @@ +SUMMARY = "Control basic functions in socketcan from userspace" +HOMEPAGE = "http://www.pengutronix.de" +SECTION = "libs/network" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1" + +SRCREV = "51f1610160a1707f026f8c2d714a6f7aa3ca232b" + +SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch new file mode 100644 index 0000000000..7d3f8a19d7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch @@ -0,0 +1,50 @@ +From 290703a5d21f34ea5ec23efc815a9f4df241e7e8 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 23 Oct 2015 00:33:32 -0700 +Subject: [PATCH] Fix build with musl, backtrace() APIs are glibc specific + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + userspace/libsinsp/utils.cpp | 4 +++- + userspace/libsinsp/utils.h | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/userspace/libsinsp/utils.cpp b/userspace/libsinsp/utils.cpp +index 8f23f9c..c496a57 100644 +--- a/userspace/libsinsp/utils.cpp ++++ b/userspace/libsinsp/utils.cpp +@@ -21,7 +21,9 @@ along with sysdig. If not, see <http://www.gnu.org/licenses/>. + #include <limits.h> + #include <stdlib.h> + #include <sys/time.h> ++#ifdef __GLIBC__ + #include <execinfo.h> ++#endif + #include <unistd.h> + #include <sys/time.h> + #include <netdb.h> +@@ -741,7 +743,7 @@ uint64_t sinsp_utils::get_current_time_ns() + return tv.tv_sec * (uint64_t) 1000000000 + tv.tv_usec * 1000; + } + +-#ifndef _WIN32 ++#if defined(_WIN32) && defined(__GLIBC__) + void sinsp_utils::bt(void) + { + static const char start[] = "BACKTRACE ------------"; +diff --git a/userspace/libsinsp/utils.h b/userspace/libsinsp/utils.h +index 600d00b..4ab4650 100644 +--- a/userspace/libsinsp/utils.h ++++ b/userspace/libsinsp/utils.h +@@ -79,7 +79,7 @@ public: + + static uint64_t get_current_time_ns(); + +-#ifndef _WIN32 ++#if not defined(_WIN32) && defined(__GLIBC__) + // + // Print the call stack + // +-- +2.6.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch new file mode 100644 index 0000000000..8fec0ca59f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch @@ -0,0 +1,108 @@ +From c2782a6ca968190e221c25b0890600ba8cd43798 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 23 Oct 2015 00:23:15 -0700 +Subject: [PATCH] libsinsp: Port to build with lua >= 5.2 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + userspace/libsinsp/chisel.cpp | 40 +++++++++++++++++++++++++++++----------- + 1 file changed, 29 insertions(+), 11 deletions(-) + +diff --git a/userspace/libsinsp/chisel.cpp b/userspace/libsinsp/chisel.cpp +index 3cfbd8d..2db9348 100644 +--- a/userspace/libsinsp/chisel.cpp ++++ b/userspace/libsinsp/chisel.cpp +@@ -94,7 +94,7 @@ void lua_stackdump(lua_State *L) + // Lua callbacks + /////////////////////////////////////////////////////////////////////////////// + #ifdef HAS_LUA_CHISELS +-const static struct luaL_reg ll_sysdig [] = ++const static struct luaL_Reg ll_sysdig [] = + { + {"set_filter", &lua_cbacks::set_global_filter}, + {"set_snaplen", &lua_cbacks::set_snaplen}, +@@ -120,7 +120,7 @@ const static struct luaL_reg ll_sysdig [] = + {NULL,NULL} + }; + +-const static struct luaL_reg ll_chisel [] = ++const static struct luaL_Reg ll_chisel [] = + { + {"request_field", &lua_cbacks::request_field}, + {"set_filter", &lua_cbacks::set_filter}, +@@ -131,7 +131,7 @@ const static struct luaL_reg ll_chisel [] = + {NULL,NULL} + }; + +-const static struct luaL_reg ll_evt [] = ++const static struct luaL_Reg ll_evt [] = + { + {"field", &lua_cbacks::field}, + {"get_num", &lua_cbacks::get_num}, +@@ -853,10 +853,28 @@ bool sinsp_chisel::parse_view_info(lua_State *ls, OUT chisel_desc* cd) + + + #ifdef HAS_LUA_CHISELS ++static void chisel_lua_registerlib(lua_State *L, const char *libname, ++ const luaL_Reg *l, int ind) ++{ ++#if LUA_VERSION_NUM >= 502 ++ if (libname) ++ { ++ lua_newtable(L); ++ luaL_setfuncs(L, l, ind); ++ lua_pushvalue(L, -1); ++ lua_setglobal(L, libname); ++ } ++ else ++ luaL_setfuncs(L, l, ind); ++#else ++ luaL_register(L, libname, l); ++#endif ++} ++ + // Initializes a lua chisel + bool sinsp_chisel::init_lua_chisel(chisel_desc &cd, string const &fpath) + { +- lua_State* ls = lua_open(); ++ lua_State* ls = luaL_newstate(); + if(ls == NULL) + { + return false; +@@ -867,9 +885,9 @@ bool sinsp_chisel::init_lua_chisel(chisel_desc &cd, string const &fpath) + // + // Load our own lua libs + // +- luaL_openlib(ls, "sysdig", ll_sysdig, 0); +- luaL_openlib(ls, "chisel", ll_chisel, 0); +- luaL_openlib(ls, "evt", ll_evt, 0); ++ chisel_lua_registerlib(ls, "sysdig", ll_sysdig, 0); ++ chisel_lua_registerlib(ls, "chisel", ll_chisel, 0); ++ chisel_lua_registerlib(ls, "evt", ll_evt, 0); + + // + // Add our chisel paths to package.path +@@ -1111,16 +1129,16 @@ void sinsp_chisel::load(string cmdstr) + // + // Open the script + // +- m_ls = lua_open(); ++ m_ls = luaL_newstate(); + + luaL_openlibs(m_ls); + + // + // Load our own lua libs + // +- luaL_openlib(m_ls, "sysdig", ll_sysdig, 0); +- luaL_openlib(m_ls, "chisel", ll_chisel, 0); +- luaL_openlib(m_ls, "evt", ll_evt, 0); ++ chisel_lua_registerlib(m_ls, "sysdig", ll_sysdig, 0); ++ chisel_lua_registerlib(m_ls, "chisel", ll_chisel, 0); ++ chisel_lua_registerlib(m_ls, "evt", ll_evt, 0); + + // + // Add our chisel paths to package.path +-- +2.6.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb new file mode 100644 index 0000000000..4f58281f9f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb @@ -0,0 +1,41 @@ +SUMMARY = "A New System Troubleshooting Tool Built for the Way You Work" +DESCRIPTION = "Sysdig is open source, system-level exploration: capture \ +system state and activity from a running Linux instance, then save, \ +filter and analyze." +HOMEPAGE = "http://www.sysdig.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit cmake pkgconfig + +OECMAKE_GENERATOR = "Unix Makefiles" + +DEPENDS = "luajit zlib ncurses" +RDEPENDS_${PN} = "bash" + +SRC_URI = "git://github.com/draios/sysdig.git;branch=master \ + file://0001-libsinsp-Port-to-build-with-lua-5.2.patch \ + file://0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch \ + " +SRCREV = "85d16f33a82a17f87ccdbc088749271c71d87013" +PV = "0.1.102+git${SRCPV}" + +S = "${WORKDIR}/git" + +DIR_ETC="/etc" +EXTRA_OECMAKE = ' -DUSE_BUNDLED_LUAJIT="OFF" \ + -DUSE_BUNDLED_ZLIB="OFF" \ + -DBUILD_DRIVER="OFF" \ + -DUSE_BUNDLED_NCURSES="OFF" \ + -DDIR_ETC="${DIR_ETC}" \ + ' + +FILES_${PN} += " \ + ${DIR_ETC}/* \ + ${datadir}/zsh/* \ + ${prefix}/src/* \ +" + +# luajit not supported on Aarch64 +COMPATIBLE_HOST = "^(?!aarch64).*" + diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch new file mode 100644 index 0000000000..976e0380e4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch @@ -0,0 +1,141 @@ +From 81c1ba940415595584a837ab1078c64855072f0c Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Mon, 21 Nov 2011 12:00:54 +0100 +Subject: [PATCH] t1lib: add 5.1.2 + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- + configure.in | 95 ++++++++++++++++++++++++------------------------------------ + 1 file changed, 38 insertions(+), 57 deletions(-) + +diff --git a/configure.in b/configure.in +index eade4c0..e649ea9 100644 +--- a/configure.in ++++ b/configure.in +@@ -74,9 +74,9 @@ T1LIB_PATCHLEVEL=builtin(eval, MACRO_T1LIB_LT_REVISION) + T1LIB_VERSIONSTRING=\"MACRO_T1LIB_IDENTIFIER\" + + +-dnl We use this file by Andreas Zeller to check for libXaw +-builtin(include, ac-tools/ice_find_athena.m4) +-builtin(include, ac-tools/aclocal.m4) ++#dnl We use this file by Andreas Zeller to check for libXaw ++#builtin(include, ac-tools/ice_find_athena.m4) ++#builtin(include, ac-tools/aclocal.m4) + + dnl We want these before the checks, so the checks can modify their values. + test -z "$LDLIBS" && LDLIBS=-lm AC_SUBST(LDLIBS) +@@ -162,6 +162,7 @@ fi + + dnl **** Check for underscore on external symbols **** + ++AH_TEMPLATE([NEED_UNDERSCORE_PREFIX], [Define if external symbols need an underscore prefix]) + AC_CACHE_CHECK("whether external symbols need an underscore prefix", + ac_cv_c_extern_prefix, + [saved_libs=$LIBS +@@ -179,68 +180,48 @@ then + AC_DEFINE(NEED_UNDERSCORE_PREFIX) + fi + +-dnl **** Check which ANSI integer type is 16 bit +- +-AC_CACHE_CHECK( "which ANSI integer type is 16 bit", ac_16bit_type, +- AC_TRY_RUN([ +-int main(void) { +- if (sizeof(short)==2) +- return(0); +- else if (sizeof(int)==2) +- return(1); +- else +- return(2); +-}], ac_16bit_type="short", ac_16bit_type="int", ac_16bit_type=)) +-if test "$ac_16bit_type" = "short" +-then +- T1_AA_TYPE16="-DT1_AA_TYPE16=short" +- T1_INT16="short" +-else +- T1_AA_TYPE16="-DT1_AA_TYPE16=int" +- T1_INT16="int" ++dnl **** Check which ANSI integer type is 16 bit ++T1_AA_TYPE16="" ++for type in short int; do ++ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x2"; then ++ T1_AA_TYPE16="-DT1_AA_TYPE16=$type" ++ T1_INT16="$type" ++ break ++ fi ++done ++ ++if test x"$T1_AA_TYPE16" = "x"; then ++ AC_MSG_ERROR("Unable to determine which integer type is 16 bit.") + fi + +- + dnl **** Check which ANSI integer type is 32 bit +- +-AC_CACHE_CHECK( "which ANSI integer type is 32 bit", ac_32bit_type, +- AC_TRY_RUN([ +-int main(void) { +- if (sizeof(int)==4) +- return(0); +- else if (sizeof(long)==4) +- return(1); +- else +- return(2); +-}], ac_32bit_type="int", ac_32bit_type="long", ac_32bit_type=)) +-if test "$ac_32bit_type" = "int" +-then +- T1_AA_TYPE32="-DT1_AA_TYPE32=int" +- T1_INT32="int" +-else +- T1_AA_TYPE32="-DT1_AA_TYPE32=long" +- T1_INT32="long" ++T1_AA_TYPE32="" ++for type in int long; do ++ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x4"; then ++ T1_AA_TYPE32="-DT1_AA_TYPE32=$type" ++ T1_INT32="$type" ++ break ++ fi ++done ++ ++if test x"$T1_AA_TYPE32" = "x"; then ++ AC_MSG_ERROR("Unable to determine which integer type is 32 bit.") + fi + +- + dnl **** Check which ANSI integer type is 64 bit +- +-AC_CACHE_CHECK( "which ANSI integer type is 64 bit", ac_64bit_type, +- AC_TRY_RUN([ +-int main(void) { +- if (sizeof(long)==8) +- return(0); +- else +- return(1); +-}], ac_64bit_type="long", ac_64bit_type="<none>")) +-if test "$ac_64bit_type" = "long" +-then +- T1_AA_TYPE64="-DT1_AA_TYPE64=long" +-else +- T1_AA_TYPE64= ++T1_AA_TYPE64="" ++for type in long long_long; do ++ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x8"; then ++ AC_MSG_WARN("$type is 64 bit") ++ T1_AA_TYPE64="-DT1_AA_TYPE64=\"`echo $type|tr '_' ' '`\"" ++ break ++ fi ++done ++ ++if test x"$T1_AA_TYPE64" = "x"; then ++ AC_MSG_ERROR("Unable to determine which integer type is 64 bit.") + fi + +- + CFLAGS="${CFLAGS} -DT1LIB_IDENT=\"\\\"${T1LIB_IDENTIFIER}\\\"\" -DGLOBAL_CONFIG_DIR=\"\\\"${T1LIB_DATA_DIR}\\\"\"" + + dnl **** Check for functions and header files **** diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch new file mode 100644 index 0000000000..bc2476bfc1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch @@ -0,0 +1,58 @@ +From cea83003de3ffebde92becd1e599fe3b28f0a7c4 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 6 Mar 2017 23:13:36 -0800 +Subject: [PATCH] t1lib: Fix printf format string errors + +Fix printf formats to use format qualifiers +fixes + +error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +--- + lib/t1lib/t1subset.c | 2 +- + lib/type1/objects.c | 2 +- + lib/type1/objects.h | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/lib/t1lib/t1subset.c b/lib/t1lib/t1subset.c +index da427b2..e76974f 100644 +--- a/lib/t1lib/t1subset.c ++++ b/lib/t1lib/t1subset.c +@@ -759,7 +759,7 @@ char *T1_SubsetFont( int FontID, + tr_len); + T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf, + T1LOG_DEBUG); +- l+=sprintf( &(trailerbuf[l]), linebuf); /* contains the PostScript trailer */ ++ l+=sprintf( &(trailerbuf[l]), "%s", linebuf); /* contains the PostScript trailer */ + } + + /* compute size of output file */ +diff --git a/lib/type1/objects.c b/lib/type1/objects.c +index c413a0f..f828e6a 100644 +--- a/lib/type1/objects.c ++++ b/lib/type1/objects.c +@@ -957,7 +957,7 @@ struct xobject *TypeErr(name, obj, expect, ret) /* non-ANSI avoids overly strict + + sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n", + name, TypeFmt(expect), TypeFmt(obj->type)); +- IfTrace0(TRUE,typemsg); ++ IfTrace1(TRUE, "%s", typemsg); + + ObjectPostMortem(obj); + +diff --git a/lib/type1/objects.h b/lib/type1/objects.h +index 13cbae7..3a1d337 100644 +--- a/lib/type1/objects.h ++++ b/lib/type1/objects.h +@@ -214,7 +214,7 @@ struct xobject { + /*SHARED*/ + /* NDW: personally, I want to see status and error messages! */ + #define IfTrace0(condition,model) \ +- {if (condition) printf(model);} ++ {if (condition) fputs(model,stdout);} + #define IfTrace1(condition,model,arg0) \ + {if (condition) printf(model,arg0);} + #define IfTrace2(condition,model,arg0,arg1) \ diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch new file mode 100644 index 0000000000..da54f87abb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch @@ -0,0 +1,144 @@ +From bab41f5e1fc1fc809da1371e6a0222e0eb21e5f0 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Mon, 21 Nov 2011 12:00:54 +0100 +Subject: [PATCH] t1lib: add 5.1.2 + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- + Makefile.in | 5 +++-- + examples/Makefile.in | 5 +++-- + lib/Makefile.in | 6 ++++-- + lib/t1lib/Makefile.in | 6 ++++-- + lib/type1/Makefile.in | 6 ++++-- + type1afm/Makefile.in | 6 ++++-- + xglyph/Makefile.in | 6 ++++-- + 7 files changed, 26 insertions(+), 14 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 29c3468..396c020 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -18,7 +18,8 @@ + # Last modified: 2005-05-01 + # + +-SHELL = /bin/sh ++SHELL = @SHELL@ ++LIBTOOL = @LIBTOOL@ + CC = @CC@ + CPP = @CPP@ + CFLAGS = @CFLAGS@ +@@ -149,7 +150,7 @@ distclean: clean + $(RM) examples/Makefile + $(RM) xglyph/Makefile + $(RM) doc/Makefile +- $(RM) libtool ++ $(RM) $(LIBTOOL) + + + # The following two targets are for building and cleaning the python- +diff --git a/examples/Makefile.in b/examples/Makefile.in +index b301db5..7a6a514 100644 +--- a/examples/Makefile.in ++++ b/examples/Makefile.in +@@ -14,9 +14,10 @@ + # Last modified: 2001-04-01 + # + ++top_builddir = @top_builddir@ + +-LIBTOOL = ../libtool +-SHELL = /bin/sh ++LIBTOOL = @LIBTOOL@ ++SHELL = @SHELL@ + CC = @CC@ + CPP = @CPP@ + CFLAGS = @CFLAGS@ +diff --git a/lib/Makefile.in b/lib/Makefile.in +index 89e5e86..6e0f960 100644 +--- a/lib/Makefile.in ++++ b/lib/Makefile.in +@@ -15,8 +15,10 @@ + # + # Contributions by H.Kakugawa to use libtool! + +-LIBTOOL = ../libtool +-SHELL = /bin/sh ++top_builddir = @top_builddir@ ++ ++LIBTOOL = @LIBTOOL@ ++SHELL = @SHELL@ + CC = @CC@ + CPP = @CPP@ + CFLAGS = @CFLAGS@ +diff --git a/lib/t1lib/Makefile.in b/lib/t1lib/Makefile.in +index a6c2478..32434b3 100644 +--- a/lib/t1lib/Makefile.in ++++ b/lib/t1lib/Makefile.in +@@ -14,8 +14,10 @@ + # + # Modified by H.Kakugawa to use libtool + +-LIBTOOL = ../../libtool +-SHELL = /bin/sh ++top_builddir = @top_builddir@ ++ ++LIBTOOL = @LIBTOOL@ ++SHELL = @SHELL@ + CC = @CC@ + CPP = @CPP@ + CFLAGS = @CFLAGS@ +diff --git a/lib/type1/Makefile.in b/lib/type1/Makefile.in +index 241f124..42efa94 100644 +--- a/lib/type1/Makefile.in ++++ b/lib/type1/Makefile.in +@@ -14,8 +14,10 @@ + # + # Modified by H.Kakugawa to use libtool + +-LIBTOOL = ../../libtool +-SHELL = /bin/sh ++top_builddir = @top_builddir@ ++ ++LIBTOOL = @LIBTOOL@ ++SHELL = @SHELL@ + CC = @CC@ + CPP = @CPP@ + CFLAGS = @CFLAGS@ +diff --git a/type1afm/Makefile.in b/type1afm/Makefile.in +index 61611e1..9b51406 100644 +--- a/type1afm/Makefile.in ++++ b/type1afm/Makefile.in +@@ -15,8 +15,10 @@ + # + # Modified by H.Kakugawa to use libtool + +-LIBTOOL = ../libtool +-SHELL = /bin/sh ++top_builddir = @top_builddir@ ++ ++LIBTOOL = @LIBTOOL@ ++SHELL = @SHELL@ + CC = @CC@ + CPP = @CPP@ + CFLAGS = @CFLAGS@ +diff --git a/xglyph/Makefile.in b/xglyph/Makefile.in +index 8da9b63..741334c 100644 +--- a/xglyph/Makefile.in ++++ b/xglyph/Makefile.in +@@ -15,8 +15,10 @@ + # + # Modified by H.Kakugawa to use libtool + +-LIBTOOL = ../libtool +-SHELL = /bin/sh ++top_builddir = @top_builddir@ ++ ++LIBTOOL = @LIBTOOL@ ++SHELL = @SHELL@ + CC = @CC@ + CPP = @CPP@ + CFLAGS = @CFLAGS@ diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb new file mode 100644 index 0000000000..826dbda858 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb @@ -0,0 +1,29 @@ +SUMMARY = "A Type1 Font Rastering Library" +SECTION = "libs" +DEPENDS = "virtual/libx11 libxaw" + +LICENSE = "LGPLv2 & GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \ + file://LGPL;md5=6e29c688d912da12b66b73e32b03d812 \ +" + +SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \ + file://configure.patch \ + file://libtool.patch \ + file://format_security.patch" +SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c" +SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59" + +inherit autotools-brokensep distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +# Fix GNU_HASH problem +TARGET_CC_ARCH += "${LDFLAGS}" + +EXTRA_OECONF = "--with-x --without-athena" +EXTRA_OEMAKE = "without_doc" + +FILES_${PN} += " ${datadir}/t1lib/t1lib.config" +FILES_${PN}-doc = "${datadir}/t1lib/doc/t1lib_doc.pdf" + diff --git a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch new file mode 100644 index 0000000000..6c8ba9074a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch @@ -0,0 +1,25 @@ +From e291d720a7d9576063717969dde82c33bac7eecf Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 11 Apr 2017 14:19:21 -0700 +Subject: [PATCH 1/2] include sys/select.h for FD_* definitions + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + demos/inventory_sim/inventory_sim.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/demos/inventory_sim/inventory_sim.c b/demos/inventory_sim/inventory_sim.c +index fadf27b..22c33d1 100644 +--- a/demos/inventory_sim/inventory_sim.c ++++ b/demos/inventory_sim/inventory_sim.c +@@ -132,6 +132,7 @@ Examples + #include <string.h> + #include <unistd.h> + #include <sys/socket.h> ++#include <sys/select.h> + #include <netinet/in.h> + #include <linux/tipc.h> + +-- +2.12.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch new file mode 100644 index 0000000000..e495285051 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch @@ -0,0 +1,33 @@ +From 1ce892749e4f53bd0aeaa4c3ce45f80178799411 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 3 Mar 2018 17:52:51 -0800 +Subject: [PATCH] multicast_blast/tipcc: Fix struct type for TIPC_GROUP_JOIN + +Kernel defines it as tipc_group_req and not tipc_mreq +this code was not excercised with older kernels so we +never ran into the compiler failures since TIPC_GROUP_JOIN +is only defined in kernel starting 4.15 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + multicast_blast/tipcc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/multicast_blast/tipcc.c b/multicast_blast/tipcc.c +index 90644d3..911c759 100755 +--- a/multicast_blast/tipcc.c ++++ b/multicast_blast/tipcc.c +@@ -213,7 +213,7 @@ int tipc_accept(int sd, struct tipc_addr *src) + int tipc_join(int sd, struct tipc_addr *member) + { + #ifdef TIPC_GROUP_JOIN +- struct tipc_mreq mreq = { ++ struct tipc_group_req mreq = { + .type = member->type, + .instance = member->instance, + .scope = domain2scope(member->domain) +-- +2.16.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch new file mode 100644 index 0000000000..03e711e9a4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch @@ -0,0 +1,211 @@ +From 3d091efa09478d0330be686184ae4793764504e7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 11 Apr 2017 14:22:23 -0700 +Subject: [PATCH 2/2] replace non-standard uint with unsigned int + +make it portable on musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + demos/benchmark/client_tipc.c | 34 +++++++++++++++++----------------- + demos/benchmark/common_tipc.h | 2 +- + demos/benchmark/server_tipc.c | 10 +++++----- + demos/inventory_sim/inventory_sim.c | 12 ++++++------ + 4 files changed, 29 insertions(+), 29 deletions(-) + +diff --git a/demos/benchmark/client_tipc.c b/demos/benchmark/client_tipc.c +index 5d889ee..d913e42 100644 +--- a/demos/benchmark/client_tipc.c ++++ b/demos/benchmark/client_tipc.c +@@ -65,7 +65,7 @@ static const struct sockaddr_tipc master_clnt_addr = { + + static int master_clnt_sd; + static int master_srv_sd; +-static uint client_id; ++static unsigned int client_id; + static unsigned char *buf = NULL; + static int non_blk = 0; + static int select_ip(struct srv_info *sinfo, char *name); +@@ -79,7 +79,7 @@ struct master_client_cmd { + __u32 bounce; + }; + +-static void master_to_client(uint cmd, uint msglen, uint msgcnt, uint bounce) ++static void master_to_client(unsigned int cmd, unsigned int msglen, unsigned int msgcnt, unsigned int bounce) + { + struct master_client_cmd c; + +@@ -93,7 +93,7 @@ static void master_to_client(uint cmd, uint msglen, uint msgcnt, uint bounce) + die("Unable to send cmd %u to clients\n", cmd); + } + +-static void client_from_master(uint *cmd, uint *msglen, uint *msgcnt, uint *bounce) ++static void client_from_master(unsigned int *cmd, unsigned int *msglen, unsigned int *msgcnt, unsigned int *bounce) + { + struct master_client_cmd c; + +@@ -114,7 +114,7 @@ struct client_master_cmd { + __u32 cmd; + }; + +-static void client_to_master(uint cmd) ++static void client_to_master(unsigned int cmd) + { + struct client_master_cmd c; + +@@ -125,7 +125,7 @@ static void client_to_master(uint cmd) + die("Client: Unable to send msg to master\n"); + } + +-static void master_from_client(uint *cmd) ++static void master_from_client(unsigned int *cmd) + { + struct client_master_cmd c; + +@@ -137,7 +137,7 @@ static void master_from_client(uint *cmd) + *cmd = ntohl(c.cmd); + } + +-static void master_to_srv(uint cmd, uint msglen, uint msgcnt, uint echo) ++static void master_to_srv(unsigned int cmd, unsigned int msglen, unsigned int msgcnt, unsigned int echo) + { + struct master_srv_cmd c; + +@@ -151,7 +151,7 @@ static void master_to_srv(uint cmd, uint msglen, uint msgcnt, uint echo) + die("Unable to send cmd %u to servers\n", cmd); + } + +-static void master_from_srv(uint *cmd, struct srv_info *sinfo, __u32 *tipc_addr) ++static void master_from_srv(unsigned int *cmd, struct srv_info *sinfo, __u32 *tipc_addr) + { + struct srv_to_master_cmd c; + +@@ -290,7 +290,7 @@ static void client_main(unsigned int clnt_id, ushort tcp_port, int tcp_addr) + { + int peer_sd, efd = 0; + int imp = clnt_id % 4; +- uint cmd, msglen, msgcnt, echo; ++ unsigned int cmd, msglen, msgcnt, echo; + struct epoll_event event, revents; + struct sockaddr_in tcp_dest; + int rc; +@@ -400,22 +400,22 @@ static void client_main(unsigned int clnt_id, ushort tcp_port, int tcp_addr) + int main(int argc, char *argv[], char *dummy[]) + { + int c; +- uint cmd; +- uint latency_transf = DEFAULT_LAT_MSGS; +- uint thruput_transf = DEFAULT_THRU_MSGS; +- uint req_clients = DEFAULT_CLIENTS; +- uint first_msglen = DEFAULT_MSGLEN; +- uint last_msglen = TIPC_MAX_USER_MSG_SIZE; ++ unsigned int cmd; ++ unsigned int latency_transf = DEFAULT_LAT_MSGS; ++ unsigned int thruput_transf = DEFAULT_THRU_MSGS; ++ unsigned int req_clients = DEFAULT_CLIENTS; ++ unsigned int first_msglen = DEFAULT_MSGLEN; ++ unsigned int last_msglen = TIPC_MAX_USER_MSG_SIZE; + unsigned long long msglen; + unsigned long long num_clients; + struct timeval start_time; + unsigned long long elapsed; + unsigned long long msgcnt; + unsigned long long iter; +- uint clnt_id; +- uint conn_typ = TIPC_CONN; ++ unsigned int clnt_id; ++ unsigned int conn_typ = TIPC_CONN; + ushort tcp_port = 0; +- uint tcp_addr = 0; ++ unsigned int tcp_addr = 0; + struct srv_info sinfo; + __u32 peer_tipc_addr; + char ifname[16] = {0,}; +diff --git a/demos/benchmark/common_tipc.h b/demos/benchmark/common_tipc.h +index 1765ba1..47947e0 100644 +--- a/demos/benchmark/common_tipc.h ++++ b/demos/benchmark/common_tipc.h +@@ -256,7 +256,7 @@ static void get_ip_list(struct srv_info *sinfo, char *ifname) + } + } + +-static uint own_node(void) ++static unsigned int own_node(void) + { + struct sockaddr_tipc addr; + socklen_t sz = sizeof(addr); +diff --git a/demos/benchmark/server_tipc.c b/demos/benchmark/server_tipc.c +index 9d0e2be..3cd82b7 100644 +--- a/demos/benchmark/server_tipc.c ++++ b/demos/benchmark/server_tipc.c +@@ -45,7 +45,7 @@ static int wait_for_connection(int listener_sd); + static void echo_messages(int peer_sd, int master_sd, int srv_id); + static __u32 own_node_addr; + +-static void srv_to_master(uint cmd, struct srv_info *sinfo) ++static void srv_to_master(unsigned int cmd, struct srv_info *sinfo) + { + struct srv_to_master_cmd c; + +@@ -62,7 +62,7 @@ static void srv_to_master(uint cmd, struct srv_info *sinfo) + die("Server: unable to send info to master\n"); + } + +-static void srv_from_master(uint *cmd, uint* msglen, uint *msgcnt, uint *echo) ++static void srv_from_master(unsigned int *cmd, unsigned int* msglen, unsigned int *msgcnt, unsigned int *echo) + { + struct master_srv_cmd c; + +@@ -84,8 +84,8 @@ int main(int argc, char *argv[], char *dummy[]) + { + ushort tcp_port = 4711; + struct srv_info sinfo; +- uint cmd; +- uint max_msglen; ++ unsigned int cmd; ++ unsigned int max_msglen; + struct sockaddr_in srv_addr; + int lstn_sd, peer_sd; + int srv_id = 0, srv_cnt = 0;; +@@ -221,7 +221,7 @@ static int wait_for_connection(int lstn_sd) + + static void echo_messages(int peer_sd, int master_sd, int srv_id) + { +- uint cmd, msglen, msgcnt, echo, rcvd = 0; ++ unsigned int cmd, msglen, msgcnt, echo, rcvd = 0; + + do { + /* Get msg length and number to expect, and ack: */ +diff --git a/demos/inventory_sim/inventory_sim.c b/demos/inventory_sim/inventory_sim.c +index 22c33d1..9bf5443 100644 +--- a/demos/inventory_sim/inventory_sim.c ++++ b/demos/inventory_sim/inventory_sim.c +@@ -940,9 +940,9 @@ int simItem(int itemID, int lagTime, int speed) + char outMsg[MSG_SIZE_MAX]; + char *marker; + int msgSize; +- uint zone; +- uint cluster; +- uint node; ++ unsigned int zone; ++ unsigned int cluster; ++ unsigned int node; + char itemName[NAME_SIZE]; + int haveItem; + int res; +@@ -1134,9 +1134,9 @@ int simCust(int itemID, int lagTime, int waitTime, int speed, int taskID) + char msg[MSG_SIZE_MAX]; + char *marker; + int msgSize; +- uint zone; +- uint cluster; +- uint node; ++ unsigned int zone; ++ unsigned int cluster; ++ unsigned int node; + char custName[NAME_SIZE]; + int transactionID; + int needItem; +-- +2.12.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb new file mode 100644 index 0000000000..54ed043f4e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb @@ -0,0 +1,52 @@ +SUMMARY = "Transparent Inter-Process Communication protocol" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://tipclog/tipc.h;endline=35;md5=985b6ea8735818511d276c1b466cce98" + +SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \ + file://0001-include-sys-select.h-for-FD_-definitions.patch \ + file://0002-replace-non-standard-uint-with-unsigned-int.patch \ + file://0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch \ + " +SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a" +PV = "2.2.0+git${SRCPV}" + +DEPENDS="virtual/kernel" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit autotools pkgconfig + +DEPENDS += "libdaemon" + +RDEPENDS_${PN} = "iproute2-tipc" + +S = "${WORKDIR}/git" + +do_configure_prepend() { + ( cd ${S}; ${S}/bootstrap ) +} + +do_install_append() { + demos="benchmark hello_world topology_subscr_demo connection_demo \ + multicast_demo stream_demo" + for i in $demos;do + install -d ${D}/opt/tipcutils/demos/$i + install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/ + install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/ + done + install -d ${D}/opt/tipcutils/demos/inventory_sim + install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/ + + install -d ${D}/opt/tipcutils/ptts + install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/ + install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/ + + install -d ${D}${sysconfdir} + cp -R --no-dereference --preserve=mode,links -v ${S}/scripts/etc/* ${D}${sysconfdir}/ + chown -R root:root ${D}${sysconfdir} +} + +PACKAGES += "${PN}-demos" +FILES_${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug" +FILES_${PN}-demos = "/opt/tipcutils/*" + diff --git a/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb b/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb new file mode 100644 index 0000000000..0a00a366e1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "Hardware performance monitoring counters" +HOMEPAGE = "http://tiptop.gforge.inria.fr/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "ncurses libxml2" + +SRC_URI = "http://tiptop.gforge.inria.fr/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "46ca0fdf0236f02dd2b96d347626d2a2" +SRC_URI[sha256sum] = "51c4449c95bba34f16b429729c2f58431490665d8093efaa8643b2e1d1084182" + +inherit autotools-brokensep +EXTRA_OECONF = "CFLAGS="$CFLAGS -I${STAGING_INCDIR}/libxml2"" +COMPATIBLE_HOST = "(i.86|x86_64|arm|powerpc).*-linux" + +do_configure_prepend () { + # Two bugs in configure.ac when cross-compiling. + # 1. The path of libxml2. Specify it in EXTRA_OECONF. + # 2. hw's value on other platforms. Replace it if the target is + # not i*86/x86_64. + if ( echo "${TARGET_ARCH}" | grep -q -e 'i.86' -e 'x86_64' ); then + sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac + else + sed -i 's/hw=`uname -m`/hw="unknown"/' ${S}/configure.ac + sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac + fi +} diff --git a/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb new file mode 100644 index 0000000000..fba5156f6d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb @@ -0,0 +1,23 @@ +SUMMARY = "Terminal multiplexer" +HOMEPAGE = "http://tmux.sourceforge.net" +SECTION = "console/utils" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf19144bdaca107" + +DEPENDS = "ncurses libevent" + +SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz" +SRC_URI[md5sum] = "d541ff392249f94c4f3635793556f827" +SRC_URI[sha256sum] = "b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter," + +do_configure_prepend() { + # The 'compat' directory is needed for output during the build but it's + # not automatically created when building outside the source directory. + mkdir ${B}/compat +} diff --git a/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch new file mode 100644 index 0000000000..38e945d64d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch @@ -0,0 +1,41 @@ +From a8d85949a068ee6cd9a2f923cd039047993f239e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 3 Apr 2017 17:11:32 -0700 +Subject: [PATCH] include required system header files for fd_set and makedev + +fd_set comes from sys/select.h +makedev macro is defined in sys/sysmacros.h + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + uml_net/ethertap.c | 1 + + uml_net/host.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/uml_net/ethertap.c b/uml_net/ethertap.c +index ddd41f2..57f7119 100644 +--- a/uml_net/ethertap.c ++++ b/uml_net/ethertap.c +@@ -11,6 +11,7 @@ + #include <sys/signal.h> + #include <sys/socket.h> + #include <sys/stat.h> ++#include <sys/select.h> + #include <sys/ioctl.h> + #include <net/if.h> + #include "host.h" +diff --git a/uml_net/host.c b/uml_net/host.c +index 65c20df..fc04cd4 100644 +--- a/uml_net/host.c ++++ b/uml_net/host.c +@@ -10,6 +10,7 @@ + #include <ctype.h> + #include <sys/wait.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include "output.h" + #include "host.h" + +-- +2.12.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch new file mode 100644 index 0000000000..f4a175cdfd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch @@ -0,0 +1,104 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- tools/mconsole/Makefile~fix-ldflags 2003-02-08 05:10:08.000000000 +0100 ++++ tools/mconsole/Makefile 2004-04-01 15:37:37.000000000 +0200 +@@ -7,7 +7,7 @@ + all : $(BIN) + + $(BIN) : $(OBJS) +- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) -lreadline -lncurses ++ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) -lreadline -lncurses + + clean : + rm -f $(BIN) $(OBJS) *~ +diff -uNr tools.orig/jailtest/Makefile tools/jailtest/Makefile +--- tools.orig/jailtest/Makefile 2017-04-03 15:56:02.068461380 +0200 ++++ tools/jailtest/Makefile 2017-04-03 16:00:04.857449005 +0200 +@@ -7,7 +7,7 @@ + all : $(BIN) + + $(BIN) : $(OBJS) +- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) ++ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) + + clean : + rm -f $(BIN) $(OBJS) *~ +diff -uNr tools.orig/moo/Makefile tools/moo/Makefile +--- tools.orig/moo/Makefile 2017-04-03 15:56:02.068461380 +0200 ++++ tools/moo/Makefile 2017-04-03 15:59:56.466449432 +0200 +@@ -10,10 +10,10 @@ + all : $(BIN) + + uml_moo : $(uml_moo_OBJS) +- $(CC) $(CFLAGS) -o $@ $($@_OBJS) ++ $(CC) $(CFLAGS) -o $@ $($@_OBJS) $(LDFLAGS) + + uml_mkcow : $(uml_mkcow_OBJS) +- $(CC) $(CFLAGS) -o $@ $($@_OBJS) ++ $(CC) $(CFLAGS) -o $@ $($@_OBJS) $(LDFLAGS) + + $(uml_moo_OBJS) $(uml_mkcow_OBJS) : cow.h cow_sys.h + +diff -uNr tools.orig/port-helper/Makefile tools/port-helper/Makefile +--- tools.orig/port-helper/Makefile 2017-04-03 15:56:02.068461380 +0200 ++++ tools/port-helper/Makefile 2017-04-03 15:59:41.251450208 +0200 +@@ -7,7 +7,7 @@ + all : $(BIN) + + $(BIN) : $(OBJS) +- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) ++ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) + + clean : + rm -f $(BIN) $(OBJS) *~ +diff -uNr tools.orig/tunctl/Makefile tools/tunctl/Makefile +--- tools.orig/tunctl/Makefile 2017-04-03 15:56:02.068461380 +0200 ++++ tools/tunctl/Makefile 2017-04-03 16:00:01.091449197 +0200 +@@ -7,7 +7,7 @@ + all : $(BIN) + + $(BIN) : $(OBJS) +- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) ++ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) + + clean : + rm -f $(BIN) $(OBJS) *~ +diff -uNr tools.orig/uml_net/Makefile tools/uml_net/Makefile +--- tools.orig/uml_net/Makefile 2017-04-03 15:56:02.068461380 +0200 ++++ tools/uml_net/Makefile 2017-04-03 16:00:12.449448618 +0200 +@@ -14,7 +14,7 @@ + all : $(BIN) + + $(BIN) : $(OBJS) +- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) ++ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) + + clean : + rm -f $(BIN) $(OBJS) *~ +diff -uNr tools.orig/uml_router/Makefile tools/uml_router/Makefile +--- tools.orig/uml_router/Makefile 2017-04-03 15:56:02.068461380 +0200 ++++ tools/uml_router/Makefile 2017-04-03 16:00:46.796446867 +0200 +@@ -13,7 +13,7 @@ + all : $(BIN) + + $(BIN) : $(OBJS) +- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) ++ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) + + clean : + rm -f $(BIN) $(OBJS) *~ +diff -uNr tools.orig/watchdog/Makefile tools/watchdog/Makefile +--- tools.orig/watchdog/Makefile 2017-04-03 15:56:02.068461380 +0200 ++++ tools/watchdog/Makefile 2017-04-03 15:59:45.216450006 +0200 +@@ -7,7 +7,7 @@ + all : $(BIN) + + $(BIN) : $(OBJS) +- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) ++ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) + + clean : + rm -f $(BIN) $(OBJS) *~ diff --git a/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch new file mode 100644 index 0000000000..868001dbd5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch @@ -0,0 +1,84 @@ +Dont strip during install let the packaging handle it + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: tools/jailtest/Makefile +=================================================================== +--- tools.orig/jailtest/Makefile 2003-02-07 20:10:27.000000000 -0800 ++++ tools/jailtest/Makefile 2012-09-05 12:13:56.061615854 -0700 +@@ -14,4 +14,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(BIN_DIR) +- install -s $(BIN) $(DESTDIR)$(BIN_DIR) ++ install $(BIN) $(DESTDIR)$(BIN_DIR) +Index: tools/mconsole/Makefile +=================================================================== +--- tools.orig/mconsole/Makefile 2012-09-05 12:05:09.869607043 -0700 ++++ tools/mconsole/Makefile 2012-09-05 12:14:07.725607469 -0700 +@@ -14,4 +14,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(BIN_DIR) +- install -s $(BIN) $(DESTDIR)$(BIN_DIR) ++ install $(BIN) $(DESTDIR)$(BIN_DIR) +Index: tools/moo/Makefile +=================================================================== +--- tools.orig/moo/Makefile 2003-06-26 09:27:00.000000000 -0700 ++++ tools/moo/Makefile 2012-09-05 12:14:20.981604580 -0700 +@@ -22,4 +22,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(BIN_DIR) +- install -s $(BIN) $(DESTDIR)$(BIN_DIR) ++ install $(BIN) $(DESTDIR)$(BIN_DIR) +Index: tools/port-helper/Makefile +=================================================================== +--- tools.orig/port-helper/Makefile 2003-02-07 20:05:31.000000000 -0800 ++++ tools/port-helper/Makefile 2012-09-05 12:14:39.429609678 -0700 +@@ -14,4 +14,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(LIB_DIR) +- install -s $(BIN) $(DESTDIR)$(LIB_DIR) ++ install $(BIN) $(DESTDIR)$(LIB_DIR) +Index: tools/tunctl/Makefile +=================================================================== +--- tools.orig/tunctl/Makefile 2003-02-07 20:05:04.000000000 -0800 ++++ tools/tunctl/Makefile 2012-09-05 12:14:49.985606470 -0700 +@@ -14,4 +14,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(BIN_DIR) +- install -s $(BIN) $(DESTDIR)$(BIN_DIR) ++ install $(BIN) $(DESTDIR)$(BIN_DIR) +Index: tools/uml_net/Makefile +=================================================================== +--- tools.orig/uml_net/Makefile 2003-02-07 20:04:55.000000000 -0800 ++++ tools/uml_net/Makefile 2012-09-05 12:15:00.961607290 -0700 +@@ -21,4 +21,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(BIN_DIR) +- install -s -m 04755 $(BIN) $(DESTDIR)$(BIN_DIR) ++ install -m 04755 $(BIN) $(DESTDIR)$(BIN_DIR) +Index: tools/uml_router/Makefile +=================================================================== +--- tools.orig/uml_router/Makefile 2003-02-07 20:04:39.000000000 -0800 ++++ tools/uml_router/Makefile 2012-09-05 12:15:10.649607571 -0700 +@@ -20,4 +20,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(BIN_DIR) +- install -s $(BIN) $(DESTDIR)$(BIN_DIR) ++ install $(BIN) $(DESTDIR)$(BIN_DIR) +Index: tools/watchdog/Makefile +=================================================================== +--- tools.orig/watchdog/Makefile 2003-02-07 20:04:25.000000000 -0800 ++++ tools/watchdog/Makefile 2012-09-05 12:15:35.561612203 -0700 +@@ -14,4 +14,4 @@ + + install : $(BIN) + install -d $(DESTDIR)$(BIN_DIR) +- install -s $(BIN) $(DESTDIR)$(BIN_DIR) ++ install $(BIN) $(DESTDIR)$(BIN_DIR) diff --git a/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb new file mode 100644 index 0000000000..ed19d1e41a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb @@ -0,0 +1,27 @@ +SECTION = "console/utils" +SUMMARY = "Utilities for User-Mode-Linux" +LICENSE = "GPL-2.0" +DEPENDS = "zlib ncurses readline" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" +SRC_URI = "http://downloads.sourceforge.net/project/user-mode-linux/tools/1/uml_utilities_${PV}.tar.bz2 \ + file://fix-ldflags.patch \ + file://unstrip.patch \ + file://0001-include-required-system-header-files-for-fd_set-and-.patch \ + " +SRC_URI[md5sum] = "2c1ccd9efacbfb39e42d482b89b2550a" +SRC_URI[sha256sum] = "4f179b1db021ef15ac7e9b2eed57c525db127a754c574f591c367460cded9f41" + +PR = "r1" + +S = "${WORKDIR}/tools" + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + +FILES_${PN} += "${exec_prefix}${nonarch_base_libdir}" +FILES_${PN}-dbg += "${exec_prefix}${nonarch_base_libdir}/uml/.debug" diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb new file mode 100644 index 0000000000..d742a5e461 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb @@ -0,0 +1,50 @@ +SUMMARY = "Sensor/Actuator repository for Mraa" +HOMEPAGE = "https://github.com/intel-iot-devkit/upm" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=66493d54e65bfc12c7983ff2e884f37f" + +DEPENDS = "libjpeg-turbo mraa" + +SRCREV = "cc7fec9ae0228add9011bf1c2cd5e0ca2ba0d4f0" +PV = "1.6.0-git${SRCPV}" + +SRC_URI = " \ + git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \ +" + +S = "${WORKDIR}/git" + +# Depends on mraa which only supports x86 and ARM for now +COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" + +inherit distutils3-base cmake + + +# override this in local.conf to get needed bindings. +# BINDINGS_pn-upm="python" +# will result in only the python bindings being built/packaged. +# Note: 'nodejs' is disabled by default because the bindings +# generation currently fails with nodejs (>v7.x). +BINDINGS ??= "python" + +# nodejs isn't available for armv4/armv5 architectures +BINDINGS_armv4 ??= "python" +BINDINGS_armv5 ??= "python" + +PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \ + ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}" + +PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN}," +PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native," + +FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}" +RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}" + +FILES_node-${PN} = "${prefix}/lib/node_modules/" +RDEPENDS_node-${PN} += "nodejs" + +### Include desired language bindings ### +PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}" +PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch new file mode 100644 index 0000000000..2412bb8deb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch @@ -0,0 +1,47 @@ +From f71cc920528c3496b0118964ebbcf5440cda4ed1 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Wed, 16 Aug 2017 13:37:40 +0800 +Subject: [PATCH] vlock: add new recipe + +Upstream-Status: Inappropriate [configuration] + +written by: Jeff Polk <jeff.polk@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +--- + man/vlock.1 | 5 ----- + src/vlock.sh | 5 ----- + 2 files changed, 10 deletions(-) + +diff --git a/man/vlock.1 b/man/vlock.1 +index 0d29b49..01cb944 100644 +--- a/man/vlock.1 ++++ b/man/vlock.1 +@@ -111,11 +111,6 @@ enter your password at the password prompt. If this variable is unset or set + to an invalid value or 0 no timeout is used. \fBWarning\fR: If this value is + too low, you may not be able to unlock your session. + .PP +-.SH FILES +-.B ~/.vlockrc +-.IP +-This file is read by \fBvlock\fR on startup if it exists. All the variables +-mentioned above can be set here. + .SH SECURITY + See the SECURITY file in the \fBvlock\fR distribution for more information. + .PP +diff --git a/src/vlock.sh b/src/vlock.sh +index 75f1369..f572776 100644 +--- a/src/vlock.sh ++++ b/src/vlock.sh +@@ -35,11 +35,6 @@ This TTY is now locked. + + ${VLOCK_ENTER_PROMPT}" + +-# Read user settings. +-if [ -r "${HOME}/.vlockrc" ] ; then +- . "${HOME}/.vlockrc" +-fi +- + # "Compile" time variables. + VLOCK_MAIN="%PREFIX%/sbin/vlock-main" + VLOCK_VERSION="%VLOCK_VERSION%" diff --git a/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch new file mode 100644 index 0000000000..3a344b2362 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch @@ -0,0 +1,120 @@ +From 17e5c8d32abc214aea408f0837be41e88bce7eb2 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Wed, 16 Aug 2017 13:37:40 +0800 +Subject: [PATCH] vlock: add new recipe + +Upstream-Status: Pending + +written by: Jeff Polk <jeff.polk@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +--- + Makefile | 4 ++++ + configure | 9 +++++++++ + src/vlock-main.c | 8 ++++++++ + 3 files changed, 21 insertions(+) + +diff --git a/Makefile b/Makefile +index 4eeb42a..834cd2c 100644 +--- a/Makefile ++++ b/Makefile +@@ -126,6 +126,10 @@ ifeq ($(AUTH_METHOD),shadow) + vlock-main : override LDLIBS += $(CRYPT_LIB) + endif + ++ifneq ($(ENABLE_FAIL_COUNT),yes) ++vlock-main.o : override CFLAGS += -DNO_FAIL_COUNT ++endif ++ + ifeq ($(ENABLE_PLUGINS),yes) + vlock-main: plugins.o plugin.o module.o process.o script.o tsort.o list.o + # -rdynamic is needed so that the all plugin can access the symbols from console_switch.o +diff --git a/configure b/configure +index d5d84d6..1303598 100755 +--- a/configure ++++ b/configure +@@ -44,6 +44,7 @@ Optional Features: + --enable-shadow enable shadow authentication [disabled] + --enable-root-password enable unlogging with root password [enabled] + --enable-debug enable debugging ++ --enable-fail-count enable failed login attempt summary [enabled] + + Additional configuration: + --with-scripts=SCRIPTS enable the named scripts [] +@@ -78,6 +79,9 @@ enable_feature() { + root-password) + ENABLE_ROOT_PASSWORD="$2" + ;; ++ fail-count) ++ ENABLE_FAIL_COUNT="$2" ++ ;; + pam|shadow) + if [ "$2" = "yes" ] ; then + if [ -n "$auth_method" ] && [ "$auth_method" != "$1" ] ; then +@@ -228,6 +232,7 @@ set_defaults() { + AUTH_METHOD="pam" + ENABLE_ROOT_PASSWORD="yes" + ENABLE_PLUGINS="yes" ++ ENABLE_FAIL_COUNT="yes" + SCRIPTS="" + + VLOCK_GROUP="vlock" +@@ -353,6 +358,10 @@ MODULES = ${MODULES} + # which scripts should be installed + SCRIPTS = ${SCRIPTS} + ++# display a summary of failed authentication attempts after successfully ++# unlocking? ++ENABLE_FAIL_COUNT = ${ENABLE_FAIL_COUNT} ++ + # root's group + ROOT_GROUP = ${ROOT_GROUP} + +diff --git a/src/vlock-main.c b/src/vlock-main.c +index 008f6f0..108ce8b 100644 +--- a/src/vlock-main.c ++++ b/src/vlock-main.c +@@ -112,7 +112,9 @@ static void restore_terminal(void) + (void) tcsetattr(STDIN_FILENO, TCSANOW, &old_term); + } + ++#ifdef ENABLE_FAIL_COUNT + static int auth_tries; ++#endif /* ENABLE_FAIL_COUNT */ + + static void auth_loop(const char *username) + { +@@ -182,7 +184,9 @@ static void auth_loop(const char *username) + } + #endif + ++#ifdef ENABLE_FAIL_COUNT + auth_tries++; ++#endif /* ENABLE_FAIL_COUNT */ + } + + /* Free timeouts memory. */ +@@ -190,11 +194,13 @@ static void auth_loop(const char *username) + free(prompt_timeout); + } + ++#ifdef ENABLE_FAIL_COUNT + void display_auth_tries(void) + { + if (auth_tries > 0) + fprintf(stderr, "%d failed authentication %s.\n", auth_tries, auth_tries > 1 ? "tries" : "try"); + } ++#endif /* ENABLE_FAIL_COUNT */ + + #ifdef USE_PLUGINS + static void call_end_hook(void) +@@ -217,7 +223,9 @@ int main(int argc, char *const argv[]) + if (username == NULL) + fatal_perror("vlock: could not get username"); + ++#ifdef ENABLE_FAIL_COUNT + ensure_atexit(display_auth_tries); ++#endif /* ENABLE_FAIL_COUNT */ + + #ifdef USE_PLUGINS + for (int i = 1; i < argc; i++) diff --git a/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam new file mode 100644 index 0000000000..a919682b0b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam @@ -0,0 +1,3 @@ +# Use the default auth and account policies for vlock +auth include common-auth +account include common-account diff --git a/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch new file mode 100644 index 0000000000..460b292498 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch @@ -0,0 +1,28 @@ +From fcec4e7fe899f8c0077b3004eeccb7292a945a67 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Wed, 16 Aug 2017 13:37:40 +0800 +Subject: [PATCH] vlock: add new recipe + +Upstream-Status: Pending + +written by: Jeff Polk <jeff.polk@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +--- + src/auth-pam.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/auth-pam.c b/src/auth-pam.c +index 5cf93f6..c5cc67a 100644 +--- a/src/auth-pam.c ++++ b/src/auth-pam.c +@@ -148,6 +148,9 @@ bool auth(const char *user, struct timespec *timeout) + + if (pam_status != PAM_SUCCESS) { + fprintf(stderr, "vlock: %s\n", pam_strerror(pamh, pam_status)); ++ } else { ++ pam_status = pam_acct_mgmt(pamh, 0); ++ if (pam_status == PAM_SUCCESS) pam_setcred(pamh, PAM_REINITIALIZE_CRED); + } + + end: diff --git a/meta-openembedded/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb new file mode 100644 index 0000000000..259d3a5e16 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb @@ -0,0 +1,59 @@ +SUMMARY = "Virtual Console lock program" +DESCRIPTION = "Sometimes a malicious local user could cause more problems \ + than a sophisticated remote one. vlock is a program that locks one or more \ + sessions on the Linux console to prevent attackers from gaining physical \ + access to the machine. \ + " +SECTION = "utils" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf" + +SRC_URI = "${GENTOO_MIRROR}/${BP}.tar.gz \ + file://disable_vlockrc.patch \ + file://vlock_pam_tally2_reset.patch \ + file://vlock-no_tally.patch \ + file://vlock_pam \ + " + +SRC_URI[md5sum] = "378175c7692a8f288e65fd4dbf8a38eb" +SRC_URI[sha256sum] = "85aa5aed1ae49351378a0bd527a013078f0f969372a63164b1944174ae1a5e39" + +inherit autotools-brokensep update-alternatives + +# authentification method: either pam or shadow +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', 'shadow', d)}" +PACKAGECONFIG[pam] = "--enable-pam,,libpam," +PACKAGECONFIG[shadow] = "--enable-shadow,,shadow," + +CFLAGS += "-Wall -W -pedantic -std=gnu99" + +do_configure () { + # The configure tries to use 'getent' to get the group + # info from the host, which should be avoided. + sed -i 's/\(ROOT_GROUP=\).*/\1"root"/' ${CONFIGURE_SCRIPT} + + ${CONFIGURE_SCRIPT} \ + VLOCK_GROUP=root \ + ROOT_GROUP=root \ + CC="${CC}" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + --prefix=${prefix} \ + --libdir=${libdir} \ + --mandir=${mandir} \ + --with-modules="all.so new.so nosysrq.so ttyblank.so vesablank.so" \ + --disable-root-password --enable-debug --disable-fail-count \ + ${PACKAGECONFIG_CONFARGS} +} + +do_install_append () { + if [ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', '', d)} = yes ]; then + install -d -m 0755 ${D}/${sysconfdir}/pam.d + install -m 0644 ${WORKDIR}/vlock_pam ${D}${sysconfdir}/pam.d/vlock + fi +} + +ALTERNATIVE_${PN} = "vlock" +ALTERNATIVE_PRIORITY = "60" +ALTERNATIVE_LINK_NAME[vlock] = "${bindir}/vlock" diff --git a/meta-openembedded/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch b/meta-openembedded/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch new file mode 100644 index 0000000000..03edb13909 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch @@ -0,0 +1,56 @@ +From 18415c0b4c6e50ed9b99dfdae8d210590d0ab72e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Fri, 28 Apr 2017 04:50:30 -0400 +Subject: [PATCH] explicitly support python3 by pkg-config + +The PYTHON_CPPFLAGS and -lpython$(PYTHON_VERSION) is hardcoded, +use pkg-config to replace + +Upstream-Status: Inappropriate [wr-installer specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile.am | 5 ++--- + configure.ac | 2 ++ + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 4569bbf..7a8daf4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -20,7 +20,6 @@ ACLOCAL_AMFLAGS = -I m4 + AM_CPPFLAGS = $(blkid_CFLAGS) $(glib_CFLAGS) $(GPGME_CFLAGS) \ + $(libcryptsetup_CFLAGS) $(nss_CFLAGS) + LOCALEDIR_CPPFLAGS = -DLOCALEDIR='"$(localedir)"' +-PYTHON_CPPFLAGS = -I/usr/include/python$(PYTHON_VERSION) + + ## Targets + SUBDIRS = po +@@ -63,9 +62,9 @@ lib_libvolume_key_la_LIBADD = $(blkid_LIBS) $(glib_LIBS) $(GPGME_LIBS) \ + $(LTLIBINTL) $(libcryptsetup_LIBS) $(nss_LIBS) + + python__volume_key_la_SOURCES = python/volume_key_wrap.c +-python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) ++python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(python3_CFLAGS) + python__volume_key_la_LDFLAGS = -module -avoid-version $(glib_LIBS) +-python__volume_key_la_LIBADD = lib/libvolume_key.la -lpython$(PYTHON_VERSION) \ ++python__volume_key_la_LIBADD = lib/libvolume_key.la $(python3_LIBS) \ + $(glib_LIBS) $(nss_LIBS) + + src_volume_key_SOURCES = src/volume_key.c +diff --git a/configure.ac b/configure.ac +index ff35dd0..0928a6c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -27,6 +27,8 @@ AM_INIT_AUTOMAKE([no-dist-gzip dist-xz no-define subdir-objects -Wall]) + AC_PROG_CC + AM_PROG_CC_C_O + LT_INIT([disable-static]) ++ ++PKG_CHECK_MODULES(python3, [python3]) + AM_PATH_PYTHON + + dnl Not gpg2, it cannot receive passphrases from gpgme +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb new file mode 100644 index 0000000000..febf3f256d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \ +storage volume encryption keys and storing them separately from volumes, and an \ +associated command-line tool, named volume_key." +LICENSE = "GPLv2" +SECTION = "devel/lib" + +HOMEPAGE = "https://pagure.io/volume_key" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \ + file://0001-explicitly-support-python3-by-pkg-config.patch \ +" +SRC_URI[md5sum] = "a2d14931177c660e1f3ebbcf5f47d8e2" +SRC_URI[sha256sum] = "450a54fe9bf56acec6850c1e71371d3e4913c9ca1ef0cdc3a517b4b6910412a6" + +SRCNAME = "volume_key" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit autotools python3native gettext + +DEPENDS += " \ + util-linux \ + glib-2.0 \ + cryptsetup \ + nss \ + gpgme \ +" + +RDEPENDS_python3-${PN} += "${PN}" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" + diff --git a/meta-openembedded/meta-oe/recipes-extended/wipe/files/makefile-add-ldflags.patch b/meta-openembedded/meta-oe/recipes-extended/wipe/files/makefile-add-ldflags.patch new file mode 100644 index 0000000000..fac1b31dcc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/wipe/files/makefile-add-ldflags.patch @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> + +diff --git a/Makefile b/Makefile +index 9e74cdf..cad8109 100644 +--- a/Makefile ++++ b/Makefile +@@ -151,7 +151,7 @@ generic : + $(MAKE) $(TARGETS) "CC=$(CC_GENERIC)" "CCO=$(CCO_GENERIC)" "CCOC=$(CCOC_GENERIC)" + + wipe : $(OBJECTS) +- $(CC) $(CCO) $(OBJECTS) -o wipe ++ $(CC) $(CCO) $(LDFLAGS) $(OBJECTS) -o wipe + + wipe.o : wipe.c random.h misc.h version.h + $(CC) $(CCO) $(CCOC) wipe.c -o wipe.o diff --git a/meta-openembedded/meta-oe/recipes-extended/wipe/files/support-cross-compile-for-linux.patch b/meta-openembedded/meta-oe/recipes-extended/wipe/files/support-cross-compile-for-linux.patch new file mode 100644 index 0000000000..fb3aee8067 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/wipe/files/support-cross-compile-for-linux.patch @@ -0,0 +1,36 @@ +From 35f14bd5aba2ed6cee258e11eab42c408afc04d0 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Wed, 4 Nov 2015 02:29:05 -0500 +Subject: [PATCH] Makefile: support cross compile for linux + +Upstream-Status: Pending +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 17d9758..9e74cdf 100644 +--- a/Makefile ++++ b/Makefile +@@ -41,7 +41,7 @@ + # Linux 2.0.x + # + +-CC_LINUX=gcc ++CC_LINUX=$(CC) + CCO_LINUX=-Wall -DHAVE_DEV_URANDOM -DHAVE_OSYNC -DHAVE_STRCASECMP -DHAVE_RANDOM -DWEAK_RC6 -DSYNC_WAITS_FOR_SYNC -DFIND_DEVICE_SIZE_BY_BLKGETSIZE -DSIXTYFOUR -D__USE_LARGEFILE -D_FILE_OFFSET_BITS=64 + # default should be to turn off debugging and to turn on optimization. + #CCO_LINUX+=-O9 -pipe -fomit-frame-pointer -finline-functions -funroll-loops -fstrength-reduce +@@ -185,6 +185,7 @@ clean : + rm -f wipe $(OBJECTS) wipe.tr-asc.1 version.h + + install: +- install -m755 -o root -g root wipe $(DESTDIR)/usr/bin ++ [ -e $(DESTDIR)$(bindir) ] || mkdir -p $(DESTDIR)$(bindir) ++ install -m755 -o root -g root wipe $(DESTDIR)$(bindir) + + .PHONY: always clean install +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb b/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb new file mode 100644 index 0000000000..9a8101621b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "A UNIX tool for secure deletion" +DESCRIPTION = "Wipe is a little command for securely erasing files from \ +magnetic media. It compiles under various unix platforms, \ +including Linux 2. * , (Open, Net, Free)BSD, aix 4.1, SunOS \ +5.5.1, Solaris 2.6. wipe is released under the GPL. Pre-compiled \ +packages are available on most Linux distributions. \ +Under Debian, the package name is wipe" +HOMEPAGE = "http://lambda-diode.com/software/wipe/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" + +SRC_URI = "git://github.com/berke/wipe.git;branch=master \ + file://support-cross-compile-for-linux.patch \ + file://makefile-add-ldflags.patch \ +" +SRCREV = "d9c100c9cd0b1cbbe4359e4d6c9a035d11e7597c" +PV = "0.23+git${SRCPV}" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "linux" + +do_install() { + make install DESTDIR=${D} +} + +do_configure[noexec] = "1" diff --git a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch new file mode 100644 index 0000000000..71a989103e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch @@ -0,0 +1,32 @@ +From b97f62fdf3b78eb5cfcb3a1b12c6fd62f735717b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 15 Jul 2017 09:29:33 -0700 +Subject: [PATCH] event.c: Cast pthread_t to unsigned long instead of unsigned + int + +On 64bit machines it ends up in errors + +event.c:85:67: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] + a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid); + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/event.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/event.c b/src/event.c +index 8f988b5..c632c33 100644 +--- a/src/event.c ++++ b/src/event.c +@@ -82,7 +82,7 @@ zlog_event_t *zlog_event_new(int time_cache_count) + a_event->tid = pthread_self(); + + a_event->tid_str_len = sprintf(a_event->tid_str, "%lu", (unsigned long)a_event->tid); +- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid); ++ a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%lu", (unsigned long)a_event->tid); + + //zlog_event_profile(a_event, ZC_DEBUG); + return a_event; +-- +2.13.3 + diff --git a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb new file mode 100644 index 0000000000..86e6d30e22 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Zlog is a pure C logging library" +HOMEPAGE = "https://github.com/HardySimpson/zlog" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +PV = "1.2.12+git${SRCPV}" + +SRCREV = "13904dab2878aa2654d0c20fb8600a3dc5f2dd68" +SRC_URI = "git://github.com/HardySimpson/zlog \ + file://0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch \ + " + +S = "${WORKDIR}/git" + +inherit pkgconfig + +EXTRA_OEMAKE = "CC='${CC}' LD='${LD}'" + +do_install() { + oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install +} diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/init b/meta-openembedded/meta-oe/recipes-extended/zram/zram/init new file mode 100644 index 0000000000..a2c9c21239 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/init @@ -0,0 +1,85 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zram +# Required-Start: +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM) +# Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram +# Included as part of antix-goodies package by anticapitalista <antiX@operamail.com> +# This script was written by tradetaxfree and is found at http://crunchbanglinux.org/forums/topic/15344/zram-a-good-idea/ +# Copy this script (as root) from /usr/local/bin to /etc/init.d and then #update-rc.d zram defaults +# After booting verify the module is loaded with: lsmod | grep zram +### END INIT INFO +set -e + +start() { + # get the number of CPUs + num_cpus=$(grep -c processor /proc/cpuinfo) + # if something goes wrong, assume we have 1 + [ "$num_cpus" != 0 ] || num_cpus=1 + + # set decremented number of CPUs + last_cpu=$((num_cpus - 1)) + + #default Factor % = 90 change this value here or create /etc/default/zram + FACTOR=90 + #& put the above single line in /etc/default/zram with the value you want + [ -f /etc/default/zram ] && . /etc/default/zram || true + factor=$FACTOR # percentage + + # get the amount of memory in the machine + memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ') + mem_by_cpu=$(($memtotal/$num_cpus*$factor/100*1024)) + + # load dependency modules + modprobe zram num_devices=$num_cpus + echo "zram devices probed successfully" + + # initialize the devices + for i in $(seq 0 $last_cpu); do + echo 1 > /sys/block/zram$i/reset + echo $mem_by_cpu > /sys/block/zram$i/disksize + # Creating swap filesystems + mkswap /dev/zram$i + # Switch the swaps on + swapon -p 100 /dev/zram$i + done +} + +stop() { + # get the number of CPUs + num_cpus=$(grep -c processor /proc/cpuinfo) + + # set decremented number of CPUs + last_cpu=$((num_cpus - 1)) + + # Switching off swap + for i in $(seq 0 $last_cpu); do + if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then + swapoff /dev/zram$i + sleep 1 + fi + done + sleep 1 + rmmod zram +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + sleep 3 + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + RETVAL=1 +esac +exit $RETVAL diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service new file mode 100644 index 0000000000..4a19367d93 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service @@ -0,0 +1,12 @@ +[Unit] +Description=Enable zram compressed in-memory swap. +After=multi-user.target + +[Service] +RemainAfterExit=yes +ExecStart=/usr/bin/zram-load.sh --load +ExecStop=/usr/bin/zram-load.sh --unload +Type=oneshot + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb new file mode 100644 index 0000000000..dfd75e71ca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "Linux zram compressed in-memory swap" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit update-rc.d systemd + +RDEPENDS_${PN} = "util-linux-swaponoff kmod" +RRECOMMENDS_${PN} = "kernel-module-zram" + +PR = "r3" + +SRC_URI = " \ + file://init \ + file://zram.service \ +" + +do_install () { + # Sysvinit + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/zram.service ${D}${systemd_unitdir}/system +} + +FILES_${PN} = "${sysconfdir}" +INITSCRIPT_NAME = "zram" +INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ." + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "zram.service" |