diff options
Diffstat (limited to 'classes/virt_networking.bbclass')
-rw-r--r-- | classes/virt_networking.bbclass | 26 |
1 files changed, 26 insertions, 0 deletions
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 | # | ||
12 | PACKAGES:prepend = "${PN}-net-conf " | ||
13 | FILES:${PN}-net-conf = "${sysconfdir}/systemd/network/*" | ||
14 | |||
15 | do_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 | } | ||