summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-support
diff options
context:
space:
mode:
authorPrzemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>2020-04-09 01:39:13 +0200
committerKhem Raj <raj.khem@gmail.com>2020-04-11 15:26:27 -0700
commitf158ce33b529f0959283a303964968c14c68f519 (patch)
treeb96ae902deb9d0370cdbf7d25778d4cd72b50aa9 /meta-networking/recipes-support
parent7d46719656a41df705abe12dfe33e6ed551b0a69 (diff)
downloadmeta-openembedded-f158ce33b529f0959283a303964968c14c68f519.tar.gz
nbdkit: Add recipe to extend backend possibilities of nbd.
Nbdkit uses plugins to add more sources of data for nbd client. Nbdkit can also spawn nbd-client, uses unix or network socket to communicate with client, uses different plugins to serve data for nbd device eg. curl, file, custom plugins in many languages (perl, python) and some others. Fix build when printf is a macro instead of function Use BSD-3-Clause for license inherit bash-completion so these are packaged correctly Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-networking/recipes-support')
-rw-r--r--meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch39
-rw-r--r--meta-networking/recipes-support/nbdkit/nbdkit_git.bb36
2 files changed, 75 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch b/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch
new file mode 100644
index 000000000..c7ec41eb9
--- /dev/null
+++ b/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch
@@ -0,0 +1,39 @@
1From 28f07715ab4d670ce81e12776bbece043305bd83 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 11 Apr 2020 15:08:39 -0700
4Subject: [PATCH] server: Fix build when printf is a macro
5
6clang complains on x86 when building
7
8main.c:116:2: error: embedding a #include directive within macro arguments is not supported
9 ^
10
11convert nesting include into a string assignment, to same effect but
12making it compatible with clang as well
13
14Upstream-Status: Submitted [https://github.com/libguestfs/nbdkit/pull/3]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 server/main.c | 5 +++--
18 1 file changed, 3 insertions(+), 2 deletions(-)
19
20diff --git a/server/main.c b/server/main.c
21index 748122f..c0ac874 100644
22--- a/server/main.c
23+++ b/server/main.c
24@@ -112,9 +112,10 @@ static void
25 usage (void)
26 {
27 /* --{short,long}-options remain undocumented */
28- printf (
29+ char const *opt_list =
30 #include "synopsis.c"
31- );
32+ ;
33+ printf ("%s\n", opt_list);
34 printf ("\n"
35 "Please read the nbdkit(1) manual page for full usage.\n");
36 }
37--
382.26.0
39
diff --git a/meta-networking/recipes-support/nbdkit/nbdkit_git.bb b/meta-networking/recipes-support/nbdkit/nbdkit_git.bb
new file mode 100644
index 000000000..a63e49ec5
--- /dev/null
+++ b/meta-networking/recipes-support/nbdkit/nbdkit_git.bb
@@ -0,0 +1,36 @@
1SUMMARY = "nbdkit is a toolkit for creating NBD servers."
2DESCRIPTION = "NBD — Network Block Device — is a protocol \
3for accessing Block Devices (hard disks and disk-like things) \
4over a Network. \
5\
6nbdkit is a toolkit for creating NBD servers."
7
8HOMEPAGE = "https://github.com/libguestfs/nbdkit"
9LICENSE = "BSD-3-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=4332a97808994cf2133a65b6c6f33eaf"
11
12SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \
13 file://0001-server-Fix-build-when-printf-is-a-macro.patch \
14"
15
16PV = "1.19.6+git${SRCPV}"
17SRCREV = "257561bc9f2f01eb9f21686bcec4b863d17a26c4"
18
19S = "${WORKDIR}/git"
20
21DEPENDS = "curl xz e2fsprogs zlib"
22
23# autotools-brokensep is needed as nbdkit does not support build in external directory
24inherit pkgconfig python3native perlnative bash-completion autotools-brokensep
25
26# Those are required to build standalone
27EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl"
28
29# Disable some extended support (not desired for small embedded systems)
30#EXTRA_OECONF += " --disable-python"
31#EXTRA_OECONF += " --disable-ocaml"
32#EXTRA_OECONF += " --disable-rust"
33#EXTRA_OECONF += " --disable-ruby"
34#EXTRA_OECONF += " --disable-tcl"
35#EXTRA_OECONF += " --disable-lua"
36#EXTRA_OECONF += " --disable-vddk"