poky: subtree update:835f7eac06..20946c63c2

Aaron Chan (1):
      python3-dbus: Add native and nativesdk variants

Adrian Bunk (8):
      gnome: Remove the gnome class
      bind: Remove RECIPE_NO_UPDATE_REASON and follow the ESV releases
      webkitgtk: Reenable on mips
      mtd-utils: Upgrade to 2.1.1
      Change ftp:// URIs to http(s)://
      webkitgtk: Stop disabling gold on aarch64 and mips
      grub/libmpc/gdb: Use GNU_MIRROR in more recipes
      screen: Backport fix for an implicit function declaration

Alexander Kanavin (28):
      btrfs-tools: update 5.1.1 -> 5.2.1
      libmodulemd: update to 2.6.0
      libwebp: upgrade 1.0.2 -> 1.0.3
      createrepo-c: upgrade 0.14.2 -> 0.14.3
      webkitgtk: upgrade 2.24.2 -> 2.24.3
      bzip2: fix upstream version check
      stress-ng: add a recipe that replaces the original stress
      meson: update 0.50.1 -> 0.51.1
      meson.bbclass: do not pass native compiler/linker flags via command line
      meson: add a backported patch to address vala cross-compilation errors
      libedit: fix upstream verison check
      maintainers.inc: assign acpica to Ross
      stress-ng: add a patch to remove unneeded bash dependency
      elfutils: use PRIVATE_LIBS for the ptest package
      apt: add a missing perl runtime dependency
      attr: add a missing perl runtime dependency
      ofono: correct the python3 runtime dependency
      bluez5: correct the python3 runtime dependency
      local.conf.sample: do not add sdl to nativesdk qemu config
      maintainers.inc: give python recipes to Oleksandr Kravchuk
      python-numpy: remove the python 2.x version of the recipe
      python-scons: remove the python 2.x version of the recipe
      python-nose: remove the python 2.x version of the recipe
      lib/oeqa/utils/qemurunner.py: add runqemuparams after kvm/nographic/snapshot/slirp
      mesa: enable glx-tls option in native and nativesdk builds
      insane.bbclass: in file-rdeps do not look into RDEPENDS recursively
      sudo: correct SRC_URI
      ovmf: fix upstream version check

Andreas Obergschwandtner (1):
      bzip2: set the autoconf package version to the recipe version

Anuj Mittal (11):
      mpg123: upgrade 1.25.10 -> 1.25.11
      libsdl: remove
      pulseaudio: don't include consolekit when systemd is enabled
      libsdl2: upgrade 2.0.9 -> 2.0.10
      grub: upgrade 2.02 -> 2.04
      patch: fix CVE-2019-13636
      python: fix CVE-2018-20852
      python: CVE-2019-9947 is same as CVE-2019-9740
      libtasn1: upgrade 4.13 -> 4.14
      pango: upgrade 1.42.4 -> 1.44.3
      harfbuzz: upgrade 2.4.0 -> 2.5.3

Bartosz Golaszewski (1):
      qemu: add a patch fixing the native build on newer kernels

Bedel, Alban (3):
      rng-tools: start rngd early in the boot process again
      kernel-uboot: remove useless special casing of arm64 Image
      boost: Fix build and enable context and coroutines on aarch64

Bruce Ashfield (2):
      linux-yocto/4.19: update to v4.19.61
      linux-yocto-dev: bump to 5.3-rcX

Changqing Li (6):
      runqemu: add lockfile for port used when slirp enabled
      runqemu: fix get portlock fail for multi users
      qemuboot-x86: move QB_SYSTEM_NAME to corresponding conf
      genericx86-64.conf/genericx86.conf: add QB_SYSTEM_NAME
      grub/grub-efi: fix conflict for aach64
      go-runtime: remove conflict files from -dev packages

Chen Qi (1):
      sudo: use nonarch_libdir instead of libdir for tmpfiles.d

Chin Huat Ang (1):
      cve-update-db-native: fix https proxy issues

Chris Laplante via bitbake-devel (1):
      bitbake: fetch2/wget: avoid 'maximum recursion depth' RuntimeErrors when handling 403 codes

Daniel Ammann (2):
      image_types: Remove remnants of hdddirect
      bitbake: toaster: Sync list of fs_types with oe-core

Denys Dmytriyenko (2):
      wayland-protocols: upgrade 1.17 -> 1.18
      weston: upgrade 6.0.0 -> 6.0.1

Diego Rondini (1):
      image_types.bbclass: make gzipped images rsyncable

Dmitry Eremin-Solenikov (1):
      kernel.bbclass: fix installation of modules signing certificates

Frederic Ouellet (1):
      systemd: Add partial support of drop-in configuration files to systemd-systemctl-native

Hongxu Jia (1):
      grub: add grub-native

Jason Wessel (6):
      sqlite3: Fix zlib determinism problem
      pseudo: Fix openat() with a symlink pointing to a directory
      image_types_wic.bbclass: Copy the .wks and .env files to deploy image dir
      wic: Add partition type for msdos partition tables
      wic: Make disk partition size consistently computed
      dpkg: Provide update-alternative for start-stop-daemon

Johann Fridriksson (1):
      ruby: Adding zlib-native to native dependencies

Joshua Lock via Openembedded-core (3):
      sstate: fix log message
      classes/sstate: don't use unsigned sstate when verification enabled
      classes/sstate: regenerate sstate when signing enabled

Joshua Watt (1):
      bitbake: hashserv: SQL Optimizations

Kai Kang (3):
      subversion: add packageconfig boost
      epiphany: set imcompatible with tune mips
      e2fsprogs: 1.44.5 -> 1.45.3

Khem Raj (23):
      strace: Upgrade to 5.2
      linux-libc-header: Fix ptrace.h and prctl.h conflict on aarch64
      libnss-nis: Fix build with glibc 2.30
      lttng-ust: Check for gettid libc API
      ltp: Fix build with glibc 2.30
      lttng-tools: Fix build with glibc 2.30
      xserver-xorg: Backport patch to remove using sys/io.h
      Apache-2.0-with-LLVM-exception: Add new license file
      libedit: Move from meta-oe
      groff: Fix math.h inclusion from system headers issue
      webkitgtk: Fix compile failures with clang
      glibc: Update to glibc 2.30
      virglrender: Fix endianness check on musl
      syslinux: Override hardcoded toolnames in Makefile
      systemd-boot: Add option to specify cross objcopy and use it
      mesa,llvm,meson: Update llvm to 8.0.1 plus define and use LLVM version globally
      musl: Update to master tip
      oeqa/buildgalculator.py: Add dependency on gtk+3
      oeqa/parselogs: grep for exact errors list keywords
      gcc-runtime: Move content from gcclibdir into libdir
      gdb: Do not set musl specific CFLAGS
      linuxloader: Add entries for riscv64
      musl: Delete GLIBC_LDSO before creating symlink with lnr

Luca Boccassi (1):
      python3-pygobject: remove python3-setuptools from RDEPENDS

Mads Andreasen (1):
      bitbake: fetch2/npm: Use npm pack to download node modules instead of wget

Mark Hatle (2):
      glibc-package.inc: Add linux-libc-headers-dev to glibc-dev
      bitbake: layerindexlib: Fix parsing of recursive layer dependencies

Martin Jansa (3):
      icecc.bbclass: catch subprocess.CalledProcessError
      powertop: import a fix from buildroot
      meson: backport fix for builds with -Werror=return-type

Ming Liu (5):
      libx11-compose-data: add recipe
      libxkbcommon: RDEPENDS on libx11 compose data
      weston: change to use meson build system
      license_image.bbclass: drop invalid comments
      opensbi: handle deploy task under sstate

Naveen Saini (2):
      gdk-pixbuf: enable x11 PACKAGECONFIG option
      image_types_wic: add syslinux-native dependency conditional

Oleksandr Kravchuk (17):
      python3-pip: update to 19.2.1
      python3-git: update to 2.1.12
      ethtool: update to 5.2
      python3-git: update to 2.1.13
      xorgproto: update to 2019.1
      xserver-xorg: update to 1.20.5
      ell: update to 0.21
      libinput: update to 1.14.0
      wpa-supplicant: update to 2.9
      aspell: update to 0.60.7
      linux-firmware: add PE back
      xf86-input-libinput: update to 0.29.0
      git: update to 2.22.1
      xrandr: update to 1.5.1
      python3-git: update to 3.0.0
      librepo: update to 1.10.5
      libevent: update to 2.1.11

Pascal Bach (2):
      cmake: 3.14.5 -> 3.15.1
      cmake: 3.15.1 -> 3.15.2

Paul Eggleton (2):
      scripts/create-pull-request: improve handling of non-SSH remote URLs
      scripts/create-pull-request: fix putting subject containing / into cover letter

Piotr Tworek (2):
      pulseaudio: Backport upstream fix new alsa compatibility.
      libdrm: Move amdgpu.ids file into libdrm-amdgpu package.

Randy MacLeod (1):
      ptest-runner: update from 2.3.1 to 2.3.2

Rasmus Villemoes (1):
      iproute2: drop pointless configure-cross.patch

Ricardo Neri (5):
      ovmf: Update to version edk2-stable201905
      ovmf: Set PV
      ovmf: Use HOSTTOOLS' python3
      ovmf: Generate test Platform key and first Key Exchange Key
      runqemu: Add support to handle EnrollDefaultKeys PK/KEK1 certificate

Ricardo Ribalda Delgado (2):
      packagegroup-core-base-utils: Make it machine specific
      inetutils: Fix abort on invalid files

