Merge "lakitu: Update kernel ebuild to use INIT_STACK_ALL_ZERO"
diff --git a/overlay-lakitu/net-misc/netplan/Manifest b/overlay-lakitu/net-misc/netplan/Manifest
new file mode 100644
index 0000000..fb9d1a4
--- /dev/null
+++ b/overlay-lakitu/net-misc/netplan/Manifest
@@ -0,0 +1 @@
+DIST netplan-0.100.tar.gz 178084 BLAKE2B a224a1d7090b0fbcb2f80a42edf1d823140386107a670c8584b675fccf1efb4c1ee0377f8787764cabb744330e961bfa36a6dab752cb1dec6db182bebe30c8d1 SHA512 ed0f6f62267e03c7c23e5ad3c544c16c4a73974767ba2e5f47d016e880bc8858a33bbf912f8aac8046f9c50d84b1a308238c4958b1c8926586e197ba7acc15fc
diff --git a/overlay-lakitu/net-misc/netplan/files/netplan-0.100-modify-makefile-to-accept-custom-pkg-config.patch b/overlay-lakitu/net-misc/netplan/files/netplan-0.100-modify-makefile-to-accept-custom-pkg-config.patch
new file mode 100644
index 0000000..9495c4d
--- /dev/null
+++ b/overlay-lakitu/net-misc/netplan/files/netplan-0.100-modify-makefile-to-accept-custom-pkg-config.patch
@@ -0,0 +1,79 @@
+diff --git a/Makefile b/Makefile
+index 4b80a18..3577119 100644
+From: Varsha Teratipally
+Date: Wed, 13 Oct 2020
+Subject: With crbug/985180 all unprefixed compilers have been blocked.
+So pkg-config is supposed to be configured using tc-getPKG_CONFIG rather
+than directly using command. Hence modifying the makefile to accept
+custom pkgconfig. Also removing the docs install with pandoc because it
+is not supported by cos currently
+--- a/Makefile
++++ b/Makefile
+@@ -10,9 +10,10 @@ BUILDFLAGS = \
+ 	-Werror \
+ 	$(NULL)
+
+-SYSTEMD_GENERATOR_DIR=$(shell pkg-config --variable=systemdsystemgeneratordir systemd)
+-SYSTEMD_UNIT_DIR=$(shell pkg-config --variable=systemdsystemunitdir systemd)
+-BASH_COMPLETIONS_DIR=$(shell pkg-config --variable=completionsdir bash-completion || echo "/etc/bash_completion.d")
++HOSTPKGCONFIG ?= pkg-config
++SYSTEMD_GENERATOR_DIR=$(shell $(HOSTPKGCONFIG) --variable=systemdsystemgeneratordir systemd)
++SYSTEMD_UNIT_DIR=$(shell $(HOSTPKGCONFIG) --variable=systemdsystemunitdir systemd)
++BASH_COMPLETIONS_DIR=$(shell $(HOSTPKGCONFIG) --variable=completionsdir bash-completion || echo "/etc/bash_completion.d")
+
+ GCOV ?= gcov
+ ROOTPREFIX ?=
+@@ -33,21 +34,21 @@ PYFLAKES3 ?= $(shell which pyflakes-3 || which pyflakes3 || echo true)
+ PYCODESTYLE3 ?= $(shell which pycodestyle-3 || which pycodestyle || which pep8 || echo true)
+ NOSETESTS3 ?= $(shell which nosetests-3 || which nosetests3 || echo true)
+ 
+-default: netplan/_features.py generate netplan-dbus dbus/io.netplan.Netplan.service doc/netplan.html doc/netplan.5 doc/netplan-generate.8 doc/netplan-apply.8 doc/netplan-try.8
++default: netplan/_features.py generate netplan-dbus dbus/io.netplan.Netplan.service
+
+ %.o: src/%.c
+-	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -c $^ `pkg-config --cflags --libs glib-2.0 gio-2.0 yaml-0.1 uuid`
++	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -c $^ `$(HOSTPKGCONFIG) --cflags --libs glib-2.0 gio-2.0 yaml-0.1 uuid`
+
+ libnetplan.so.$(NETPLAN_SOVER): parse.o util.o validation.o error.o
+-	$(CC) -shared -Wl,-soname,libnetplan.so.$(NETPLAN_SOVER) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ `pkg-config --libs yaml-0.1`
++	$(CC) -shared -Wl,-soname,libnetplan.so.$(NETPLAN_SOVER) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ `$(HOSTPKGCONFIG) --libs yaml-0.1`
+ 	ln -snf libnetplan.so.$(NETPLAN_SOVER) libnetplan.so
+
+ #generate: src/generate.[hc] src/parse.[hc] src/util.[hc] src/networkd.[hc] src/nm.[hc] src/validation.[hc] src/error.[hc]
+ generate: libnetplan.so.$(NETPLAN_SOVER) nm.o networkd.o openvswitch.o generate.o sriov.o
+-	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ -L. -lnetplan `pkg-config --cflags --libs glib-2.0 gio-2.0 yaml-0.1 uuid`
++	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ -L. -lnetplan `$(HOSTPKGCONFIG) --cflags --libs glib-2.0 gio-2.0 yaml-0.1 uuid`
+
+ netplan-dbus: src/dbus.c src/_features.h
+-	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ `pkg-config --cflags --libs libsystemd glib-2.0`
++	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< `$(HOSTPKGCONFIG) --cflags --libs libsystemd glib-2.0`
+
+ src/_features.h: src/[^_]*.[hc]
+ 	printf "#include <stddef.h>\nstatic const char *feature_flags[] __attribute__((__unused__)) = {\n" > $@
+@@ -117,12 +118,6 @@ install: default
+ 	# headers, dev data
+ 	install -m 644 src/*.h $(DESTDIR)/$(INCLUDEDIR)/netplan/
+ 	# TODO: install pkg-config once available
+-	# docs, data
+-	install -m 644 doc/*.html $(DESTDIR)/$(DOCDIR)/netplan/
+-	install -m 644 examples/*.yaml $(DESTDIR)/$(DOCDIR)/netplan/examples/
+-	install -m 644 doc/*.5 $(DESTDIR)/$(MANDIR)/man5/
+-	install -m 644 doc/*.8 $(DESTDIR)/$(MANDIR)/man8/
+-	install -T -D -m 644 netplan.completions $(DESTDIR)/$(BASH_COMPLETIONS_DIR)/netplan
+ 	# dbus
+ 	mkdir -p $(DESTDIR)/$(DATADIR)/dbus-1/system.d $(DESTDIR)/$(DATADIR)/dbus-1/system-services
+ 	install -m 755 netplan-dbus $(DESTDIR)/$(ROOTLIBEXECDIR)/netplan/
+@@ -133,13 +134,6 @@ install: default
+ 	sed -e "s#@ROOTLIBEXECDIR@#$(ROOTLIBEXECDIR)#" $< > $@
+ 
+ 
+-%.html: %.md
+-	pandoc -s --toc -o $@ $<
+ 
+-doc/netplan.5: doc/manpage-header.md doc/netplan.md doc/manpage-footer.md
+-	pandoc -s -o $@ $^
+-
+-%.8: %.md
+-	pandoc -s -o $@ $^
+ 
+ .PHONY: clean
diff --git a/overlay-lakitu/net-misc/netplan/netplan-0.100-r1.ebuild b/overlay-lakitu/net-misc/netplan/netplan-0.100-r1.ebuild
new file mode 120000
index 0000000..e35ea85
--- /dev/null
+++ b/overlay-lakitu/net-misc/netplan/netplan-0.100-r1.ebuild
@@ -0,0 +1 @@
+netplan-0.100.ebuild
\ No newline at end of file
diff --git a/overlay-lakitu/net-misc/netplan/netplan-0.100.ebuild b/overlay-lakitu/net-misc/netplan/netplan-0.100.ebuild
new file mode 100644
index 0000000..3ac3ffb
--- /dev/null
+++ b/overlay-lakitu/net-misc/netplan/netplan-0.100.ebuild
@@ -0,0 +1,65 @@
+#
+# Copyright 2020 Google LLC
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+EAPI=7
+inherit cros-debug toolchain-funcs
+
+DESCRIPTION="Backend-agnostic network configuration in YAML"
+
+HOMEPAGE="https://netplan.io/"
+
+SRC_URI="https://github.com/CanonicalLtd/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+
+SLOT="0"
+
+KEYWORDS="*"
+
+IUSE="systemd"
+REQUIRED_USE="systemd"
+
+DEPEND=">=dev-libs/glib-2.58.3-r5
+>=dev-libs/libyaml-0.2.2
+"
+
+
+RDEPEND=">=dev-python/netifaces-0.10.9
+>=dev-libs/libyaml-0.2.2
+>=dev-python/pyyaml-3.13[libyaml(+)]"
+
+src_prepare() {
+
+	# Adding this patch so that makefile accepts custom pkg-config
+	eapply "${FILESDIR}/netplan-0.100-modify-makefile-to-accept-custom-pkg-config.patch"
+
+	sed -i -e "s:\$(DOCDIR)/netplan:\$(DOCDIR)/${PF}:" Makefile || die
+
+	# baselayout-1 compat
+	if has_version ">=sys-apps/baselayout-2.0.0"; then
+		sed -i -e 's:sbin/wpa_supplicant:usr/sbin/wpa_supplicant:' src/networkd.c || die
+	fi
+
+	eapply_user
+}
+
+src_compile() {
+	emake clean
+	emake DESTDIR="${D}" LIBDIR="\${PREFIX}/$(get_libdir)" HOSTPKGCONFIG="$(tc-getPKG_CONFIG)" CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Wno-unused-variable"
+}
+
+src_install() {
+	if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]] ; then
+		emake DESTDIR="${D}" LIBDIR="\${PREFIX}/$(get_libdir)" HOSTPKGCONFIG="$(tc-getPKG_CONFIG)" CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Wno-unused-variable" install
+	fi
+	einstalldocs
+}