All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc
@ 2018-04-29 19:35 Khem Raj
  2018-04-29 19:35 ` [PATCH 01/24] libssp-nonshared: Add recipe Khem Raj
                   ` (24 more replies)
  0 siblings, 25 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

This patchset is primarily fixing how we generate use and generate ssp support
in system runtime, we use the glibc/musl version consistently and suppliment
musl implementation with libssp_nonshared.a due to gcc needing it.

Second major change is to drop the obsoleted features of glibc
we have been carrying them for some releases now and its time to
drop the ball on rpc/nsl eventually in a followup when we upgrade to glibc
2.28 we should drop crypt as well, this also means that the changes we did
for musl for rpc/nsl can now we applied generally and thats evident from
few commits in the series

Added libnss-nis and rpcsvc-proto for stubborn recipes until they migrate
to use libtirpc

Few upgrades are generally helping gcc8 upgrade which I will post separately
once this patchset is baked and applied.


The following changes since commit 1b03cdf290c3c8b7f903aef696b0e1bfe763cbe0:

  build-appliance-image: Update to sumo head revision (2018-04-23 17:54:13 +0100)

are available in the Git repository at:

  git://git.openembedded.org/openembedded-core-contrib kraj/pu
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=kraj/pu

Khem Raj (24):
  libssp-nonshared: Add recipe
  musl: Depend on libssp-nonshared
  gcc-runtime: Disable gcc version of libssp
  libunwind: Drop adding libssp to linker flags
  musl: Upgrade to latest
  llvm: Fix [compile-host-path] QA issue
  pbzip2: Fix C++11 warnings found with clang
  alsa-tools: Update to 1.1.6
  alsa-lib: Upgrade to 1.1.6
  ruby: Upgrade to 1.5.1
  glibc: Drop obsolete rpc and libnsl
  rpcsvc-proto: Add recipe
  libnss-nis: Add recipe
  libtirpc: Upgrade to 1.0.4-tc1
  libnsl: Upgrade to tip beyond 1.2.0 release
  ltp: Fix build after removing rpc and libnsl in glibc
  xinetd: Use libtirpc even on glibc
  tcp-wrapper: Use external libnsl
  Use libtirpc even on glibc
  perl: Account for libnsl being dropped from glibc
  mdadm: Fix build with gcc8
  libnsl2: Install into /usr/include and /usr/lib
  ppp: Install net/ppp_defs.h on musl
  allarch.bbclass: Exclude package_do_shlibs from do_package signature

 meta/classes/allarch.bbclass                  |   1 +
 meta/classes/libc-common.bbclass              |   4 -
 .../distro/include/default-distrovars.inc     |   2 +-
 meta/conf/distro/include/maintainers.inc      |   2 +
 meta/conf/local.conf.sample.extended          |   2 +-
 meta/recipes-connectivity/ppp/ppp_2.4.7.bb    |   4 +
 .../glibc/cross-localedef-native_2.27.bb      |   1 -
 meta/recipes-core/glibc/glibc-initial.inc     |   4 +-
 meta/recipes-core/glibc/glibc-package.inc     |   5 +-
 meta/recipes-core/glibc/glibc.inc             |   4 -
 .../0021-eglibc-Install-PIC-archives.patch    | 123 ---
 meta/recipes-core/glibc/glibc_2.27.bb         |  18 +-
 meta/recipes-core/musl/libssp-nonshared.bb    |  39 +
 .../musl/libssp-nonshared/ssp-local.c         |  45 +
 meta/recipes-core/musl/musl_git.bb            |   5 +-
 meta/recipes-devtools/gcc/gcc-7.3.inc         |   7 +-
 ...cc-override-TARGET_LIBC_PROVIDES_SSP.patch | 204 ++++
 meta/recipes-devtools/gcc/gcc-runtime.inc     |   4 +-
 ...able-generating-a-native-llvm-config.patch |  41 +
 meta/recipes-devtools/llvm/llvm_git.bb        |   7 +-
 meta/recipes-devtools/perl/perl_5.24.1.bb     |   2 +-
 meta/recipes-devtools/ruby/ruby.inc           |  11 +-
 .../ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb}     |   4 +-
 .../0001-include-sys-cdefs.h-explicitly.patch |  68 --
 ...de-stdint.h-for-uintptr_t-definition.patch |  27 -
 .../0002-Define-glibc-specific-macros.patch   |  57 --
 meta/recipes-extended/libnsl/libnsl2_git.bb   |  19 +-
 .../recipes-extended/libnss-nis/libnss-nis.bb |  36 +
 .../0001-include-stdint.h-for-uintptr_t.patch |  29 -
 ...0001-replace-__bzero-with-memset-API.patch |  64 --
 .../libtirpc/Use-netbsd-queue.h.patch         | 878 ------------------
 .../export_key_secretkey_is_set.patch         |  31 -
 .../libtirpc/libtirpc-1.0.4-rc1.patch         | 103 ++
 .../libtirpc/libtirpc/musl.patch              |  18 +
 .../{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb}  |  13 +-
 ...0001-Disable-rpc01-on-glibc-and-musl.patch |  29 +
 ...option-to-select-libc-implementation.patch |  14 -
 meta/recipes-extended/ltp/ltp_20180118.bb     |   1 +
 ...able-errors-due-to-new-gcc8-warnings.patch |  30 +
 ...tead-of-memcpy-on-overlapping-region.patch |  31 +
 meta/recipes-extended/mdadm/mdadm_4.0.bb      |   2 +
 ...valid-suffix-on-literal-C-11-warning.patch |  73 ++
 meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb |   4 +-
 .../rpcsvc-proto/rpcsvc-proto.bb              |  37 +
 .../0001-Use-cross-compiled-rpcgen.patch      |  26 +
 .../tcp-wrappers/tcp-wrappers_7.6.bb          |   2 +-
 .../watchdog/watchdog_5.15.bb                 |  11 +-
 meta/recipes-extended/xinetd/xinetd_2.3.15.bb |   7 +-
 .../{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb}  |   9 +-
 ...served-user-defined-literal-warnings.patch |  28 +
 .../alsa/alsa-tools/autotools.patch           |  42 +-
 ...lsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} |  25 +-
 meta/recipes-support/libunwind/libunwind.inc  |   2 -
 53 files changed, 852 insertions(+), 1403 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch
 create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb
 create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c
 create mode 100644 meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
 create mode 100644 meta/recipes-devtools/llvm/llvm/0001-Disable-generating-a-native-llvm-config.patch
 rename meta/recipes-devtools/ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb} (90%)
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
 create mode 100644 meta/recipes-extended/libnss-nis/libnss-nis.bb
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/musl.patch
 rename meta/recipes-extended/libtirpc/{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb} (63%)
 create mode 100644 meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
 create mode 100644 meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
 rename meta/recipes-multimedia/alsa/{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb} (75%)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
 rename meta/recipes-multimedia/alsa/{alsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} (62%)

-- 
2.17.0



^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 01/24] libssp-nonshared: Add recipe
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 02/24] musl: Depend on libssp-nonshared Khem Raj
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

libssp-nonshared is a minimal gcc runtime piece which is needed
on non-glibc systems which do implement libssp APIs in libc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/libssp-nonshared.bb    | 39 ++++++++++++++++
 .../musl/libssp-nonshared/ssp-local.c         | 45 +++++++++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb
 create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c

diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb
new file mode 100644
index 0000000000..00a0a3d411
--- /dev/null
+++ b/meta/recipes-core/musl/libssp-nonshared.bb
@@ -0,0 +1,39 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl"
+LICENSE = "GPL-3.0-with-GCC-exception"
+LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4"
+SECTION = "libs"
+
+SRC_URI = "file://ssp-local.c"
+
+PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
+STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils \
+           virtual/${TARGET_PREFIX}gcc-initial \
+"
+
+do_configure[noexec] = "1"
+
+S = "${WORKDIR}"
+
+do_compile() {
+	${CC} ${CPPFLAGS} ${CFLAGS} -c ssp-local.c -o ssp-local.o
+	${AR} r libssp_nonshared.a ssp-local.o
+}
+do_install() {
+	install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a
+}
+#
+# We will skip parsing for non-musl systems
+#
+COMPATIBLE_HOST = ".*-musl.*"
+RDEPENDS_${PN}-staticdev = ""
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})"
diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c
new file mode 100644
index 0000000000..8f51afa2c1
--- /dev/null
+++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c
@@ -0,0 +1,45 @@
+/* Stack protector support.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC 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, or (at your option) any later
+version.
+
+In addition to the permissions in the GNU General Public License, the
+Free Software Foundation gives you unlimited permission to link the
+compiled version of this file into combinations with other programs,
+and to distribute those combinations without any restriction coming
+from the use of this file.  (The General Public License restrictions
+do apply in other respects; for example, they cover modification of
+the file, and distribution when not linked into a combine
+executable.)
+
+GCC 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.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+extern void __stack_chk_fail (void);
+
+/* Some targets can avoid loading a GP for calls to hidden functions.
+   Using this entry point may avoid the load of a GP entirely for the
+   function, making the overall code smaller.  */
+
+void
+__attribute__((visibility ("hidden")))
+__stack_chk_fail_local (void)
+{
+  __stack_chk_fail ();
+}
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 02/24] musl: Depend on libssp-nonshared
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
  2018-04-29 19:35 ` [PATCH 01/24] libssp-nonshared: Add recipe Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 03/24] gcc-runtime: Disable gcc version of libssp Khem Raj
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

libssp-nonshared is required on musl since
it does not implement the gcc runtime piece of
libssp, which actually it a gcc optimization to
reach to __stack_chk_fail

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/musl_git.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index 9f8c5126e8..a57460ddd2 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -22,6 +22,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            libgcc-initial \
            linux-libc-headers \
            bsd-headers \
+           libssp-nonshared \
           "
 
 export CROSS_COMPILE="${TARGET_PREFIX}"
@@ -65,7 +66,7 @@ do_install() {
 	done
 }
 
-RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev"
+RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev"
 RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
 RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 03/24] gcc-runtime: Disable gcc version of libssp
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
  2018-04-29 19:35 ` [PATCH 01/24] libssp-nonshared: Add recipe Khem Raj
  2018-04-29 19:35 ` [PATCH 02/24] musl: Depend on libssp-nonshared Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 04/24] libunwind: Drop adding libssp to linker flags Khem Raj
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

libssp is implemented fully in glibc as well as in musl
so we really do not need the gcc version of this library
except may be for mingw, where we keep it enabled anyway
gcc in OE is built with the knowledge that C library
already provides libssp implementation, we should therefore
not need the gcc implementation of same.

libssp_nonshared piece is a detail which is needed when gcc
is the compiler, in glibc this is part of libc_nonshared.a
already and libc_nonshared.a is linked always when linking
with -lc becuase libc.so in glibc is actually a linker script

GROUP ( /usr/lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /usr/lib/ld-linux-x86-64.so.2 ) )

which automatically links in the needed runtime bits, this however
is not the case for musl, where core SSP APIs are implemented in full
but compiler specific runtime isn't, for this we add a new package
called libssp_nonshared which generate the needed runtime stub
and gcc is already carrying patch to link to libssp_nonshared.a
on musl

This should fix a long standing problem where static PIE executable
were not buildable with OE since it was conflicting SSP implementation
one from C library and the other one from gcc and we end up with
duplicate symbol errors during linking.

Backport a patch from trunk which enhances enable|disable-libssp
to not only disable building libssp but also not emit the gcc
specs to use it for subsequent linking when stack-protector options
are used on compiler cmdline

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-7.3.inc         |   7 +-
 ...cc-override-TARGET_LIBC_PROVIDES_SSP.patch | 204 ++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-runtime.inc     |   4 +-
 3 files changed, 212 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch

diff --git a/meta/recipes-devtools/gcc/gcc-7.3.inc b/meta/recipes-devtools/gcc/gcc-7.3.inc
index d968c322d2..0586182282 100644
--- a/meta/recipes-devtools/gcc/gcc-7.3.inc
+++ b/meta/recipes-devtools/gcc/gcc-7.3.inc
@@ -72,6 +72,7 @@ SRC_URI = "\
            file://0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
            file://0047-sync-gcc-stddef.h-with-musl.patch \
            file://0048-gcc-Enable-static-PIE.patch \
+           file://0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch \
            file://fix-segmentation-fault-precompiled-hdr.patch \
            file://no-sse-fix-test-case-failures.patch \
            ${BACKPORTS} \
@@ -93,10 +94,12 @@ FORTRAN = ""
 JAVA = ""
 
 LTO = "--enable-lto"
+SSP ?= "--disable-libssp"
+SSP_mingw32 = "--enable-libssp"
 
 EXTRA_OECONF_BASE = "\
     ${LTO} \
-    --enable-libssp \
+    ${SSP} \
     --enable-libitm \
     --disable-bootstrap \
     --disable-libmudflap \
@@ -120,7 +123,7 @@ EXTRA_OECONF_INITIAL = "\
     --disable-plugin \
     --enable-decimal-float=no \
     --without-isl \
-    gcc_cv_libc_provides_ssp=yes \
+    --disable-libssp \
 "
 
 EXTRA_OECONF_PATHS = "\
diff --git a/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch b/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
new file mode 100644
index 0000000000..7c53c95c3a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
@@ -0,0 +1,204 @@
+From 9815bd97561c778ee0bc0c17f245e88e66570111 Mon Sep 17 00:00:00 2001
+From: sandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed, 1 Nov 2017 02:14:19 +0000
+Subject: [PATCH] 2017-10-31  Sandra Loosemore  <sandra@codesourcery.com>
+
+	gcc/
+	* configure.ac (--enable-libssp): New.
+	(gcc_cv_libc_provides_ssp): Check for explicit setting before
+	trying to determine target-specific default.  Adjust indentation.
+	* configure: Regenerated.
+	* doc/install.texi (Configuration): Expand --disable-libssp
+	documentation.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254288 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://patchwork.ozlabs.org/patch/823049/]
+
+ gcc/ChangeLog        |  9 +++++++++
+ gcc/configure        | 26 +++++++++++++++++++++++---
+ gcc/configure.ac     | 24 ++++++++++++++++++++----
+ gcc/doc/install.texi |  3 ++-
+ 4 files changed, 54 insertions(+), 8 deletions(-)
+
+Index: gcc-7.3.0/gcc/configure.ac
+===================================================================
+--- gcc-7.3.0.orig/gcc/configure.ac
++++ gcc-7.3.0/gcc/configure.ac
+@@ -5719,10 +5719,25 @@ if test x$gcc_cv_solaris_crts = xyes; th
+   	    [Define if the system-provided CRTs are present on Solaris.])
+ fi
+ 
++AC_ARG_ENABLE(libssp,
++[AS_HELP_STRING([--enable-libssp], [enable linking against libssp])],
++[case "${enableval}" in
++  yes|no)
++    ;;
++  *)
++    AC_MSG_ERROR([unknown libssp setting $enableval])
++    ;;
++esac], [])
++
+ # Test for stack protector support in target C library.
+ AC_CACHE_CHECK(__stack_chk_fail in target C library,
+-      gcc_cv_libc_provides_ssp,
+-      [gcc_cv_libc_provides_ssp=no
++  gcc_cv_libc_provides_ssp,
++  [gcc_cv_libc_provides_ssp=no
++  if test "x$enable_libssp" = "xno"; then
++    gcc_cv_libc_provides_ssp=yes
++  elif test "x$enable_libssp" = "xyes"; then
++    gcc_cv_libc_provides_ssp=no
++  else
+     case "$target" in
+        *-*-musl*)
+ 	 # All versions of musl provide stack protector
+@@ -5759,8 +5774,9 @@ AC_CACHE_CHECK(__stack_chk_fail in targe
+ 	 AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
+            [echo "no __stack_chk_fail on this target"])
+         ;;
+-  *) gcc_cv_libc_provides_ssp=no ;;
+-    esac])
++       *) gcc_cv_libc_provides_ssp=no ;;
++    esac
++  fi])
+ 
+ if test x$gcc_cv_libc_provides_ssp = xyes; then
+   AC_DEFINE(TARGET_LIBC_PROVIDES_SSP, 1,
+Index: gcc-7.3.0/gcc/doc/install.texi
+===================================================================
+--- gcc-7.3.0.orig/gcc/doc/install.texi
++++ gcc-7.3.0/gcc/doc/install.texi
+@@ -1658,7 +1658,8 @@ not be built.
+ 
+ @item --disable-libssp
+ Specify that the run-time libraries for stack smashing protection
+-should not be built.
++should not be built or linked against.  On many targets library support
++is provided by the C library instead.
+ 
+ @item --disable-libquadmath
+ Specify that the GCC quad-precision math library should not be built.
+Index: gcc-7.3.0/gcc/configure
+===================================================================
+--- gcc-7.3.0.orig/gcc/configure
++++ gcc-7.3.0/gcc/configure
+@@ -940,6 +940,7 @@ enable_fix_cortex_a53_843419
+ with_glibc_version
+ enable_gnu_unique_object
+ enable_linker_build_id
++enable_libssp
+ enable_default_ssp
+ with_long_double_128
+ with_gc
+@@ -1679,6 +1680,7 @@ Optional Features:
+                           extension on glibc systems
+   --enable-linker-build-id
+                           compiler will always pass --build-id to linker
++  --enable-libssp         enable linking against libssp
+   --enable-default-ssp    enable Stack Smashing Protection as default
+   --enable-maintainer-mode
+                           enable make rules and dependencies not useful (and
+@@ -18450,7 +18452,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 18436 "configure"
++#line 18455 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+@@ -18556,7 +18558,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 18542 "configure"
++#line 18561 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+@@ -25234,6 +25236,7 @@ $as_echo "#define HAVE_AS_SPARC5_VIS4 1"
+ 
+ fi
+ 
++
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for SPARC6 instructions" >&5
+ $as_echo_n "checking assembler for SPARC6 instructions... " >&6; }
+ if test "${gcc_cv_as_sparc_sparc6+set}" = set; then :
+@@ -25270,6 +25273,7 @@ $as_echo "#define HAVE_AS_SPARC6 1" >>co
+ 
+ fi
+ 
++
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for LEON instructions" >&5
+ $as_echo_n "checking assembler for LEON instructions... " >&6; }
+ if test "${gcc_cv_as_sparc_leon+set}" = set; then :
+@@ -28947,6 +28951,18 @@ $as_echo "#define HAVE_SOLARIS_CRTS 1" >
+ 
+ fi
+ 
++# Check whether --enable-libssp was given.
++if test "${enable_libssp+set}" = set; then :
++  enableval=$enable_libssp; case "${enableval}" in
++  yes|no)
++    ;;
++  *)
++    as_fn_error "unknown libssp setting $enableval" "$LINENO" 5
++    ;;
++esac
++fi
++
++
+ # Test for stack protector support in target C library.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking __stack_chk_fail in target C library" >&5
+ $as_echo_n "checking __stack_chk_fail in target C library... " >&6; }
+@@ -28954,6 +28970,11 @@ if test "${gcc_cv_libc_provides_ssp+set}
+   $as_echo_n "(cached) " >&6
+ else
+   gcc_cv_libc_provides_ssp=no
++  if test "x$enable_libssp" = "xno"; then
++    gcc_cv_libc_provides_ssp=yes
++  elif test "x$enable_libssp" = "xyes"; then
++    gcc_cv_libc_provides_ssp=no
++  else
+     case "$target" in
+        *-*-musl*)
+ 	 # All versions of musl provide stack protector
+@@ -29001,8 +29022,9 @@ else
+ fi
+ 
+         ;;
+-  *) gcc_cv_libc_provides_ssp=no ;;
++       *) gcc_cv_libc_provides_ssp=no ;;
+     esac
++  fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_libc_provides_ssp" >&5
+ $as_echo "$gcc_cv_libc_provides_ssp" >&6; }
+@@ -29037,18 +29059,15 @@ fi
+ 
+ 
+ # Test for <sys/sdt.h> on the target.
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
+-$as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
+-have_sys_sdt_h=no
++#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
++#AC_MSG_CHECKING(sys/sdt.h in the target C library)
++#have_sys_sdt_h=no
+ #if test -f $target_header_dir/sys/sdt.h; then
+ #  have_sys_sdt_h=yes
+-#
+-#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+-#
++#  AC_DEFINE(HAVE_SYS_SDT_H, 1,
++#            [Define if your target C library provides sys/sdt.h])
+ #fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
+-$as_echo "$have_sys_sdt_h" >&6; }
++#AC_MSG_RESULT($have_sys_sdt_h)
+ 
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 7629fa56ff..72b8081cd3 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -22,8 +22,10 @@ RUNTIMELIBITM_nios2 = ""
 RUNTIMELIBITM_microblaze = ""
 RUNTIMELIBITM_riscv32 = ""
 RUNTIMELIBITM_riscv64 = ""
+RUNTIMELIBSSP ?= ""
+RUNTIMELIBSSP_mingw32 ?= "libssp"
 
-RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
+RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
     ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \
 "
 RUNTIMETARGET_append_x86 = " libmpx"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 04/24] libunwind: Drop adding libssp to linker flags
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (2 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 03/24] gcc-runtime: Disable gcc version of libssp Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 05/24] musl: Upgrade to latest Khem Raj
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

This is no longer needed as gcc provided libssp
is not built

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-support/libunwind/libunwind.inc | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/recipes-support/libunwind/libunwind.inc b/meta/recipes-support/libunwind/libunwind.inc
index b9c532d3ad..36851d07ed 100644
--- a/meta/recipes-support/libunwind/libunwind.inc
+++ b/meta/recipes-support/libunwind/libunwind.inc
@@ -14,8 +14,6 @@ PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, lat
 EXTRA_OECONF_arm = "--enable-debug-frame"
 EXTRA_OECONF_aarch64 = "--enable-debug-frame"
 
-SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared -lssp"
-
 do_install_append () {
 	oe_multilib_header libunwind.h
 }
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 05/24] musl: Upgrade to latest
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (3 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 04/24] libunwind: Drop adding libssp to linker flags Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 06/24] llvm: Fix [compile-host-path] QA issue Khem Raj
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

Changes are here
https://git.musl-libc.org/cgit/musl/log/?qt=range&q=55df09bfccbfe21fc9dd7d8f94550c0ff25ace04..9be4ed5d89ecca80123311a4ec73781e5cc97a9c

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/musl_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index a57460ddd2..f12ca16b0c 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -3,7 +3,7 @@
 
 require musl.inc
 
-SRCREV = "55df09bfccbfe21fc9dd7d8f94550c0ff25ace04"
+SRCREV = "9be4ed5d89ecca80123311a4ec73781e5cc97a9c"
 
 PV = "1.1.19+git${SRCPV}"
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 06/24] llvm: Fix [compile-host-path] QA issue
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (4 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 05/24] musl: Upgrade to latest Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 07/24] pbzip2: Fix C++11 warnings found with clang Khem Raj
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

Its trying to build NATIVE llvm-config which is
already built with llvm-native so we do not need
to rebuild it

Drop setting NINJA_STATUS explicitly, its no longer
needed, on the contrary it hinders the task status
update

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...able-generating-a-native-llvm-config.patch | 41 +++++++++++++++++++
 meta/recipes-devtools/llvm/llvm_git.bb        |  7 ++--
 2 files changed, 45 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-devtools/llvm/llvm/0001-Disable-generating-a-native-llvm-config.patch

diff --git a/meta/recipes-devtools/llvm/llvm/0001-Disable-generating-a-native-llvm-config.patch b/meta/recipes-devtools/llvm/llvm/0001-Disable-generating-a-native-llvm-config.patch
new file mode 100644
index 0000000000..2809e4c594
--- /dev/null
+++ b/meta/recipes-devtools/llvm/llvm/0001-Disable-generating-a-native-llvm-config.patch
@@ -0,0 +1,41 @@
+From 7f7743ce233fcd735ec580c75270413493658aa6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Apr 2018 18:08:31 -0700
+Subject: [PATCH] Disable generating a native llvm-config
+
+OpenEmbedded already builds this as part of llvm-native
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/llvm-config/CMakeLists.txt | 16 ----------------
+ 1 file changed, 16 deletions(-)
+
+diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt
+index 25f99cec978..c45e9b642a8 100644
+--- a/tools/llvm-config/CMakeLists.txt
++++ b/tools/llvm-config/CMakeLists.txt
+@@ -63,19 +63,3 @@ endif()
+ 
+ # Add the dependency on the generation step.
+ add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH})
+-
+-if(CMAKE_CROSSCOMPILING)
+-  set(${project}_LLVM_CONFIG_EXE "${LLVM_NATIVE_BUILD}/bin/llvm-config")
+-  set(${project}_LLVM_CONFIG_EXE ${${project}_LLVM_CONFIG_EXE} PARENT_SCOPE)
+-
+-  add_custom_command(OUTPUT "${${project}_LLVM_CONFIG_EXE}"
+-    COMMAND ${CMAKE_COMMAND} --build . --target llvm-config --config $<CONFIGURATION>
+-    DEPENDS ${LLVM_NATIVE_BUILD}/CMakeCache.txt
+-    WORKING_DIRECTORY ${LLVM_NATIVE_BUILD}
+-    COMMENT "Building native llvm-config..."
+-    USES_TERMINAL)
+-  add_custom_target(${project}NativeLLVMConfig DEPENDS ${${project}_LLVM_CONFIG_EXE})
+-  add_dependencies(${project}NativeLLVMConfig CONFIGURE_LLVM_NATIVE)
+-
+-  add_dependencies(llvm-config ${project}NativeLLVMConfig)
+-endif(CMAKE_CROSSCOMPILING)
+-- 
+2.17.0
+
diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index 77c095d9a3..cb3bba6fab 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -26,6 +26,7 @@ PATCH_VERSION = "0"
 SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \
            file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
            file://0002-llvm-allow-env-override-of-exe-path.patch \
+           file://0001-Disable-generating-a-native-llvm-config.patch \
           "
 UPSTREAM_CHECK_COMMITS = "1"
 S = "${WORKDIR}/git"
@@ -85,15 +86,15 @@ do_configure_prepend() {
 }
 
 do_compile() {
-	NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE}
+	ninja -v ${PARALLEL_MAKE}
 }
 
 do_compile_class-native() {
-	NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} llvm-config llvm-tblgen
+	ninja -v ${PARALLEL_MAKE} llvm-config llvm-tblgen
 }
 
 do_install() {
-	NINJA_STATUS="[%p] " DESTDIR=${LLVM_INSTALL_DIR} ninja -v install
+	DESTDIR=${LLVM_INSTALL_DIR} ninja -v install
 	install -D -m 0755 ${B}/bin/llvm-config ${D}${libdir}/${LLVM_DIR}/llvm-config
 
 	install -d ${D}${bindir}/${LLVM_DIR}
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 07/24] pbzip2: Fix C++11 warnings found with clang
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (5 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 06/24] llvm: Fix [compile-host-path] QA issue Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 08/24] alsa-tools: Update to 1.1.6 Khem Raj
                   ` (17 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...valid-suffix-on-literal-C-11-warning.patch | 73 +++++++++++++++++++
 meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb |  4 +-
 2 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch

diff --git a/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch b/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
new file mode 100644
index 0000000000..8fc377c31b
--- /dev/null
+++ b/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
@@ -0,0 +1,73 @@
+From de4a948d356c9befb88c796168e97eb05b9a3385 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Apr 2018 22:54:42 -0700
+Subject: [PATCH] pbzip2: Fix invalid suffix on literal C++11 warning
+
+Fixes -Wreserved-user-defined-literal] errors.
+Also reported in launchpad here https://bugs.launchpad.net/pbzip2/+bug/1746369
+
+Upstream-Status: Submitted [https://launchpadlibrarian.net/355230152/pbzip2.patch]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pbzip2.cpp | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/pbzip2.cpp b/pbzip2.cpp
+index 66ca978..4287ea7 100644
+--- a/pbzip2.cpp
++++ b/pbzip2.cpp
+@@ -1220,7 +1220,7 @@ int producer_decompress(int hInfile, OFF_T fileSize, queue *fifo)
+ 			// give warning to user if block is larger than 250 million bytes
+ 			if (fileData->bufSize > 250000000)
+ 			{
+-				fprintf(stderr, "pbzip2:  *WARNING: Compressed block size is large [%"PRIuMAX" bytes].\n",
++				fprintf(stderr, "pbzip2:  *WARNING: Compressed block size is large [%" PRIuMAX " bytes].\n",
+ 						(uintmax_t) fileData->bufSize);
+ 				fprintf(stderr, "          If program aborts, use regular BZIP2 to decompress.\n");
+ 			}
+@@ -1829,7 +1829,7 @@ void *fileWriter(void *outname)
+ 	
+ 	if (QuietMode != 1)
+ 	{
+-		fprintf(stderr, "    Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
++		fprintf(stderr, "    Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
+ 	}
+ 
+ 	#ifdef PBZIP_DEBUG
+@@ -2072,7 +2072,7 @@ int directcompress(int hInfile, OFF_T fileSize, int blockSize, const char *OutFi
+ 		close(hOutfile);
+ 	if (QuietMode != 1)
+ 	{
+-		fprintf(stderr, "    Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
++		fprintf(stderr, "    Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
+ 	}
+ 
+ 	syncSetProducerDone(1); // Not really needed for direct version
+@@ -2794,7 +2794,7 @@ void outputBufferInit(size_t size)
+ 	// unlikely to get here since more likely exception will be thrown
+ 	if (OutputBuffer.size() != size)
+ 	{
+-		fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%"PRIuMAX"!  Aborting...\n", (uintmax_t)size);
++		fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%" PRIuMAX "!  Aborting...\n", (uintmax_t)size);
+ 		safe_mutex_unlock(OutMutex);
+ 		exit(1);
+ 	}
+@@ -4102,7 +4102,7 @@ int main(int argc, char* argv[])
+ 			if (decompress == 1)
+ 				fprintf(stderr, " BWT Block Size: %c00k\n", BWTblockSizeChar);
+ 			if (hasInFile)
+-				fprintf(stderr, "     Input Size: %"PRIuMAX" bytes\n", (uintmax_t)InFileSize);
++				fprintf(stderr, "     Input Size: %" PRIuMAX " bytes\n", (uintmax_t)InFileSize);
+ 		}
+ 
+ 		if (decompress == 1)
+@@ -4224,7 +4224,7 @@ int main(int argc, char* argv[])
+ 			{
+ 				NumBufferedBlocksMax = numCPU;
+ 				if (QuietMode != 1)
+-					fprintf(stderr, "*Warning* Max memory limit increased to %"PRIuMAX" MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
++					fprintf(stderr, "*Warning* Max memory limit increased to %" PRIuMAX " MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
+ 			}
+ 			else
+ 			{
diff --git a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
index 06d37adc36..4e96de2ed3 100644
--- a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
@@ -11,7 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
 DEPENDS = "bzip2"
 DEPENDS_append_class-native = " bzip2-replacement-native"
 
-SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz"
+SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \
+           file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \
+           "
 
 SRC_URI[md5sum] = "4cb87da2dba05540afce162f34b3a9a6"
 SRC_URI[sha256sum] = "8fd13eaaa266f7ee91f85c1ea97c86d9c9cc985969db9059cdebcb1e1b7bdbe6"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 08/24] alsa-tools: Update to 1.1.6
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (6 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 07/24] pbzip2: Fix C++11 warnings found with clang Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-30 13:37   ` Martin Jansa
  2018-04-29 19:35 ` [PATCH 09/24] alsa-lib: Upgrade " Khem Raj
                   ` (16 subsequent siblings)
  24 siblings, 1 reply; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

License-Update: FSF address updated in hdsploader/COPYING and ld10k1/COPYING.LIB

Fix built with clang along the way

Package python dependent tools into a separate package

Signed-off-by: Khem Raj <raj.khem@gmail.com>

xxx

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...served-user-defined-literal-warnings.patch | 28 +++++++++++++
 .../alsa/alsa-tools/autotools.patch           | 42 ++++++++++++-------
 ...lsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} | 25 ++++++++---
 3 files changed, 75 insertions(+), 20 deletions(-)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
 rename meta/recipes-multimedia/alsa/{alsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} (62%)

diff --git a/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
new file mode 100644
index 0000000000..2290915eab
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
@@ -0,0 +1,28 @@
+From 2e48e4045e1e951433da0ca4b1e49798eedde14f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 24 Apr 2018 12:21:18 -0700
+Subject: [PATCH] Fix clang -Wreserved-user-defined-literal warnings
+
+| us428control.cc:66:18: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
+|         printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
+|                         ^
+
+Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10360805/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ us428control/us428control.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/us428control/us428control.cc b/us428control/us428control.cc
+index e839bf4..8cb3c42 100644
+--- a/us428control/us428control.cc
++++ b/us428control/us428control.cc
+@@ -63,7 +63,7 @@ static void usage(void)
+ {
+ 	printf("Tascam US-428 Control\n");
+ 	printf("version %s\n", VERSION);
+-	printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
++	printf("usage: " PROGNAME " [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
+ 	printf("mode is one of (us224, us428, mixxx)\n");
+ }
+ /*
diff --git a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
index 2e74963c89..c85834a593 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
+++ b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
@@ -1,3 +1,8 @@
+From b9a65bf3ba5628cfe8cfd2d10ce2dcf11a606775 Mon Sep 17 00:00:00 2001
+From: Dongxiao Xu <dongxiao.xu@intel.com>
+Date: Thu, 14 Jul 2011 15:40:36 +0800
+Subject: [PATCH] alsa-tools: Fix recipe build error.
+
 Add parameters to autoreconf to support cross compile.
 Remove some sub-components which needs further recipe support.
 
@@ -5,22 +10,17 @@ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
 
 Upstream-Status: Inappropriate [configuration]
 
-diff -ruN alsa-tools-1.0.24.1-orig//ld10k1/gitcompile alsa-tools-1.0.24.1/ld10k1/gitcompile
---- alsa-tools-1.0.24.1-orig//ld10k1/gitcompile	2011-07-06 11:27:40.227665002 +0800
-+++ alsa-tools-1.0.24.1/ld10k1/gitcompile	2011-07-14 13:26:18.017665004 +0800
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--autoreconf -fi || exit 1
-+autoreconf $ACLOCAL_FLAGS -fi || exit 1
- export CFLAGS='-O2 -Wall -pipe -g'
- echo "CFLAGS=$CFLAGS"
- echo "./configure $@"
-diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
---- alsa-tools-1.0.24.1-orig//Makefile	2011-07-06 11:27:40.207665000 +0800
-+++ alsa-tools-1.0.24.1/Makefile	2011-07-14 15:08:08.877665009 +0800
+---
+ Makefile          | 4 ++--
+ ld10k1/gitcompile | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index c32bf25..1119372 100644
+--- a/Makefile
++++ b/Makefile
 @@ -1,8 +1,8 @@
- VERSION = 1.1.5
+ VERSION = 1.1.6
  TOP = .
 -SUBDIRS = as10k1 envy24control hdsploader hdspconf hdspmixer \
 +SUBDIRS = as10k1 envy24control \
@@ -30,3 +30,15 @@ diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
  	  hwmixvolume hdajackretask hda-verb hdajacksensetest
  
  all:
+diff --git a/ld10k1/gitcompile b/ld10k1/gitcompile
+index 99429ac..20005d9 100755
+--- a/ld10k1/gitcompile
++++ b/ld10k1/gitcompile
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+ 
+-autoreconf -fi || exit 1
++autoreconf $ACLOCAL_FLAGS -fi || exit 1
+ export CFLAGS='-O2 -Wall -pipe -g'
+ echo "CFLAGS=$CFLAGS"
+ echo "./configure $@"
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
similarity index 62%
rename from meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
rename to meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
index 1be43aa6e7..e065eec6b8 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
@@ -5,17 +5,19 @@ SECTION = "console/utils"
 LICENSE = "GPLv2 & LGPLv2+"
 DEPENDS = "alsa-lib ncurses glib-2.0"
 
-LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
+LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+                    file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \
+                    "
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/${BP}.tar.bz2 \
            file://autotools.patch \
            ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)} \
            file://gitcompile_hdajacksensetest \
+           file://0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch \
            "
 
-SRC_URI[md5sum] = "3afb92eb1b4f2edc8691498e57c3ec78"
-SRC_URI[sha256sum] = "bc3c6567de835223ee7d69487b8c22fb395a2e8c613341b0c96e6a5f6a2bd534"
+SRC_URI[md5sum] = "5ca8c9437ae779997cd62fb2815fef19"
+SRC_URI[sha256sum] = "d69c4dc2fb641a974d9903e9eb78c94cb0c7ac6c45bae664f0c9d6c0a1593227"
 
 inherit autotools-brokensep pkgconfig
 
@@ -37,4 +39,17 @@ do_compile_prepend () {
     cp ${WORKDIR}/gitcompile_hdajacksensetest ${S}/hdajacksensetest/gitcompile
 }
 
-FILES_${PN} += "${datadir}/ld10k1"
+do_install_append() {
+    sed -i -e "s|/usr/bin/python2|/usr/bin/env python2|g" ${D}${bindir}/hwmixvolume
+}
+
+PACKAGES =+ "${PN}-hwmixvolume"
+
+FILES_${PN}-hwmixvolume = "${bindir}/hwmixvolume"
+
+FILES_${PN} += "${datadir}/ld10k1 \
+                ${datadir}/icons/hicolor \
+               "
+
+RDEPENDS_${PN}-hwmixvolume += "python"
+
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 09/24] alsa-lib: Upgrade to 1.1.6
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (7 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 08/24] alsa-tools: Update to 1.1.6 Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 10/24] ruby: Upgrade to 1.5.1 Khem Raj
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

License-Update: FSF address updated

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../alsa/{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb}        | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
 rename meta/recipes-multimedia/alsa/{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb} (75%)

diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.1.5.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
similarity index 75%
rename from meta/recipes-multimedia/alsa/alsa-lib_1.1.5.bb
rename to meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
index c5bf107e5e..db77a01cf6 100644
--- a/meta/recipes-multimedia/alsa/alsa-lib_1.1.5.bb
+++ b/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
@@ -3,14 +3,15 @@ HOMEPAGE = "http://www.alsa-project.org"
 BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
 SECTION = "libs/multimedia"
 LICENSE = "LGPLv2.1 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
-                    file://src/socket.c;beginline=1;endline=26;md5=11ff89a8a7a4a690a5c78effe8159545"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
+                    file://src/socket.c;md5=dd1bc7f44872690224d89c1a9806e495;beginline=1;endline=26 \
+                    "
 
 BBCLASSEXTEND = "native nativesdk"
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2"
-SRC_URI[md5sum] = "a2b465c3a5265d8a57f3ff39c6c4fc29"
-SRC_URI[sha256sum] = "f4f68ad3c6da36b0b5241ac3c798a7a71e0e97d51f972e9f723b3f20a9650ae6"
+SRC_URI[md5sum] = "2f981a8f7897c59ec2ddc44916d33788"
+SRC_URI[sha256sum] = "5f2cd274b272cae0d0d111e8a9e363f08783329157e8dd68b3de0c096de6d724"
 
 inherit autotools pkgconfig
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 10/24] ruby: Upgrade to 1.5.1
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (8 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 09/24] alsa-lib: Upgrade " Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-30 13:35   ` Martin Jansa
  2018-04-29 19:35 ` [PATCH 11/24] glibc: Drop obsolete rpc and libnsl Khem Raj
                   ` (14 subsequent siblings)
  24 siblings, 1 reply; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

License Update: https://github.com/ruby/ruby/commit/322d0d93adfe42fc89c574f67bcb9acb9b82f251#diff-c53151ffd180a17416e8f09b1ca4bfc3

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/ruby/ruby.inc                   | 11 +++++------
 .../ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb}             |  4 ++--
 2 files changed, 7 insertions(+), 8 deletions(-)
 rename meta/recipes-devtools/ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb} (90%)

diff --git a/meta/recipes-devtools/ruby/ruby.inc b/meta/recipes-devtools/ruby/ruby.inc
index fd3911ba75..a366e93f66 100644
--- a/meta/recipes-devtools/ruby/ruby.inc
+++ b/meta/recipes-devtools/ruby/ruby.inc
@@ -7,12 +7,11 @@ It is simple, straight-forward, and extensible. \
 HOMEPAGE = "http://www.ruby-lang.org/"
 SECTION = "devel/ruby"
 LICENSE = "Ruby | BSD | GPLv2"
-LIC_FILES_CHKSUM = "\
-    file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \
-    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\
-    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\
-    file://LEGAL;md5=8f871f3f03732c018a5fa9b185958231 \
-"
+LIC_FILES_CHKSUM = "file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \
+                    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5 \
+                    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://LEGAL;md5=23a79bb4c1a40f6cc9bcb6f4e7c39799 \
+                    "
 
 DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline"
 DEPENDS_class-native = "openssl-native libyaml-native"
diff --git a/meta/recipes-devtools/ruby/ruby_2.5.0.bb b/meta/recipes-devtools/ruby/ruby_2.5.1.bb
similarity index 90%
rename from meta/recipes-devtools/ruby/ruby_2.5.0.bb
rename to meta/recipes-devtools/ruby/ruby_2.5.1.bb
index 1ac7f2aa5a..91048284c1 100644
--- a/meta/recipes-devtools/ruby/ruby_2.5.0.bb
+++ b/meta/recipes-devtools/ruby/ruby_2.5.1.bb
@@ -5,8 +5,8 @@ SRC_URI += " \
            file://ruby-CVE-2017-9228.patch \
            "
 
-SRC_URI[md5sum] = "f4711f856fe14de222b9da3d3b8efa89"
-SRC_URI[sha256sum] = "46e6f3630f1888eb653b15fa811d77b5b1df6fd7a3af436b343cfe4f4503f2ab"
+SRC_URI[md5sum] = "23867bc8c16c55e43b14dfe0614bcfa8"
+SRC_URI[sha256sum] = "dac81822325b79c3ba9532b048c2123357d3310b2b40024202f360251d9829b1"
 
 # it's unknown to configure script, but then passed to extconf.rb
 # maybe it's not really needed as we're hardcoding the result with
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 11/24] glibc: Drop obsolete rpc and libnsl
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (9 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 10/24] ruby: Upgrade to 1.5.1 Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:35 ` [PATCH 12/24] rpcsvc-proto: Add recipe Khem Raj
                   ` (13 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

use libnsl2 and rpcsvc-proto packages

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/libc-common.bbclass              |   4 -
 .../distro/include/default-distrovars.inc     |   2 +-
 meta/conf/local.conf.sample.extended          |   2 +-
 .../glibc/cross-localedef-native_2.27.bb      |   1 -
 meta/recipes-core/glibc/glibc-initial.inc     |   4 +-
 meta/recipes-core/glibc/glibc-package.inc     |   5 +-
 meta/recipes-core/glibc/glibc.inc             |   4 -
 .../0021-eglibc-Install-PIC-archives.patch    | 123 ------------------
 meta/recipes-core/glibc/glibc_2.27.bb         |  18 +--
 9 files changed, 7 insertions(+), 156 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch

diff --git a/meta/classes/libc-common.bbclass b/meta/classes/libc-common.bbclass
index 9ea2c03749..0e351b6746 100644
--- a/meta/classes/libc-common.bbclass
+++ b/meta/classes/libc-common.bbclass
@@ -1,9 +1,5 @@
 do_install() {
 	oe_runmake install_root=${D} install
-	for r in ${rpcsvc}; do
-		h=`echo $r|sed -e's,\.x$,.h,'`
-		install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/
-	done
 	install -Dm 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf
 	install -d ${D}${localedir}
 	make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
index 9620ad48de..5aa3434ec7 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -14,7 +14,7 @@ DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 irda largefile pcmcia u
 DISTRO_FEATURES_LIBC_DEFAULT ?= "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
 					libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
 					libc-getlogin libc-idn libc-inet-anl libc-libm libc-locales libc-locale-code \
-					libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+					libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \
 					libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
 					libc-posix-wchar-io"
 DISTRO_FEATURES_LIBC ?= "${DISTRO_FEATURES_LIBC_DEFAULT}"
diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
index 5d6c37dbcf..e698acb84b 100644
--- a/meta/conf/local.conf.sample.extended
+++ b/meta/conf/local.conf.sample.extended
@@ -32,7 +32,7 @@
 #DISTRO_FEATURES_LIBC = "ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
 #               libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
 #               libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm libc-locales libc-locale-code \
-#               libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+#               libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \
 #               libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
 #               libc-posix-wchar-io"
 
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.27.bb b/meta/recipes-core/glibc/cross-localedef-native_2.27.bb
index 5e92eb71d5..6a26376ac2 100644
--- a/meta/recipes-core/glibc/cross-localedef-native_2.27.bb
+++ b/meta/recipes-core/glibc/cross-localedef-native_2.27.bb
@@ -32,7 +32,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \
            file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \
            file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \
-           file://0021-eglibc-Install-PIC-archives.patch \
            file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
            file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
            file://archive-path.patch \
diff --git a/meta/recipes-core/glibc/glibc-initial.inc b/meta/recipes-core/glibc/glibc-initial.inc
index b86e2fb2db..28f006fc7f 100644
--- a/meta/recipes-core/glibc/glibc-initial.inc
+++ b/meta/recipes-core/glibc/glibc-initial.inc
@@ -13,9 +13,9 @@ do_configure () {
 	cfgscript=`python3 -c "import os; print(os.path.relpath('${S}', '.'))"`/configure
 	$cfgscript --host=${TARGET_SYS} --build=${BUILD_SYS} \
 		--prefix=/usr \
-		--without-cvs --disable-sanity-checks \
+		--disable-sanity-checks \
 		--with-headers=${STAGING_DIR_TARGET}${includedir} \
-		--enable-hacker-mode --enable-addons
+		--enable-hacker-mode
 }
 
 do_compile () {
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index ff45dfe35a..9050218619 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -28,7 +28,7 @@ FILES_sln = "${base_sbindir}/sln"
 FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o"
 FILES_libsotruss = "${libdir}/audit/sotruss-lib.so"
 FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-dev += "${bindir}/rpcgen ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
+FILES_${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
 FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
 FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
               ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd"
@@ -51,7 +51,7 @@ DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services."
 SUMMARY_ldd = "print shared library dependencies"
 DESCRIPTION_ldd = "${bindir}/ldd prints shared library dependencies for each program or shared library specified on the command line."
 SUMMARY_${PN}-utils = "Miscellaneous utilities provided by glibc"
-DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, rpcgen, ..."
+DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, ..."
 DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
 DESCRIPTION_tzcode = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
 
@@ -71,7 +71,6 @@ do_install_append () {
 	if [ -f ${D}${bindir}/mtrace ]; then
 		sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace
 	fi
-	rm -rf ${D}${includedir}/rpcsvc/rquota*
 	# 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
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index ce1222be68..3db55f926f 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -33,8 +33,6 @@ siteconfig_do_siteconfig_gencache_prepend = " \
 
 # nptl needs unwind support in gcc, which can't be built without glibc.
 DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
-# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
-#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
 
 CRYPTPROVIDES = "virtual/crypt"
 CRYPTPROVIDES_class-nativesdk = ""
@@ -80,8 +78,6 @@ do_configure_prepend() {
 	sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
 }
 
-GLIBC_ADDONS ?= "nptl,libidn"
-
 # Enable backtrace from abort()
 do_configure_append_arm () {
 	echo "CFLAGS-abort.c = -fasynchronous-unwind-tables" >> ${B}/configparms
diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch
deleted file mode 100644
index 530f4e1087..0000000000
--- a/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From c1beab8a11985f96f5eb644e7103d343b705afc6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 18 Mar 2015 01:57:01 +0000
-Subject: [PATCH 21/27] eglibc: Install PIC archives
-
-Forward port from eglibc
-
-2008-02-07  Joseph Myers  <joseph@codesourcery.com>
-
-        * Makerules (install-extras, install-map): New variables.
-        (installed-libcs): Add libc_pic.a.
-        (install-lib): Include _pic.a files for versioned shared
-        libraries.
-        (install-map-nosubdir, install-extras-nosubdir): Add rules for
-        installing extra files.
-        (install-no-libc.a-nosubdir): Depend on install-map-nosubdir and
-        install-extras-nosubdir.
-
-2008-04-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-        * Makerules (install-lib): Don't install libpthread_pic.a.
-        (install-map): Don't install libpthread_pic.map.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makerules | 42 ++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 40 insertions(+), 2 deletions(-)
-
-diff --git a/Makerules b/Makerules
-index ef6abeac6d..eeaa667f49 100644
---- a/Makerules
-+++ b/Makerules
-@@ -778,6 +778,9 @@ ifeq ($(build-shared),yes)
- $(common-objpfx)libc.so: $(common-objpfx)libc.map
- endif
- common-generated += libc.so libc_pic.os
-+ifndef subdir
-+install-extras := soinit.o sofini.o
-+endif
- ifdef libc.so-version
- $(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so
- 	$(make-link)
-@@ -1029,6 +1032,7 @@ endif
- 
- install: check-install-supported
- 
-+installed-libcs := $(installed-libcs) $(inst_libdir)/libc_pic.a
- install: $(installed-libcs)
- $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force)
- 	$(make-target-directory)
-@@ -1057,6 +1061,22 @@ versioned := $(strip $(foreach so,$(install-lib.so),\
- install-lib.so-versioned := $(filter $(versioned), $(install-lib.so))
- install-lib.so-unversioned := $(filter-out $(versioned), $(install-lib.so))
- 
-+# Install the _pic.a files for versioned libraries, and corresponding
-+# .map files.
-+# libpthread_pic.a breaks mklibs, so don't install it and its map.
-+install-lib := $(install-lib) $(install-lib.so-versioned:%.so=%_pic.a)
-+install-lib := $(filter-out libpthread_pic.a,$(install-lib))
-+# Despite having a soname libhurduser and libmachuser do not use symbol
-+# versioning, so don't install the corresponding .map files.
-+ifeq ($(build-shared),yes)
-+install-map := $(patsubst %.so,%.map,\
-+			$(foreach L,$(install-lib.so-versioned),$(notdir $L)))
-+install-map := $(filter-out libhurduser.map libmachuser.map libpthread.map,$(install-map))
-+ifndef subdir
-+install-map := $(install-map) libc.map
-+endif
-+endif
-+
- # For versioned libraries, we install three files:
- #	$(inst_libdir)/libfoo.so	-- for linking, symlink or ld script
- #	$(inst_slibdir)/libfoo.so.NN	-- for loading by SONAME, symlink
-@@ -1311,9 +1331,22 @@ $(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \
- endif	# headers-nonh
- endif	# headers
- 
-+ifdef install-map
-+$(addprefix $(inst_libdir)/,$(patsubst lib%.map,lib%_pic.map,$(install-map))): \
-+  $(inst_libdir)/lib%_pic.map: $(common-objpfx)lib%.map $(+force)
-+	$(do-install)
-+endif
-+
-+ifdef install-extras
-+$(addprefix $(inst_libdir)/libc_pic/,$(install-extras)): \
-+  $(inst_libdir)/libc_pic/%.o: $(elf-objpfx)%.os $(+force)
-+	$(do-install)
-+endif
-+
- .PHONY: install-bin-nosubdir install-bin-script-nosubdir \
- 	install-rootsbin-nosubdir install-sbin-nosubdir install-lib-nosubdir \
--	install-data-nosubdir install-headers-nosubdir
-+	install-data-nosubdir install-headers-nosubdir install-map-nosubdir \
-+	install-extras-nosubdir
- install-bin-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin))
- install-bin-script-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin-script))
- install-rootsbin-nosubdir: \
-@@ -1326,6 +1359,10 @@ install-data-nosubdir: $(addprefix $(inst_datadir)/,$(install-data))
- install-headers-nosubdir: $(addprefix $(inst_includedir)/,$(headers))
- install-others-nosubdir: $(install-others)
- install-others-programs-nosubdir: $(install-others-programs)
-+install-map-nosubdir: $(addprefix $(inst_libdir)/,\
-+		       $(patsubst lib%.map,lib%_pic.map,$(install-map)))
-+install-extras-nosubdir: $(addprefix $(inst_libdir)/libc_pic/,\
-+		       $(install-extras))
- 
- # We need all the `-nosubdir' targets so that `install' in the parent
- # doesn't depend on several things which each iterate over the subdirs.
-@@ -1335,7 +1372,8 @@ install-%:: install-%-nosubdir ;
- 
- .PHONY: install install-no-libc.a-nosubdir
- install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir \
--			    install-lib-nosubdir install-others-nosubdir
-+			    install-lib-nosubdir install-others-nosubdir \
-+			    install-map-nosubdir install-extras-nosubdir
- ifeq ($(build-programs),yes)
- install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \
- 			    install-rootsbin-nosubdir install-sbin-nosubdir \
--- 
-2.16.1
-
diff --git a/meta/recipes-core/glibc/glibc_2.27.bb b/meta/recipes-core/glibc/glibc_2.27.bb
index c814798bbd..d3bdeaefc3 100644
--- a/meta/recipes-core/glibc/glibc_2.27.bb
+++ b/meta/recipes-core/glibc/glibc_2.27.bb
@@ -35,7 +35,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \
            file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \
            file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \
-           file://0021-eglibc-Install-PIC-archives.patch \
            file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
            file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
            file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
@@ -76,14 +75,11 @@ COMPATIBLE_HOST_libc-musl_class-target = "null"
 GLIBCPIE ??= ""
 
 EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
-                --without-cvs --disable-profile \
+                --disable-profile \
                 --disable-debug --without-gd \
                 --enable-clocale=gnu \
-                --enable-add-ons=libidn \
                 --with-headers=${STAGING_INCDIR} \
                 --without-selinux \
-                --enable-obsolete-rpc \
-                --enable-obsolete-nsl \
                 --enable-tunables \
                 --enable-bind-now \
                 --enable-stack-protector=strong \
@@ -113,22 +109,10 @@ do_configure () {
         CPPFLAGS="" oe_runconf
 }
 
-rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
-	  yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
-	  rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
-
 do_compile () {
 	# -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
 	unset LDFLAGS
 	base_do_compile
-	(
-		cd ${S}/sunrpc/rpcsvc
-		for r in ${rpcsvc}; do
-			h=`echo $r|sed -e's,\.x$,.h,'`
-			rm -f $h
-			${B}/sunrpc/cross-rpcgen -h $r -o $h || bbwarn "${PN}: unable to generate header for $r"
-		done
-	)
 	echo "Adjust ldd script"
 	if [ -n "${RTLDLIST}" ]
 	then
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 12/24] rpcsvc-proto: Add recipe
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (10 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 11/24] glibc: Drop obsolete rpc and libnsl Khem Raj
@ 2018-04-29 19:35 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 13/24] libnss-nis: " Khem Raj
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../rpcsvc-proto/rpcsvc-proto.bb              | 37 +++++++++++++++++++
 .../0001-Use-cross-compiled-rpcgen.patch      | 26 +++++++++++++
 3 files changed, 64 insertions(+)
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 48aff9537e..823e1bfa98 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -633,6 +633,7 @@ RECIPE_MAINTAINER_pn-resourceproto = "Armin Kuster <akuster@mvista.com>"
 RECIPE_MAINTAINER_pn-rgb = "Armin Kuster <akuster@mvista.com>"
 RECIPE_MAINTAINER_pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-rng-tools = "Maxin B. John <maxin.john@intel.com>"
+RECIPE_MAINTAINER_pn-rpcsvc-proto = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-rpm = "Mark Hatle <mark.hatle@windriver.com>"
 RECIPE_MAINTAINER_pn-rpmresolve = "Mark Hatle <mark.hatle@windriver.com>"
 RECIPE_MAINTAINER_pn-rsync = "Yi Zhao <yi.zhao@windriver.com>"
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
new file mode 100644
index 0000000000..fdeafe283a
--- /dev/null
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
@@ -0,0 +1,37 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "rpcsvc protocol definitions from glibc"
+
+DESCRIPTION = "This package contains rpcsvc proto.x files from glibc, which are\
+missing in libtirpc. Additional it contains rpcgen, which is needed\
+to create header files and sources from protocol files.\
+This package is only needed, if glibc is installed without the\
+deprecated sunrpc functionality and libtirpc should replace it."
+
+HOMEPAGE = "https://github.com/thkukuk/rpcsvc-proto"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0daaf958d5531ab86169ec6e275e1517"
+SECTION = "libs"
+DEPENDS += "rpcsvc-proto-native"
+
+PV = "1.3.1+git${SRCPV}"
+
+SRCREV = "abcf24a09665b3def0f54c87d2acd4796de5d83a"
+
+SRC_URI = "git://github.com/thkukuk/${BPN} \
+           file://0001-Use-cross-compiled-rpcgen.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+EXTRA_OEMAKE_class-native = " -C rpcgen"
+
+do_install_append() {
+	# They come from quota recipe
+	rm -rf ${D}${includedir}/rpcsvc/rquota.[hx]
+}
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
new file mode 100644
index 0000000000..4ee4940295
--- /dev/null
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
@@ -0,0 +1,26 @@
+From de9345207beb71e4d5b6b40b52cac4ebd2e3858c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 27 Apr 2018 23:23:20 -0700
+Subject: [PATCH] Use cross compiled rpcgen
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ rpcsvc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rpcsvc/Makefile.am b/rpcsvc/Makefile.am
+index 83867c0..4753242 100644
+--- a/rpcsvc/Makefile.am
++++ b/rpcsvc/Makefile.am
+@@ -12,5 +12,5 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_prot.h rstat.h spray.h \
+ 	nfs_prot.h rquota.h sm_inter.h
+ 
+ %.h: %.x
+-	$(top_builddir)/rpcgen/rpcgen -h -o $@ $<
++	rpcgen -h -o $@ $<
+ 
+-- 
+2.17.0
+
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 13/24] libnss-nis: Add recipe
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (11 preceding siblings ...)
  2018-04-29 19:35 ` [PATCH 12/24] rpcsvc-proto: Add recipe Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 14/24] libtirpc: Upgrade to 1.0.4-tc1 Khem Raj
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

This will substitute the glibc nis module which
has been removed

Skip for non-glibc systems

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../recipes-extended/libnss-nis/libnss-nis.bb | 36 +++++++++++++++++++
 2 files changed, 37 insertions(+)
 create mode 100644 meta/recipes-extended/libnss-nis/libnss-nis.bb

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 823e1bfa98..d49be7abb9 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -362,6 +362,7 @@ RECIPE_MAINTAINER_pn-libnl = "Alexander Kanavin <alexander.kanavin@intel.com>"
 RECIPE_MAINTAINER_pn-libnotify = "Maxin B. John <maxin.john@intel.com>"
 RECIPE_MAINTAINER_pn-libnsl2 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-libnss-mdns = "Alexander Kanavin <alexander.kanavin@intel.com>"
+RECIPE_MAINTAINER_pn-libnss-nis = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-libogg = "Maxin B. John <maxin.john@intel.com>"
 RECIPE_MAINTAINER_pn-libomxil = "Maxin B. John <maxin.john@intel.com>"
 RECIPE_MAINTAINER_pn-libowl = "Maxin B. John <maxin.john@intel.com>"
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis.bb b/meta/recipes-extended/libnss-nis/libnss-nis.bb
new file mode 100644
index 0000000000..e0f69b02ef
--- /dev/null
+++ b/meta/recipes-extended/libnss-nis/libnss-nis.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "NSS module for glibc, to provide NIS support for glibc"
+
+DESCRIPTION = "This package contains the NSS NIS plugin for glibc.\
+This code was formerly part of glibc, but is now standalone to\
+be able to link against TI-RPC for IPv6 support."
+
+HOMEPAGE = "https://github.com/thkukuk/libnss_nis"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+SECTION = "libs"
+DEPENDS += "libtirpc libnsl2"
+
+PV = "3.0+git${SRCPV}"
+
+SRCREV = "d4aea48657a8e90d7922574b8021ee03915a36cb"
+
+SRC_URI = "git://github.com/thkukuk/libnss_nis \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND += "native nativesdk"
+#
+# We will skip parsing this packagegeoup for non-glibc systems
+#
+python __anonymous () {
+    if d.getVar('TCLIBC') != "glibc":
+        raise bb.parse.SkipRecipe("incompatible with %s C library" %
+                                   d.getVar('TCLIBC'))
+}
+
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 14/24] libtirpc: Upgrade to 1.0.4-tc1
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (12 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 13/24] libnss-nis: " Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 15/24] libnsl: Upgrade to tip beyond 1.2.0 release Khem Raj
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

Drop backported patches
Redo musl support patch such that it
can be applied universally

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-include-stdint.h-for-uintptr_t.patch |  29 -
 ...0001-replace-__bzero-with-memset-API.patch |  64 --
 .../libtirpc/Use-netbsd-queue.h.patch         | 878 ------------------
 .../export_key_secretkey_is_set.patch         |  31 -
 .../libtirpc/libtirpc-1.0.4-rc1.patch         | 103 ++
 .../libtirpc/libtirpc/musl.patch              |  18 +
 .../{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb}  |  13 +-
 7 files changed, 125 insertions(+), 1011 deletions(-)
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/musl.patch
 rename meta/recipes-extended/libtirpc/{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb} (63%)

diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
deleted file mode 100644
index 7e3e2f86ad..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From acb9a37977cf0a9630eac74af9adebf35e38e719 Mon Sep 17 00:00:00 2001
-From: Thorsten Kukuk <kukuk@thkukuk.de>
-Date: Tue, 14 Nov 2017 10:39:08 -0500
-Subject: [PATCH] Include stdint.h from xdr_sizeof.c to avoid missing
- declaration errors.
-
-Signed-off-by: Thorsten Kukuk <kukuk@suse.de>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/xdr_sizeof.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c
-index d23fbd1..79d6707 100644
---- a/src/xdr_sizeof.c
-+++ b/src/xdr_sizeof.c
-@@ -39,6 +39,7 @@
- #include <rpc/xdr.h>
- #include <sys/types.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include "un-namespace.h"
- 
- /* ARGSUSED */
--- 
-1.8.3.1
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
deleted file mode 100644
index 7ae19cb319..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 5356b63005e9d8169e0399cb76f26fbd29a78dee Mon Sep 17 00:00:00 2001
-From: Joshua Kinard <kumba@gentoo.org>
-Date: Wed, 23 Aug 2017 14:31:36 -0400
-Subject: [PATCH] Replace bzero() calls with equivalent memset() calls
-
-As annotated in the bzero(3) man page, bzero() was marked as LEGACY in
-POSIX.1-2001 and removed in POSIX.1-2008, and should be replaced with
-memset() calls to write zeros to a memory region.  The attached patch
-replaces two bzero() calls and one __bzero() call in libtirpc with
-equivalent memset() calls.  The latter replacement fixes a compile error
-under uclibc-ng, which lacks a definition for __bzero()
-
-Signed-off-by: Joshua Kinard <kumba@gentoo.org>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/auth_time.c    | 2 +-
- src/des_impl.c     | 2 +-
- src/svc_auth_des.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/auth_time.c b/src/auth_time.c
-index 7f83ab4..69400bc 100644
---- a/src/auth_time.c
-+++ b/src/auth_time.c
-@@ -317,7 +317,7 @@ __rpc_get_time_offset(td, srv, thost, uaddr, netid)
- 	sprintf(ipuaddr, "%d.%d.%d.%d.0.111", a1, a2, a3, a4);
- 	useua = &ipuaddr[0];
- 
--	bzero((char *)&sin, sizeof(sin));
-+	memset(&sin, 0, sizeof(sin));
- 	if (uaddr_to_sockaddr(useua, &sin)) {
- 		msg("unable to translate uaddr to sockaddr.");
- 		if (needfree)
-diff --git a/src/des_impl.c b/src/des_impl.c
-index 9dbccaf..15bec2a 100644
---- a/src/des_impl.c
-+++ b/src/des_impl.c
-@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, struct desparams *desp)
-     }
-   tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
-   tbuf[0] = tbuf[1] = 0;
--  __bzero (schedule, sizeof (schedule));
-+  memset (schedule, 0, sizeof (schedule));
- 
-   return (1);
- }
-diff --git a/src/svc_auth_des.c b/src/svc_auth_des.c
-index 2e90146..19a7c60 100644
---- a/src/svc_auth_des.c
-+++ b/src/svc_auth_des.c
-@@ -356,7 +356,7 @@ cache_init()
- 
- 	authdes_cache = (struct cache_entry *)
- 		mem_alloc(sizeof(struct cache_entry) * AUTHDES_CACHESZ);	
--	bzero((char *)authdes_cache, 
-+	memset(authdes_cache, 0,
- 		sizeof(struct cache_entry) * AUTHDES_CACHESZ);
- 
- 	authdes_lru = (short *)mem_alloc(sizeof(short) * AUTHDES_CACHESZ);
--- 
-1.8.3.1
diff --git a/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch b/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
deleted file mode 100644
index f93223feb4..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
+++ /dev/null
@@ -1,878 +0,0 @@
-musl does not provide sys/queue.h implementation. Borrow queue.h from
-the NetBSD project
-http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/queue.h?rev=1.68
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-diff -Naur libtirpc-1.0.1-orig/src/clnt_bcast.c libtirpc-1.0.1/src/clnt_bcast.c
---- libtirpc-1.0.1-orig/src/clnt_bcast.c	2015-10-30 17:15:14.000000000 +0200
-+++ libtirpc-1.0.1/src/clnt_bcast.c	2015-12-21 17:03:52.066008311 +0200
-@@ -40,7 +40,6 @@
-  */
- #include <sys/socket.h>
- #include <sys/types.h>
--#include <sys/queue.h>
- 
- #include <net/if.h>
- #include <netinet/in.h>
-@@ -62,6 +61,7 @@
- #include <err.h>
- #include <string.h>
- 
-+#include "queue.h"
- #include "rpc_com.h"
- #include "debug.h"
- 
-diff -Naur libtirpc-1.0.1-orig/tirpc/queue.h libtirpc-1.0.1/tirpc/queue.h
---- libtirpc-1.0.1-orig/tirpc/queue.h	1970-01-01 02:00:00.000000000 +0200
-+++ libtirpc-1.0.1/tirpc/queue.h	2015-12-21 17:02:44.427853905 +0200
-@@ -0,0 +1,846 @@
-+/*	$NetBSD: queue.h,v 1.68 2014/11/19 08:10:01 uebayasi Exp $	*/
-+
-+/*
-+ * Copyright (c) 1991, 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 the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in the
-+ *    documentation and/or other materials provided with the distribution.
-+ * 3. 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 BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ *	@(#)queue.h	8.5 (Berkeley) 8/20/94
-+ */
-+
-+#ifndef	_SYS_QUEUE_H_
-+#define	_SYS_QUEUE_H_
-+
-+/*
-+ * This file defines five types of data structures: singly-linked lists,
-+ * lists, simple queues, tail queues, and circular queues.
-+ *
-+ * A singly-linked list is headed by a single forward pointer. The
-+ * elements are singly linked for minimum space and pointer manipulation
-+ * overhead at the expense of O(n) removal for arbitrary elements. New
-+ * elements can be added to the list after an existing element or at the
-+ * head of the list.  Elements being removed from the head of the list
-+ * should use the explicit macro for this purpose for optimum
-+ * efficiency. A singly-linked list may only be traversed in the forward
-+ * direction.  Singly-linked lists are ideal for applications with large
-+ * datasets and few or no removals or for implementing a LIFO queue.
-+ *
-+ * A list is headed by a single forward pointer (or an array of forward
-+ * pointers for a hash table header). The elements are doubly linked
-+ * so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before
-+ * or after an existing element or at the head of the list. A list
-+ * may only be traversed in the forward direction.
-+ *
-+ * A simple queue is headed by a pair of pointers, one the head of the
-+ * list and the other to the tail of the list. The elements are singly
-+ * linked to save space, so elements can only be removed from the
-+ * head of the list. New elements can be added to the list after
-+ * an existing element, at the head of the list, or at the end of the
-+ * list. A simple queue may only be traversed in the forward direction.
-+ *
-+ * A tail queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or
-+ * after an existing element, at the head of the list, or at the end of
-+ * the list. A tail queue may be traversed in either direction.
-+ *
-+ * A circle queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or after
-+ * an existing element, at the head of the list, or at the end of the list.
-+ * A circle queue may be traversed in either direction, but has a more
-+ * complex end of list detection.
-+ *
-+ * For details on the use of these macros, see the queue(3) manual page.
-+ */
-+
-+/*
-+ * Include the definition of NULL only on NetBSD because sys/null.h
-+ * is not available elsewhere.  This conditional makes the header
-+ * portable and it can simply be dropped verbatim into any system.
-+ * The caveat is that on other systems some other header
-+ * must provide NULL before the macros can be used.
-+ */
-+#ifdef __NetBSD__
-+#include <sys/null.h>
-+#endif
-+
-+#if defined(QUEUEDEBUG)
-+# if defined(_KERNEL)
-+#  define QUEUEDEBUG_ABORT(...) panic(__VA_ARGS__)
-+# else
-+#  include <err.h>
-+#  define QUEUEDEBUG_ABORT(...) err(1, __VA_ARGS__)
-+# endif
-+#endif
-+
-+/*
-+ * Singly-linked List definitions.
-+ */
-+#define	SLIST_HEAD(name, type)						\
-+struct name {								\
-+	struct type *slh_first;	/* first element */			\
-+}
-+
-+#define	SLIST_HEAD_INITIALIZER(head)					\
-+	{ NULL }
-+
-+#define	SLIST_ENTRY(type)						\
-+struct {								\
-+	struct type *sle_next;	/* next element */			\
-+}
-+
-+/*
-+ * Singly-linked List access methods.
-+ */
-+#define	SLIST_FIRST(head)	((head)->slh_first)
-+#define	SLIST_END(head)		NULL
-+#define	SLIST_EMPTY(head)	((head)->slh_first == NULL)
-+#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
-+
-+#define	SLIST_FOREACH(var, head, field)					\
-+	for((var) = (head)->slh_first;					\
-+	    (var) != SLIST_END(head);					\
-+	    (var) = (var)->field.sle_next)
-+
-+#define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = SLIST_FIRST((head));				\
-+	    (var) != SLIST_END(head) &&					\
-+	    ((tvar) = SLIST_NEXT((var), field), 1);			\
-+	    (var) = (tvar))
-+
-+/*
-+ * Singly-linked List functions.
-+ */
-+#define	SLIST_INIT(head) do {						\
-+	(head)->slh_first = SLIST_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
-+	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
-+	(slistelm)->field.sle_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
-+	(elm)->field.sle_next = (head)->slh_first;			\
-+	(head)->slh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE_AFTER(slistelm, field) do {			\
-+	(slistelm)->field.sle_next =					\
-+	    SLIST_NEXT(SLIST_NEXT((slistelm), field), field);		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE_HEAD(head, field) do {				\
-+	(head)->slh_first = (head)->slh_first->field.sle_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->slh_first == (elm)) {				\
-+		SLIST_REMOVE_HEAD((head), field);			\
-+	}								\
-+	else {								\
-+		struct type *curelm = (head)->slh_first;		\
-+		while(curelm->field.sle_next != (elm))			\
-+			curelm = curelm->field.sle_next;		\
-+		curelm->field.sle_next =				\
-+		    curelm->field.sle_next->field.sle_next;		\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+
-+/*
-+ * List definitions.
-+ */
-+#define	LIST_HEAD(name, type)						\
-+struct name {								\
-+	struct type *lh_first;	/* first element */			\
-+}
-+
-+#define	LIST_HEAD_INITIALIZER(head)					\
-+	{ NULL }
-+
-+#define	LIST_ENTRY(type)						\
-+struct {								\
-+	struct type *le_next;	/* next element */			\
-+	struct type **le_prev;	/* address of previous next element */	\
-+}
-+
-+/*
-+ * List access methods.
-+ */
-+#define	LIST_FIRST(head)		((head)->lh_first)
-+#define	LIST_END(head)			NULL
-+#define	LIST_EMPTY(head)		((head)->lh_first == LIST_END(head))
-+#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
-+
-+#define	LIST_FOREACH(var, head, field)					\
-+	for ((var) = ((head)->lh_first);				\
-+	    (var) != LIST_END(head);					\
-+	    (var) = ((var)->field.le_next))
-+
-+#define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = LIST_FIRST((head));				\
-+	    (var) != LIST_END(head) &&					\
-+	    ((tvar) = LIST_NEXT((var), field), 1);			\
-+	    (var) = (tvar))
-+
-+#define	LIST_MOVE(head1, head2) do {					\
-+	LIST_INIT((head2));						\
-+	if (!LIST_EMPTY((head1))) {					\
-+		(head2)->lh_first = (head1)->lh_first;			\
-+		LIST_INIT((head1));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * List functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define	QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)			\
-+	if ((head)->lh_first &&						\
-+	    (head)->lh_first->field.le_prev != &(head)->lh_first)	\
-+		QUEUEDEBUG_ABORT("LIST_INSERT_HEAD %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_LIST_OP(elm, field)					\
-+	if ((elm)->field.le_next &&					\
-+	    (elm)->field.le_next->field.le_prev !=			\
-+	    &(elm)->field.le_next)					\
-+		QUEUEDEBUG_ABORT("LIST_* forw %p %s:%d", (elm),		\
-+		    __FILE__, __LINE__);				\
-+	if (*(elm)->field.le_prev != (elm))				\
-+		QUEUEDEBUG_ABORT("LIST_* back %p %s:%d", (elm),		\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_LIST_POSTREMOVE(elm, field)				\
-+	(elm)->field.le_next = (void *)1L;				\
-+	(elm)->field.le_prev = (void *)1L;
-+#else
-+#define	QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)
-+#define	QUEUEDEBUG_LIST_OP(elm, field)
-+#define	QUEUEDEBUG_LIST_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	LIST_INIT(head) do {						\
-+	(head)->lh_first = LIST_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_AFTER(listelm, elm, field) do {			\
-+	QUEUEDEBUG_LIST_OP((listelm), field)				\
-+	if (((elm)->field.le_next = (listelm)->field.le_next) != 	\
-+	    LIST_END(head))						\
-+		(listelm)->field.le_next->field.le_prev =		\
-+		    &(elm)->field.le_next;				\
-+	(listelm)->field.le_next = (elm);				\
-+	(elm)->field.le_prev = &(listelm)->field.le_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_BEFORE(listelm, elm, field) do {			\
-+	QUEUEDEBUG_LIST_OP((listelm), field)				\
-+	(elm)->field.le_prev = (listelm)->field.le_prev;		\
-+	(elm)->field.le_next = (listelm);				\
-+	*(listelm)->field.le_prev = (elm);				\
-+	(listelm)->field.le_prev = &(elm)->field.le_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_HEAD(head, elm, field) do {				\
-+	QUEUEDEBUG_LIST_INSERT_HEAD((head), (elm), field)		\
-+	if (((elm)->field.le_next = (head)->lh_first) != LIST_END(head))\
-+		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-+	(head)->lh_first = (elm);					\
-+	(elm)->field.le_prev = &(head)->lh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_REMOVE(elm, field) do {					\
-+	QUEUEDEBUG_LIST_OP((elm), field)				\
-+	if ((elm)->field.le_next != NULL)				\
-+		(elm)->field.le_next->field.le_prev = 			\
-+		    (elm)->field.le_prev;				\
-+	*(elm)->field.le_prev = (elm)->field.le_next;			\
-+	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_REPLACE(elm, elm2, field) do {				\
-+	if (((elm2)->field.le_next = (elm)->field.le_next) != NULL)	\
-+		(elm2)->field.le_next->field.le_prev =			\
-+		    &(elm2)->field.le_next;				\
-+	(elm2)->field.le_prev = (elm)->field.le_prev;			\
-+	*(elm2)->field.le_prev = (elm2);				\
-+	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Simple queue definitions.
-+ */
-+#define	SIMPLEQ_HEAD(name, type)					\
-+struct name {								\
-+	struct type *sqh_first;	/* first element */			\
-+	struct type **sqh_last;	/* addr of last next element */		\
-+}
-+
-+#define	SIMPLEQ_HEAD_INITIALIZER(head)					\
-+	{ NULL, &(head).sqh_first }
-+
-+#define	SIMPLEQ_ENTRY(type)						\
-+struct {								\
-+	struct type *sqe_next;	/* next element */			\
-+}
-+
-+/*
-+ * Simple queue access methods.
-+ */
-+#define	SIMPLEQ_FIRST(head)		((head)->sqh_first)
-+#define	SIMPLEQ_END(head)		NULL
-+#define	SIMPLEQ_EMPTY(head)		((head)->sqh_first == SIMPLEQ_END(head))
-+#define	SIMPLEQ_NEXT(elm, field)	((elm)->field.sqe_next)
-+
-+#define	SIMPLEQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->sqh_first);				\
-+	    (var) != SIMPLEQ_END(head);					\
-+	    (var) = ((var)->field.sqe_next))
-+
-+#define	SIMPLEQ_FOREACH_SAFE(var, head, field, next)			\
-+	for ((var) = ((head)->sqh_first);				\
-+	    (var) != SIMPLEQ_END(head) &&				\
-+	    ((next = ((var)->field.sqe_next)), 1);			\
-+	    (var) = (next))
-+
-+/*
-+ * Simple queue functions.
-+ */
-+#define	SIMPLEQ_INIT(head) do {						\
-+	(head)->sqh_first = NULL;					\
-+	(head)->sqh_last = &(head)->sqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
-+	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+	(head)->sqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
-+	(elm)->field.sqe_next = NULL;					\
-+	*(head)->sqh_last = (elm);					\
-+	(head)->sqh_last = &(elm)->field.sqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+	(listelm)->field.sqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_REMOVE_HEAD(head, field) do {				\
-+	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
-+		(head)->sqh_last = &(head)->sqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do {			\
-+	if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \
-+	    == NULL)							\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->sqh_first == (elm)) {				\
-+		SIMPLEQ_REMOVE_HEAD((head), field);			\
-+	} else {							\
-+		struct type *curelm = (head)->sqh_first;		\
-+		while (curelm->field.sqe_next != (elm))			\
-+			curelm = curelm->field.sqe_next;		\
-+		if ((curelm->field.sqe_next =				\
-+			curelm->field.sqe_next->field.sqe_next) == NULL) \
-+			    (head)->sqh_last = &(curelm)->field.sqe_next; \
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_CONCAT(head1, head2) do {				\
-+	if (!SIMPLEQ_EMPTY((head2))) {					\
-+		*(head1)->sqh_last = (head2)->sqh_first;		\
-+		(head1)->sqh_last = (head2)->sqh_last;		\
-+		SIMPLEQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_LAST(head, type, field)					\
-+	(SIMPLEQ_EMPTY((head)) ?						\
-+		NULL :							\
-+	        ((struct type *)(void *)				\
-+		((char *)((head)->sqh_last) - offsetof(struct type, field))))
-+
-+/*
-+ * Tail queue definitions.
-+ */
-+#define	_TAILQ_HEAD(name, type, qual)					\
-+struct name {								\
-+	qual type *tqh_first;		/* first element */		\
-+	qual type *qual *tqh_last;	/* addr of last next element */	\
-+}
-+#define TAILQ_HEAD(name, type)	_TAILQ_HEAD(name, struct type,)
-+
-+#define	TAILQ_HEAD_INITIALIZER(head)					\
-+	{ TAILQ_END(head), &(head).tqh_first }
-+
-+#define	_TAILQ_ENTRY(type, qual)					\
-+struct {								\
-+	qual type *tqe_next;		/* next element */		\
-+	qual type *qual *tqe_prev;	/* address of previous next element */\
-+}
-+#define TAILQ_ENTRY(type)	_TAILQ_ENTRY(struct type,)
-+
-+/*
-+ * Tail queue access methods.
-+ */
-+#define	TAILQ_FIRST(head)		((head)->tqh_first)
-+#define	TAILQ_END(head)			(NULL)
-+#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
-+#define	TAILQ_LAST(head, headname) \
-+	(*(((struct headname *)((head)->tqh_last))->tqh_last))
-+#define	TAILQ_PREV(elm, headname, field) \
-+	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-+#define	TAILQ_EMPTY(head)		(TAILQ_FIRST(head) == TAILQ_END(head))
-+
-+
-+#define	TAILQ_FOREACH(var, head, field)					\
-+	for ((var) = ((head)->tqh_first);				\
-+	    (var) != TAILQ_END(head);					\
-+	    (var) = ((var)->field.tqe_next))
-+
-+#define	TAILQ_FOREACH_SAFE(var, head, field, next)			\
-+	for ((var) = ((head)->tqh_first);				\
-+	    (var) != TAILQ_END(head) &&					\
-+	    ((next) = TAILQ_NEXT(var, field), 1); (var) = (next))
-+
-+#define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
-+	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));\
-+	    (var) != TAILQ_END(head);					\
-+	    (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
-+
-+#define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev)	\
-+	for ((var) = TAILQ_LAST((head), headname);			\
-+	    (var) != TAILQ_END(head) && 				\
-+	    ((prev) = TAILQ_PREV((var), headname, field), 1); (var) = (prev))
-+
-+/*
-+ * Tail queue functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)			\
-+	if ((head)->tqh_first &&					\
-+	    (head)->tqh_first->field.tqe_prev != &(head)->tqh_first)	\
-+		QUEUEDEBUG_ABORT("TAILQ_INSERT_HEAD %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)			\
-+	if (*(head)->tqh_last != NULL)					\
-+		QUEUEDEBUG_ABORT("TAILQ_INSERT_TAIL %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_OP(elm, field)					\
-+	if ((elm)->field.tqe_next &&					\
-+	    (elm)->field.tqe_next->field.tqe_prev !=			\
-+	    &(elm)->field.tqe_next)					\
-+		QUEUEDEBUG_ABORT("TAILQ_* forw %p %s:%d", (elm),	\
-+		    __FILE__, __LINE__);				\
-+	if (*(elm)->field.tqe_prev != (elm))				\
-+		QUEUEDEBUG_ABORT("TAILQ_* back %p %s:%d", (elm),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)			\
-+	if ((elm)->field.tqe_next == NULL &&				\
-+	    (head)->tqh_last != &(elm)->field.tqe_next)			\
-+		QUEUEDEBUG_ABORT("TAILQ_PREREMOVE head %p elm %p %s:%d",\
-+		    (head), (elm), __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)				\
-+	(elm)->field.tqe_next = (void *)1L;				\
-+	(elm)->field.tqe_prev = (void *)1L;
-+#else
-+#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_OP(elm, field)
-+#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	TAILQ_INIT(head) do {						\
-+	(head)->tqh_first = TAILQ_END(head);				\
-+	(head)->tqh_last = &(head)->tqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_HEAD(head, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field)		\
-+	if (((elm)->field.tqe_next = (head)->tqh_first) != TAILQ_END(head))\
-+		(head)->tqh_first->field.tqe_prev =			\
-+		    &(elm)->field.tqe_next;				\
-+	else								\
-+		(head)->tqh_last = &(elm)->field.tqe_next;		\
-+	(head)->tqh_first = (elm);					\
-+	(elm)->field.tqe_prev = &(head)->tqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_TAIL(head, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field)		\
-+	(elm)->field.tqe_next = TAILQ_END(head);			\
-+	(elm)->field.tqe_prev = (head)->tqh_last;			\
-+	*(head)->tqh_last = (elm);					\
-+	(head)->tqh_last = &(elm)->field.tqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
-+	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != 	\
-+	    TAILQ_END(head))						\
-+		(elm)->field.tqe_next->field.tqe_prev = 		\
-+		    &(elm)->field.tqe_next;				\
-+	else								\
-+		(head)->tqh_last = &(elm)->field.tqe_next;		\
-+	(listelm)->field.tqe_next = (elm);				\
-+	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
-+	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
-+	(elm)->field.tqe_next = (listelm);				\
-+	*(listelm)->field.tqe_prev = (elm);				\
-+	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_REMOVE(head, elm, field) do {				\
-+	QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field)		\
-+	QUEUEDEBUG_TAILQ_OP((elm), field)				\
-+	if (((elm)->field.tqe_next) != TAILQ_END(head))			\
-+		(elm)->field.tqe_next->field.tqe_prev = 		\
-+		    (elm)->field.tqe_prev;				\
-+	else								\
-+		(head)->tqh_last = (elm)->field.tqe_prev;		\
-+	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
-+	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_REPLACE(head, elm, elm2, field) do {			\
-+        if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != 	\
-+	    TAILQ_END(head))   						\
-+                (elm2)->field.tqe_next->field.tqe_prev =		\
-+                    &(elm2)->field.tqe_next;				\
-+        else								\
-+                (head)->tqh_last = &(elm2)->field.tqe_next;		\
-+        (elm2)->field.tqe_prev = (elm)->field.tqe_prev;			\
-+        *(elm2)->field.tqe_prev = (elm2);				\
-+	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_CONCAT(head1, head2, field) do {				\
-+	if (!TAILQ_EMPTY(head2)) {					\
-+		*(head1)->tqh_last = (head2)->tqh_first;		\
-+		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
-+		(head1)->tqh_last = (head2)->tqh_last;			\
-+		TAILQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Singly-linked Tail queue declarations.
-+ */
-+#define	STAILQ_HEAD(name, type)						\
-+struct name {								\
-+	struct type *stqh_first;	/* first element */		\
-+	struct type **stqh_last;	/* addr of last next element */	\
-+}
-+
-+#define	STAILQ_HEAD_INITIALIZER(head)					\
-+	{ NULL, &(head).stqh_first }
-+
-+#define	STAILQ_ENTRY(type)						\
-+struct {								\
-+	struct type *stqe_next;	/* next element */			\
-+}
-+
-+/*
-+ * Singly-linked Tail queue access methods.
-+ */
-+#define	STAILQ_FIRST(head)	((head)->stqh_first)
-+#define	STAILQ_END(head)	NULL
-+#define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
-+#define	STAILQ_EMPTY(head)	(STAILQ_FIRST(head) == STAILQ_END(head))
-+
-+/*
-+ * Singly-linked Tail queue functions.
-+ */
-+#define	STAILQ_INIT(head) do {						\
-+	(head)->stqh_first = NULL;					\
-+	(head)->stqh_last = &(head)->stqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_HEAD(head, elm, field) do {			\
-+	if (((elm)->field.stqe_next = (head)->stqh_first) == NULL)	\
-+		(head)->stqh_last = &(elm)->field.stqe_next;		\
-+	(head)->stqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_TAIL(head, elm, field) do {			\
-+	(elm)->field.stqe_next = NULL;					\
-+	*(head)->stqh_last = (elm);					\
-+	(head)->stqh_last = &(elm)->field.stqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
-+		(head)->stqh_last = &(elm)->field.stqe_next;		\
-+	(listelm)->field.stqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_REMOVE_HEAD(head, field) do {				\
-+	if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
-+		(head)->stqh_last = &(head)->stqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->stqh_first == (elm)) {				\
-+		STAILQ_REMOVE_HEAD((head), field);			\
-+	} else {							\
-+		struct type *curelm = (head)->stqh_first;		\
-+		while (curelm->field.stqe_next != (elm))			\
-+			curelm = curelm->field.stqe_next;		\
-+		if ((curelm->field.stqe_next =				\
-+			curelm->field.stqe_next->field.stqe_next) == NULL) \
-+			    (head)->stqh_last = &(curelm)->field.stqe_next; \
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->stqh_first);				\
-+		(var);							\
-+		(var) = ((var)->field.stqe_next))
-+
-+#define	STAILQ_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = STAILQ_FIRST((head));				\
-+	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
-+	    (var) = (tvar))
-+
-+#define	STAILQ_CONCAT(head1, head2) do {				\
-+	if (!STAILQ_EMPTY((head2))) {					\
-+		*(head1)->stqh_last = (head2)->stqh_first;		\
-+		(head1)->stqh_last = (head2)->stqh_last;		\
-+		STAILQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_LAST(head, type, field)					\
-+	(STAILQ_EMPTY((head)) ?						\
-+		NULL :							\
-+	        ((struct type *)(void *)				\
-+		((char *)((head)->stqh_last) - offsetof(struct type, field))))
-+
-+
-+#ifndef _KERNEL
-+/*
-+ * Circular queue definitions. Do not use. We still keep the macros
-+ * for compatibility but because of pointer aliasing issues their use
-+ * is discouraged!
-+ */
-+
-+/*
-+ * __launder_type():  We use this ugly hack to work around the the compiler
-+ * noticing that two types may not alias each other and elide tests in code.
-+ * We hit this in the CIRCLEQ macros when comparing 'struct name *' and
-+ * 'struct type *' (see CIRCLEQ_HEAD()).  Modern compilers (such as GCC
-+ * 4.8) declare these comparisons as always false, causing the code to
-+ * not run as designed.
-+ *
-+ * This hack is only to be used for comparisons and thus can be fully const.
-+ * Do not use for assignment.
-+ *
-+ * If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
-+ * this by changing the head/tail sentinal values, but see the note above
-+ * this one.
-+ */
-+static __inline const void * __launder_type(const void *);
-+static __inline const void *
-+__launder_type(const void *__x)
-+{
-+	__asm __volatile("" : "+r" (__x));
-+	return __x;
-+}
-+
-+#if defined(QUEUEDEBUG)
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)				\
-+	if ((head)->cqh_first != CIRCLEQ_ENDC(head) &&			\
-+	    (head)->cqh_first->field.cqe_prev != CIRCLEQ_ENDC(head))	\
-+		QUEUEDEBUG_ABORT("CIRCLEQ head forw %p %s:%d", (head),	\
-+		      __FILE__, __LINE__);				\
-+	if ((head)->cqh_last != CIRCLEQ_ENDC(head) &&			\
-+	    (head)->cqh_last->field.cqe_next != CIRCLEQ_ENDC(head))	\
-+		QUEUEDEBUG_ABORT("CIRCLEQ head back %p %s:%d", (head),	\
-+		      __FILE__, __LINE__);
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)			\
-+	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) {		\
-+		if ((head)->cqh_last != (elm))				\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm last %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	} else {							\
-+		if ((elm)->field.cqe_next->field.cqe_prev != (elm))	\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm forw %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	}								\
-+	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) {		\
-+		if ((head)->cqh_first != (elm))				\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm first %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	} else {							\
-+		if ((elm)->field.cqe_prev->field.cqe_next != (elm))	\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm prev %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	}
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)			\
-+	(elm)->field.cqe_next = (void *)1L;				\
-+	(elm)->field.cqe_prev = (void *)1L;
-+#else
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	CIRCLEQ_HEAD(name, type)					\
-+struct name {								\
-+	struct type *cqh_first;		/* first element */		\
-+	struct type *cqh_last;		/* last element */		\
-+}
-+
-+#define	CIRCLEQ_HEAD_INITIALIZER(head)					\
-+	{ CIRCLEQ_END(&head), CIRCLEQ_END(&head) }
-+
-+#define	CIRCLEQ_ENTRY(type)						\
-+struct {								\
-+	struct type *cqe_next;		/* next element */		\
-+	struct type *cqe_prev;		/* previous element */		\
-+}
-+
-+/*
-+ * Circular queue functions.
-+ */
-+#define	CIRCLEQ_INIT(head) do {						\
-+	(head)->cqh_first = CIRCLEQ_END(head);				\
-+	(head)->cqh_last = CIRCLEQ_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
-+	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
-+	(elm)->field.cqe_prev = (listelm);				\
-+	if ((listelm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_last = (elm);				\
-+	else								\
-+		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
-+	(listelm)->field.cqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
-+	(elm)->field.cqe_next = (listelm);				\
-+	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
-+	if ((listelm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_first = (elm);				\
-+	else								\
-+		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
-+	(listelm)->field.cqe_prev = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	(elm)->field.cqe_next = (head)->cqh_first;			\
-+	(elm)->field.cqe_prev = CIRCLEQ_END(head);			\
-+	if ((head)->cqh_last == CIRCLEQ_ENDC(head))			\
-+		(head)->cqh_last = (elm);				\
-+	else								\
-+		(head)->cqh_first->field.cqe_prev = (elm);		\
-+	(head)->cqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	(elm)->field.cqe_next = CIRCLEQ_END(head);			\
-+	(elm)->field.cqe_prev = (head)->cqh_last;			\
-+	if ((head)->cqh_first == CIRCLEQ_ENDC(head))			\
-+		(head)->cqh_first = (elm);				\
-+	else								\
-+		(head)->cqh_last->field.cqe_next = (elm);		\
-+	(head)->cqh_last = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_REMOVE(head, elm, field) do {				\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (elm), field)			\
-+	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_last = (elm)->field.cqe_prev;		\
-+	else								\
-+		(elm)->field.cqe_next->field.cqe_prev =			\
-+		    (elm)->field.cqe_prev;				\
-+	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_first = (elm)->field.cqe_next;		\
-+	else								\
-+		(elm)->field.cqe_prev->field.cqe_next =			\
-+		    (elm)->field.cqe_next;				\
-+	QUEUEDEBUG_CIRCLEQ_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->cqh_first);				\
-+		(var) != CIRCLEQ_ENDC(head);				\
-+		(var) = ((var)->field.cqe_next))
-+
-+#define	CIRCLEQ_FOREACH_REVERSE(var, head, field)			\
-+	for ((var) = ((head)->cqh_last);				\
-+		(var) != CIRCLEQ_ENDC(head);				\
-+		(var) = ((var)->field.cqe_prev))
-+
-+/*
-+ * Circular queue access methods.
-+ */
-+#define	CIRCLEQ_FIRST(head)		((head)->cqh_first)
-+#define	CIRCLEQ_LAST(head)		((head)->cqh_last)
-+/* For comparisons */
-+#define	CIRCLEQ_ENDC(head)		(__launder_type(head))
-+/* For assignments */
-+#define	CIRCLEQ_END(head)		((void *)(head))
-+#define	CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
-+#define	CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
-+#define	CIRCLEQ_EMPTY(head)						\
-+    (CIRCLEQ_FIRST(head) == CIRCLEQ_ENDC(head))
-+
-+#define CIRCLEQ_LOOP_NEXT(head, elm, field)				\
-+	(((elm)->field.cqe_next == CIRCLEQ_ENDC(head))			\
-+	    ? ((head)->cqh_first)					\
-+	    : (elm->field.cqe_next))
-+#define CIRCLEQ_LOOP_PREV(head, elm, field)				\
-+	(((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))			\
-+	    ? ((head)->cqh_last)					\
-+	    : (elm->field.cqe_prev))
-+#endif /* !_KERNEL */
-+
-+#endif	/* !_SYS_QUEUE_H_ */
diff --git a/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch b/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
deleted file mode 100644
index d7f4968669..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From e51d67549b516b2dac6c71d92c8499f6e67125ad Mon Sep 17 00:00:00 2001
-From: Thorsten Kukuk <kukuk@thkukuk.de>
-Date: Tue, 14 Nov 2017 10:43:53 -0500
-Subject: [PATCH] Fix typo in src/libtirpc.map
-
-Which prevents that key_secretkey_is_set will be exported.
-
-Signed-off-by: Thorsten Kukuk <kukuk@suse.de>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/libtirpc.map | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libtirpc.map b/src/libtirpc.map
-index f385de5..21d6065 100644
---- a/src/libtirpc.map
-+++ b/src/libtirpc.map
-@@ -298,7 +298,7 @@ TIRPC_0.3.2 {
-     key_gendes;
-     key_get_conv;
-     key_setsecret;
--    key_secret_is_set;
-+    key_secretkey_is_set;
-     key_setnet;
-     netname2host;
-     netname2user;
--- 
-1.8.3.1
diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
new file mode 100644
index 0000000000..6d40d3cce8
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
@@ -0,0 +1,103 @@
+Patch from Fedora https://src.fedoraproject.org/rpms/libtirpc/raw/master/f/libtirpc-1.0.4-rc1.patch
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff --git a/src/clnt_generic.c b/src/clnt_generic.c
+index e5a314f..3f3dabf 100644
+--- a/src/clnt_generic.c
++++ b/src/clnt_generic.c
+@@ -47,7 +47,6 @@
+ 
+ extern bool_t __rpc_is_local_host(const char *);
+ int __rpc_raise_fd(int);
+-extern int __binddynport(int fd);
+ 
+ #ifndef NETIDLEN
+ #define	NETIDLEN 32
+@@ -341,8 +340,7 @@ clnt_tli_create(int fd, const struct netconfig *nconf,
+ 		servtype = nconf->nc_semantics;
+ 		if (!__rpc_fd2sockinfo(fd, &si))
+ 			goto err;
+-		if (__binddynport(fd) == -1)
+-			goto err;
++		bindresvport(fd, NULL);
+ 	} else {
+ 		if (!__rpc_fd2sockinfo(fd, &si))
+ 			goto err;
+diff --git a/src/rpc_soc.c b/src/rpc_soc.c
+index af6c482..5a6eeb7 100644
+--- a/src/rpc_soc.c
++++ b/src/rpc_soc.c
+@@ -67,8 +67,6 @@
+ 
+ extern mutex_t	rpcsoc_lock;
+ 
+-extern int __binddynport(int fd);
+-
+ static CLIENT *clnt_com_create(struct sockaddr_in *, rpcprog_t, rpcvers_t,
+     int *, u_int, u_int, char *, int);
+ static SVCXPRT *svc_com_create(int, u_int, u_int, char *);
+@@ -147,8 +145,7 @@ clnt_com_create(raddr, prog, vers, sockp, sendsz, recvsz, tp, flags)
+ 	bindaddr.maxlen = bindaddr.len =  sizeof (struct sockaddr_in);
+ 	bindaddr.buf = raddr;
+ 
+-	if (__binddynport(fd) == -1)
+-		goto err;
++	bindresvport(fd, NULL);
+ 	cl = clnt_tli_create(fd, nconf, &bindaddr, prog, vers,
+ 				sendsz, recvsz);
+ 	if (cl) {
+diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
+index a94fc73..4b44364 100644
+--- a/src/rpcb_clnt.c
++++ b/src/rpcb_clnt.c
+@@ -752,7 +752,7 @@ __try_protocol_version_2(program, version, nconf, host, tp)
+ 
+ 	client = getpmaphandle(nconf, host, &parms.r_addr);
+ 	if (client == NULL)
+-		return (NULL);
++		goto error;
+ 
+ 	/*
+ 	 * Set retry timeout.
+@@ -771,11 +771,11 @@ __try_protocol_version_2(program, version, nconf, host, tp)
+ 	if (clnt_st != RPC_SUCCESS) {
+ 		rpc_createerr.cf_stat = RPC_PMAPFAILURE;
+ 		clnt_geterr(client, &rpc_createerr.cf_error);
+-		return (NULL);
++		goto error;
+ 	} else if (port == 0) {
+ 		pmapaddress = NULL;
+ 		rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED;
+-		return (NULL);
++		goto error;
+ 	}
+ 	port = htons(port);
+ 	CLNT_CONTROL(client, CLGET_SVC_ADDR, (char *)&remote);
+@@ -789,14 +789,24 @@ __try_protocol_version_2(program, version, nconf, host, tp)
+ 			free(pmapaddress);
+ 			pmapaddress = NULL;
+ 		}
+-		return (NULL);
++		goto error;
+ 	}
+ 	memcpy(pmapaddress->buf, remote.buf, remote.len);
+ 	memcpy(&((char *)pmapaddress->buf)[sizeof (short)],
+ 			(char *)(void *)&port, sizeof (short));
+ 	pmapaddress->len = pmapaddress->maxlen = remote.len;
+ 
++	CLNT_DESTROY(client);
+ 	return pmapaddress;
++
++error:
++	if (client) {
++		CLNT_DESTROY(client);
++		client = NULL;
++
++	}
++	return (NULL);
++
+ }
+ #endif
+ 
diff --git a/meta/recipes-extended/libtirpc/libtirpc/musl.patch b/meta/recipes-extended/libtirpc/libtirpc/musl.patch
new file mode 100644
index 0000000000..0c3ce603ea
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/musl.patch
@@ -0,0 +1,18 @@
+Consider musl provided built-in defines
+
+Helps compile libtirpc with musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- ./tirpc/rpc/types.h.orig	2018-03-17 10:23:10.022055255 +0100
++++ ./tirpc/rpc/types.h	2018-03-17 10:23:30.877751656 +0100
+@@ -66,7 +66,7 @@
+ #define mem_free(ptr, bsize)	free(ptr)
+ 
+ 
+-#if defined __APPLE_CC__ || defined __FreeBSD__
++#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined(__GLIBC__)
+ # define __u_char_defined
+ # define __daddr_t_defined
+ #endif
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb b/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
similarity index 63%
rename from meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
rename to meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
index 99212600e0..17bc038d67 100644
--- a/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
+++ b/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
@@ -10,17 +10,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
 PROVIDES = "virtual/librpc"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
-           file://export_key_secretkey_is_set.patch \
-           file://0001-replace-__bzero-with-memset-API.patch \
-           file://0001-include-stdint.h-for-uintptr_t.patch \
+           file://libtirpc-1.0.4-rc1.patch \
+           file://musl.patch \
            "
 
-SRC_URI_append_libc-musl = " \
-                             file://Use-netbsd-queue.h.patch \
-                           "
-
-SRC_URI[md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6"
-SRC_URI[sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5"
+SRC_URI[md5sum] = "f8403a10695348854e71d525c4db5931"
+SRC_URI[sha256sum] = "86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e"
 
 inherit autotools pkgconfig
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 15/24] libnsl: Upgrade to tip beyond 1.2.0 release
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (13 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 14/24] libtirpc: Upgrade to 1.0.4-tc1 Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 16/24] ltp: Fix build after removing rpc and libnsl in glibc Khem Raj
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-include-sys-cdefs.h-explicitly.patch | 68 -------------------
 ...de-stdint.h-for-uintptr_t-definition.patch | 27 --------
 .../0002-Define-glibc-specific-macros.patch   | 57 ----------------
 meta/recipes-extended/libnsl/libnsl2_git.bb   |  8 +--
 4 files changed, 2 insertions(+), 158 deletions(-)
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch

diff --git a/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch b/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
deleted file mode 100644
index bd647ac55e..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 508a0ff690dfebc17c4f55a5f81824ed549bed66 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Apr 2017 09:13:33 -0700
-Subject: [PATCH 1/2] include sys/cdefs.h explicitly
-
-glibc includes this header indirectly but not musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/rpcsvc/nis.h    | 1 +
- src/rpcsvc/nislib.h | 1 +
- src/rpcsvc/ypclnt.h | 1 +
- src/rpcsvc/ypupd.h  | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
-index 933c4d9..88cbca0 100644
---- a/src/rpcsvc/nis.h
-+++ b/src/rpcsvc/nis.h
-@@ -32,6 +32,7 @@
- #ifndef _RPCSVC_NIS_H
- #define _RPCSVC_NIS_H 1
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- #include <rpc/rpc.h>
- #include <rpcsvc/nis_tags.h>
-diff --git a/src/rpcsvc/nislib.h b/src/rpcsvc/nislib.h
-index a59c19b..a53fab3 100644
---- a/src/rpcsvc/nislib.h
-+++ b/src/rpcsvc/nislib.h
-@@ -19,6 +19,7 @@
- #ifndef	__RPCSVC_NISLIB_H__
- #define	__RPCSVC_NISLIB_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- __BEGIN_DECLS
-diff --git a/src/rpcsvc/ypclnt.h b/src/rpcsvc/ypclnt.h
-index fe43fd4..a686b61 100644
---- a/src/rpcsvc/ypclnt.h
-+++ b/src/rpcsvc/ypclnt.h
-@@ -20,6 +20,7 @@
- #ifndef	__RPCSVC_YPCLNT_H__
- #define	__RPCSVC_YPCLNT_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- /* Some defines */
-diff --git a/src/rpcsvc/ypupd.h b/src/rpcsvc/ypupd.h
-index d07fd4d..2c57301 100644
---- a/src/rpcsvc/ypupd.h
-+++ b/src/rpcsvc/ypupd.h
-@@ -33,6 +33,7 @@
- #ifndef __RPCSVC_YPUPD_H__
- #define __RPCSVC_YPUPD_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- #include <rpc/rpc.h>
--- 
-2.12.2
-
diff --git a/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch b/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
deleted file mode 100644
index e9ae517107..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d71cbeb3b76e54778a4d5eec6d387cce653537ca Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 9 Jun 2017 09:49:35 -0700
-Subject: [PATCH] nis_call.c: Include stdint.h for uintptr_t definition
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/nisplus/nis_call.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/nisplus/nis_call.c b/src/nisplus/nis_call.c
-index 1a2b90c..1dc982d 100644
---- a/src/nisplus/nis_call.c
-+++ b/src/nisplus/nis_call.c
-@@ -23,6 +23,7 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <string.h>
-+#include <stdint.h>
- #include <libintl.h>
- #include <rpc/rpc.h>
- #include <rpc/auth.h>
--- 
-2.13.1
-
diff --git a/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch b/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
deleted file mode 100644
index 75fda4b0f0..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 60282514ea01af004d7f9e66dd3929223b7d2e7b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Apr 2017 09:16:12 -0700
-Subject: [PATCH 2/2] Define glibc specific macros
-
-Check and define
-rawmemchr, __asprintf, __mempcpy, __strtok_r
-__always_inline, TEMP_FAILURE_RETRY
-
-if not existing. Helps compiling with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
-diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
-index 88cbca0..23fc20c 100644
---- a/src/rpcsvc/nis.h
-+++ b/src/rpcsvc/nis.h
-@@ -57,6 +57,34 @@ __BEGIN_DECLS
-  *                                              <kukuk@suse.de>
-  */
- 
-+#ifndef rawmemchr
-+#define rawmemchr(s,c) memchr((s),(size_t)-1,(c))
-+#endif
-+
-+#ifndef __asprintf
-+#define __asprintf asprintf
-+#endif
-+
-+#ifndef __mempcpy
-+#define __mempcpy mempcpy
-+#endif
-+
-+#ifndef __strtok_r
-+#define __strtok_r strtok_r
-+#endif
-+
-+#ifndef __always_inline
-+#define __always_inline __attribute__((__always_inline__))
-+#endif
-+
-+#ifndef TEMP_FAILURE_RETRY
-+#define TEMP_FAILURE_RETRY(exp) ({ \
-+typeof (exp) _rc; \
-+ do { \
-+  _rc = (exp); \
-+ } while (_rc == -1 && errno == EINTR); \
-+ _rc; })
-+#endif
- 
- #ifndef __nis_object_h
- #define __nis_object_h
--- 
-2.12.2
-
diff --git a/meta/recipes-extended/libnsl/libnsl2_git.bb b/meta/recipes-extended/libnsl/libnsl2_git.bb
index a539148caf..c6ba80c943 100644
--- a/meta/recipes-extended/libnsl/libnsl2_git.bb
+++ b/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -9,16 +9,12 @@ LICENSE = "LGPL-2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 SECTION = "libs"
 DEPENDS = "libtirpc"
-DEPENDS_append_libc-musl = " bsd-headers"
 
-PV = "1.0.5+git${SRCPV}"
+PV = "1.2.0+git${SRCPV}"
 
-SRCREV = "dfa2f313524aff9243c4d8ce1bace73786478356"
+SRCREV = "37c5ffe3038d42e9fa9ed232ad2cbca4d8f14681"
 
 SRC_URI = "git://github.com/thkukuk/libnsl \
-           file://0001-include-sys-cdefs.h-explicitly.patch \
-           file://0002-Define-glibc-specific-macros.patch \
-           file://0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch \
           "
 
 S = "${WORKDIR}/git"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 16/24] ltp: Fix build after removing rpc and libnsl in glibc
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (14 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 15/24] libnsl: Upgrade to tip beyond 1.2.0 release Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 17/24] xinetd: Use libtirpc even on glibc Khem Raj
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...0001-Disable-rpc01-on-glibc-and-musl.patch | 29 +++++++++++++++++++
 ...option-to-select-libc-implementation.patch | 14 ---------
 meta/recipes-extended/ltp/ltp_20180118.bb     |  1 +
 3 files changed, 30 insertions(+), 14 deletions(-)
 create mode 100644 meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch

diff --git a/meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch b/meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch
new file mode 100644
index 0000000000..78c6dfb2b1
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch
@@ -0,0 +1,29 @@
+From ff39e6b69f0b26dad8ab685ee6116ff92bc363db Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 Apr 2018 00:08:55 -0700
+Subject: [PATCH] Disable rpc01 on glibc and musl
+
+It is not buildable with libtirpc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ testcases/network/rpc/basic_tests/Makefile | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
+index 66e9d5675..16a64e7da 100644
+--- a/testcases/network/rpc/basic_tests/Makefile
++++ b/testcases/network/rpc/basic_tests/Makefile
+@@ -23,4 +23,7 @@
+ top_srcdir		?= ../../../..
+ 
+ include $(top_srcdir)/include/mk/env_pre.mk
++
++FILTER_OUT_DIRS += rpc01
++
+ include $(top_srcdir)/include/mk/generic_trunk_target.mk
+-- 
+2.17.0
+
diff --git a/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
index 84ab37ea39..0781ba1743 100644
--- a/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
+++ b/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
@@ -102,20 +102,6 @@ Index: git/testcases/network/nfsv4/acl/Makefile
 +endif
 +
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
-Index: git/testcases/network/rpc/basic_tests/Makefile
-===================================================================
---- git.orig/testcases/network/rpc/basic_tests/Makefile
-+++ git/testcases/network/rpc/basic_tests/Makefile
-@@ -23,4 +23,9 @@
- top_srcdir		?= ../../../..
- 
- include $(top_srcdir)/include/mk/env_pre.mk
-+
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_DIRS += rpc01
-+endif
-+
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
 Index: git/testcases/realtime/func/pi-tests/Makefile
 ===================================================================
 --- git.orig/testcases/realtime/func/pi-tests/Makefile
diff --git a/meta/recipes-extended/ltp/ltp_20180118.bb b/meta/recipes-extended/ltp/ltp_20180118.bb
index 14fb41b3bd..8992f1b0f2 100644
--- a/meta/recipes-extended/ltp/ltp_20180118.bb
+++ b/meta/recipes-extended/ltp/ltp_20180118.bb
@@ -45,6 +45,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
            file://0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch \
            file://0040-safe_macros-make-is_fuse-return-zero-if-fs_type-is-N.patch \
+           file://0001-Disable-rpc01-on-glibc-and-musl.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 17/24] xinetd: Use libtirpc even on glibc
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (15 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 16/24] ltp: Fix build after removing rpc and libnsl in glibc Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 18/24] tcp-wrapper: Use external libnsl Khem Raj
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

We dropped in-tree obsoleted rpc from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/xinetd/xinetd_2.3.15.bb | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
index 1beb5456e1..6e43f5be6f 100644
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
+++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
@@ -6,8 +6,7 @@ HOMEPAGE = "https://github.com/xinetd-org/xinetd"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8ad8615198542444f84d28a6cf226dd8"
 
-DEPENDS = ""
-DEPENDS_append_libc-musl = " libtirpc "
+DEPENDS += "libtirpc"
 PR = "r2"
 
 # Blacklist a bogus tag in upstream check
@@ -42,8 +41,8 @@ EXTRA_OECONF="--disable-nls"
 PACKAGECONFIG ??= "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
 
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
-LDFLAGS_append_libc-musl = " -ltirpc "
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+LDFLAGS += "-ltirpc"
 
 do_configure() {
 	# Looks like configure.in is broken, so we are skipping
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 18/24] tcp-wrapper: Use external libnsl
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (16 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 17/24] xinetd: Use libtirpc even on glibc Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 19/24] Use libtirpc even on glibc Khem Raj
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

We dropped in-tree obsoleted libnsl from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 3ece8c3012..0f50674653 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -8,6 +8,7 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
 PR ="r10"
 
+DEPENDS += "libnsl2"
 
 PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
 FILES_libwrap = "${base_libdir}/lib*${SOLIBS}"
@@ -67,7 +68,6 @@ EXTRA_OEMAKE = "'CC=${CC}' \
                 'KILL_OPT=-DKILL_IP_OPTIONS' \
                 'UMASK=-DDAEMON_UMASK=022' \
                 'NETGROUP=${EXTRA_OEMAKE_NETGROUP}' \
-                'LIBS=-lnsl' \
                 'ARFLAGS=rv' \
                 'AUX_OBJ=weak_symbols.o' \
                 'TLI=' \
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 19/24] Use libtirpc even on glibc
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (17 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 18/24] tcp-wrapper: Use external libnsl Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 20/24] perl: Account for libnsl being dropped from glibc Khem Raj
                   ` (5 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

We dropped in-tree obsoleted rpc from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/watchdog/watchdog_5.15.bb | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-extended/watchdog/watchdog_5.15.bb
index 37b37ae12f..24791c4170 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.15.bb
@@ -22,12 +22,13 @@ SRC_URI[sha256sum] = "ffdc865137ad5d8e53664bd22bad4de6ca136d1b4636720320cb52af0c
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
 UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
 
-inherit autotools update-rc.d systemd
+inherit autotools update-rc.d systemd pkgconfig
 
-DEPENDS_append_libc-musl = " libtirpc "
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
-LDFLAGS_append_libc-musl = " -ltirpc "
-EXTRA_OECONF_append_libc-musl = " --disable-nfs "
+DEPENDS += "libtirpc"
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+LDFLAGS += "-ltirpc"
+
+EXTRA_OECONF += " --disable-nfs "
 
 INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 20/24] perl: Account for libnsl being dropped from glibc
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (18 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 19/24] Use libtirpc even on glibc Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 21/24] mdadm: Fix build with gcc8 Khem Raj
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

-lnsl needs to be removed even on glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/perl/perl_5.24.1.bb b/meta/recipes-devtools/perl/perl_5.24.1.bb
index 53a426289a..6b16689386 100644
--- a/meta/recipes-devtools/perl/perl_5.24.1.bb
+++ b/meta/recipes-devtools/perl/perl_5.24.1.bb
@@ -145,7 +145,6 @@ do_configure() {
                        -e "s,\(i_fcntl=\)'undef',\1'define',g" \
                        -e "s,\(h_fcntl=\)'false',\1'true',g" \
                        -e "s,-fstack-protector,-fno-stack-protector,g" \
-                       -e "s,-lnsl,,g" \
                     config.sh-${TARGET_ARCH}-${TARGET_OS}
         fi
 
@@ -158,6 +157,7 @@ do_configure() {
                -e "s,@BASELIBDIR@,${base_libdir},g" \
                -e "s,@EXECPREFIX@,${exec_prefix},g" \
                -e 's,@USRBIN@,${bindir},g' \
+               -e "s,-lnsl,,g" \
             config.sh-${TARGET_ARCH}-${TARGET_OS}
 
 	case "${TARGET_ARCH}" in
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 21/24] mdadm: Fix build with gcc8
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (19 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 20/24] perl: Account for libnsl being dropped from glibc Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 22/24] libnsl2: Install into /usr/include and /usr/lib Khem Raj
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...able-errors-due-to-new-gcc8-warnings.patch | 30 ++++++++++++++++++
 ...tead-of-memcpy-on-overlapping-region.patch | 31 +++++++++++++++++++
 meta/recipes-extended/mdadm/mdadm_4.0.bb      |  2 ++
 3 files changed, 63 insertions(+)
 create mode 100644 meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch

diff --git a/meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch b/meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
new file mode 100644
index 0000000000..003d8d059b
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
@@ -0,0 +1,30 @@
+From aeee2c585d3bf2470691f570ace80c4d75fe871a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 Apr 2018 09:39:57 -0700
+Subject: [PATCH] Disable errors due to new gcc8 warnings
+
+This is needed until
+https://bugzilla.redhat.com/show_bug.cgi?id=1553958
+
+is fixed
+
+Upstream-Status: Inappropriate [Workaround]
+
+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 a04d82a..a893120 100644
+--- a/Makefile
++++ b/Makefile
+@@ -43,7 +43,7 @@ KLIBC_GCC = gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIB
+ 
+ CC ?= $(CROSS_COMPILE)gcc
+ CXFLAGS ?= -ggdb
+-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
++CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wno-error=format-overflow -Wno-error=format-truncation -Wno-error=stringop-truncation
+ ifdef WARN_UNUSED
+ CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+ endif
diff --git a/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch b/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
new file mode 100644
index 0000000000..44351b6569
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
@@ -0,0 +1,31 @@
+From ab18f04cf89ef4e8521c81c50477e1363b2d333b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 Apr 2018 09:46:12 -0700
+Subject: [PATCH] use memmove instead of memcpy on overlapping region
+
+Fixes
+super0.c:526:3: error: 'memcpy' accessing 3936 bytes at offsets 156 and 160 overlaps 3932 bytes at offset 160 [-Werror=restrict]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ super0.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/super0.c b/super0.c
+index f5b4507..264b598 100644
+--- a/super0.c
++++ b/super0.c
+@@ -523,7 +523,7 @@ static int update_super0(struct supertype *st, struct mdinfo *info,
+ 		 * up 4 bytes before continuing
+ 		 */
+ 		__u32 *sb32 = (__u32*)sb;
+-		memcpy(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
++		memmove(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
+ 		       sb32+MD_SB_GENERIC_CONSTANT_WORDS+7+1,
+ 		       (MD_SB_WORDS - (MD_SB_GENERIC_CONSTANT_WORDS+7+1))*4);
+ 		if (verbose >= 0)
+-- 
+2.17.0
+
diff --git a/meta/recipes-extended/mdadm/mdadm_4.0.bb b/meta/recipes-extended/mdadm/mdadm_4.0.bb
index dc098f19b6..097875110c 100644
--- a/meta/recipes-extended/mdadm/mdadm_4.0.bb
+++ b/meta/recipes-extended/mdadm/mdadm_4.0.bb
@@ -22,6 +22,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
            file://0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch \
            file://0005-Add-a-comment-to-indicate-valid-fallthrough.patch \
            file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
+           file://0001-Disable-errors-due-to-new-gcc8-warnings.patch \
+           file://0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch \
            "
 SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
 SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 22/24] libnsl2: Install into /usr/include and /usr/lib
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (20 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 21/24] mdadm: Fix build with gcc8 Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 23/24] ppp: Install net/ppp_defs.h on musl Khem Raj
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

Extend to native and nativesdk variants

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/libnsl/libnsl2_git.bb | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/meta/recipes-extended/libnsl/libnsl2_git.bb b/meta/recipes-extended/libnsl/libnsl2_git.bb
index c6ba80c943..c3a24face1 100644
--- a/meta/recipes-extended/libnsl/libnsl2_git.bb
+++ b/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -21,13 +21,4 @@ S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig gettext
 
-EXTRA_OECONF += "--libdir=${libdir}/nsl --includedir=${includedir}/nsl"
-
-do_install_append() {
-	install -d ${D}${libdir}
-	mv ${D}${libdir}/nsl/pkgconfig ${D}${libdir}
-}
-
-FILES_${PN} += "${libdir}/nsl/*.so.*"
-FILES_${PN}-dev += "${includedir}/nsl ${libdir}/nsl/*.so"
-FILES_${PN}-staticdev += "${libdir}/nsl/*.a"
+BBCLASSEXTEND = "native nativesdk"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 23/24] ppp: Install net/ppp_defs.h on musl
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (21 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 22/24] libnsl2: Install into /usr/include and /usr/lib Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 19:36 ` [PATCH 24/24] allarch.bbclass: Exclude package_do_shlibs from do_package signature Khem Raj
  2018-04-29 20:04 ` ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc Patchwork
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

This header is used by other apps e.g. ippool
glibc provides an internal version which it should not

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-connectivity/ppp/ppp_2.4.7.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.7.bb b/meta/recipes-connectivity/ppp/ppp_2.4.7.bb
index a5f764f6ec..a1bb7d71c1 100644
--- a/meta/recipes-connectivity/ppp/ppp_2.4.7.bb
+++ b/meta/recipes-connectivity/ppp/ppp_2.4.7.bb
@@ -80,6 +80,10 @@ do_install_append () {
 	chmod u+s ${D}${sbindir}/pppd
 }
 
+do_install_append_libc-musl () {
+	install -Dm 0644 ${S}/include/net/ppp_defs.h ${D}${includedir}/net/ppp_defs.h
+}
+
 CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
 PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
 FILES_${PN}        = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_unitdir}/system/ppp@.service"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 24/24] allarch.bbclass: Exclude package_do_shlibs from do_package signature
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (22 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 23/24] ppp: Install net/ppp_defs.h on musl Khem Raj
@ 2018-04-29 19:36 ` Khem Raj
  2018-04-29 20:04 ` ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc Patchwork
  24 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-29 19:36 UTC (permalink / raw)
  To: openembedded-core

shlibs is largely useless for allarch, the particular usecase where it
fails is when DISTRO_FEATURE is changing due to libc being different e.g.

Variable package_do_shlibs value changed:
-DISTRO_FEATURES{ldconfig} = Set
+DISTRO_FEATURES{ldconfig} = Unset

musl -> glibc or other way around 'ldconfig' gets added or deleted to
DISTRO_FEATURE set, neither this distro feature nor the shlibs processing
during packaging is of interest to allarch packages which are largely
arch independent scripts

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/allarch.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 51ba509cd0..1eebe0bf2e 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -45,6 +45,7 @@ python () {
         # These multilib values shouldn't change allarch packages so exclude them
         d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS")
         d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS")
+        d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs")
     elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d):
         bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE"))
 }
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 30+ messages in thread

* ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc
  2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (23 preceding siblings ...)
  2018-04-29 19:36 ` [PATCH 24/24] allarch.bbclass: Exclude package_do_shlibs from do_package signature Khem Raj
@ 2018-04-29 20:04 ` Patchwork
  24 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2018-04-29 20:04 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core

== Series Details ==

Series: ssp rework and glibc drop obsolete nsl/rpc
Revision: 1
URL   : https://patchwork.openembedded.org/series/11950/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Patch            [19/24] Use libtirpc even on glibc
 Issue             Shortlog does not follow expected format [test_shortlog_format] 
  Suggested fix    Commit shortlog (first line of commit message) should follow the format "<target>: <summary>"



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 10/24] ruby: Upgrade to 1.5.1
  2018-04-29 19:35 ` [PATCH 10/24] ruby: Upgrade to 1.5.1 Khem Raj
@ 2018-04-30 13:35   ` Martin Jansa
  2018-04-30 14:17     ` Khem Raj
  0 siblings, 1 reply; 30+ messages in thread
From: Martin Jansa @ 2018-04-30 13:35 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 2885 bytes --]

There is typo in commit summary, it's 2.5.1 not 1.5.1

On Sun, Apr 29, 2018 at 9:35 PM, Khem Raj <raj.khem@gmail.com> wrote:

> License Update: https://github.com/ruby/ruby/commit/
> 322d0d93adfe42fc89c574f67bcb9acb9b82f251#diff-
> c53151ffd180a17416e8f09b1ca4bfc3
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-devtools/ruby/ruby.inc                   | 11 +++++------
>  .../ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb}             |  4 ++--
>  2 files changed, 7 insertions(+), 8 deletions(-)
>  rename meta/recipes-devtools/ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb} (90%)
>
> diff --git a/meta/recipes-devtools/ruby/ruby.inc
> b/meta/recipes-devtools/ruby/ruby.inc
> index fd3911ba75..a366e93f66 100644
> --- a/meta/recipes-devtools/ruby/ruby.inc
> +++ b/meta/recipes-devtools/ruby/ruby.inc
> @@ -7,12 +7,11 @@ It is simple, straight-forward, and extensible. \
>  HOMEPAGE = "http://www.ruby-lang.org/"
>  SECTION = "devel/ruby"
>  LICENSE = "Ruby | BSD | GPLv2"
> -LIC_FILES_CHKSUM = "\
> -    file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \
> -    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\
> -    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\
> -    file://LEGAL;md5=8f871f3f03732c018a5fa9b185958231 \
> -"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \
> +                    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5 \
> +                    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> +                    file://LEGAL;md5=23a79bb4c1a40f6cc9bcb6f4e7c39799 \
> +                    "
>
>  DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline"
>  DEPENDS_class-native = "openssl-native libyaml-native"
> diff --git a/meta/recipes-devtools/ruby/ruby_2.5.0.bb
> b/meta/recipes-devtools/ruby/ruby_2.5.1.bb
> similarity index 90%
> rename from meta/recipes-devtools/ruby/ruby_2.5.0.bb
> rename to meta/recipes-devtools/ruby/ruby_2.5.1.bb
> index 1ac7f2aa5a..91048284c1 100644
> --- a/meta/recipes-devtools/ruby/ruby_2.5.0.bb
> +++ b/meta/recipes-devtools/ruby/ruby_2.5.1.bb
> @@ -5,8 +5,8 @@ SRC_URI += " \
>             file://ruby-CVE-2017-9228.patch \
>             "
>
> -SRC_URI[md5sum] = "f4711f856fe14de222b9da3d3b8efa89"
> -SRC_URI[sha256sum] = "46e6f3630f1888eb653b15fa811d77
> b5b1df6fd7a3af436b343cfe4f4503f2ab"
> +SRC_URI[md5sum] = "23867bc8c16c55e43b14dfe0614bcfa8"
> +SRC_URI[sha256sum] = "dac81822325b79c3ba9532b048c212
> 3357d3310b2b40024202f360251d9829b1"
>
>  # it's unknown to configure script, but then passed to extconf.rb
>  # maybe it's not really needed as we're hardcoding the result with
> --
> 2.17.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 4934 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 08/24] alsa-tools: Update to 1.1.6
  2018-04-29 19:35 ` [PATCH 08/24] alsa-tools: Update to 1.1.6 Khem Raj
@ 2018-04-30 13:37   ` Martin Jansa
  2018-04-30 14:17     ` Khem Raj
  0 siblings, 1 reply; 30+ messages in thread
From: Martin Jansa @ 2018-04-30 13:37 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 7666 bytes --]

On Sun, Apr 29, 2018 at 12:35:55PM -0700, Khem Raj wrote:
> License-Update: FSF address updated in hdsploader/COPYING and ld10k1/COPYING.LIB
> 
> Fix built with clang along the way
> 
> Package python dependent tools into a separate package
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> 
> xxx

^^^ Insert some pr0n here.

> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  ...served-user-defined-literal-warnings.patch | 28 +++++++++++++
>  .../alsa/alsa-tools/autotools.patch           | 42 ++++++++++++-------
>  ...lsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} | 25 ++++++++---
>  3 files changed, 75 insertions(+), 20 deletions(-)
>  create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
>  rename meta/recipes-multimedia/alsa/{alsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} (62%)
> 
> diff --git a/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
> new file mode 100644
> index 0000000000..2290915eab
> --- /dev/null
> +++ b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
> @@ -0,0 +1,28 @@
> +From 2e48e4045e1e951433da0ca4b1e49798eedde14f Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Tue, 24 Apr 2018 12:21:18 -0700
> +Subject: [PATCH] Fix clang -Wreserved-user-defined-literal warnings
> +
> +| us428control.cc:66:18: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
> +|         printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
> +|                         ^
> +
> +Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10360805/]
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + us428control/us428control.cc | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/us428control/us428control.cc b/us428control/us428control.cc
> +index e839bf4..8cb3c42 100644
> +--- a/us428control/us428control.cc
> ++++ b/us428control/us428control.cc
> +@@ -63,7 +63,7 @@ static void usage(void)
> + {
> + 	printf("Tascam US-428 Control\n");
> + 	printf("version %s\n", VERSION);
> +-	printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
> ++	printf("usage: " PROGNAME " [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
> + 	printf("mode is one of (us224, us428, mixxx)\n");
> + }
> + /*
> diff --git a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
> index 2e74963c89..c85834a593 100644
> --- a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
> +++ b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
> @@ -1,3 +1,8 @@
> +From b9a65bf3ba5628cfe8cfd2d10ce2dcf11a606775 Mon Sep 17 00:00:00 2001
> +From: Dongxiao Xu <dongxiao.xu@intel.com>
> +Date: Thu, 14 Jul 2011 15:40:36 +0800
> +Subject: [PATCH] alsa-tools: Fix recipe build error.
> +
>  Add parameters to autoreconf to support cross compile.
>  Remove some sub-components which needs further recipe support.
>  
> @@ -5,22 +10,17 @@ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
>  
>  Upstream-Status: Inappropriate [configuration]
>  
> -diff -ruN alsa-tools-1.0.24.1-orig//ld10k1/gitcompile alsa-tools-1.0.24.1/ld10k1/gitcompile
> ---- alsa-tools-1.0.24.1-orig//ld10k1/gitcompile	2011-07-06 11:27:40.227665002 +0800
> -+++ alsa-tools-1.0.24.1/ld10k1/gitcompile	2011-07-14 13:26:18.017665004 +0800
> -@@ -1,6 +1,6 @@
> - #!/bin/bash
> - 
> --autoreconf -fi || exit 1
> -+autoreconf $ACLOCAL_FLAGS -fi || exit 1
> - export CFLAGS='-O2 -Wall -pipe -g'
> - echo "CFLAGS=$CFLAGS"
> - echo "./configure $@"
> -diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
> ---- alsa-tools-1.0.24.1-orig//Makefile	2011-07-06 11:27:40.207665000 +0800
> -+++ alsa-tools-1.0.24.1/Makefile	2011-07-14 15:08:08.877665009 +0800
> +---
> + Makefile          | 4 ++--
> + ld10k1/gitcompile | 2 +-
> + 2 files changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index c32bf25..1119372 100644
> +--- a/Makefile
> ++++ b/Makefile
>  @@ -1,8 +1,8 @@
> - VERSION = 1.1.5
> + VERSION = 1.1.6
>   TOP = .
>  -SUBDIRS = as10k1 envy24control hdsploader hdspconf hdspmixer \
>  +SUBDIRS = as10k1 envy24control \
> @@ -30,3 +30,15 @@ diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
>   	  hwmixvolume hdajackretask hda-verb hdajacksensetest
>   
>   all:
> +diff --git a/ld10k1/gitcompile b/ld10k1/gitcompile
> +index 99429ac..20005d9 100755
> +--- a/ld10k1/gitcompile
> ++++ b/ld10k1/gitcompile
> +@@ -1,6 +1,6 @@
> + #!/bin/bash
> + 
> +-autoreconf -fi || exit 1
> ++autoreconf $ACLOCAL_FLAGS -fi || exit 1
> + export CFLAGS='-O2 -Wall -pipe -g'
> + echo "CFLAGS=$CFLAGS"
> + echo "./configure $@"
> diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
> similarity index 62%
> rename from meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
> rename to meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
> index 1be43aa6e7..e065eec6b8 100644
> --- a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
> +++ b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
> @@ -5,17 +5,19 @@ SECTION = "console/utils"
>  LICENSE = "GPLv2 & LGPLv2+"
>  DEPENDS = "alsa-lib ncurses glib-2.0"
>  
> -LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
> -                    file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
> +LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
> +                    file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \
> +                    "
>  
>  SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/${BP}.tar.bz2 \
>             file://autotools.patch \
>             ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)} \
>             file://gitcompile_hdajacksensetest \
> +           file://0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch \
>             "
>  
> -SRC_URI[md5sum] = "3afb92eb1b4f2edc8691498e57c3ec78"
> -SRC_URI[sha256sum] = "bc3c6567de835223ee7d69487b8c22fb395a2e8c613341b0c96e6a5f6a2bd534"
> +SRC_URI[md5sum] = "5ca8c9437ae779997cd62fb2815fef19"
> +SRC_URI[sha256sum] = "d69c4dc2fb641a974d9903e9eb78c94cb0c7ac6c45bae664f0c9d6c0a1593227"
>  
>  inherit autotools-brokensep pkgconfig
>  
> @@ -37,4 +39,17 @@ do_compile_prepend () {
>      cp ${WORKDIR}/gitcompile_hdajacksensetest ${S}/hdajacksensetest/gitcompile
>  }
>  
> -FILES_${PN} += "${datadir}/ld10k1"
> +do_install_append() {
> +    sed -i -e "s|/usr/bin/python2|/usr/bin/env python2|g" ${D}${bindir}/hwmixvolume
> +}
> +
> +PACKAGES =+ "${PN}-hwmixvolume"
> +
> +FILES_${PN}-hwmixvolume = "${bindir}/hwmixvolume"
> +
> +FILES_${PN} += "${datadir}/ld10k1 \
> +                ${datadir}/icons/hicolor \
> +               "
> +
> +RDEPENDS_${PN}-hwmixvolume += "python"
> +
> -- 
> 2.17.0
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 10/24] ruby: Upgrade to 1.5.1
  2018-04-30 13:35   ` Martin Jansa
@ 2018-04-30 14:17     ` Khem Raj
  0 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-30 14:17 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer

On Mon, Apr 30, 2018 at 6:35 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> There is typo in commit summary, it's 2.5.1 not 1.5.1
>

yes, fixed in v2

> On Sun, Apr 29, 2018 at 9:35 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> License Update:
>> https://github.com/ruby/ruby/commit/322d0d93adfe42fc89c574f67bcb9acb9b82f251#diff-c53151ffd180a17416e8f09b1ca4bfc3
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  meta/recipes-devtools/ruby/ruby.inc                   | 11 +++++------
>>  .../ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb}             |  4 ++--
>>  2 files changed, 7 insertions(+), 8 deletions(-)
>>  rename meta/recipes-devtools/ruby/{ruby_2.5.0.bb => ruby_2.5.1.bb} (90%)
>>
>> diff --git a/meta/recipes-devtools/ruby/ruby.inc
>> b/meta/recipes-devtools/ruby/ruby.inc
>> index fd3911ba75..a366e93f66 100644
>> --- a/meta/recipes-devtools/ruby/ruby.inc
>> +++ b/meta/recipes-devtools/ruby/ruby.inc
>> @@ -7,12 +7,11 @@ It is simple, straight-forward, and extensible. \
>>  HOMEPAGE = "http://www.ruby-lang.org/"
>>  SECTION = "devel/ruby"
>>  LICENSE = "Ruby | BSD | GPLv2"
>> -LIC_FILES_CHKSUM = "\
>> -    file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \
>> -    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\
>> -    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\
>> -    file://LEGAL;md5=8f871f3f03732c018a5fa9b185958231 \
>> -"
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \
>> +                    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5 \
>> +                    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>> +                    file://LEGAL;md5=23a79bb4c1a40f6cc9bcb6f4e7c39799 \
>> +                    "
>>
>>  DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline"
>>  DEPENDS_class-native = "openssl-native libyaml-native"
>> diff --git a/meta/recipes-devtools/ruby/ruby_2.5.0.bb
>> b/meta/recipes-devtools/ruby/ruby_2.5.1.bb
>> similarity index 90%
>> rename from meta/recipes-devtools/ruby/ruby_2.5.0.bb
>> rename to meta/recipes-devtools/ruby/ruby_2.5.1.bb
>> index 1ac7f2aa5a..91048284c1 100644
>> --- a/meta/recipes-devtools/ruby/ruby_2.5.0.bb
>> +++ b/meta/recipes-devtools/ruby/ruby_2.5.1.bb
>> @@ -5,8 +5,8 @@ SRC_URI += " \
>>             file://ruby-CVE-2017-9228.patch \
>>             "
>>
>> -SRC_URI[md5sum] = "f4711f856fe14de222b9da3d3b8efa89"
>> -SRC_URI[sha256sum] =
>> "46e6f3630f1888eb653b15fa811d77b5b1df6fd7a3af436b343cfe4f4503f2ab"
>> +SRC_URI[md5sum] = "23867bc8c16c55e43b14dfe0614bcfa8"
>> +SRC_URI[sha256sum] =
>> "dac81822325b79c3ba9532b048c2123357d3310b2b40024202f360251d9829b1"
>>
>>  # it's unknown to configure script, but then passed to extconf.rb
>>  # maybe it's not really needed as we're hardcoding the result with
>> --
>> 2.17.0
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 08/24] alsa-tools: Update to 1.1.6
  2018-04-30 13:37   ` Martin Jansa
@ 2018-04-30 14:17     ` Khem Raj
  0 siblings, 0 replies; 30+ messages in thread
From: Khem Raj @ 2018-04-30 14:17 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer

On Mon, Apr 30, 2018 at 6:37 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Sun, Apr 29, 2018 at 12:35:55PM -0700, Khem Raj wrote:
>> License-Update: FSF address updated in hdsploader/COPYING and ld10k1/COPYING.LIB
>>
>> Fix built with clang along the way
>>
>> Package python dependent tools into a separate package
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>
>> xxx
>
> ^^^ Insert some pr0n here.

rebase cruft. Fixed in v2

>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  ...served-user-defined-literal-warnings.patch | 28 +++++++++++++
>>  .../alsa/alsa-tools/autotools.patch           | 42 ++++++++++++-------
>>  ...lsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} | 25 ++++++++---
>>  3 files changed, 75 insertions(+), 20 deletions(-)
>>  create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
>>  rename meta/recipes-multimedia/alsa/{alsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} (62%)
>>
>> diff --git a/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
>> new file mode 100644
>> index 0000000000..2290915eab
>> --- /dev/null
>> +++ b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
>> @@ -0,0 +1,28 @@
>> +From 2e48e4045e1e951433da0ca4b1e49798eedde14f Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem@gmail.com>
>> +Date: Tue, 24 Apr 2018 12:21:18 -0700
>> +Subject: [PATCH] Fix clang -Wreserved-user-defined-literal warnings
>> +
>> +| us428control.cc:66:18: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
>> +|         printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
>> +|                         ^
>> +
>> +Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10360805/]
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +---
>> + us428control/us428control.cc | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/us428control/us428control.cc b/us428control/us428control.cc
>> +index e839bf4..8cb3c42 100644
>> +--- a/us428control/us428control.cc
>> ++++ b/us428control/us428control.cc
>> +@@ -63,7 +63,7 @@ static void usage(void)
>> + {
>> +     printf("Tascam US-428 Control\n");
>> +     printf("version %s\n", VERSION);
>> +-    printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
>> ++    printf("usage: " PROGNAME " [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
>> +     printf("mode is one of (us224, us428, mixxx)\n");
>> + }
>> + /*
>> diff --git a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
>> index 2e74963c89..c85834a593 100644
>> --- a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
>> +++ b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
>> @@ -1,3 +1,8 @@
>> +From b9a65bf3ba5628cfe8cfd2d10ce2dcf11a606775 Mon Sep 17 00:00:00 2001
>> +From: Dongxiao Xu <dongxiao.xu@intel.com>
>> +Date: Thu, 14 Jul 2011 15:40:36 +0800
>> +Subject: [PATCH] alsa-tools: Fix recipe build error.
>> +
>>  Add parameters to autoreconf to support cross compile.
>>  Remove some sub-components which needs further recipe support.
>>
>> @@ -5,22 +10,17 @@ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
>>
>>  Upstream-Status: Inappropriate [configuration]
>>
>> -diff -ruN alsa-tools-1.0.24.1-orig//ld10k1/gitcompile alsa-tools-1.0.24.1/ld10k1/gitcompile
>> ---- alsa-tools-1.0.24.1-orig//ld10k1/gitcompile      2011-07-06 11:27:40.227665002 +0800
>> -+++ alsa-tools-1.0.24.1/ld10k1/gitcompile    2011-07-14 13:26:18.017665004 +0800
>> -@@ -1,6 +1,6 @@
>> - #!/bin/bash
>> -
>> --autoreconf -fi || exit 1
>> -+autoreconf $ACLOCAL_FLAGS -fi || exit 1
>> - export CFLAGS='-O2 -Wall -pipe -g'
>> - echo "CFLAGS=$CFLAGS"
>> - echo "./configure $@"
>> -diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
>> ---- alsa-tools-1.0.24.1-orig//Makefile       2011-07-06 11:27:40.207665000 +0800
>> -+++ alsa-tools-1.0.24.1/Makefile     2011-07-14 15:08:08.877665009 +0800
>> +---
>> + Makefile          | 4 ++--
>> + ld10k1/gitcompile | 2 +-
>> + 2 files changed, 3 insertions(+), 3 deletions(-)
>> +
>> +diff --git a/Makefile b/Makefile
>> +index c32bf25..1119372 100644
>> +--- a/Makefile
>> ++++ b/Makefile
>>  @@ -1,8 +1,8 @@
>> - VERSION = 1.1.5
>> + VERSION = 1.1.6
>>   TOP = .
>>  -SUBDIRS = as10k1 envy24control hdsploader hdspconf hdspmixer \
>>  +SUBDIRS = as10k1 envy24control \
>> @@ -30,3 +30,15 @@ diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
>>         hwmixvolume hdajackretask hda-verb hdajacksensetest
>>
>>   all:
>> +diff --git a/ld10k1/gitcompile b/ld10k1/gitcompile
>> +index 99429ac..20005d9 100755
>> +--- a/ld10k1/gitcompile
>> ++++ b/ld10k1/gitcompile
>> +@@ -1,6 +1,6 @@
>> + #!/bin/bash
>> +
>> +-autoreconf -fi || exit 1
>> ++autoreconf $ACLOCAL_FLAGS -fi || exit 1
>> + export CFLAGS='-O2 -Wall -pipe -g'
>> + echo "CFLAGS=$CFLAGS"
>> + echo "./configure $@"
>> diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
>> similarity index 62%
>> rename from meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
>> rename to meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
>> index 1be43aa6e7..e065eec6b8 100644
>> --- a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
>> +++ b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
>> @@ -5,17 +5,19 @@ SECTION = "console/utils"
>>  LICENSE = "GPLv2 & LGPLv2+"
>>  DEPENDS = "alsa-lib ncurses glib-2.0"
>>
>> -LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
>> -                    file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
>> +LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
>> +                    file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \
>> +                    "
>>
>>  SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/${BP}.tar.bz2 \
>>             file://autotools.patch \
>>             ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)} \
>>             file://gitcompile_hdajacksensetest \
>> +           file://0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch \
>>             "
>>
>> -SRC_URI[md5sum] = "3afb92eb1b4f2edc8691498e57c3ec78"
>> -SRC_URI[sha256sum] = "bc3c6567de835223ee7d69487b8c22fb395a2e8c613341b0c96e6a5f6a2bd534"
>> +SRC_URI[md5sum] = "5ca8c9437ae779997cd62fb2815fef19"
>> +SRC_URI[sha256sum] = "d69c4dc2fb641a974d9903e9eb78c94cb0c7ac6c45bae664f0c9d6c0a1593227"
>>
>>  inherit autotools-brokensep pkgconfig
>>
>> @@ -37,4 +39,17 @@ do_compile_prepend () {
>>      cp ${WORKDIR}/gitcompile_hdajacksensetest ${S}/hdajacksensetest/gitcompile
>>  }
>>
>> -FILES_${PN} += "${datadir}/ld10k1"
>> +do_install_append() {
>> +    sed -i -e "s|/usr/bin/python2|/usr/bin/env python2|g" ${D}${bindir}/hwmixvolume
>> +}
>> +
>> +PACKAGES =+ "${PN}-hwmixvolume"
>> +
>> +FILES_${PN}-hwmixvolume = "${bindir}/hwmixvolume"
>> +
>> +FILES_${PN} += "${datadir}/ld10k1 \
>> +                ${datadir}/icons/hicolor \
>> +               "
>> +
>> +RDEPENDS_${PN}-hwmixvolume += "python"
>> +
>> --
>> 2.17.0
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2018-04-30 14:18 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-29 19:35 [PATCH 00/24] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
2018-04-29 19:35 ` [PATCH 01/24] libssp-nonshared: Add recipe Khem Raj
2018-04-29 19:35 ` [PATCH 02/24] musl: Depend on libssp-nonshared Khem Raj
2018-04-29 19:35 ` [PATCH 03/24] gcc-runtime: Disable gcc version of libssp Khem Raj
2018-04-29 19:35 ` [PATCH 04/24] libunwind: Drop adding libssp to linker flags Khem Raj
2018-04-29 19:35 ` [PATCH 05/24] musl: Upgrade to latest Khem Raj
2018-04-29 19:35 ` [PATCH 06/24] llvm: Fix [compile-host-path] QA issue Khem Raj
2018-04-29 19:35 ` [PATCH 07/24] pbzip2: Fix C++11 warnings found with clang Khem Raj
2018-04-29 19:35 ` [PATCH 08/24] alsa-tools: Update to 1.1.6 Khem Raj
2018-04-30 13:37   ` Martin Jansa
2018-04-30 14:17     ` Khem Raj
2018-04-29 19:35 ` [PATCH 09/24] alsa-lib: Upgrade " Khem Raj
2018-04-29 19:35 ` [PATCH 10/24] ruby: Upgrade to 1.5.1 Khem Raj
2018-04-30 13:35   ` Martin Jansa
2018-04-30 14:17     ` Khem Raj
2018-04-29 19:35 ` [PATCH 11/24] glibc: Drop obsolete rpc and libnsl Khem Raj
2018-04-29 19:35 ` [PATCH 12/24] rpcsvc-proto: Add recipe Khem Raj
2018-04-29 19:36 ` [PATCH 13/24] libnss-nis: " Khem Raj
2018-04-29 19:36 ` [PATCH 14/24] libtirpc: Upgrade to 1.0.4-tc1 Khem Raj
2018-04-29 19:36 ` [PATCH 15/24] libnsl: Upgrade to tip beyond 1.2.0 release Khem Raj
2018-04-29 19:36 ` [PATCH 16/24] ltp: Fix build after removing rpc and libnsl in glibc Khem Raj
2018-04-29 19:36 ` [PATCH 17/24] xinetd: Use libtirpc even on glibc Khem Raj
2018-04-29 19:36 ` [PATCH 18/24] tcp-wrapper: Use external libnsl Khem Raj
2018-04-29 19:36 ` [PATCH 19/24] Use libtirpc even on glibc Khem Raj
2018-04-29 19:36 ` [PATCH 20/24] perl: Account for libnsl being dropped from glibc Khem Raj
2018-04-29 19:36 ` [PATCH 21/24] mdadm: Fix build with gcc8 Khem Raj
2018-04-29 19:36 ` [PATCH 22/24] libnsl2: Install into /usr/include and /usr/lib Khem Raj
2018-04-29 19:36 ` [PATCH 23/24] ppp: Install net/ppp_defs.h on musl Khem Raj
2018-04-29 19:36 ` [PATCH 24/24] allarch.bbclass: Exclude package_do_shlibs from do_package signature Khem Raj
2018-04-29 20:04 ` ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.