Merge "lakitu: create package information file in the image"
diff --git a/PRESUBMIT.cfg b/PRESUBMIT.cfg
index 92221ad..806b478 100644
--- a/PRESUBMIT.cfg
+++ b/PRESUBMIT.cfg
@@ -7,7 +7,8 @@
manifest_check: true
# On by default, but required for options below.
-cros_license_check: true
+cros_license_check: false
+cos_ebuild_license_header_check: true
[Hook Overrides Options]
# Ignore generated chromeos-config C files.
diff --git a/overlay-lakitu/app-emulation/containerd/Manifest b/overlay-lakitu/app-emulation/containerd/Manifest
index cf4075d..d4e41a5 100644
--- a/overlay-lakitu/app-emulation/containerd/Manifest
+++ b/overlay-lakitu/app-emulation/containerd/Manifest
@@ -1 +1 @@
-DIST containerd-1.4.0_rc0.tar.gz 6073516 BLAKE2B 8d5ce4499e2520666abba6868796d390e17b13782c00966a64b8b6f3d5db0068485077f99033f86f015c6cbfadf8ef2d496e6010d258bd2c20b551a13cbf68dd SHA512 df50f6a73a4926bac975d3e2e665535edf8b813298bfeaaae95b8e721525c72a48ccb6ee4b623db1109110427f7065a650b4e2935c18153e5d707d83ac3be745
+DIST containerd-1.4.0.tar.gz 6165201 BLAKE2B d90d03fea9992827ac31e3b438d1891d50103c01387d4b5e66506ad72509e3f0ca97ca096384ec76843fc49c49684e139107914db486f3ec1aae023ceb5dd2cc SHA512 5ac733a0823f5b680d40f76cb5a8277e84efdd6642d15c1735049f8859bf9f87b212b4075bdc13e8f09a5564b55ce74d7d1290628b0ca92d9753ef9bfa9a0e44
diff --git a/overlay-lakitu/app-emulation/containerd/containerd-1.4.0-r1.ebuild b/overlay-lakitu/app-emulation/containerd/containerd-1.4.0-r1.ebuild
new file mode 120000
index 0000000..8578240
--- /dev/null
+++ b/overlay-lakitu/app-emulation/containerd/containerd-1.4.0-r1.ebuild
@@ -0,0 +1 @@
+containerd-1.4.0.ebuild
\ No newline at end of file
diff --git a/overlay-lakitu/app-emulation/containerd/containerd-1.4.0_rc0.ebuild b/overlay-lakitu/app-emulation/containerd/containerd-1.4.0.ebuild
similarity index 97%
rename from overlay-lakitu/app-emulation/containerd/containerd-1.4.0_rc0.ebuild
rename to overlay-lakitu/app-emulation/containerd/containerd-1.4.0.ebuild
index a0149dc..9bf9811 100644
--- a/overlay-lakitu/app-emulation/containerd/containerd-1.4.0_rc0.ebuild
+++ b/overlay-lakitu/app-emulation/containerd/containerd-1.4.0.ebuild
@@ -12,7 +12,7 @@
else
MY_PV="${PV/_rc/-rc.}"
EGIT_COMMIT="v${MY_PV}"
- CONTAINERD_COMMIT="85b15eff4581d7e5e3bccb40fdd4f35b6946f545"
+ CONTAINERD_COMMIT="09814d48d50816305a8e6c1a4ae3e2bcc4ba725a"
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="*"
inherit golang-vcs-snapshot
diff --git a/overlay-lakitu/app-emulation/containerd/containerd-1.4.0_rc0-r1.ebuild b/overlay-lakitu/app-emulation/containerd/containerd-1.4.0_rc0-r1.ebuild
deleted file mode 120000
index b4bef80..0000000
--- a/overlay-lakitu/app-emulation/containerd/containerd-1.4.0_rc0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-containerd-1.4.0_rc0.ebuild
\ No newline at end of file
diff --git a/overlay-lakitu/app-emulation/containerd/files/1.4.0-customize-containerd-service.patch b/overlay-lakitu/app-emulation/containerd/files/1.4.0-customize-containerd-service.patch
index 5016ac7..31fcf26 100644
--- a/overlay-lakitu/app-emulation/containerd/files/1.4.0-customize-containerd-service.patch
+++ b/overlay-lakitu/app-emulation/containerd/files/1.4.0-customize-containerd-service.patch
@@ -1,17 +1,8 @@
-From 8d4bffa5708bdb38787e3e7cda36a4f3c26a3bb0 Mon Sep 17 00:00:00 2001
-From: Vaibhav Rustagi <vaibhavrustagi@google.com>
-Date: Fri, 17 Apr 2020 12:10:40 -0700
-Subject: [PATCH 2/2] customize-containerd-service
-
----
- containerd.service | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
diff --git a/containerd.service b/containerd.service
-index cae30ec7..f345d4f2 100644
+index d0f3be7..7bcc985 100644
--- a/containerd.service
+++ b/containerd.service
-@@ -5,12 +5,14 @@ After=network.target local-fs.target
+@@ -19,7 +19,7 @@ After=network.target local-fs.target
[Service]
ExecStartPre=-/sbin/modprobe overlay
@@ -20,13 +11,3 @@
Type=notify
Delegate=yes
- KillMode=process
-+OOMScoreAdjust=-999
- Restart=always
-+RestartSec=10
- # Having non-zero Limit*s causes performance problems due to accounting overhead
- # in the kernel. We recommend using cgroups to do container-local accounting.
- LimitNPROC=infinity
---
-2.27.0.212.ge8ba1cc988-goog
-
diff --git a/overlay-lakitu/net-fs/nfs-utils/Manifest b/overlay-lakitu/net-fs/nfs-utils/Manifest
new file mode 100644
index 0000000..6537569
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/Manifest
@@ -0,0 +1 @@
+DIST nfs-utils-2.5.1.tar.bz2 931848 BLAKE2B 84c93ef5707bd97e9e1107dcca0530a3c137cb5ad04c7533bb8aee595a53fdc72359252d009fde95b9833a61f1695db1d6b1726081e5e8efd6c528e831f9834c SHA512 36c11668a9d2a382206db3d73a3d03000cdd2be9836fcbbbd327eb38515ac0b451520f6ffdc69bc05b2b81c60ecb88d50a20a50f123b8092a5b63e1c1054a2eb
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/exports b/overlay-lakitu/net-fs/nfs-utils/files/exports
new file mode 100644
index 0000000..5102ef2
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/exports
@@ -0,0 +1 @@
+# /etc/exports: NFS file systems being exported. See exports(5).
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch
new file mode 100644
index 0000000..c9e60af
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch
@@ -0,0 +1,39 @@
+ripped from Debian
+
+--- nfs-utils-1.1.4/utils/mount/fstab.c
++++ nfs-utils-1.1.4/utils/mount/fstab.c
+@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
+ return var_mtab_does_not_exist;
+ }
+
+-static int
++int
+ mtab_is_a_symlink(void) {
+ get_mtab_info();
+ return var_mtab_is_a_symlink;
+--- nfs-utils-1.1.4/utils/mount/fstab.h
++++ nfs-utils-1.1.4/utils/mount/fstab.h
+@@ -7,6 +7,7 @@
+ #define _PATH_FSTAB "/etc/fstab"
+ #endif
+
++int mtab_is_a_symlink(void);
+ int mtab_is_writable(void);
+ int mtab_does_not_exist(void);
+ void reset_mtab_info(void);
+--- nfs-utils-1.1.4/utils/mount/mount.c
++++ nfs-utils-1.1.4/utils/mount/mount.c
+@@ -230,6 +230,13 @@ create_mtab (void) {
+ int flags;
+ mntFILE *mfp;
+
++ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
++ that would create a file /proc/mounts in case the proc filesystem
++ is not mounted, and the fchmod below would also fail. */
++ if (mtab_is_a_symlink()) {
++ return EX_SUCCESS;
++ }
++
+ lock_mtab();
+
+ mfp = nfs_setmntent (MOUNTED, "a+");
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-1.2.8-cross-build.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-1.2.8-cross-build.patch
new file mode 100644
index 0000000..366a85b
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-1.2.8-cross-build.patch
@@ -0,0 +1,67 @@
+this is kind of hacky, but automake doesn't make this easy
+for us atm, so hack away :(
+
+(recent autotools will always add $(CFLAGS)/etc... to the compile)
+
+posted upstream:
+https://marc.info/?l=linux-nfs&m=136416341629788&w=2
+Date: Sun, 24 Mar 2013 22:21:08 +0000
+Message-ID: 1364163668-15490-1-git-send-email-vapier@gentoo.org
+
+From 269ae1346d9ccc97304205066d20e7e7b638f30e Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 24 Mar 2013 18:14:48 -0400
+Subject: [PATCH nfs-utils] locktes/rpcgen: tweak how we override compiler settings
+
+Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling
+the <target>. Adding the build settings to the target-specific flags no
+longer works as a way to compile build-time tools.
+
+Instead, clobber the global flags. This triggers an automake warning,
+but the end result actually works (unlike the existing code).
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+--- a/tools/locktest/Makefile.am
++++ b/tools/locktest/Makefile.am
+@@ -1,12 +1,11 @@
+ ## Process this file with automake to produce Makefile.in
+
+ CC=$(CC_FOR_BUILD)
+-LIBTOOL = @LIBTOOL@ --tag=CC
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+ noinst_PROGRAMS = testlk
+ testlk_SOURCES = testlk.c
+-testlk_CFLAGS=$(CFLAGS_FOR_BUILD)
+-testlk_CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
+-testlk_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+ MAINTAINERCLEANFILES = Makefile.in
+--- a/tools/rpcgen/Makefile.am
++++ b/tools/rpcgen/Makefile.am
+@@ -1,7 +1,9 @@
+ ## Process this file with automake to produce Makefile.in
+
+ CC=$(CC_FOR_BUILD)
+-LIBTOOL = @LIBTOOL@ --tag=CC
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+ noinst_PROGRAMS = rpcgen
+ rpcgen_SOURCES = rpc_clntout.c rpc_cout.c rpc_hout.c rpc_main.c \
+@@ -9,10 +11,6 @@
+ rpc_util.c rpc_sample.c rpc_output.h rpc_parse.h \
+ rpc_scan.h rpc_util.h
+
+-rpcgen_CFLAGS=$(CFLAGS_FOR_BUILD)
+-rpcgen_CPPLAGS=$(CPPFLAGS_FOR_BUILD)
+-rpcgen_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+-rpcgen_LDADD=$(LIBTIRPC)
+
+ MAINTAINERCLEANFILES = Makefile.in
+
+ EXTRA_DIST = rpcgen.new.1
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.3.4-no-werror.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.3.4-no-werror.patch
new file mode 100644
index 0000000..7fc0dd1
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.3.4-no-werror.patch
@@ -0,0 +1,67 @@
+From 04c9e3cc26dd330d9cb524c02de610c3bccd4b7b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 11 May 2019 22:51:35 +0200
+Subject: [PATCH] Don't build with -Werror flags
+
+https://bugs.gentoo.org/656984
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ configure.ac | 34 +---------------------------------
+ 1 file changed, 1 insertion(+), 33 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4d70961..e6e709c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -574,46 +574,14 @@ AC_SUBST(CPPFLAGS_FOR_BUILD)
+ AC_SUBST(LDFLAGS_FOR_BUILD)
+
+ my_am_cflags="\
+- -pipe \
+ -Wall \
+ -Wextra \
+ $rpcgen_cflags \
+- -Werror=missing-prototypes \
+- -Werror=missing-declarations \
+- -Werror=format=2 \
+- -Werror=undef \
+- -Werror=missing-include-dirs \
+- -Werror=strict-aliasing=2 \
+- -Werror=init-self \
+- -Werror=implicit-function-declaration \
+- -Werror=return-type \
+- -Werror=switch \
+- -Werror=overflow \
+- -Werror=parentheses \
+- -Werror=aggregate-return \
+- -Werror=unused-result \
+ -Wno-cast-function-type \
+ -fno-strict-aliasing \
+ "
+
+-AC_DEFUN([CHECK_CCSUPPORT], [
+- my_save_cflags="$CFLAGS"
+- CFLAGS=$1
+- AC_MSG_CHECKING([whether CC supports $1])
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
+- [AC_MSG_RESULT([yes])]
+- [$2+=$1],
+- [AC_MSG_RESULT([no])]
+- )
+- CFLAGS="$my_save_cflags"
+-])
+-
+-CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1])
+-CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
+-CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3])
+-CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4])
+-
+-AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"])
++AC_SUBST([AM_CFLAGS], ["$my_am_cflags"])
+
+ # Make sure that $ACLOCAL_FLAGS are used during a rebuild
+ AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
+--
+2.21.0
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch
new file mode 100644
index 0000000..836a2af
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch
@@ -0,0 +1,151 @@
+From 2fbc62e2a13fc22b6ae4910e295a2c10fb790486 Mon Sep 17 00:00:00 2001
+From: Zoltan Karcagi <zkr7432@gmail.com>
+Date: Mon, 12 Aug 2019 13:27:16 -0400
+Subject: [PATCH] Fix include order between config.h and stat.h
+
+At least on Arch linux ARM, the definition of struct stat in stat.h depends
+on __USE_FILE_OFFSET64. This symbol comes from config.h when defined,
+therefore config.h must always be included before stat.h. Fix all
+occurrences where the order is wrong by moving config.h to the top.
+
+This fixes the client side error "Stale file handle" when mounting from
+a server running Arch Linux ARM.
+
+Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+ support/misc/nfsd_path.c | 5 ++++-
+ support/misc/xstat.c | 5 ++++-
+ support/nfs/conffile.c | 8 +++++++-
+ utils/blkmapd/device-discovery.c | 8 ++++----
+ utils/idmapd/idmapd.c | 8 ++++----
+ 5 files changed, 23 insertions(+), 11 deletions(-)
+
+diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
+index 84e48028..f078a668 100644
+--- a/support/misc/nfsd_path.c
++++ b/support/misc/nfsd_path.c
+@@ -1,3 +1,7 @@
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <errno.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -5,7 +9,6 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+
+-#include "config.h"
+ #include "conffile.h"
+ #include "xmalloc.h"
+ #include "xlog.h"
+diff --git a/support/misc/xstat.c b/support/misc/xstat.c
+index fa047880..4c997eea 100644
+--- a/support/misc/xstat.c
++++ b/support/misc/xstat.c
+@@ -1,3 +1,7 @@
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <errno.h>
+ #include <sys/types.h>
+ #include <fcntl.h>
+@@ -5,7 +9,6 @@
+ #include <sys/sysmacros.h>
+ #include <unistd.h>
+
+-#include "config.h"
+ #include "xstat.h"
+
+ #ifdef HAVE_FSTATAT
+diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
+index b6400bec..6ba8a35c 100644
+--- a/support/nfs/conffile.c
++++ b/support/nfs/conffile.c
+@@ -500,7 +500,7 @@ conf_readfile(const char *path)
+
+ if ((stat (path, &sb) == 0) || (errno != ENOENT)) {
+ char *new_conf_addr = NULL;
+- size_t sz = sb.st_size;
++ off_t sz;
+ int fd = open (path, O_RDONLY, 0);
+
+ if (fd == -1) {
+@@ -517,6 +517,11 @@ conf_readfile(const char *path)
+
+ /* only after we have the lock, check the file size ready to read it */
+ sz = lseek(fd, 0, SEEK_END);
++ if (sz < 0) {
++ xlog_warn("conf_readfile: unable to determine file size: %s",
++ strerror(errno));
++ goto fail;
++ }
+ lseek(fd, 0, SEEK_SET);
+
+ new_conf_addr = malloc(sz+1);
+@@ -2162,6 +2167,7 @@ conf_write(const char *filename, const char *section, const char *arg,
+ ret = 0;
+
+ cleanup:
++ flush_outqueue(&inqueue, NULL);
+ flush_outqueue(&outqueue, NULL);
+
+ if (buff)
+diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
+index e811703d..f5f9b10b 100644
+--- a/utils/blkmapd/device-discovery.c
++++ b/utils/blkmapd/device-discovery.c
+@@ -26,6 +26,10 @@
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif /* HAVE_CONFIG_H */
++
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -51,10 +55,6 @@
+ #include <errno.h>
+ #include <libdevmapper.h>
+
+-#ifdef HAVE_CONFIG_H
+-#include "config.h"
+-#endif /* HAVE_CONFIG_H */
+-
+ #include "device-discovery.h"
+ #include "xcommon.h"
+ #include "nfslib.h"
+diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
+index 62e37b8a..267acea5 100644
+--- a/utils/idmapd/idmapd.c
++++ b/utils/idmapd/idmapd.c
+@@ -34,6 +34,10 @@
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif /* HAVE_CONFIG_H */
++
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/inotify.h>
+@@ -62,10 +66,6 @@
+ #include <libgen.h>
+ #include <nfsidmap.h>
+
+-#ifdef HAVE_CONFIG_H
+-#include "config.h"
+-#endif /* HAVE_CONFIG_H */
+-
+ #include "xlog.h"
+ #include "conffile.h"
+ #include "queue.h"
+--
+2.21.0
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-gssd-Look-in-lib32-for-gss-libs-aswell.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-gssd-Look-in-lib32-for-gss-libs-aswell.patch
new file mode 100644
index 0000000..8e34065
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-gssd-Look-in-lib32-for-gss-libs-aswell.patch
@@ -0,0 +1,39 @@
+From e2244412ae8b0b04446063ff6e8a1d0ebebe55a8 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Sun, 11 Aug 2019 14:50:01 -0700
+Subject: [PATCH] gssd: Look in lib32 for gss libs aswell.
+
+Akin to commit da999b81b058 ("Look in lib64 for gss libs aswell.")
+
+mips/n32 systems have libraries in lib32 (but not lib or lib64). Without
+checking lib32, configure fails with
+
+checking for Kerberos v5... configure: error: Kerberos v5 with GSS
+ support not found: consider --disable-gss or --with-krb5=
+
+Signed-off-by: Matt Turner <mattst88@gmail.com>
+---
+ aclocal/kerberos5.m4 | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/aclocal/kerberos5.m4 b/aclocal/kerberos5.m4
+index 8a0f3e4c..faa58049 100644
+--- a/aclocal/kerberos5.m4
++++ b/aclocal/kerberos5.m4
+@@ -38,9 +38,11 @@ AC_DEFUN([AC_KERBEROS_V5],[
+ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
+ if test -f $dir/include/gssapi/gssapi_krb5.h -a \
+ \( -f $dir/lib/libgssapi_krb5.a -o \
++ -f $dir/lib/libgssapi_krb5.so -o \
++ -f $dir/lib32/libgssapi_krb5.a -o \
++ -f $dir/lib32/libgssapi_krb5.so -o \
+ -f $dir/lib64/libgssapi_krb5.a -o \
+- -f $dir/lib64/libgssapi_krb5.so -o \
+- -f $dir/lib/libgssapi_krb5.so \) ; then
++ -f $dir/lib64/libgssapi_krb5.so \) ; then
+ AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
+ KRBDIR="$dir"
+ gssapi_lib=gssapi_krb5
+--
+2.21.0
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch
new file mode 100644
index 0000000..7515a81
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch
@@ -0,0 +1,31 @@
+From c8953944c5d34095d42f604f911022fbe144918c Mon Sep 17 00:00:00 2001
+From: Andreas Steinmetz <ast@domdv.de>
+Date: Wed, 30 Oct 2019 16:57:00 +0100
+Subject: [PATCH] Old kernels don't know statx calls and return EINVAL
+
+On a system with glibc-2.29 and kernel 4.9.128 nfs v3 mount fails as
+statx() with mask=STATX_BASIC_STATS returns EINVAL, probably from
+glibc, as strace of rpc.mountd shows no system call.
+
+Fixes: https://bugs.gentoo.org/688644
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ support/misc/xstat.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/support/misc/xstat.c b/support/misc/xstat.c
+index fa047880..6aca6e29 100644
+--- a/support/misc/xstat.c
++++ b/support/misc/xstat.c
+@@ -47,6 +47,8 @@ statx_do_stat(int fd, const char *pathname, struct stat *statbuf, int flags)
+ statx_copy(statbuf, &stxbuf);
+ return 0;
+ }
++ if (errno == EINVAL)
++ errno = ENOSYS;
+ if (errno == ENOSYS)
+ statx_supported = 0;
+ } else
+--
+2.24.0.rc1
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-Ensure-consistent-struct-stat.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-Ensure-consistent-struct-stat.patch
new file mode 100644
index 0000000..e64e2c6
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-Ensure-consistent-struct-stat.patch
@@ -0,0 +1,115 @@
+From 1378280398ef9f5cd45f5542ae2945b9a360b132 Mon Sep 17 00:00:00 2001
+From: Doug Nazar <nazard@nazar.ca>
+Date: Sun, 17 Nov 2019 14:31:33 -0500
+Subject: [PATCH] Ensure consistent struct stat definition
+
+Although 2fbc62e2a13fc ("Fix include order between config.h and stat.h")
+reorganized those files that were already including config.h, not all
+files were including config.h.
+
+Fixes at least stack smashing crashes in mountd on 32-bit systems.
+
+Signed-off-by: Doug Nazar <nazard@nazar.ca>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+ support/junction/junction.c | 4 ++++
+ support/misc/file.c | 4 ++++
+ support/misc/mountpoint.c | 4 ++++
+ support/nfs/cacheio.c | 4 ++++
+ utils/mount/fstab.c | 4 ++++
+ utils/nfsdcld/legacy.c | 4 ++++
+ 6 files changed, 24 insertions(+)
+
+diff --git a/support/junction/junction.c b/support/junction/junction.c
+index ab6caa6..41cce26 100644
+--- a/support/junction/junction.c
++++ b/support/junction/junction.c
+@@ -23,6 +23,10 @@
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
+ */
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
+diff --git a/support/misc/file.c b/support/misc/file.c
+index e7c3819..06f6bb2 100644
+--- a/support/misc/file.c
++++ b/support/misc/file.c
+@@ -18,6 +18,10 @@
+ * along with nfs-utils. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <sys/stat.h>
+
+ #include <string.h>
+diff --git a/support/misc/mountpoint.c b/support/misc/mountpoint.c
+index c6217f2..14d6731 100644
+--- a/support/misc/mountpoint.c
++++ b/support/misc/mountpoint.c
+@@ -3,6 +3,10 @@
+ * check if a given path is a mountpoint
+ */
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <string.h>
+ #include "xcommon.h"
+ #include <sys/stat.h>
+diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c
+index 9dc4cf1..7c4cf37 100644
+--- a/support/nfs/cacheio.c
++++ b/support/nfs/cacheio.c
+@@ -15,6 +15,10 @@
+ *
+ */
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <nfslib.h>
+ #include <stdio.h>
+ #include <stdio_ext.h>
+diff --git a/utils/mount/fstab.c b/utils/mount/fstab.c
+index eedbdda..8b0aaf1 100644
+--- a/utils/mount/fstab.c
++++ b/utils/mount/fstab.c
+@@ -7,6 +7,10 @@
+ * - Moved code to nfs-utils/support/nfs from util-linux/mount.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <errno.h>
+ #include <stdio.h>
+ #include <fcntl.h>
+diff --git a/utils/nfsdcld/legacy.c b/utils/nfsdcld/legacy.c
+index 07f477a..3c6bea6 100644
+--- a/utils/nfsdcld/legacy.c
++++ b/utils/nfsdcld/legacy.c
+@@ -15,6 +15,10 @@
+ * Boston, MA 02110-1301, USA.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <dirent.h>
+ #include <string.h>
+--
+1.8.3.1
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-mountd-Add-check-for-struct-file_handle.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-mountd-Add-check-for-struct-file_handle.patch
new file mode 100644
index 0000000..2a89cc7
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-mountd-Add-check-for-struct-file_handle.patch
@@ -0,0 +1,54 @@
+From f100d07d923b5db60d42dc2453485fa0dba69a79 Mon Sep 17 00:00:00 2001
+From: Petr Vorel <petr.vorel@gmail.com>
+Date: Mon, 18 Nov 2019 08:58:36 -0500
+Subject: [PATCH] mountd: Add check for 'struct file_handle'
+
+From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
+
+The code to check if name_to_handle_at() is implemented generates only a
+warning but with some toolchain it doesn't fail to link (the function must be
+implemented somewhere).
+However the "struct file_handle" type is not available.
+
+So, this patch adds a check for this struct.
+
+Patch taken from buildroot distribution.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+[ pvorel: rebased from nfs-utils-1-3-4 ]
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+ configure.ac | 1 +
+ utils/mountd/cache.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9ba9d4b..949ff9f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -510,6 +510,7 @@ AC_TYPE_PID_T
+ AC_TYPE_SIZE_T
+ AC_HEADER_TIME
+ AC_STRUCT_TM
++AC_CHECK_TYPES([struct file_handle])
+
+ dnl *************************************************************
+ dnl Check for functions
+diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
+index 3861f84..31e9507 100644
+--- a/utils/mountd/cache.c
++++ b/utils/mountd/cache.c
+@@ -446,7 +446,7 @@ static int same_path(char *child, char *parent, int len)
+ if (count_slashes(p) != count_slashes(parent))
+ return 0;
+
+-#if HAVE_NAME_TO_HANDLE_AT
++#if defined(HAVE_NAME_TO_HANDLE_AT) && defined(HAVE_STRUCT_FILE_HANDLE)
+ struct {
+ struct file_handle fh;
+ unsigned char handle[128];
+--
+1.8.3.1
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-mountd-Fix-compilation-for--disable-uuid.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-mountd-Fix-compilation-for--disable-uuid.patch
new file mode 100644
index 0000000..3bb9f8b
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-mountd-Fix-compilation-for--disable-uuid.patch
@@ -0,0 +1,35 @@
+From 31bb484b22c220c561f3a95c3b7ca3ea9b96cc9b Mon Sep 17 00:00:00 2001
+From: Petr Vorel <petr.vorel@gmail.com>
+Date: Mon, 18 Nov 2019 11:27:19 -0500
+Subject: [PATCH] mountd: Fix compilation for --disable-uuid
+
+Although code in configure.ac pretends to set USE_BLKID as 0
+via AC_DEFINE_UNQUOTED, it's actually not defined
+support/include/config.h.in
+support/include/config.h
+/* #undef USE_BLKID */
+
+Fixes: 8e643554 ("Allow disabling of libblkid usage.")
+
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+ utils/mountd/cache.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
+index 31e9507..e5186c7 100644
+--- a/utils/mountd/cache.c
++++ b/utils/mountd/cache.c
+@@ -221,7 +221,7 @@ static void auth_unix_gid(int f)
+ xlog(L_ERROR, "auth_unix_gid: error writing reply");
+ }
+
+-#if USE_BLKID
++#ifdef USE_BLKID
+ static const char *get_uuid_blkdev(char *path)
+ {
+ /* We set *safe if we know that we need the
+--
+1.8.3.1
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-no-werror.patch b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-no-werror.patch
new file mode 100644
index 0000000..114942f
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs-utils-2.4.2-no-werror.patch
@@ -0,0 +1,68 @@
+From b7df6ae89846104b99f46336592b928a5421c3d8 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 16 Nov 2019 12:04:48 +0100
+Subject: [PATCH] Don't build with -Werror flags
+
+https://bugs.gentoo.org/656984
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ configure.ac | 33 +--------------------------------
+ 1 file changed, 1 insertion(+), 32 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9ba9d4b5..26663264 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -581,47 +581,16 @@ AC_SUBST(CPPFLAGS_FOR_BUILD)
+ AC_SUBST(LDFLAGS_FOR_BUILD)
+
+ my_am_cflags="\
+- -pipe \
+ -Wall \
+ -Wextra \
+ $rpcgen_cflags \
+- -Werror=missing-prototypes \
+- -Werror=missing-declarations \
+- -Werror=format=2 \
+- -Werror=undef \
+- -Werror=missing-include-dirs \
+- -Werror=strict-aliasing=2 \
+- -Werror=init-self \
+- -Werror=implicit-function-declaration \
+- -Werror=return-type \
+- -Werror=switch \
+- -Werror=overflow \
+- -Werror=parentheses \
+- -Werror=aggregate-return \
+- -Werror=unused-result \
+ -Wno-cast-function-type \
+ -fno-strict-aliasing \
+ "
+
+-AC_DEFUN([CHECK_CCSUPPORT], [
+- my_save_cflags="$CFLAGS"
+- CFLAGS=$1
+- AC_MSG_CHECKING([whether CC supports $1])
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
+- [AC_MSG_RESULT([yes])]
+- [$2+=$1],
+- [AC_MSG_RESULT([no])]
+- )
+- CFLAGS="$my_save_cflags"
+-])
+-
+-CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1])
+-CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
+-CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3])
+-CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4])
+ AX_GCC_FUNC_ATTRIBUTE([format])
+
+-AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"])
++AC_SUBST([AM_CFLAGS], ["$my_am_cflags"])
+
+ # Make sure that $ACLOCAL_FLAGS are used during a rebuild
+ AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
+--
+2.24.0
+
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs.confd b/overlay-lakitu/net-fs/nfs-utils/files/nfs.confd
new file mode 100644
index 0000000..9dc1405
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs.confd
@@ -0,0 +1,38 @@
+# /etc/conf.d/nfs
+
+# If you wish to set the port numbers for lockd,
+# please see /etc/sysctl.conf
+
+# Optional services to include in default `/etc/init.d/nfs start`
+# For NFSv4 users, you'll want to add "rpc.idmapd" here.
+NFS_NEEDED_SERVICES=""
+
+# Options to pass to rpc.nfsd
+OPTS_RPC_NFSD="8"
+
+# Options to pass to rpc.mountd
+# ex. OPTS_RPC_MOUNTD="-p 32767"
+OPTS_RPC_MOUNTD=""
+
+# Options to pass to rpc.statd
+# ex. OPTS_RPC_STATD="-p 32765 -o 32766"
+OPTS_RPC_STATD=""
+
+# Options to pass to rpc.idmapd
+OPTS_RPC_IDMAPD=""
+
+# Options to pass to rpc.gssd
+OPTS_RPC_GSSD=""
+
+# Options to pass to rpc.svcgssd
+OPTS_RPC_SVCGSSD=""
+
+# Options to pass to rpc.rquotad (requires sys-fs/quota)
+OPTS_RPC_RQUOTAD=""
+
+# Timeout (in seconds) for exportfs
+EXPORTFS_TIMEOUT=30
+
+# Options to set in the nfsd filesystem (/proc/fs/nfsd/).
+# Format is <option>=<value>. Multiple options are allowed.
+#OPTS_NFSD="nfsv4leasetime=30 max_block_size=4096"
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfs.initd b/overlay-lakitu/net-fs/nfs-utils/files/nfs.initd
new file mode 100644
index 0000000..5912062
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfs.initd
@@ -0,0 +1,156 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+# The binary locations
+exportfs=/usr/sbin/exportfs
+ mountd=/usr/sbin/rpc.mountd
+ nfsd=/usr/sbin/rpc.nfsd
+smnotify=/usr/sbin/sm-notify
+
+depend() {
+ local myneed=""
+ # XXX: no way to detect NFSv4 is desired and so need rpc.idmapd
+ myneed="${myneed} $(
+ awk '!/^[[:space:]]*#/ {
+ # clear the path to avoid spurious matches
+ $1 = "";
+ if ($0 ~ /[(][^)]*sec=(krb|spkm)[^)]*[)]/) {
+ print "rpc.svcgssd"
+ exit 0
+ }
+ }' /etc/exports /etc/exports.d/*.exports 2>/dev/null
+ )"
+ config /etc/exports /etc/exports.d/*.exports
+ need portmap rpc.statd ${myneed} ${NFS_NEEDED_SERVICES}
+ use ypbind net dns rpc.rquotad rpc.idmapd rpc.svcgssd
+ after quota
+}
+
+mkdir_nfsdirs() {
+ local d
+ for d in v4recovery v4root ; do
+ d="/var/lib/nfs/${d}"
+ [ ! -d "${d}" ] && mkdir -p "${d}"
+ done
+}
+
+waitfor_exportfs() {
+ local pid=$1
+ ( sleep ${EXPORTFS_TIMEOUT:-30}; kill -9 ${pid} 2>/dev/null ) &
+ wait $1
+}
+
+mount_nfsd() {
+ if [ -e /proc/modules ] ; then
+ # Make sure nfs support is loaded in the kernel #64709
+ if ! grep -qs nfsd /proc/filesystems ; then
+ modprobe -q nfsd
+ fi
+ # Restart idmapd if needed #220747
+ if grep -qs nfsd /proc/modules ; then
+ killall -q -HUP rpc.idmapd
+ fi
+ fi
+
+ # This is the new "kernel 2.6 way" to handle the exports file
+ if grep -qs nfsd /proc/filesystems ; then
+ if ! mountinfo -q /proc/fs/nfsd ; then
+ ebegin "Mounting nfsd filesystem in /proc"
+ mount -t nfsd -o nodev,noexec,nosuid nfsd /proc/fs/nfsd
+ eend $?
+ fi
+
+ local o
+ for o in ${OPTS_NFSD} ; do
+ echo "${o#*=}" > "/proc/fs/nfsd/${o%%=*}"
+ done
+ fi
+}
+
+start_it() {
+ ebegin "Starting NFS $1"
+ shift
+ "$@"
+ eend $?
+ ret=$((ret + $?))
+}
+start() {
+ mount_nfsd
+ mkdir_nfsdirs
+
+ # Exportfs likes to hang if networking isn't working.
+ # If that's the case, then try to kill it so the
+ # bootup process can continue.
+ if grep -qs '^[[:space:]]*"\?/' /etc/exports /etc/exports.d/*.exports ; then
+ ebegin "Exporting NFS directories"
+ ${exportfs} -r &
+ waitfor_exportfs $!
+ eend $?
+ fi
+
+ local ret=0
+ start_it mountd ${mountd} ${OPTS_RPC_MOUNTD}
+ start_it daemon ${nfsd} ${OPTS_RPC_NFSD}
+ [ -x "${smnotify}" ] && start_it smnotify ${smnotify} ${OPTS_SMNOTIFY}
+ return ${ret}
+}
+
+stop() {
+ local ret=0
+
+ ebegin "Stopping NFS mountd"
+ start-stop-daemon --stop --exec ${mountd}
+ eend $?
+ ret=$((ret + $?))
+
+ # nfsd sets its process name to [nfsd] so don't look for $nfsd
+ ebegin "Stopping NFS daemon"
+ start-stop-daemon --stop --name nfsd --user root --signal 2
+ eend $?
+ ret=$((ret + $?))
+ # in case things don't work out ... #228127
+ rpc.nfsd 0
+
+ # When restarting the NFS server, running "exportfs -ua" probably
+ # isn't what the user wants. Running it causes all entries listed
+ # in xtab to be removed from the kernel export tables, and the
+ # xtab file is cleared. This effectively shuts down all NFS
+ # activity, leaving all clients holding stale NFS filehandles,
+ # *even* when the NFS server has restarted.
+ #
+ # That's what you would want if you were shutting down the NFS
+ # server for good, or for a long period of time, but not when the
+ # NFS server will be running again in short order. In this case,
+ # then "exportfs -r" will reread the xtab, and all the current
+ # clients will be able to resume NFS activity, *without* needing
+ # to umount/(re)mount the filesystem.
+ if [ "${RC_CMD}" != "restart" ] ; then
+ ebegin "Unexporting NFS directories"
+ # Exportfs likes to hang if networking isn't working.
+ # If that's the case, then try to kill it so the
+ # shutdown process can continue.
+ ${exportfs} -ua &
+ waitfor_exportfs $!
+ eend $?
+ fi
+
+ return ${ret}
+}
+
+reload() {
+ # Exportfs likes to hang if networking isn't working.
+ # If that's the case, then try to kill it so the
+ # bootup process can continue.
+ ebegin "Reloading /etc/exports"
+ ${exportfs} -r 1>&2 &
+ waitfor_exportfs $!
+ eend $?
+}
+
+restart() {
+ svc_stop
+ svc_start
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfsclient.confd b/overlay-lakitu/net-fs/nfs-utils/files/nfsclient.confd
new file mode 100644
index 0000000..8a99557
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfsclient.confd
@@ -0,0 +1,18 @@
+# You need to decide which nfs protocol version you want to use.
+# If you are unsure, leave these alone.
+#
+# If you are using only nfsv4, uncomment this line:
+#
+#rc_need="!rpc.statd"
+#
+# If you are using only nfsv3, uncomment this line:
+#
+#rc_need="!rpc.idmapd"
+#
+# You will need to set the dependencies in the nfsclient script to match
+# the network configuration tools you are using. This should be done in
+# this file by following the examples below, and not by changing the
+# service script itself. See /etc/conf.d/netmount for more examples.
+#
+# This is a safe default.
+rc_after="net"
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfsclient.initd b/overlay-lakitu/net-fs/nfs-utils/files/nfsclient.initd
new file mode 100644
index 0000000..6724e91
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfsclient.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
+
+depend() {
+ local opts myneed=""
+ if [ -e /etc/fstab ] ; then
+ for opts in $(fstabinfo -o -t nfs,nfs4) ; do
+ case $opts in
+ *sec=krb*|*sec=spkm*) myneed="$myneed rpc.gssd" ;;
+ esac
+ done
+ fi
+ config /etc/fstab
+ need portmap rpc.statd rpc.idmapd ${myneed}
+ use ypbind dns
+}
+
+start() {
+ if [ -x /usr/sbin/sm-notify ] ; then
+ ebegin "Starting NFS sm-notify"
+ /usr/sbin/sm-notify ${OPTS_SMNOTIFY}
+ eend $?
+ fi
+
+ # Make sure nfs support is loaded in the kernel #64709
+ if [ -e /proc/modules ] && ! grep -qs 'nfs$' /proc/filesystems ; then
+ modprobe -q nfs
+ fi
+ return 0
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/nfsmount.initd-1.3.1 b/overlay-lakitu/net-fs/nfs-utils/files/nfsmount.initd-1.3.1
new file mode 100644
index 0000000..68007ca
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/nfsmount.initd-1.3.1
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# This is mostly as a fix for bug #537996, to avoid breaking existing users
+# with nfsmount in their runlevels.
+# If neither nfsclient nor netmount are in your runlevels, and you manually
+# start netmount before nfsclient, then this will break. A real solution is
+# forthcoming, but requires feature development, see bug #406021 for soft
+# dependencies
+depend() {
+ need nfsclient netmount
+}
+
+msg() {
+ ewarn "nfsmount is deprecated, please migrate as described in the news item: 2015-02-02-nfs-service-changes"
+ ewarn "This migration script will be removed after 01 Aug 2015."
+}
+
+start() {
+ msg
+}
+
+stop() {
+ msg
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/rpc.gssd.initd b/overlay-lakitu/net-fs/nfs-utils/files/rpc.gssd.initd
new file mode 100644
index 0000000..445d44c
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/rpc.gssd.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
+
+depend() {
+ use ypbind net
+ need portmap rpc.pipefs
+ after quota
+}
+
+start() {
+ ebegin "Starting gssd"
+ start-stop-daemon --start --exec /usr/sbin/rpc.gssd -- ${OPTS_RPC_GSSD}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping gssd"
+ start-stop-daemon --stop --exec /usr/sbin/rpc.gssd
+ eend $?
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/rpc.idmapd.initd b/overlay-lakitu/net-fs/nfs-utils/files/rpc.idmapd.initd
new file mode 100644
index 0000000..61cfd4d
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/rpc.idmapd.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
+
+rpc_bin=/usr/sbin/rpc.idmapd
+
+depend() {
+ use ypbind net
+ need portmap rpc.pipefs
+ after quota
+}
+
+start() {
+ ebegin "Starting idmapd"
+ ${rpc_bin} ${OPTS_RPC_IDMAPD}
+ eend $? "make sure DNOTIFY support is enabled ..."
+}
+
+stop() {
+ ebegin "Stopping idmapd"
+ start-stop-daemon --stop --exec ${rpc_bin}
+ eend $?
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/rpc.pipefs.initd b/overlay-lakitu/net-fs/nfs-utils/files/rpc.pipefs.initd
new file mode 100644
index 0000000..f971a49
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/rpc.pipefs.initd
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+MNT="/var/lib/nfs/rpc_pipefs"
+
+mount_pipefs() {
+ local fstype=rpc_pipefs
+
+ # if things are already mounted, nothing to do
+ mountinfo -q ${MNT} && return 0
+
+ # if rpc_pipefs is not available, try to load sunrpc for it #219566
+ grep -qs ${fstype} /proc/filesystems || modprobe -q sunrpc
+ # if still not available, the `mount` will issue an error for the user
+
+ # now just do it for kicks
+ mkdir -p ${MNT}
+ mount -t ${fstype} ${fstype} ${MNT}
+}
+
+start() {
+ ebegin "Setting up RPC pipefs"
+ mount_pipefs
+ eend $? "make sure you have NFS/SUNRPC enabled in your kernel"
+}
+
+stop() {
+ ebegin "Unmounting RPC pipefs"
+ umount ${MNT}
+ eend $?
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/rpc.statd.initd b/overlay-lakitu/net-fs/nfs-utils/files/rpc.statd.initd
new file mode 100644
index 0000000..ea78b9a
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/rpc.statd.initd
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
+
+rpc_bin=/sbin/rpc.statd
+rpc_pid=/var/run/rpc.statd.pid
+
+depend() {
+ use ypbind net
+ need portmap
+ after quota
+}
+
+start() {
+ # Don't start rpc.statd if already started by someone else ...
+ # Don't try and kill it if it's already dead ...
+ if killall -q -0 ${rpc_bin} ; then
+ return 0
+ fi
+
+ ebegin "Starting NFS statd"
+ start-stop-daemon --start --exec ${rpc_bin} -- --no-notify ${OPTS_RPC_STATD}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping NFS statd"
+ start-stop-daemon --stop --exec ${rpc_bin} --pidfile /var/run/rpc.statd.pid
+ eend $?
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/rpc.svcgssd.initd b/overlay-lakitu/net-fs/nfs-utils/files/rpc.svcgssd.initd
new file mode 100644
index 0000000..c714e36
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/rpc.svcgssd.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
+
+depend() {
+ use ypbind net
+ need portmap rpc.pipefs
+ after quota
+}
+
+start() {
+ ebegin "Starting svcgssd"
+ start-stop-daemon --start --exec /usr/sbin/rpc.svcgssd -- ${OPTS_RPC_SVCGSSD}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping svcgssd"
+ start-stop-daemon --stop --exec /usr/sbin/rpc.svcgssd
+ eend $?
+}
diff --git a/overlay-lakitu/net-fs/nfs-utils/files/tmpfiles.d b/overlay-lakitu/net-fs/nfs-utils/files/tmpfiles.d
new file mode 100644
index 0000000..663dd86
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/files/tmpfiles.d
@@ -0,0 +1,4 @@
+D /var/lib/nfs 0644 - - -
+D /var/lib/nfs/sm 0644 - - -
+D /var/lib/nfs/sm.bak 0644 - - -
+D /var/lib/nfs/v4recovery 0644 - - -
diff --git a/overlay-lakitu/net-fs/nfs-utils/metadata.xml b/overlay-lakitu/net-fs/nfs-utils/metadata.xml
new file mode 100644
index 0000000..45351e4
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <longdescription>NFS client and server daemons</longdescription>
+ <use>
+ <flag name="junction">Enable NFS junction support in nfsref</flag>
+ <flag name="ldap">Add ldap support</flag>
+ <flag name="libmount">Link mount.nfs with libmount</flag>
+ <flag name="nfsdcld">Enable nfsdcld NFSv4 clientid tracking daemon</flag>
+ <flag name="nfsidmap">Enable support for newer nfsidmap helper</flag>
+ <flag name="nfsv4">Enable support for NFSv4</flag>
+ <flag name="nfsv41">Enable support for NFSv4.1</flag>
+ <flag name="uuid">Support UUID lookups in rpc.mountd</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">nfs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/overlay-lakitu/net-fs/nfs-utils/nfs-utils-2.5.1-r1.ebuild b/overlay-lakitu/net-fs/nfs-utils/nfs-utils-2.5.1-r1.ebuild
new file mode 120000
index 0000000..f8df01e
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/nfs-utils-2.5.1-r1.ebuild
@@ -0,0 +1 @@
+overlay-lakitu/net-fs/nfs-utils/nfs-utils-2.5.1.ebuild
\ No newline at end of file
diff --git a/overlay-lakitu/net-fs/nfs-utils/nfs-utils-2.5.1.ebuild b/overlay-lakitu/net-fs/nfs-utils/nfs-utils-2.5.1.ebuild
new file mode 100644
index 0000000..518b0d9
--- /dev/null
+++ b/overlay-lakitu/net-fs/nfs-utils/nfs-utils-2.5.1.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic linux-info multilib systemd
+
+DESCRIPTION="NFS client and server daemons"
+HOMEPAGE="http://linux-nfs.org/"
+
+if [[ "${PV}" = *_rc* ]] ; then
+ MY_PV="$(ver_rs 1- -)"
+ SRC_URI="http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=snapshot;h=refs/tags/${PN}-${MY_PV};sf=tgz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${PN}-${MY_PV}"
+else
+ SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2"
+ KEYWORDS="*"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="caps ipv6 junction kerberos ldap +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid"
+REQUIRED_USE="kerberos? ( nfsv4 )"
+RESTRICT="test" #315573
+
+# kth-krb doesn't provide the right include
+# files, and nfs-utils doesn't build against heimdal either,
+# so don't depend on virtual/krb.
+# (04 Feb 2005 agriffis)
+DEPEND="
+ >=dev-db/sqlite-3.3
+ dev-libs/libxml2
+ net-libs/libtirpc:=
+ >=net-nds/rpcbind-0.2.4
+ sys-libs/e2fsprogs-libs
+ caps? ( sys-libs/libcap )
+ ldap? ( net-nds/openldap )
+ libmount? ( sys-apps/util-linux )
+ nfsv4? (
+ dev-libs/libevent:=
+ >=sys-apps/keyutils-1.5.9:=
+ kerberos? (
+ >=net-libs/libtirpc-0.2.4-r1[kerberos]
+ app-crypt/mit-krb5
+ )
+ )
+ nfsv41? (
+ sys-fs/lvm2
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ uuid? ( sys-apps/util-linux )"
+RDEPEND="${DEPEND}
+ !net-libs/libnfsidmap
+ !net-nds/portmap
+ !<sys-apps/openrc-0.13.9
+ selinux? (
+ sec-policy/selinux-rpc
+ sec-policy/selinux-rpcbind
+ )
+"
+BDEPEND="
+ net-libs/rpcsvc-proto
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.2-no-werror.patch
+ "${FILESDIR}"/${PN}-2.4.2-Ensure-consistent-struct-stat.patch
+)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ if use nfsv4 && ! use nfsdcld && linux_config_exists && ! linux_chkconfig_present CRYPTO_MD5 ; then
+ ewarn "Your NFS server will be unable to track clients across server restarts!"
+ ewarn "Please enable the \"${HILITE}nfsdcld${NORMAL}\" USE flag to install the nfsdcltrack usermode"
+ ewarn "helper upcall program, or enable ${HILITE}CONFIG_CRYPTO_MD5${NORMAL} in your kernel to"
+ ewarn "support the legacy, in-kernel client tracker."
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed \
+ -e "/^sbindir/s:= := \"${EPREFIX}\":g" \
+ -i utils/*/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ export libsqlite3_cv_is_recent=yes # Our DEPEND forces this.
+ export ac_cv_header_keyutils_h=$(usex nfsidmap)
+ local myeconfargs=(
+ --with-statedir="${EPREFIX}"/var/lib/nfs
+ --enable-tirpc
+ --with-tirpcinclude="${EPREFIX}"/usr/include/tirpc/
+ --with-pluginpath="${EPREFIX}"/usr/$(get_libdir)/libnfsidmap
+ --with-rpcgen
+ --with-systemd="$(systemd_get_systemunitdir)"
+ --without-gssglue
+ $(use_enable caps)
+ $(use_enable ipv6)
+ $(use_enable junction)
+ $(use_enable kerberos gss)
+ $(use_enable kerberos svcgss)
+ $(use_enable ldap)
+ $(use_enable libmount libmount-mount)
+ $(use_enable nfsdcld nfsdcltrack)
+ $(use_enable nfsv4)
+ $(use_enable nfsv41)
+ $(use_enable uuid)
+ $(use_with tcpd tcp-wrappers)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # remove compiled files bundled in the tarball
+ emake clean
+ default
+}
+
+src_install() {
+ default
+ rm linux-nfs/Makefile* || die
+ dodoc -r linux-nfs README
+
+ # Don't overwrite existing xtab/etab, install the original
+ # versions somewhere safe... more info in pkg_postinst
+ # these empty directories are not carried into image/var
+ keepdir /var/lib/nfs/{,sm,sm.bak}
+
+ # tmpfiles stuff to make sure var/lib/nfs and its
+ # subdirs are installed
+ insinto /usr/lib/tmpfiles.d
+ newins "${FILESDIR}/tmpfiles.d" "nfs.conf"
+
+ mv "${ED}"/var/lib "${ED}"/usr/$(get_libdir) || die
+
+ # Install some client-side binaries in /sbin
+ dodir /sbin
+ mv "${ED}"/usr/sbin/rpc.statd "${ED}"/sbin/ || die
+
+ if use nfsv4 && use nfsidmap ; then
+ insinto /etc
+ doins support/nfsidmap/idmapd.conf
+
+ # Install a config file for idmappers in newer kernels. #415625
+ insinto /etc/request-key.d
+ echo 'create id_resolver * * /usr/sbin/nfsidmap -t 600 %k %d' > id_resolver.conf
+ doins id_resolver.conf
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/exports
+ keepdir /etc/exports.d
+
+ local f list=() opt_need=""
+ if use nfsv4 ; then
+ opt_need="rpc.idmapd"
+ list+=( rpc.idmapd rpc.pipefs )
+ use kerberos && list+=( rpc.gssd rpc.svcgssd )
+ fi
+ for f in nfs nfsclient rpc.statd "${list[@]}" ; do
+ newinitd "${FILESDIR}"/${f}.initd ${f}
+ done
+ newinitd "${FILESDIR}"/nfsmount.initd-1.3.1 nfsmount # Nuke after 2015/08/01
+ for f in nfs nfsclient ; do
+ newconfd "${FILESDIR}"/${f}.confd ${f}
+ done
+ sed -i \
+ -e "/^NFS_NEEDED_SERVICES=/s:=.*:=\"${opt_need}\":" \
+ "${ED}"/etc/conf.d/nfs || die #234132
+
+ local systemd_systemunitdir="$(systemd_get_systemunitdir)"
+ sed -i \
+ -e 's:/usr/sbin/rpc.statd:/sbin/rpc.statd:' \
+ "${ED}${systemd_systemunitdir}"/* || die
+
+ # keepdir /var/lib/nfs #368505
+ # keepdir /var/lib/nfs/v4recovery #603628
+
+}
+
+pkg_postinst() {
+ # Install default xtab and friends if there's none existing. In
+ # src_install we put them in /usr/lib/nfs for safe-keeping, but
+ # the daemons actually use the files in /var/lib/nfs. #30486
+ local f
+ for f in "${EROOT}"/usr/$(get_libdir)/lib/nfs/*; do
+ [[ -e ${EROOT}/var/lib/nfs/${f} ]] && continue
+ einfo "Copying default ${f} from ${EPREFIX}/usr/$(get_libdir)/lib/nfs to "${EPREFIX}"/var/lib/nfs"
+ cp -pPR "${f}" "${EROOT}"/var/lib/nfs/
+ done
+
+ if systemd_is_booted; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 1.3.0; then
+ ewarn "We have switched to upstream systemd unit files. Since"
+ ewarn "they got renamed, you should probably enable the new ones."
+ ewarn "You can run 'equery files nfs-utils | grep systemd'"
+ ewarn "to know what services you need to enable now."
+ fi
+ done
+ else
+ ewarn "If you use OpenRC, the nfsmount service has been replaced with nfsclient."
+ ewarn "If you were using nfsmount, please add nfsclient and netmount to the"
+ ewarn "same runlevel as nfsmount."
+ fi
+}
diff --git a/overlay-lakitu/profiles/base/package.use b/overlay-lakitu/profiles/base/package.use
index 7655748..4e462ea 100644
--- a/overlay-lakitu/profiles/base/package.use
+++ b/overlay-lakitu/profiles/base/package.use
@@ -56,6 +56,10 @@
# HPN support in OpenSSH (b/64450408).
net-misc/openssh -hpn
+# Enable warmstarts for rpcbind because if systemd is enabled it
+# requires warmstarts flag to be enabled
+net-nds/rpcbind warmstarts
+
# Disable oobe_config to avoid surprising users (b/112722312).
chromeos-base/chromeos-installer -oobe_config
diff --git a/overlay-lakitu/sys-kernel/lakitu-kernel-5_4/lakitu-kernel-5_4-5.4.60-r30.ebuild b/overlay-lakitu/sys-kernel/lakitu-kernel-5_4/lakitu-kernel-5_4-5.4.61-r31.ebuild
similarity index 98%
rename from overlay-lakitu/sys-kernel/lakitu-kernel-5_4/lakitu-kernel-5_4-5.4.60-r30.ebuild
rename to overlay-lakitu/sys-kernel/lakitu-kernel-5_4/lakitu-kernel-5_4-5.4.61-r31.ebuild
index 8ac5a11..1c1da92 100644
--- a/overlay-lakitu/sys-kernel/lakitu-kernel-5_4/lakitu-kernel-5_4-5.4.60-r30.ebuild
+++ b/overlay-lakitu/sys-kernel/lakitu-kernel-5_4/lakitu-kernel-5_4-5.4.61-r31.ebuild
@@ -9,7 +9,7 @@
CROS_WORKON_REPO="https://cos.googlesource.com"
CROS_WORKON_PROJECT="third_party/kernel"
CROS_WORKON_EGIT_BRANCH="cos-5.4"
-CROS_WORKON_COMMIT="2fe856f46326db55fd94727dfb730d94ebab6dd4"
+CROS_WORKON_COMMIT="e4e286e9fa35f3e52882d3acbc010c51acb1c3be"
CROS_WORKON_LOCALNAME="kernel/v5.4"
CROS_WORKON_BLACKLIST="1"