Richard Purdie (50):
      package: Improve determinism
      sstate: Reduce race windows
      bitbake: siggen: Import unihash code from OE-Core
      bitbake: cache: Add SimpleCache class
      bitbake: runqueue: Improve scenequeue processing logic
      bitbake: siggen: Add new unitaskhashes data variable which is cached
      bitbake: siggen: Convert to use self.unitaskhashes
      bitbake: runqueue: Enable dynamic task adjustment to hash equivalency
      bitbake: runqueue: Improve determinism
      bitbake: cooker/hashserv: Allow autostarting of a local hash server using BB_HASHSERVE
      bitbake: hashserv: Turn off sqlite synchronous mode
      bitbake: prserv: Use a memory journal
      bitbake: hashserv: Use separate threads for answering requests and handling them
      bitbake: hashserv: Switch from threads to multiprocessing
      bitbake: runqueue: Clean up BB_HASHCHECK_FUNCTION API
      bitbake: siggen: Clean up task reference formats
      bitbake: build/utils: Drop bb.build.FuncFailed
      bitbake: tests/runqueue: Add hashserv+runqueue test
      bitbake: bitbake: Bump version to 1.43.1 for API changes
      sanity.conf: Require bitbake 1.43.1
      classes/lib: Remove bb.build.FuncFailed
      sstatesig: Move unihash siggen code to bitbake
      sstatesig: Add debug for incorrect hash server settings
      sstatesig: Adpat to recent bitbake hash equiv runqueue changes
      sstatesig: Update to handle BB_HASHSERVE
      sstate/sstatesig: Update to new form of BB_HASHCHECK_FUNCTION
      sstatesig: Updates to match bitbake siggen changes
      gstreamer: Add fix for glibc 2.30
      sstatesig: Fix leftover splitting issue from siggen change
      python3-pygobject: Add missing pkgutil RDEPENDS
      bitbake: runqueue: Fix corruption issue
      bitbake: runqueue: Improve setscene task handling logic
      bitbake: tests/runqueue: Add further hash equivalence tests
      bitbake: cooker: Improve hash server startup code to avoid exit tracebacks
      bitbake: runqueue: Wait for covered tasks to complete before trying setscene
      bitbake: runqueue: Fix next_buildable_task performance problem
      bitbake: runqueue: Improve scenequeue debugging
      bitbake: runqueue: Recompute holdoff tasks from scratch
      bitbake: runqueue: Fix event timing race
      bitbake: runqueue: Drop debug statement causing performance issues
      bitbake: runqueue: Add further debug information
      bitbake: runqueue: Add missing setscene task corner case
      bitbake: runqueue: Ensure we clear the stamp cache
      poky: Retire opensuse 42.3 from SANITY_TESTED_DISTROS
      gcc-cross-canadian: Drop obsolete shlibs exclusion
      bitbake: tests/runqueue: Fix tests
      bitbake: runqueue: Fix data corruption problem
      bitbake: runqueue: Ensure data is handled correctly
      bitbake: hashserv: Ensure we don't accumulate sockets in TIME_WAIT state
      bitbake: runqueue: Ensure target_tids is filtered

Robert Yang (3):
      bitbake: cooker: Cleanup the queue before call process.join()
      bitbake: knotty: Fix for the Second Keyboard Interrupt
      bitbake: bitbake: server/process: Handle BBHandledException to avoid unexpected exceptions

Ross Burton (23):
      libidn2: remove build paths from libidn2.pc
      gnutls: don't use HOSTTOOLS_DIR/bash as a shell on target
      libical: upgrade to 3.0.5
      perl: fix whitespace
      perl: add PACKAGECONFIG for db
      fortran-helloworld: neaten recipe
      python3: remove empty python3-distutils-staticdev
      python3: support recommends in manifest
      python3: split out the Windows distutils installer stubs
      insane: check if the recipe incorrectly uses DEPENDS_${PN}
      libxx86misc: remove this now redundant library
      xserver-xorg: clean up xorgproto dependencies
      xserver-xorg: add PACKAGECONFIG for DGA
      xdpyinfo: don't depend on DGA
      libxx86dga: remove obsolete client libary
      xserver-xorg: remove embedded build path in the source
      libx11: update to 1.6.8
      sanity: update for new bb.build.exec_func() behaviour
      libx11-diet: remove
      qemu: fix patch Upstream-Status
      xserver-xorg: refresh build path removal patch
      waffle: upgrade 1.5.2 -> 1.6.0
      libx11: replace libtool patch with upstreamed patch

Tim Blechmann (1):
      deb: allow custom dpkg command

Trevor Gamblin (2):
      gzip: update ptest package dependencies
      patch: fix CVE-2019-13638

Wenlin Kang (1):
      db: add switch for building database verification

Will Page (1):
      uboot: fixes to uboot-extlinux-config attribute values

William Bourque (1):
      meta/lib/oeqa: Remove ext4 for bootimg-biosplusefi

Yi Zhao (1):
      libx11-compose-data: upgrade 1.6.7 -> 1.6.8

Yuan Chao (4):
      glib-2.0:upgrade 2.60.5 -> 2.60.6
      nettle:upgrade 3.4.1 -> 3.5.1
      python3-pbr:upgrade 5.4.1 -> 5.4.2
      gpgme:upgrade 1.13.0 -> 1.13.1

Zang Ruochen (8):
      msmtp: upgrade 1.8.4 -> 1.8.5
      curl: upgrade 7.65.2 -> 7.65.3
      iso-codes: upgrade 4.2 -> 4.3
      python-scons:upgrade 3.0.5 -> 3.1.0
      libgudev:upgrade 232 -> 233
      libglu:upgrade 9.0.0 -> 9.0.1
      man-db:upgrade 2.8.5 -> 2.8.6.1
      libnewt:upgrade 0.52.20 -> 0.52.21

Zheng Ruoqin (1):
      python3-mako: 1.0.14 -> 1.1.0

Zoltan Kuscsik (1):
      kmscube: update to latest revision

Change-Id: I2cd1a0d59da46725b1aba5a79b63eb6121b3c79e
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/poky/meta/recipes-extended/bzip2/bzip2/configure.ac b/poky/meta/recipes-extended/bzip2/bzip2/configure.ac
index e2bf1bf..b8abade 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2/configure.ac
+++ b/poky/meta/recipes-extended/bzip2/bzip2/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ([2.57])
 
-AC_INIT(bzip2, 1.0.6)
+AC_INIT(bzip2, %BZIP2_VERSION%)
 AM_INIT_AUTOMAKE(foreign)
 AM_MAINTAINER_MODE
 
diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
index 73d933a..8e9b779 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
+++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -16,7 +16,6 @@
 SRC_URI[sha256sum] = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
 
 UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
-UPSTREAM_VERSION_UNKNOWN = "1"
 
 PACKAGES =+ "libbz2"
 
@@ -30,6 +29,10 @@
 #install binaries to bzip2-native under sysroot for replacement-native
 EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
 
+do_configure_prepend () {
+    sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac
+}
+
 do_install_ptest () {
 	sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
 }
diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index 7a0e38a..7c5d4f9 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,4 +1,4 @@
-From 2ca4c2492c4a06b28012e3e1033d10aa48f153b4 Mon Sep 17 00:00:00 2001
+From f8333f7759717b4d163cfe8e3ef8861c5a667324 Mon Sep 17 00:00:00 2001
 From: Tudor Florea <tudor.florea@enea.com>
 Date: Wed, 28 May 2014 18:59:54 +0200
 Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -9,16 +9,17 @@
 Signed-off-by: Tudor Florea <tudor.florea@enea.com>
 Upstream-Status: Inappropriate
 (default automake behavior incompatible with ptest)
+
 ---
  configure.ac | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 2941a65..b0a1896 100644
+index 2127fdb..4910e6f 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(ethtool, 5.1, netdev@vger.kernel.org)
+ AC_INIT(ethtool, 5.2, netdev@vger.kernel.org)
  AC_PREREQ(2.52)
  AC_CONFIG_SRCDIR([ethtool.c])
 -AM_INIT_AUTOMAKE([gnu])
@@ -26,6 +27,3 @@
  AC_CONFIG_HEADERS([ethtool-config.h])
  
  AM_MAINTAINER_MODE
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.2.bb
similarity index 87%
rename from poky/meta/recipes-extended/ethtool/ethtool_5.1.bb
rename to poky/meta/recipes-extended/ethtool/ethtool_5.2.bb
index d379d93..e9759bd 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb
+++ b/poky/meta/recipes-extended/ethtool/ethtool_5.2.bb
@@ -11,8 +11,8 @@
            file://avoid_parallel_tests.patch \
            "
 
-SRC_URI[md5sum] = "5d3aad86aec055348a37e867695a744a"
-SRC_URI[sha256sum] = "4edb1fa4d7cf5667a5958d4213f61609f96d02cda90d2b6ec440561f8f8ffbf2"
+SRC_URI[md5sum] = "79cff0d4af62b030ad28be90414b5c4a"
+SRC_URI[sha256sum] = "8ad6cb30f6e1767d9d23a5cb5f606f3b51f83e85ebf0153c1506194f6709e90b"
 
 inherit autotools ptest bash-completion
 
