summaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/image-oci-umoci.inc2
-rw-r--r--classes/qemuboot-testimage-network.bbclass3
-rw-r--r--classes/virt_networking.bbclass26
3 files changed, 30 insertions, 1 deletions
diff --git a/classes/image-oci-umoci.inc b/classes/image-oci-umoci.inc
index c77750fb..9bd154fb 100644
--- a/classes/image-oci-umoci.inc
+++ b/classes/image-oci-umoci.inc
@@ -50,7 +50,7 @@ IMAGE_CMD:oci() {
50 50
51 bbdebug 1 "OCI: populating rootfs" 51 bbdebug 1 "OCI: populating rootfs"
52 bbdebug 1 "OCI: cp -r ${IMAGE_ROOTFS}/* $image_bundle_name/rootfs/" 52 bbdebug 1 "OCI: cp -r ${IMAGE_ROOTFS}/* $image_bundle_name/rootfs/"
53 cp -r ${IMAGE_ROOTFS}/* $image_bundle_name/rootfs 53 cp -r -a --no-preserve=ownership ${IMAGE_ROOTFS}/* $image_bundle_name/rootfs
54 54
55 bbdebug 1 "OCI: umoci repack --image $image_name:${OCI_IMAGE_TAG} $image_bundle_name" 55 bbdebug 1 "OCI: umoci repack --image $image_name:${OCI_IMAGE_TAG} $image_bundle_name"
56 umoci repack --image $image_name:${OCI_IMAGE_TAG} $image_bundle_name 56 umoci repack --image $image_name:${OCI_IMAGE_TAG} $image_bundle_name
diff --git a/classes/qemuboot-testimage-network.bbclass b/classes/qemuboot-testimage-network.bbclass
index 57e03551..ca65de6c 100644
--- a/classes/qemuboot-testimage-network.bbclass
+++ b/classes/qemuboot-testimage-network.bbclass
@@ -2,6 +2,9 @@
2# the Qemu MACHINES: it removes all external network interfaces 2# the Qemu MACHINES: it removes all external network interfaces
3# by default. However, eth0 is needed for testimage, so enable it here. 3# by default. However, eth0 is needed for testimage, so enable it here.
4 4
5# NOTE: systemd configuration can be found in the virt_networking
6# bbclass and associated packages
7
5# If QB_NETWORK_XEN_BRIDGE is set, configure bridging for the network. 8# If QB_NETWORK_XEN_BRIDGE is set, configure bridging for the network.
6QB_NETWORK_XEN_BRIDGE ??= "" 9QB_NETWORK_XEN_BRIDGE ??= ""
7 10
diff --git a/classes/virt_networking.bbclass b/classes/virt_networking.bbclass
new file mode 100644
index 00000000..e92e1de5
--- /dev/null
+++ b/classes/virt_networking.bbclass
@@ -0,0 +1,26 @@
1# Similarly to the cni_networking.bbclass this class should be
2# inherted by recipes to produce a package that contains their
3# desired networking configuration.
4#
5# Currently only systemd networking is supported, but this will
6# be extended in the future
7#
8# By simply specifying the configuration / networking files,
9# they will be package and then eventually installed to the
10# correct target location.
11#
12PACKAGES:prepend = "${PN}-net-conf "
13FILES:${PN}-net-conf = "${sysconfdir}/systemd/network/*"
14
15do_install:append() {
16 if [ -z "${VIRT_NETWORKING_FILES}" ]; then
17 bbfatal "virt-networking was inherited, but no networking configuration was provided via VIRT_NETWORKING_FILES"
18 fi
19
20 # TODO: possibily make the systemd configuration conditional on the init manager
21 install -d "${D}/${sysconfdir}/systemd/network/"
22 for f in ${VIRT_NETWORKING_FILES}; do
23 conf_name="$(basename $f)"
24 install -D -m 0644 "$f" "${D}/${sysconfdir}/systemd/network/$conf_name"
25 done
26}