diff --git a/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch b/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch
new file mode 100644
index 0000000..348a61d
--- /dev/null
+++ b/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch
@@ -0,0 +1,1228 @@
+From 6cfa9f8126c1d6ec26f120d273e714fb19108873 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 4 Aug 2019 16:32:41 -0700
+Subject: [PATCH] Include config.h
+
+This helps avoid the include conflicts where <stdlib.h> is including
+<math.h> and since -I./lib is used and a local math.h wrapper is
+residing in there, the build breaks since stdlib.h really wants the
+standard system math.h to be included, this ensures that right macros
+are predefined and included before stdlib.h is included
+
+fixes
+In file included from src/libs/libgroff/assert.cpp:20:
+In file included from TOPDIR/build/tmp/work/aarch64-yoe-linux-musl/groff/1.22.4-r0/recipe-sysroot/usr/include/c++/v1/stdlib.h:100:
+./lib/math.h:38:3: error: "Please include config.h first."
+ #error "Please include config.h first."
+  ^
+./lib/math.h:40:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libs/libgroff/assert.cpp  |   4 +
+ src/libs/libgroff/curtime.cpp |   4 +
+ src/libs/libgroff/device.cpp  |   4 +
+ src/libs/libgroff/error.cpp   |   4 +
+ src/libs/libgroff/fatal.cpp   |   4 +
+ src/libs/libgroff/string.cpp  |   4 +
+ src/libs/libgroff/strsave.cpp |   4 +
+ src/preproc/eqn/eqn.cpp       | 450 ++++++++++++++++++----------------
+ src/preproc/eqn/eqn.hpp       |  12 +-
+ src/preproc/eqn/eqn.ypp       |   4 +
+ src/preproc/eqn/other.cpp     |   4 +
+ src/preproc/eqn/text.cpp      |   4 +
+ src/preproc/pic/object.cpp    |   4 +
+ 13 files changed, 285 insertions(+), 221 deletions(-)
+
+diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp
+index aceed05..97780d6 100644
+--- a/src/libs/libgroff/assert.cpp
++++ b/src/libs/libgroff/assert.cpp
+@@ -16,6 +16,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include "assert.h"
+diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp
+index 72fe067..9ddba08 100644
+--- a/src/libs/libgroff/curtime.cpp
++++ b/src/libs/libgroff/curtime.cpp
+@@ -15,6 +15,10 @@ for more details.
+ The GNU General Public License version 2 (GPL2) is available in the
+ internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <errno.h>
+ #include <limits.h>
+ #include <stdlib.h>
+diff --git a/src/libs/libgroff/device.cpp b/src/libs/libgroff/device.cpp
+index 0d28b85..c211f85 100644
+--- a/src/libs/libgroff/device.cpp
++++ b/src/libs/libgroff/device.cpp
+@@ -17,6 +17,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+ #include "device.h"
+ #include "defs.h"
+diff --git a/src/libs/libgroff/error.cpp b/src/libs/libgroff/error.cpp
+index 9a18803..7b63d3d 100644
+--- a/src/libs/libgroff/error.cpp
++++ b/src/libs/libgroff/error.cpp
+@@ -17,6 +17,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/src/libs/libgroff/fatal.cpp b/src/libs/libgroff/fatal.cpp
+index c0dcb35..fd6003e 100644
+--- a/src/libs/libgroff/fatal.cpp
++++ b/src/libs/libgroff/fatal.cpp
+@@ -16,6 +16,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+ 
+ #define FATAL_ERROR_EXIT_CODE 3
+diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
+index 46c015c..449f3a6 100644
+--- a/src/libs/libgroff/string.cpp
++++ b/src/libs/libgroff/string.cpp
+@@ -17,6 +17,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+ 
+ #include "lib.h"
+diff --git a/src/libs/libgroff/strsave.cpp b/src/libs/libgroff/strsave.cpp
+index f95c05e..d875045 100644
+--- a/src/libs/libgroff/strsave.cpp
++++ b/src/libs/libgroff/strsave.cpp
+@@ -17,6 +17,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <string.h>
+ #include <stdlib.h>
+ 
+diff --git a/src/preproc/eqn/eqn.cpp b/src/preproc/eqn/eqn.cpp
+index 4ede465..fdd9484 100644
+--- a/src/preproc/eqn/eqn.cpp
++++ b/src/preproc/eqn/eqn.cpp
+@@ -1,8 +1,9 @@
+-/* A Bison parser, made by GNU Bison 3.2.  */
++/* A Bison parser, made by GNU Bison 3.4.1.  */
+ 
+ /* Bison implementation for Yacc-like parsers in C
+ 
+-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
++   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
++   Inc.
+ 
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+@@ -47,7 +48,7 @@
+ #define YYBISON 1
+ 
+ /* Bison version.  */
+-#define YYBISON_VERSION "3.2"
++#define YYBISON_VERSION "3.4.1"
+ 
+ /* Skeleton name.  */
+ #define YYSKELETON_NAME "yacc.c"
+@@ -65,7 +66,11 @@
+ 
+ 
+ /* First part of user prologue.  */
+-#line 18 "../src/preproc/eqn/eqn.ypp" /* yacc.c:338  */
++#line 18 "src/preproc/eqn/eqn.ypp"
++
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
+ 
+ #include <stdio.h>
+ #include <string.h>
+@@ -77,7 +82,8 @@ extern int non_empty_flag;
+ int yylex();
+ void yyerror(const char *);
+ 
+-#line 81 "src/preproc/eqn/eqn.cpp" /* yacc.c:338  */
++#line 86 "src/preproc/eqn/eqn.cpp"
++
+ # ifndef YY_NULLPTR
+ #  if defined __cplusplus
+ #   if 201103L <= __cplusplus
+@@ -98,8 +104,8 @@ void yyerror(const char *);
+ # define YYERROR_VERBOSE 0
+ #endif
+ 
+-/* In a future release of Bison, this section will be replaced
+-   by #include "y.tab.h".  */
++/* Use api.header.include to #include this header
++   instead of duplicating it here.  */
+ #ifndef YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
+ # define YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
+ /* Debug traces.  */
+@@ -237,10 +243,9 @@ extern int yydebug;
+ 
+ /* Value type.  */
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+-
+ union YYSTYPE
+ {
+-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:353  */
++#line 34 "src/preproc/eqn/eqn.ypp"
+ 
+ 	char *str;
+ 	box *b;
+@@ -249,9 +254,9 @@ union YYSTYPE
+ 	int n;
+ 	column *col;
+ 
+-#line 253 "src/preproc/eqn/eqn.cpp" /* yacc.c:353  */
+-};
++#line 258 "src/preproc/eqn/eqn.cpp"
+ 
++};
+ typedef union YYSTYPE YYSTYPE;
+ # define YYSTYPE_IS_TRIVIAL 1
+ # define YYSTYPE_IS_DECLARED 1
+@@ -366,6 +371,8 @@ typedef short yytype_int16;
+ #endif
+ 
+ 
++#define YY_ASSERT(E) ((void) (0 && (E)))
++
+ #if ! defined yyoverflow || YYERROR_VERBOSE
+ 
+ /* The parser invokes alloca or malloc; define the necessary symbols.  */
+@@ -508,16 +515,16 @@ union yyalloc
+ /* YYNSTATES -- Number of states.  */
+ #define YYNSTATES  142
+ 
+-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+-   by yylex, with out-of-bounds checking.  */
+ #define YYUNDEFTOK  2
+ #define YYMAXUTOK   315
+ 
++/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
++   as returned by yylex, with out-of-bounds checking.  */
+ #define YYTRANSLATE(YYX)                                                \
+   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ 
+ /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+-   as returned by yylex, without out-of-bounds checking.  */
++   as returned by yylex.  */
+ static const yytype_uint8 yytranslate[] =
+ {
+        0,     2,     2,     2,     2,     2,     2,     2,     2,    63,
+@@ -558,14 +565,14 @@ static const yytype_uint8 yytranslate[] =
+   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+ static const yytype_uint16 yyrline[] =
+ {
+-       0,   121,   121,   123,   128,   130,   141,   143,   145,   150,
+-     152,   154,   156,   158,   163,   165,   167,   169,   174,   176,
+-     181,   183,   185,   190,   192,   194,   196,   198,   200,   202,
+-     204,   206,   208,   210,   212,   214,   216,   218,   220,   222,
+-     224,   226,   228,   230,   232,   234,   236,   238,   240,   242,
+-     244,   246,   248,   250,   252,   254,   259,   269,   271,   276,
+-     278,   283,   285,   290,   292,   297,   299,   304,   306,   308,
+-     310,   314,   316,   321,   323,   325
++       0,   125,   125,   127,   132,   134,   145,   147,   149,   154,
++     156,   158,   160,   162,   167,   169,   171,   173,   178,   180,
++     185,   187,   189,   194,   196,   198,   200,   202,   204,   206,
++     208,   210,   212,   214,   216,   218,   220,   222,   224,   226,
++     228,   230,   232,   234,   236,   238,   240,   242,   244,   246,
++     248,   250,   252,   254,   256,   258,   263,   273,   275,   280,
++     282,   287,   289,   294,   296,   301,   303,   308,   310,   312,
++     314,   318,   320,   325,   327,   329
+ };
+ #endif
+ 
+@@ -818,22 +825,22 @@ static const yytype_uint8 yyr2[] =
+ 
+ #define YYRECOVERING()  (!!yyerrstatus)
+ 
+-#define YYBACKUP(Token, Value)                                  \
+-do                                                              \
+-  if (yychar == YYEMPTY)                                        \
+-    {                                                           \
+-      yychar = (Token);                                         \
+-      yylval = (Value);                                         \
+-      YYPOPSTACK (yylen);                                       \
+-      yystate = *yyssp;                                         \
+-      goto yybackup;                                            \
+-    }                                                           \
+-  else                                                          \
+-    {                                                           \
+-      yyerror (YY_("syntax error: cannot back up")); \
+-      YYERROR;                                                  \
+-    }                                                           \
+-while (0)
++#define YYBACKUP(Token, Value)                                    \
++  do                                                              \
++    if (yychar == YYEMPTY)                                        \
++      {                                                           \
++        yychar = (Token);                                         \
++        yylval = (Value);                                         \
++        YYPOPSTACK (yylen);                                       \
++        yystate = *yyssp;                                         \
++        goto yybackup;                                            \
++      }                                                           \
++    else                                                          \
++      {                                                           \
++        yyerror (YY_("syntax error: cannot back up")); \
++        YYERROR;                                                  \
++      }                                                           \
++  while (0)
+ 
+ /* Error token number */
+ #define YYTERROR        1
+@@ -948,7 +955,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
+       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+       yy_symbol_print (stderr,
+                        yystos[yyssp[yyi + 1 - yynrhs]],
+-                       &(yyvsp[(yyi + 1) - (yynrhs)])
++                       &yyvsp[(yyi + 1) - (yynrhs)]
+                                               );
+       YYFPRINTF (stderr, "\n");
+     }
+@@ -1052,7 +1059,10 @@ yytnamerr (char *yyres, const char *yystr)
+           case '\\':
+             if (*++yyp != '\\')
+               goto do_not_strip_quotes;
+-            /* Fall through.  */
++            else
++              goto append;
++
++          append:
+           default:
+             if (yyres)
+               yyres[yyn] = *yyp;
+@@ -1148,10 +1158,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+                 yyarg[yycount++] = yytname[yyx];
+                 {
+                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+-                  if (! (yysize <= yysize1
+-                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
++                    yysize = yysize1;
++                  else
+                     return 2;
+-                  yysize = yysize1;
+                 }
+               }
+         }
+@@ -1175,9 +1185,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ 
+   {
+     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+-    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
++      yysize = yysize1;
++    else
+       return 2;
+-    yysize = yysize1;
+   }
+ 
+   if (*yymsg_alloc < yysize)
+@@ -1303,23 +1314,33 @@ yyparse (void)
+   yychar = YYEMPTY; /* Cause a token to be read.  */
+   goto yysetstate;
+ 
++
+ /*------------------------------------------------------------.
+-| yynewstate -- Push a new state, which is found in yystate.  |
++| yynewstate -- push a new state, which is found in yystate.  |
+ `------------------------------------------------------------*/
+- yynewstate:
++yynewstate:
+   /* In all cases, when you get here, the value and location stacks
+      have just been pushed.  So pushing a state here evens the stacks.  */
+   yyssp++;
+ 
+- yysetstate:
++
++/*--------------------------------------------------------------------.
++| yynewstate -- set current state (the top of the stack) to yystate.  |
++`--------------------------------------------------------------------*/
++yysetstate:
++  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+   *yyssp = (yytype_int16) yystate;
+ 
+   if (yyss + yystacksize - 1 <= yyssp)
++#if !defined yyoverflow && !defined YYSTACK_RELOCATE
++    goto yyexhaustedlab;
++#else
+     {
+       /* Get the current used size of the three stacks, in elements.  */
+       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
+ 
+-#ifdef yyoverflow
++# if defined yyoverflow
+       {
+         /* Give user a chance to reallocate the stack.  Use copies of
+            these so that the &'s don't force the real ones into
+@@ -1338,10 +1359,7 @@ yyparse (void)
+         yyss = yyss1;
+         yyvs = yyvs1;
+       }
+-#else /* no yyoverflow */
+-# ifndef YYSTACK_RELOCATE
+-      goto yyexhaustedlab;
+-# else
++# else /* defined YYSTACK_RELOCATE */
+       /* Extend the stack our own way.  */
+       if (YYMAXDEPTH <= yystacksize)
+         goto yyexhaustedlab;
+@@ -1357,12 +1375,11 @@ yyparse (void)
+           goto yyexhaustedlab;
+         YYSTACK_RELOCATE (yyss_alloc, yyss);
+         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+-#  undef YYSTACK_RELOCATE
++# undef YYSTACK_RELOCATE
+         if (yyss1 != yyssa)
+           YYSTACK_FREE (yyss1);
+       }
+ # endif
+-#endif /* no yyoverflow */
+ 
+       yyssp = yyss + yysize - 1;
+       yyvsp = yyvs + yysize - 1;
+@@ -1373,19 +1390,18 @@ yyparse (void)
+       if (yyss + yystacksize - 1 <= yyssp)
+         YYABORT;
+     }
+-
+-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+ 
+   if (yystate == YYFINAL)
+     YYACCEPT;
+ 
+   goto yybackup;
+ 
++
+ /*-----------.
+ | yybackup.  |
+ `-----------*/
+ yybackup:
+-
+   /* Do appropriate processing given the current state.  Read a
+      lookahead token if we need one and don't already have one.  */
+ 
+@@ -1443,7 +1459,6 @@ yybackup:
+   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+   *++yyvsp = yylval;
+   YY_IGNORE_MAYBE_UNINITIALIZED_END
+-
+   goto yynewstate;
+ 
+ 
+@@ -1458,7 +1473,7 @@ yydefault:
+ 
+ 
+ /*-----------------------------.
+-| yyreduce -- Do a reduction.  |
++| yyreduce -- do a reduction.  |
+ `-----------------------------*/
+ yyreduce:
+   /* yyn is the number of a rule to reduce with.  */
+@@ -1478,20 +1493,20 @@ yyreduce:
+   YY_REDUCE_PRINT (yyn);
+   switch (yyn)
+     {
+-        case 3:
+-#line 124 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++  case 3:
++#line 128 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].b)->top_level(); non_empty_flag = 1; }
+-#line 1485 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1500 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 4:
+-#line 129 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 133 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[0].b); }
+-#line 1491 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1506 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 5:
+-#line 131 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 135 "src/preproc/eqn/eqn.ypp"
+     {
+ 		  list_box *lb = (yyvsp[-1].b)->to_list_box();
+ 		  if (!lb)
+@@ -1499,436 +1514,437 @@ yyreduce:
+ 		  lb->append((yyvsp[0].b));
+ 		  (yyval.b) = lb;
+ 		}
+-#line 1503 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1518 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 6:
+-#line 142 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 146 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[0].b); }
+-#line 1509 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1524 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 7:
+-#line 144 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 148 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_mark_box((yyvsp[0].b)); }
+-#line 1515 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1530 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 8:
+-#line 146 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 150 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_lineup_box((yyvsp[0].b)); }
+-#line 1521 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1536 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 9:
+-#line 151 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 155 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[0].b); }
+-#line 1527 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1542 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 10:
+-#line 153 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 157 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_limit_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
+-#line 1533 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1548 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 11:
+-#line 155 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 159 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
+-#line 1539 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1554 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 12:
+-#line 157 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 161 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_limit_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1545 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1560 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 13:
+-#line 159 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 163 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_limit_box((yyvsp[-4].b), make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0), 0); }
+-#line 1551 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1566 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 14:
+-#line 164 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 168 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[0].b); }
+-#line 1557 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1572 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 15:
+-#line 166 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 170 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_sqrt_box((yyvsp[0].b)); }
+-#line 1563 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1578 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 16:
+-#line 168 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 172 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1569 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1584 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 17:
+-#line 170 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 174 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_small_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1575 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1590 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 18:
+-#line 175 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 179 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[0].b); }
+-#line 1581 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1596 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 19:
+-#line 177 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 181 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_script_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
+-#line 1587 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1602 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 20:
+-#line 182 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 186 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[0].b); }
+-#line 1593 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1608 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 21:
+-#line 184 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 188 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_script_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
+-#line 1599 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1614 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 22:
+-#line 186 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 190 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_script_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1605 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1620 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 23:
+-#line 191 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 195 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = split_text((yyvsp[0].str)); }
+-#line 1611 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1626 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 24:
+-#line 193 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 197 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
+-#line 1617 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1632 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 25:
+-#line 195 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 199 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = split_text((yyvsp[0].str)); }
+-#line 1623 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1638 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 26:
+-#line 197 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 201 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
+-#line 1629 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1644 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 27:
+-#line 199 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 203 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new half_space_box; }
+-#line 1635 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1650 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 28:
+-#line 201 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 205 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new space_box; }
+-#line 1641 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1656 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 29:
+-#line 203 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 207 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new tab_box; }
+-#line 1647 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1662 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 30:
+-#line 205 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 209 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[-1].b); }
+-#line 1653 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1668 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 31:
+-#line 207 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 211 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1659 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1674 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 32:
+-#line 209 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 213 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].pb)->set_alignment(LEFT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1665 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1680 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 33:
+-#line 211 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 215 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].pb)->set_alignment(RIGHT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1671 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1686 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 34:
+-#line 213 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 217 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1677 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1692 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 35:
+-#line 215 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 219 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = (yyvsp[-1].mb); }
+-#line 1683 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1698 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 36:
+-#line 217 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 221 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_delim_box((yyvsp[-3].str), (yyvsp[-2].b), (yyvsp[0].str)); }
+-#line 1689 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1704 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 37:
+-#line 219 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 223 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_delim_box((yyvsp[-1].str), (yyvsp[0].b), 0); }
+-#line 1695 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1710 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 38:
+-#line 221 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 225 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_overline_box((yyvsp[-1].b)); }
+-#line 1701 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1716 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 39:
+-#line 223 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 227 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_underline_box((yyvsp[-1].b)); }
+-#line 1707 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1722 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 40:
+-#line 225 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 229 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_prime_box((yyvsp[-1].b)); }
+-#line 1713 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1728 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 41:
+-#line 227 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 231 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_accent_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1719 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1734 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 42:
+-#line 229 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 233 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_uaccent_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1725 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1740 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 43:
+-#line 231 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 235 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new font_box(strsave(get_grfont()), (yyvsp[0].b)); }
+-#line 1731 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1746 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 44:
+-#line 233 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 237 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new font_box(strsave(get_gbfont()), (yyvsp[0].b)); }
+-#line 1737 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1752 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 45:
+-#line 235 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 239 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new font_box(strsave(get_gfont()), (yyvsp[0].b)); }
+-#line 1743 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1758 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 46:
+-#line 237 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 241 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new fat_box((yyvsp[0].b)); }
+-#line 1749 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1764 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 47:
+-#line 239 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 243 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new font_box((yyvsp[-1].str), (yyvsp[0].b)); }
+-#line 1755 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1770 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 48:
+-#line 241 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 245 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new size_box((yyvsp[-1].str), (yyvsp[0].b)); }
+-#line 1761 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1776 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 49:
+-#line 243 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 247 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new hmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1767 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1782 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 50:
+-#line 245 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 249 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new hmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1773 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1788 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 51:
+-#line 247 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 251 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new vmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1779 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1794 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 52:
+-#line 249 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 253 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new vmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1785 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1800 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 53:
+-#line 251 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 255 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].b)->set_spacing_type((yyvsp[-1].str)); (yyval.b) = (yyvsp[0].b); }
+-#line 1791 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1806 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 54:
+-#line 253 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 257 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = new vcenter_box((yyvsp[0].b)); }
+-#line 1797 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1812 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 55:
+-#line 255 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 259 "src/preproc/eqn/eqn.ypp"
+     { (yyval.b) = make_special_box((yyvsp[-1].str), (yyvsp[0].b)); }
+-#line 1803 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1818 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 56:
+-#line 260 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 264 "src/preproc/eqn/eqn.ypp"
+     {
+ 		  int n;
+ 		  if (sscanf((yyvsp[0].str), "%d", &n) == 1)
+ 		    (yyval.n) = n;
+ 		  a_delete (yyvsp[0].str);
+ 		}
+-#line 1814 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1829 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 57:
+-#line 270 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 274 "src/preproc/eqn/eqn.ypp"
+     { (yyval.pb) = new pile_box((yyvsp[0].b)); }
+-#line 1820 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1835 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 58:
+-#line 272 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 276 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[-2].pb)->append((yyvsp[0].b)); (yyval.pb) = (yyvsp[-2].pb); }
+-#line 1826 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1841 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 59:
+-#line 277 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 281 "src/preproc/eqn/eqn.ypp"
+     { (yyval.pb) = (yyvsp[-1].pb); }
+-#line 1832 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1847 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 60:
+-#line 279 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 283 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[-1].pb)->set_space((yyvsp[-3].n)); (yyval.pb) = (yyvsp[-1].pb); }
+-#line 1838 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1853 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 61:
+-#line 284 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 288 "src/preproc/eqn/eqn.ypp"
+     { (yyval.mb) = new matrix_box((yyvsp[0].col)); }
+-#line 1844 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1859 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 62:
+-#line 286 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 290 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[-1].mb)->append((yyvsp[0].col)); (yyval.mb) = (yyvsp[-1].mb); }
+-#line 1850 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1865 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 63:
+-#line 291 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 295 "src/preproc/eqn/eqn.ypp"
+     { (yyval.col) = new column((yyvsp[0].b)); }
+-#line 1856 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1871 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 64:
+-#line 293 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 297 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[-2].col)->append((yyvsp[0].b)); (yyval.col) = (yyvsp[-2].col); }
+-#line 1862 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1877 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 65:
+-#line 298 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 302 "src/preproc/eqn/eqn.ypp"
+     { (yyval.col) = (yyvsp[-1].col); }
+-#line 1868 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1883 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 66:
+-#line 300 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 304 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[-1].col)->set_space((yyvsp[-3].n)); (yyval.col) = (yyvsp[-1].col); }
+-#line 1874 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1889 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 67:
+-#line 305 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 309 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1880 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1895 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 68:
+-#line 307 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 311 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].col)->set_alignment(LEFT_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1886 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1901 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 69:
+-#line 309 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 313 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].col)->set_alignment(RIGHT_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1892 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1907 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 70:
+-#line 311 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 315 "src/preproc/eqn/eqn.ypp"
+     { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1898 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1913 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 71:
+-#line 315 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 319 "src/preproc/eqn/eqn.ypp"
+     { (yyval.str) = (yyvsp[0].str); }
+-#line 1904 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1919 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 72:
+-#line 317 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 321 "src/preproc/eqn/eqn.ypp"
+     { (yyval.str) = (yyvsp[0].str); }
+-#line 1910 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1925 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 73:
+-#line 322 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 326 "src/preproc/eqn/eqn.ypp"
+     { (yyval.str) = (yyvsp[0].str); }
+-#line 1916 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1931 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 74:
+-#line 324 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 328 "src/preproc/eqn/eqn.ypp"
+     { (yyval.str) = strsave("{"); }
+-#line 1922 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1937 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+   case 75:
+-#line 326 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
++#line 330 "src/preproc/eqn/eqn.ypp"
+     { (yyval.str) = strsave("}"); }
+-#line 1928 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1943 "src/preproc/eqn/eqn.cpp"
+     break;
+ 
+ 
+-#line 1932 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
++#line 1947 "src/preproc/eqn/eqn.cpp"
++
+       default: break;
+     }
+   /* User semantic actions sometimes alter yychar, and that requires
+@@ -2042,12 +2058,10 @@ yyerrlab:
+ | yyerrorlab -- error raised explicitly by YYERROR.  |
+ `---------------------------------------------------*/
+ yyerrorlab:
+-
+-  /* Pacify compilers like GCC when the user code never invokes
+-     YYERROR and the label yyerrorlab therefore never appears in user
+-     code.  */
+-  if (/*CONSTCOND*/ 0)
+-     goto yyerrorlab;
++  /* Pacify compilers when the user code never invokes YYERROR and the
++     label yyerrorlab therefore never appears in user code.  */
++  if (0)
++    YYERROR;
+ 
+   /* Do not reclaim the symbols of the rule whose action triggered
+      this YYERROR.  */
+@@ -2109,6 +2123,7 @@ yyacceptlab:
+   yyresult = 0;
+   goto yyreturn;
+ 
++
+ /*-----------------------------------.
+ | yyabortlab -- YYABORT comes here.  |
+ `-----------------------------------*/
+@@ -2116,6 +2131,7 @@ yyabortlab:
+   yyresult = 1;
+   goto yyreturn;
+ 
++
+ #if !defined yyoverflow || YYERROR_VERBOSE
+ /*-------------------------------------------------.
+ | yyexhaustedlab -- memory exhaustion comes here.  |
+@@ -2126,6 +2142,10 @@ yyexhaustedlab:
+   /* Fall through.  */
+ #endif
+ 
++
++/*-----------------------------------------------------.
++| yyreturn -- parsing is finished, return the result.  |
++`-----------------------------------------------------*/
+ yyreturn:
+   if (yychar != YYEMPTY)
+     {
+@@ -2155,5 +2175,5 @@ yyreturn:
+ #endif
+   return yyresult;
+ }
+-#line 329 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1903  */
++#line 333 "src/preproc/eqn/eqn.ypp"
+ 
+diff --git a/src/preproc/eqn/eqn.hpp b/src/preproc/eqn/eqn.hpp
+index 32a32a5..9a092c1 100644
+--- a/src/preproc/eqn/eqn.hpp
++++ b/src/preproc/eqn/eqn.hpp
+@@ -1,8 +1,9 @@
+-/* A Bison parser, made by GNU Bison 3.2.  */
++/* A Bison parser, made by GNU Bison 3.4.1.  */
+ 
+ /* Bison interface for Yacc-like parsers in C
+ 
+-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
++   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
++   Inc.
+ 
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+@@ -170,10 +171,9 @@ extern int yydebug;
+ 
+ /* Value type.  */
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+-
+ union YYSTYPE
+ {
+-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1906  */
++#line 34 "src/preproc/eqn/eqn.ypp"
+ 
+ 	char *str;
+ 	box *b;
+@@ -182,9 +182,9 @@ union YYSTYPE
+ 	int n;
+ 	column *col;
+ 
+-#line 186 "src/preproc/eqn/eqn.hpp" /* yacc.c:1906  */
+-};
++#line 186 "src/preproc/eqn/eqn.hpp"
+ 
++};
+ typedef union YYSTYPE YYSTYPE;
+ # define YYSTYPE_IS_TRIVIAL 1
+ # define YYSTYPE_IS_DECLARED 1
+diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp
+index fb318c3..b7b647e 100644
+--- a/src/preproc/eqn/eqn.ypp
++++ b/src/preproc/eqn/eqn.ypp
+@@ -16,6 +16,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ %{
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+diff --git a/src/preproc/eqn/other.cpp b/src/preproc/eqn/other.cpp
+index 8db993f..38db396 100644
+--- a/src/preproc/eqn/other.cpp
++++ b/src/preproc/eqn/other.cpp
+@@ -17,6 +17,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+ 
+ #include "eqn.h"
+diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
+index f3d06f9..3b244d5 100644
+--- a/src/preproc/eqn/text.cpp
++++ b/src/preproc/eqn/text.cpp
+@@ -17,6 +17,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include "eqn.h"
+diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
+index d8ba610..f26a831 100644
+--- a/src/preproc/pic/object.cpp
++++ b/src/preproc/pic/object.cpp
+@@ -17,6 +17,10 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+ 
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+ 
+ #include "pic.h"
+-- 
+2.22.0
+
diff --git a/poky/meta/recipes-extended/groff/groff_1.22.4.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb
index a190230..082597f 100644
--- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb
+++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb
@@ -11,6 +11,7 @@
 	file://0001-replace-perl-w-with-use-warnings.patch \
 	file://groff-not-search-fonts-on-build-host.patch \
 	file://0001-support-musl.patch \
+	file://0001-Include-config.h.patch \
 "
 
 SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f"
diff --git a/poky/meta/recipes-extended/gzip/gzip_1.10.bb b/poky/meta/recipes-extended/gzip/gzip_1.10.bb
index 6a5b245..5ab99d0 100644
--- a/poky/meta/recipes-extended/gzip/gzip_1.10.bb
+++ b/poky/meta/recipes-extended/gzip/gzip_1.10.bb
@@ -12,7 +12,7 @@
 
 PROVIDES_append_class-native = " gzip-replacement-native"
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS_${PN}-ptest += "make perl perl-ptest grep diffutils"
 
 BBCLASSEXTEND = "native"
 
diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
index d7fec89..bcbfdd8 100644
--- a/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
+++ b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
@@ -21,6 +21,10 @@
                  --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
                  "
 
+do_install_append() {
+	sed -i -e 's|-L${STAGING_LIBDIR}||' ${D}${libdir}/pkgconfig/libidn2.pc
+}
+
 LICENSE_${PN} = "(GPLv2+ | LGPLv3)"
 LICENSE_${PN}-bin = "GPLv3+"
 
diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb
index 47447ac..4fbd4b1 100644
--- a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb
+++ b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb
@@ -18,6 +18,7 @@
 SRCREV = "d4aea48657a8e90d7922574b8021ee03915a36cb"
 
 SRC_URI = "git://github.com/thkukuk/libnss_nis \
+           file://0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch \
           "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch b/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch
new file mode 100644
index 0000000..348c8c9
--- /dev/null
+++ b/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch
@@ -0,0 +1,162 @@
+From e41ddbd89a4bb042ac00469fa5880ba584c25c05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 Jul 2019 12:10:56 -0700
+Subject: [PATCH] nis-hosts: Remove use of RES_USE_INET6
+
+Upstream glibc dropped it starting glibc 2.30
+see
+https://sourceware.org/git/?p=glibc.git;a=commit;h=3f8b44be0a658266adff5ece1e4bc3ce097a5dbe
+
+Fixes issue #6
+
+Upstream-Status: Submitted [https://github.com/thkukuk/libnss_nis/pull/7]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/nis-hosts.c | 55 ++++++++++++-------------------------------------
+ 1 file changed, 13 insertions(+), 42 deletions(-)
+
+diff --git a/src/nis-hosts.c b/src/nis-hosts.c
+index 307b46e..bd3c4ad 100644
+--- a/src/nis-hosts.c
++++ b/src/nis-hosts.c
+@@ -35,15 +35,12 @@
+ #include "libc-lock.h"
+ #include "nss-nis.h"
+ 
+-/* Get implementation for some internal functions. */
+-#include "mapv4v6addr.h"
+-
+ #define ENTNAME         hostent
+ #define DATABASE        "hosts"
+ #define NEED_H_ERRNO
+ 
+-#define EXTRA_ARGS      , af, flags
+-#define EXTRA_ARGS_DECL , int af, int flags
++#define EXTRA_ARGS      , af
++#define EXTRA_ARGS_DECL , int af
+ 
+ #define ENTDATA hostent_data
+ struct hostent_data
+@@ -67,19 +64,8 @@ LINE_PARSER
+    /* Parse address.  */
+    if (af != AF_INET6 && inet_pton (AF_INET, addr, entdata->host_addr) > 0)
+      {
+-       assert ((flags & AI_V4MAPPED) == 0 || af != AF_UNSPEC);
+-       if (flags & AI_V4MAPPED)
+-	 {
+-	   map_v4v6_address ((char *) entdata->host_addr,
+-			     (char *) entdata->host_addr);
+-	   result->h_addrtype = AF_INET6;
+-	   result->h_length = IN6ADDRSZ;
+-	 }
+-       else
+-	 {
+-	   result->h_addrtype = AF_INET;
+-	   result->h_length = INADDRSZ;
+-	 }
++       result->h_addrtype = AF_INET;
++       result->h_length = INADDRSZ;
+      }
+    else if (af != AF_INET
+ 	    && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
+@@ -134,7 +120,7 @@ strong_alias (_nss_nis_sethostent, _nss_nis_endhostent)
+ static enum nss_status
+ internal_nis_gethostent_r (struct hostent *host, char *buffer,
+ 			   size_t buflen, int *errnop, int *h_errnop,
+-			   int af, int flags)
++			   int af)
+ {
+   char *domain;
+   if (yp_get_default_domain (&domain))
+@@ -203,7 +189,7 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer,
+ 	++p;
+       free (result);
+ 
+-      parse_res = parse_line (p, host, data, buflen, errnop, af, flags);
++      parse_res = parse_line (p, host, data, buflen, errnop, af);
+       if (parse_res == -1)
+ 	{
+ 	  free (outkey);
+@@ -232,8 +218,7 @@ _nss_nis_gethostent_r (struct hostent *host, char *buffer, size_t buflen,
+   __libc_lock_lock (lock);
+ 
+   status = internal_nis_gethostent_r (host, buffer, buflen, errnop, h_errnop,
+-			((_res.options & RES_USE_INET6) ? AF_INET6 : AF_INET),
+-			((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0 ));
++			AF_INET);
+ 
+   __libc_lock_unlock (lock);
+ 
+@@ -244,7 +229,7 @@ _nss_nis_gethostent_r (struct hostent *host, char *buffer, size_t buflen,
+ static enum nss_status
+ internal_gethostbyname2_r (const char *name, int af, struct hostent *host,
+ 			   char *buffer, size_t buflen, int *errnop,
+-			   int *h_errnop, int flags)
++			   int *h_errnop)
+ {
+   uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct parser_data);
+   buffer += pad;
+@@ -318,7 +303,7 @@ internal_gethostbyname2_r (const char *name, int af, struct hostent *host,
+     ++p;
+   free (result);
+ 
+-  int parse_res = parse_line (p, host, data, buflen, errnop, af, flags);
++  int parse_res = parse_line (p, host, data, buflen, errnop, af);
+ 
+   if (parse_res < 1 || host->h_addrtype != af)
+     {
+@@ -351,8 +336,7 @@ _nss_nis_gethostbyname2_r (const char *name, int af, struct hostent *host,
+     }
+ 
+   return internal_gethostbyname2_r (name, af, host, buffer, buflen, errnop,
+-				    h_errnop,
+-			((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0));
++				    h_errnop);
+ }
+ 
+ 
+@@ -360,18 +344,8 @@ enum nss_status
+ _nss_nis_gethostbyname_r (const char *name, struct hostent *host, char *buffer,
+ 			  size_t buflen, int *errnop, int *h_errnop)
+ {
+-  if (_res.options & RES_USE_INET6)
+-    {
+-      enum nss_status status;
+-
+-      status = internal_gethostbyname2_r (name, AF_INET6, host, buffer, buflen,
+-					  errnop, h_errnop, AI_V4MAPPED);
+-      if (status == NSS_STATUS_SUCCESS)
+-	return status;
+-    }
+-
+   return internal_gethostbyname2_r (name, AF_INET, host, buffer, buflen,
+-				    errnop, h_errnop, 0);
++				    errnop, h_errnop);
+ }
+ 
+ 
+@@ -433,9 +407,7 @@ _nss_nis_gethostbyaddr_r (const void *addr, socklen_t addrlen, int af,
+     ++p;
+   free (result);
+ 
+-  int parse_res = parse_line (p, host, data, buflen, errnop, af,
+-			      ((_res.options & RES_USE_INET6)
+-			       ? AI_V4MAPPED : 0));
++  int parse_res = parse_line (p, host, data, buflen, errnop, af);
+   if (parse_res < 1)
+     {
+       if (parse_res == -1)
+@@ -532,8 +504,7 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
+   buflen -= pad;
+ 
+   struct hostent host;
+-  int parse_res = parse_line (result, &host, data, buflen, errnop, AF_UNSPEC,
+-			      0);
++  int parse_res = parse_line (result, &host, data, buflen, errnop, AF_UNSPEC);
+   if (parse_res < 1)
+     {
+       if (parse_res == -1)
+-- 
+2.22.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch b/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
new file mode 100644
index 0000000..bfceadb
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
@@ -0,0 +1,72 @@
+From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 Jul 2019 10:32:29 -0700
+Subject: [PATCH 1/2] Add configure time check for getdents/getdents64 APIs
+
+glibc 2.30 has added wrapper for getdents64 this will help in detecting
+right condition to use fallback
+
+Check for getdents API as well while here
+
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012954.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac                                  | 2 ++
+ testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \
+     fallocate \
+     fchownat \
+     fstatat \
++    getdents \
++    getdents64 \
+     kcmp \
+     mkdirat \
+     mknodat \
+--- a/testcases/kernel/syscalls/getdents/getdents.h
++++ b/testcases/kernel/syscalls/getdents/getdents.h
+@@ -23,7 +23,7 @@
+ #include <stdint.h>
+ #include "test.h"
+ #include "lapi/syscalls.h"
+-
++#include "config.h"
+ /*
+  * See fs/compat.c struct compat_linux_dirent
+  */
+@@ -34,12 +34,17 @@ struct linux_dirent {
+ 	char            d_name[];
+ };
+ 
++#if HAVE_GETDENTS
++#include <unistd.h>
++#else
+ static inline int
+ getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
+ {
+ 	return ltp_syscall(__NR_getdents, fd, dirp, size);
+ }
+ 
++#endif /* HAVE_GETDENTS */
++
+ struct linux_dirent64 {
+ 	uint64_t	d_ino;
+ 	int64_t		d_off;
+@@ -48,10 +53,13 @@ struct linux_dirent64 {
+ 	char		d_name[];
+ };
+ 
++#if HAVE_GETDENTS64
++#include <unistd.h>
++#else
+ static inline int
+ getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size)
+ {
+ 	return ltp_syscall(__NR_getdents64, fd, dirp64, size);
+ }
+-
++#endif /* HAVE_GETDENTS64 */
+ #endif /* GETDENTS_H */
diff --git a/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch b/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
new file mode 100644
index 0000000..12e47eb
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
@@ -0,0 +1,68 @@
+From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 Jul 2019 10:55:28 -0700
+Subject: [PATCH 2/2] check for RES_USE_INET6 during configure
+
+glibc 2.30 has remove RES_USE_INET6 define which has been on its way out
+since 2.26 release, this check ensures that we detect it before using it
+
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012955.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac                                        | 13 +++++++++++++
+ testcases/network/multicast/mc_gethost/mc_gethost.c |  6 ++++++
+ 2 files changed, 19 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 2255b5c181..ed7acccb01 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \
+     vmsplice \
+ ])
+ 
++#check defines
++AC_MSG_CHECKING([for RES_USE_INET6])
++AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <resolv.h>]],
++  [[char dummy[RES_USE_INET6];]])],
++  [
++    AC_MSG_RESULT([yes])
++    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you have the RES_USE_INET6 macro.])
++  ],
++  [
++    AC_MSG_RESULT([no])
++    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you have the RES_USE_INET6 macro.])
++  ]
++)
+ # Tools knobs
+ 
+ # Expect
+diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c b/testcases/network/multicast/mc_gethost/mc_gethost.c
+index 9cc15d086b..d1cae5441a 100644
+--- a/testcases/network/multicast/mc_gethost/mc_gethost.c
++++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
+@@ -17,6 +17,8 @@
+ #include <string.h>
+ #include <stdlib.h>
+ 
++#include "config.h"
++
+ #ifndef LOG_PERROR
+ #define LOG_PERROR 0
+ #endif
+@@ -50,8 +52,12 @@ usage:
+ 		argv++, argc--;
+ 	}
+ 	if (argc >= 1 && !strcmp(*argv, "-6")) {
++#if HAVE_RES_USE_INET6
+ 		af = AF_INET6, size = IN6ADDRSZ;
+ 		_res.options |= RES_USE_INET6;
++#else
++		af = AF_INET, size = INADDRSZ;
++#endif
+ 		argv++, argc--;
+ 	}
+ 	if (argc >= 1 && !strcmp(*argv, "-f")) {
+-- 
+2.22.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch b/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch
deleted file mode 100644
index d1f7b07..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From b996b2480fe3a800ffbdc4a0fdc5e8775c575449 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 06:57:04 +0000
-Subject: [PATCH] getdents: define getdents/getdents64 only for glibc
-
-getdents/getdents64 are implemented in musl and when we define static
-functions with same name, it errors out.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- testcases/kernel/syscalls/getdents/getdents.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/getdents/getdents.h b/testcases/kernel/syscalls/getdents/getdents.h
-index 702b0bd..860b22e 100644
---- a/testcases/kernel/syscalls/getdents/getdents.h
-+++ b/testcases/kernel/syscalls/getdents/getdents.h
-@@ -34,12 +34,13 @@ struct linux_dirent {
- 	char            d_name[];
- };
- 
-+#ifdef __GLIBC__
- static inline int
- getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
- {
- 	return ltp_syscall(__NR_getdents, fd, dirp, size);
- }
--
-+#endif
- struct linux_dirent64 {
- 	uint64_t	d_ino;
- 	int64_t		d_off;
-@@ -48,10 +49,11 @@ struct linux_dirent64 {
- 	char		d_name[];
- };
- 
-+#ifdef __GLIBC__
- static inline int
- getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size)
- {
- 	return ltp_syscall(__NR_getdents64, fd, dirp64, size);
- }
--
-+#endif
- #endif /* GETDENTS_H */
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp_20190517.bb b/poky/meta/recipes-extended/ltp/ltp_20190517.bb
index 1f3a94b..c62f261 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20190517.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20190517.bb
@@ -34,7 +34,6 @@
            file://0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
            file://0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
            file://0004-guard-mallocopt-with-__GLIBC__.patch \
-           file://0005-getdents-define-getdents-getdents64-only-for-glibc.patch \
            file://0006-rt_tgsigqueueinfo-disable-test-on-musl.patch \
            file://0007-Fix-test_proc_kill-hanging.patch \
            file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
@@ -42,6 +41,8 @@
            file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
            file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
            file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
+           file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \
+           file://0002-check-for-RES_USE_INET6-during-configure.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb
similarity index 92%
rename from poky/meta/recipes-extended/man-db/man-db_2.8.5.bb
rename to poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb
index 441e2f4..ec9eb83 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb
@@ -7,8 +7,8 @@
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
            file://99_mandb \
            file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[md5sum] = "c5c6c3434be14a5527d43b5ad0f09a13"
-SRC_URI[sha256sum] = "b64d52747534f1fe873b2876eb7f01319985309d5d7da319d2bc52ba1e73f6c1"
+SRC_URI[md5sum] = "22e82fe1127f4ca95de7100168a927d1"
+SRC_URI[sha256sum] = "2c77a2bb9dbf06f72417a6f63063e204888a22a5020ff77334d304d55f813a28"
 
 DEPENDS = "libpipeline gdbm groff-native base-passwd"
 RDEPENDS_${PN} += "base-passwd"
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb
similarity index 86%
rename from poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
rename to poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb
index 0f10500..4f6b66f 100644
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb
@@ -11,8 +11,8 @@
 UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
 
 SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[md5sum] = "abfabb92f0461137f3c09cd16d98fc9b"
-SRC_URI[sha256sum] = "e5dd7fe95bc8e2f5eea3e4894ec9628252f30bd700a7fd1a568b10efa91129f7"
+SRC_URI[md5sum] = "5d7bb10606fbceeb2e0687379c75234b"
+SRC_URI[sha256sum] = "1613daced9c47b8c028224fc076799c2a4d72923e242be4e9e5c984cbbbb9f39"
 
 inherit gettext autotools update-alternatives pkgconfig
 
diff --git a/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch b/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch
deleted file mode 100644
index b0a1e8c..0000000
--- a/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Pending
-
-Author: dexuan.cui@intel.com
-Date: Fri Apr 15 16:17:39 CST 2011
-
-The patch fixes a parallel-make issue: when generating $(SHAREDDIR)/%.o, we should
-ensure the directory ${SHAREDDIR} exists.
-
-We need to push the patch to upstream.
-
-Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -128,12 +128,12 @@ $(SHAREDDIR):
- 
- sharedlib: $(LIBNEWTSH)
- 
--$(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS)
-+$(LIBNEWTSH): $(SHAREDOBJS)
- 	$(CC) -shared -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS)
- 	ln -fs $(LIBNEWTSONAME) libnewt.$(SOEXT)
- 	ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
- 
--$(SHAREDDIR)/%.o : %.c
-+$(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
- 	$(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
- 
- install: $(LIBNEWT) install-sh whiptail
--- 
-1.8.1.2
-
diff --git a/poky/meta/recipes-extended/newt/files/pie-flags.patch b/poky/meta/recipes-extended/newt/files/pie-flags.patch
index 8883e26..92f5b25 100644
--- a/poky/meta/recipes-extended/newt/files/pie-flags.patch
+++ b/poky/meta/recipes-extended/newt/files/pie-flags.patch
@@ -1,7 +1,4 @@
-specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie
-this makes sure the objects that go into shared objects are compiled with -fPIC
-and not with -fpie. We can not use -fpie on objects which will go into .so files
-Fixes errors like
+specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie this makes sure the objects that go into shared objects are compiled with -fPIC and not with -fpie. We can not use -fpie on objects which will go into .so files Fixes errors like
 
 | /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: shared/newt.o: relocation R_X86_64_PC32 against undefined symbol `SLtt_Screen_Rows@@SLANG2' can not be used when making a shared object; recompile with -fPIC
 | /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: final link failed: Bad value
@@ -10,10 +7,15 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
-Index: newt-0.52.18/Makefile.in
-===================================================================
---- newt-0.52.18.orig/Makefile.in
-+++ newt-0.52.18/Makefile.in
+
+---
+ Makefile.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index be5f87b..88ee0b7 100644
+--- a/Makefile.in
++++ b/Makefile.in
 @@ -96,8 +96,8 @@ _snack.$(SOEXT):   snack.c $(LIBNEWTSH)
  		PIFLAGS=`$$pyconfig --includes`; \
  		PLDFLAGS=`$$pyconfig --ldflags`; \
@@ -25,12 +27,15 @@
  		echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L.  -lnewt $(LIBS); \
  		$(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L.  -lnewt $(LIBS); \
  	done || :
-@@ -135,7 +135,7 @@ $(LIBNEWTSH): $(SHAREDOBJS)
- 	ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
+@@ -133,7 +133,7 @@ $(LIBNEWTSH): $(SHAREDOBJS)
  
- $(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
+ $(SHAREDDIR)/%.o : %.c
+ 	@mkdir -p $(SHAREDDIR)
 -	$(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
 +	$(CC) -c $(CFLAGS) $(CPPFLAGS) $(SHCFLAGS) -o $@ $<
  
  install: $(LIBNEWT) install-sh whiptail
  	[ -d $(instroot)/$(bindir) ] || install -m 755 -d $(instroot)/$(bindir)
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb
similarity index 89%
rename from poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
rename to poky/meta/recipes-extended/newt/libnewt_0.52.21.bb
index dc07a18..09b61be 100644
--- a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
+++ b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb
@@ -18,15 +18,14 @@
 DEPENDS = "slang popt python3"
 
 SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \
-           file://fix_SHAREDDIR.patch \
            file://cross_ar.patch \
            file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \
            file://pie-flags.patch \
            file://0001-detect-gold-as-GNU-linker-too.patch \
 "
 
-SRC_URI[md5sum] = "70b288f821234593a8e7920e435b259b"
-SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc"
+SRC_URI[md5sum] = "a0a5fd6b53bb167a65e15996b249ebb5"
+SRC_URI[sha256sum] = "265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31"
 
 S = "${WORKDIR}/newt-${PV}"
 
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
index 611e0ca..18e2271 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
@@ -5,6 +5,8 @@
 SUMMARY = "Full-featured set of base utils"
 DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
 
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
 inherit packagegroup
 
 VIRTUAL-RUNTIME_vim ?= "vim-tiny"
diff --git a/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch b/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch
new file mode 100644
index 0000000..1413724
--- /dev/null
+++ b/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch
@@ -0,0 +1,31 @@
+This fixes
+../screen-4.6.2/pty.c: In function 'OpenPTY':
+../screen-4.6.2/pty.c:328:7: warning: implicit declaration of function 'openpty'; did you mean 'openat'? [-Wimplicit-function-declaration]
+   if (openpty(&f, &s, TtyName, NULL, NULL) != 0)
+       ^~~~~~~
+
+Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Backport
+
+---
+ pty.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/pty.c b/pty.c
+index 1c0660e..502338f 100644
+--- a/pty.c
++++ b/pty.c
+@@ -47,11 +47,7 @@
+ # include <sys/ttold.h>
+ #endif
+ 
+-#ifdef ISC
+-# include <sys/tty.h>
+-# include <sys/sioctl.h>
+-# include <sys/pty.h>
+-#endif
++#include <pty.h>
+ 
+ #ifdef sgi
+ # include <sys/sysmacros.h>
diff --git a/poky/meta/recipes-extended/screen/screen_4.6.2.bb b/poky/meta/recipes-extended/screen/screen_4.6.2.bb
index 375dce9..24ec751 100644
--- a/poky/meta/recipes-extended/screen/screen_4.6.2.bb
+++ b/poky/meta/recipes-extended/screen/screen_4.6.2.bb
@@ -24,6 +24,7 @@
            file://0002-comm.h-now-depends-on-term.h.patch \
            file://0001-fix-for-multijob-build.patch \
            file://0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch \
+           file://0001-Remove-more-compatibility-stuff.patch \
           "
 
 SRC_URI[md5sum] = "a0f529d3333b128dfaa324d978ba73a8"
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch
new file mode 100644
index 0000000..c860c71
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch
@@ -0,0 +1,23 @@
+From bbc85a439672120fa1d36be79e959b28fe840919 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 30 Jul 2019 18:38:03 +0200
+Subject: [PATCH] Do not preserve ownership when installing example jobs
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index f36e57e..20488af 100644
+--- a/Makefile
++++ b/Makefile
+@@ -452,6 +452,6 @@ install: stress-ng stress-ng.1.gz
+ 	mkdir -p ${DESTDIR}${MANDIR}
+ 	cp stress-ng.1.gz ${DESTDIR}${MANDIR}
+ 	mkdir -p ${DESTDIR}${JOBDIR}
+-	cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR}
++	cp -r example-jobs/*.job ${DESTDIR}${JOBDIR}
+ 	mkdir -p ${DESTDIR}${BASHDIR}
+ 	cp bash-completion/stress-ng ${DESTDIR}${BASHDIR}
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch
new file mode 100644
index 0000000..66d99dd
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch
@@ -0,0 +1,23 @@
+From 042147675c7c2ea7dd65b2597f2e350376a710aa Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 6 Aug 2019 17:28:56 +0200
+Subject: [PATCH] bash-completion: remove the shebang at the start
+
+bash completion files do not need to specify that.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ bash-completion/stress-ng | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/bash-completion/stress-ng b/bash-completion/stress-ng
+index 8b1421c..7f195be 100755
+--- a/bash-completion/stress-ng
++++ b/bash-completion/stress-ng
+@@ -1,5 +1,3 @@
+-#!/bin/bash
+-#
+ # stress-ng tab completion for bash.
+ #
+ # Copyright (C) 2019 Canonical
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb
new file mode 100644
index 0000000..e800040
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb
@@ -0,0 +1,21 @@
+SUMMARY = "System load testing utility"
+DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
+imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
+HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
+           file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
+           file://0001-bash-completion-remove-the-shebang-at-the-start.patch \
+           "
+SRC_URI[md5sum] = "46aa41d37690324ceab4febfcc549018"
+SRC_URI[sha256sum] = "d09dd2a1aea549e478995bf9be90b38906a4cdf33ea7b245ef9d46aa5213c074"
+
+DEPENDS = "coreutils-native"
+
+inherit bash-completion
+
+do_install() {
+    oe_runmake DESTDIR=${D} install
+}
diff --git a/poky/meta/recipes-extended/stress/files/texinfo.patch b/poky/meta/recipes-extended/stress/files/texinfo.patch
deleted file mode 100644
index f23a1f6..0000000
--- a/poky/meta/recipes-extended/stress/files/texinfo.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Upstream-Status: Pending
---- a/doc/stress.texi
-+++ b/doc/stress.texi
-@@ -62,47 +62,47 @@
- 
- @table @samp
- @item -?
--@itemx --help
-+@item --help
- Show help information.
- 
--@itemx --version
-+@item --version
- Show version information.
- 
- @item -v
--@itemx --verbose
-+@item --verbose
- Turn up verbosity.
- 
- @item -q
--@itemx --quiet
-+@item --quiet
- Turn down verbosity.
- 
- @item -n
--@itemx --dry-run
-+@item --dry-run
- Show what would have been done.
- 
- @item -t @var{secs}
--@itemx --timeout @var{secs}
-+@item --timeout @var{secs}
- Time out after @var{secs} seconds.
- 
--@itemx --backoff @var{usecs}
-+@item --backoff @var{usecs}
- Wait for factor of @var{usecs} microseconds before starting work.
- 
- @item -c @var{forks}
--@itemx --cpu @var{forks}
-+@item --cpu @var{forks}
- Spawn @var{forks} processes each spinning on @samp{sqrt()}.
- 
- @item -i @var{forks}
--@itemx --io @var{forks}
-+@item --io @var{forks}
- Spawn @var{forks} processes each spinning on @samp{sync()}.
- 
- @item -m @var{forks}
--@itemx --vm @var{forks}
-+@item --vm @var{forks}
- Spawn @var{forks} processes each spinning on @samp{malloc()}.
- 
--@itemx --vm-bytes @var{bytes}
-+@item --vm-bytes @var{bytes}
- Allocate @var{bytes} number of bytes.  The default is 1.
- 
--@itemx --vm-hang
-+@item --vm-hang
- Instruct each vm hog process to go to sleep after allocating memory.  This
- contrasts with their normal behavior, which is to free the memory and
- reallocate @emph{ad infinitum}.  This is useful for simulating low memory
-@@ -114,13 +114,13 @@
- @end example
- 
- @item -d @var{forks}
--@itemx --hdd @var{forks}
-+@item --hdd @var{forks}
- Spawn @var{forks} processes each spinning on @samp{write()}.
- 
--@itemx --hdd-bytes @var{bytes}
-+@item --hdd-bytes @var{bytes}
- Write @var{bytes} number of bytes.  The default is 1GB.
- 
--@itemx --hdd-noclean
-+@item --hdd-noclean
- Do not unlink file(s) to which random ASCII data is written.
- 
- @end table
diff --git a/poky/meta/recipes-extended/stress/stress_1.0.4.bb b/poky/meta/recipes-extended/stress/stress_1.0.4.bb
deleted file mode 100644
index e9179d3..0000000
--- a/poky/meta/recipes-extended/stress/stress_1.0.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "System load testing utility"
-DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
-imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
-HOMEPAGE = "http://people.seas.harvard.edu/~apw/stress/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://people.seas.harvard.edu/~apw/${BPN}/${BP}.tar.gz \
-           file://texinfo.patch \
-           "
-
-SRC_URI[md5sum] = "890a4236dd1656792f3ef9a190cf99ef"
-SRC_URI[sha256sum] = "057e4fc2a7706411e1014bf172e4f94b63a12f18412378fca8684ca92408825b"
-
-inherit autotools
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
index 4a34393..9d2d6bd 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
@@ -1,6 +1,6 @@
 require sudo.inc
 
-SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
+SRC_URI = "http://www.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
            file://0001-Include-sys-types.h-for-id_t-definition.patch \
            "
@@ -16,7 +16,7 @@
 EXTRA_OECONF += " \
              ac_cv_type_rsize_t=no \
              ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
-             ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
+             ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
              "
 
 do_install_append () {
@@ -35,6 +35,6 @@
 	rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
 }
 
-FILES_${PN} += "${libdir}/tmpfiles.d"
+FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
 FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
                     ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 6d232a5..dd945c9 100644
--- a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -18,7 +18,7 @@
 FILES_${PN} = "${sbindir}"
 FILES_${PN}-doc = "${mandir}/man8"
 
-SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
+SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
            file://00_man_quoting.diff \
            file://01_man_portability.patch \
            file://05_wildcard_matching.patch \