Openembedded Devel Discussions
 help / color / mirror / Atom feed
* [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools
@ 2017-04-02 20:33 Stefan Agner
  2017-04-06  7:29 ` Martin Jansa
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Agner @ 2017-04-02 20:33 UTC (permalink / raw)
  To: openembedded-devel

WireGuard is an extremely simple yet fast and modern VPN that utilizes
state-of-the-art cryptography. It aims to be faster, simpler, leaner,
and more useful than IPSec, while avoiding the massive headache.

The recipes add the current experimental snapshot v0.0.20170324
out-of-tree kernel module and tools. The kernel module has some kernel
configuration dependencies such as some configuration part of
features/netfilter/netfilter.scc, hence netfilter.scc should be part
of KERNEL_EXTRA_FEATURES (which is the case by default).

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 .../wireguard/wireguard-module_0.0.20170324.bb     |  9 ++++++++
 .../wireguard/wireguard-tools_0.0.20170324.bb      | 27 ++++++++++++++++++++++
 .../recipes-kernel/wireguard/wireguard.inc         | 18 +++++++++++++++
 3 files changed, 54 insertions(+)
 create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb
 create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb
 create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard.inc

diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb
new file mode 100644
index 0000000..aeb8269
--- /dev/null
+++ b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb
@@ -0,0 +1,9 @@
+require wireguard.inc
+
+inherit module
+
+EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
+MAKE_TARGETS = "module"
+MODULES_INSTALL_TARGET = "module-install"
+
+RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb
new file mode 100644
index 0000000..79d420f
--- /dev/null
+++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb
@@ -0,0 +1,27 @@
+require wireguard.inc
+
+inherit bash-completion systemd pkgconfig
+
+DEPENDS = "wireguard-module libmnl"
+
+do_compile_prepend () {
+    cd ${S}/tools
+}
+
+do_install () {
+    cd ${S}/tools
+    oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
+        SYSTEMDUNITDIR="${systemd_unitdir}" \
+        WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
+        WITH_BASHCOMPLETION=yes \
+        WITH_WGQUICK=yes \
+        install
+}
+
+FILES_${PN} = " \
+    ${sysconfdir} \
+    ${systemd_unitdir} \
+    ${bindir} \
+"
+
+RDEPENDS_${PN} = "wireguard-module"
diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-networking/recipes-kernel/wireguard/wireguard.inc
new file mode 100644
index 0000000..cec7260
--- /dev/null
+++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -0,0 +1,18 @@
+SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
+DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
+implemented as a kernel virtual network interface for Linux, which aims to \
+replace both IPsec for most use cases, as well as popular user space and/or \
+TLS-based solutions like OpenVPN, while being more secure, more performant, \
+and easier to use."
+SECTION = "networking"
+HOMEPAGE = "https://www.wireguard.io/"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "fead9ae2d7c6729e39f529913584494a"
+SRC_URI[sha256sum] = "2ec08a5d74cb3a63576f06d3cae695b6b8995acd9665e2fa4da91927b467ca51"
+
+S = "${WORKDIR}/WireGuard-${PV}/src/"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools
  2017-04-02 20:33 [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools Stefan Agner
@ 2017-04-06  7:29 ` Martin Jansa
  2017-04-06 15:08   ` Stefan Agner
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Martin Jansa @ 2017-04-06  7:29 UTC (permalink / raw)
  To: Stefan Agner; +Cc: openembedded-devel

TUNE_PKGARCH package cannot depend on MACHINE_ARCH module unless you remove
this dependency from sstate signature in layer.conf


Complete log: http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.signatures.20170405_114645.log/
    * ERROR: 3 issues were found in these recipes: wireguard-tools

    * ERROR: 1 errors found in signatures.qemux86.do_configure.sigdata.log
    * ERROR: 1 errors found in
signatures.qemux86.do_populate_sysroot.sigdata.log
    * ERROR: 1 errors found in
signatures.qemux86.do_package_write_ipk.sigdata.log

    * ERROR: wireguard-tools different signature for task
do_configure.sigdata between qemux86copy and qemux86
    * ERROR: 1 errors found in
/home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_configure.sigdata.log
    * ERROR: wireguard-tools different signature for task
do_populate_sysroot.sigdata between qemux86copy and qemux86
    * ERROR: 1 errors found in
/home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_populate_sysroot.sigdata.log
    * ERROR: wireguard-tools different signature for task
do_package_write_ipk.sigdata between qemux86copy and qemux86
    * ERROR: 1 errors found in
/home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_package_write_ipk.sigdata.log
    * ERROR: 3 issues were found in these recipes: wireguard-tools


On Sun, Apr 2, 2017 at 10:33 PM, Stefan Agner <stefan@agner.ch> wrote:

> WireGuard is an extremely simple yet fast and modern VPN that utilizes
> state-of-the-art cryptography. It aims to be faster, simpler, leaner,
> and more useful than IPSec, while avoiding the massive headache.
>
> The recipes add the current experimental snapshot v0.0.20170324
> out-of-tree kernel module and tools. The kernel module has some kernel
> configuration dependencies such as some configuration part of
> features/netfilter/netfilter.scc, hence netfilter.scc should be part
> of KERNEL_EXTRA_FEATURES (which is the case by default).
>
> Signed-off-by: Stefan Agner <stefan@agner.ch>
> ---
>  .../wireguard/wireguard-module_0.0.20170324.bb     |  9 ++++++++
>  .../wireguard/wireguard-tools_0.0.20170324.bb      | 27
> ++++++++++++++++++++++
>  .../recipes-kernel/wireguard/wireguard.inc         | 18 +++++++++++++++
>  3 files changed, 54 insertions(+)
>  create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-
> module_0.0.20170324.bb
>  create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-
> tools_0.0.20170324.bb
>  create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard.inc
>
> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-
> module_0.0.20170324.bb b/meta-networking/recipes-kernel/wireguard/
> wireguard-module_0.0.20170324.bb
> new file mode 100644
> index 0000000..aeb8269
> --- /dev/null
> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-
> module_0.0.20170324.bb
> @@ -0,0 +1,9 @@
> +require wireguard.inc
> +
> +inherit module
> +
> +EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
> +MAKE_TARGETS = "module"
> +MODULES_INSTALL_TARGET = "module-install"
> +
> +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-
> tools_0.0.20170324.bb b/meta-networking/recipes-kernel/wireguard/
> wireguard-tools_0.0.20170324.bb
> new file mode 100644
> index 0000000..79d420f
> --- /dev/null
> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-
> tools_0.0.20170324.bb
> @@ -0,0 +1,27 @@
> +require wireguard.inc
> +
> +inherit bash-completion systemd pkgconfig
> +
> +DEPENDS = "wireguard-module libmnl"
> +
> +do_compile_prepend () {
> +    cd ${S}/tools
> +}
> +
> +do_install () {
> +    cd ${S}/tools
> +    oe_runmake DESTDIR="${D}" PREFIX="${prefix}"
> SYSCONFDIR="${sysconfdir}" \
> +        SYSTEMDUNITDIR="${systemd_unitdir}" \
> +        WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES',
> 'systemd', 'yes', '', d)} \
> +        WITH_BASHCOMPLETION=yes \
> +        WITH_WGQUICK=yes \
> +        install
> +}
> +
> +FILES_${PN} = " \
> +    ${sysconfdir} \
> +    ${systemd_unitdir} \
> +    ${bindir} \
> +"
> +
> +RDEPENDS_${PN} = "wireguard-module"
> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc
> b/meta-networking/recipes-kernel/wireguard/wireguard.inc
> new file mode 100644
> index 0000000..cec7260
> --- /dev/null
> +++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc
> @@ -0,0 +1,18 @@
> +SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
> +DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
> +implemented as a kernel virtual network interface for Linux, which aims
> to \
> +replace both IPsec for most use cases, as well as popular user space
> and/or \
> +TLS-based solutions like OpenVPN, while being more secure, more
> performant, \
> +and easier to use."
> +SECTION = "networking"
> +HOMEPAGE = "https://www.wireguard.io/"
> +LICENSE = "GPLv2"
> +
> +LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a42
> 63"
> +
> +SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-$
> {PV}.tar.xz"
> +
> +SRC_URI[md5sum] = "fead9ae2d7c6729e39f529913584494a"
> +SRC_URI[sha256sum] = "2ec08a5d74cb3a63576f06d3cae695
> b6b8995acd9665e2fa4da91927b467ca51"
> +
> +S = "${WORKDIR}/WireGuard-${PV}/src/"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools
  2017-04-06  7:29 ` Martin Jansa
@ 2017-04-06 15:08   ` Stefan Agner
  2017-04-11 21:04   ` Stefan Agner
  2017-04-11 21:12   ` Stefan Agner
  2 siblings, 0 replies; 7+ messages in thread
From: Stefan Agner @ 2017-04-06 15:08 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-devel

 

Hm, is removing sstate signature for the meta-networking layer
acceptable? 

Is there another solution to resolve that? 

Note sure if it is related, but I use a RDEPENDS to the module package 

RDEPENDS_${PN} = "wireguard-module" 

Instead of: 

RDEPENDS_${PN} = "kernel-module-wireguard" 

With the latter, OE did not install RDEPENDS of wireguard-module
(kernel-module-xt-hashlimit)... 

-- 

Stefan 

On 2017-04-06 00:29, Martin Jansa wrote: 

> TUNE_PKGARCH package cannot depend on MACHINE_ARCH module unless you remove this dependency from sstate signature in layer.conf 
> 
> Complete log: http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.signatures.20170405_114645.log/
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> * ERROR: 1 errors found in signatures.qemux86.do_configure.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_package_write_ipk.sigdata.log
> 
> * ERROR: wireguard-tools different signature for task do_configure.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_configure.sigdata.log
> * ERROR: wireguard-tools different signature for task do_populate_sysroot.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: wireguard-tools different signature for task do_package_write_ipk.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_package_write_ipk.sigdata.log
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> On Sun, Apr 2, 2017 at 10:33 PM, Stefan Agner <stefan@agner.ch> wrote:
> 
>> WireGuard is an extremely simple yet fast and modern VPN that utilizes
>> state-of-the-art cryptography. It aims to be faster, simpler, leaner,
>> and more useful than IPSec, while avoiding the massive headache.
>> 
>> The recipes add the current experimental snapshot v0.0.20170324
>> out-of-tree kernel module and tools. The kernel module has some kernel
>> configuration dependencies such as some configuration part of
>> features/netfilter/netfilter.scc, hence netfilter.scc should be part
>> of KERNEL_EXTRA_FEATURES (which is the case by default).
>> 
>> Signed-off-by: Stefan Agner <stefan@agner.ch>
>> ---
>> .../wireguard/wireguard-module_0.0.20170324.bb [1]     |  9 ++++++++
>> .../wireguard/wireguard-tools_0.0.20170324.bb [2]      | 27 ++++++++++++++++++++++
>> .../recipes-kernel/wireguard/wireguard.inc         | 18 +++++++++++++++
>> 3 files changed, 54 insertions(+)
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard.inc
>> 
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1] b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> new file mode 100644
>> index 0000000..aeb8269
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> @@ -0,0 +1,9 @@
>> +require wireguard.inc
>> +
>> +inherit module
>> +
>> +EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
>> +MAKE_TARGETS = "module"
>> +MODULES_INSTALL_TARGET = "module-install"
>> +
>> +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2] b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> new file mode 100644
>> index 0000000..79d420f
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> @@ -0,0 +1,27 @@
>> +require wireguard.inc
>> +
>> +inherit bash-completion systemd pkgconfig
>> +
>> +DEPENDS = "wireguard-module libmnl"
>> +
>> +do_compile_prepend () {
>> +    cd ${S}/tools
>> +}
>> +
>> +do_install () {
>> +    cd ${S}/tools
>> +    oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
>> +        SYSTEMDUNITDIR="${systemd_unitdir}" \
>> +        WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
>> +        WITH_BASHCOMPLETION=yes \
>> +        WITH_WGQUICK=yes \
>> +        install
>> +}
>> +
>> +FILES_${PN} = " \
>> +    ${sysconfdir} \
>> +    ${systemd_unitdir} \
>> +    ${bindir} \
>> +"
>> +
>> +RDEPENDS_${PN} = "wireguard-module"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> new file mode 100644
>> index 0000000..cec7260
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> @@ -0,0 +1,18 @@
>> +SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
>> +DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
>> +implemented as a kernel virtual network interface for Linux, which aims to \
>> +replace both IPsec for most use cases, as well as popular user space and/or \
>> +TLS-based solutions like OpenVPN, while being more secure, more performant, \
>> +and easier to use."
>> +SECTION = "networking"
>> +HOMEPAGE = "https://www.wireguard.io/"
>> +LICENSE = "GPLv2"
>> +
>> +LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>> +
>> +SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz [3]"
>> +
>> +SRC_URI[md5sum] = "fead9ae2d7c6729e39f529913584494a"
>> +SRC_URI[sha256sum] = "2ec08a5d74cb3a63576f06d3cae695b6b8995acd9665e2fa4da91927b467ca51"
>> +
>> +S = "${WORKDIR}/WireGuard-${PV}/src/"
>> --
>> 2.7.4
>> 
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel [4]

  

Links:
------
[1] http://wireguard-module_0.0.20170324.bb
[2] http://wireguard-tools_0.0.20170324.bb
[3] https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz
[4] http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools
  2017-04-06  7:29 ` Martin Jansa
  2017-04-06 15:08   ` Stefan Agner
@ 2017-04-11 21:04   ` Stefan Agner
  2017-04-11 21:18     ` Martin Jansa
  2017-04-11 21:12   ` Stefan Agner
  2 siblings, 1 reply; 7+ messages in thread
From: Stefan Agner @ 2017-04-11 21:04 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-devel

 

Hi Martin, 

I tried to reproduce your findings, unfortunately building qemux86copy
fails for me with this: 

Parsing recipes: 100%
|######################################################################################################|
Time: 0:00:20
Parsing of 1865 .bb files complete (0 cached, 1865 parsed). 2607
targets, 168 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies 

Build Configuration:
BB_VERSION = "1.33.4"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-16.04"
TARGET_SYS = "i586-oe-linux"
MACHINE = "qemux86copy"
DISTRO = "nodistro"
DISTRO_VERSION = "nodistro.0"
TUNE_FEATURES = "m32 i586"
TARGET_FPU = ""
meta = "master:210c518ba8f8d6ec6e9d34e0df8b963a3b2e0593"
meta-oe 
meta-python 
meta-networking = "master-next:c323b775e45e48c70ffe841a6b7addbd39183980"
meta-selftest = "master:210c518ba8f8d6ec6e9d34e0df8b963a3b2e0593" 

Initialising tasks: 100%
|###################################################################################################|
Time: 0:00:00
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: linux-yocto-4.10.5+gitAUTOINC+01f18cba44_53be19cad6-r0
do_kernel_configcheck: [kernel config]: specified values did not make it
int
o the kernel's final configuration: 

---------- CONFIG_AEABI -----------------
Config: CONFIG_AEABI
From:
/build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/.kernel-meta/configs/standard/arch/arm/arm.cfg
Requested value: CONFIG_AEABI=y
Actual value: 

.... 

| WRAP arch/x86/include/generated/asm/mm-arch-hooks.h
| WRAP arch/x86/include/generated/asm/early_ioremap.h
| WRAP arch/x86/include/generated/asm/mcs_spinlock.h
| CHK include/generated/uapi/linux/version.h
| UPD include/generated/uapi/linux/version.h
| CHK include/generated/utsrelease.h
| UPD include/generated/utsrelease.h
| HOSTCC scripts/kallsyms
| HOSTCC scripts/conmakehash
| HOSTCC scripts/recordmcount
| HOSTCC scripts/sortextable
| CC scripts/mod/empty.o
| HOSTCC scripts/mod/mk_elfconfig
|
/build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/mod/empty.c:1:0:
error: code model 'kernel' not supported in the 32 bit mode
| /* empty file to figure out endianness / word size */
| 
|
/build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/mod/empty.c:1:0:
sorry, unimplemented: 64-bit mode not compiled in
|
/build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/Makefile.build:294:
recipe for target 'scripts/mod/empty.o' failed
| make[4]: *** [scripts/mod/empty.o] Error 1
| make[4]: *** Waiting for unfinished jobs....
|
/build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/Makefile.build:553:
recipe for target 'scripts/mod' failed
| make[3]: *** [scripts/mod] Error 2
| make[3]: *** Waiting for unfinished jobs....
|
/build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/Makefile:560:
recipe for target 'scripts' failed
| make[2]: *** [scripts] Error 2
| make[2]: *** Waiting for unfinished jobs....
| Makefile:150: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
| Makefile:24: recipe for target '__sub-make' failed
| make: *** [__sub-make] Error 2
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at
/build/ags/oe-core/build/tmp-glibc/work/qemux86copy-oe-linux/linux-yocto/4.10.5+gitAUTOINC+01f18cba44_53be19cad6-r0/temp/log.do_compile.29158)


What is going on here? Somehow OE tries to configure the kernel for
arm?! The qemux86 machine built just fine, not sure what difference
causes this error when building the qemux86copy machine. 

Sorry, I did do not understand how I can "remove this dependency from
sstate signature in layer.conf", do you have any hints how to do this? 

Also, meta-networking/recipes-connectivity/ufw/ufw_0.33.bb seems to me
to do pretty much the same as I do, shouldn't have that the same issue? 

Best regards, 

Stefan 

On 2017-04-06 00:29, Martin Jansa wrote: 

> TUNE_PKGARCH package cannot depend on MACHINE_ARCH module unless you remove this dependency from sstate signature in layer.conf 
> 
> Complete log: http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.signatures.20170405_114645.log/
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> * ERROR: 1 errors found in signatures.qemux86.do_configure.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_package_write_ipk.sigdata.log
> 
> * ERROR: wireguard-tools different signature for task do_configure.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_configure.sigdata.log
> * ERROR: wireguard-tools different signature for task do_populate_sysroot.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: wireguard-tools different signature for task do_package_write_ipk.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_package_write_ipk.sigdata.log
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> On Sun, Apr 2, 2017 at 10:33 PM, Stefan Agner <stefan@agner.ch> wrote:
> 
>> WireGuard is an extremely simple yet fast and modern VPN that utilizes
>> state-of-the-art cryptography. It aims to be faster, simpler, leaner,
>> and more useful than IPSec, while avoiding the massive headache.
>> 
>> The recipes add the current experimental snapshot v0.0.20170324
>> out-of-tree kernel module and tools. The kernel module has some kernel
>> configuration dependencies such as some configuration part of
>> features/netfilter/netfilter.scc, hence netfilter.scc should be part
>> of KERNEL_EXTRA_FEATURES (which is the case by default).
>> 
>> Signed-off-by: Stefan Agner <stefan@agner.ch>
>> ---
>> .../wireguard/wireguard-module_0.0.20170324.bb [1]     |  9 ++++++++
>> .../wireguard/wireguard-tools_0.0.20170324.bb [2]      | 27 ++++++++++++++++++++++
>> .../recipes-kernel/wireguard/wireguard.inc         | 18 +++++++++++++++
>> 3 files changed, 54 insertions(+)
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard.inc
>> 
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1] b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> new file mode 100644
>> index 0000000..aeb8269
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> @@ -0,0 +1,9 @@
>> +require wireguard.inc
>> +
>> +inherit module
>> +
>> +EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
>> +MAKE_TARGETS = "module"
>> +MODULES_INSTALL_TARGET = "module-install"
>> +
>> +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2] b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> new file mode 100644
>> index 0000000..79d420f
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> @@ -0,0 +1,27 @@
>> +require wireguard.inc
>> +
>> +inherit bash-completion systemd pkgconfig
>> +
>> +DEPENDS = "wireguard-module libmnl"
>> +
>> +do_compile_prepend () {
>> +    cd ${S}/tools
>> +}
>> +
>> +do_install () {
>> +    cd ${S}/tools
>> +    oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
>> +        SYSTEMDUNITDIR="${systemd_unitdir}" \
>> +        WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
>> +        WITH_BASHCOMPLETION=yes \
>> +        WITH_WGQUICK=yes \
>> +        install
>> +}
>> +
>> +FILES_${PN} = " \
>> +    ${sysconfdir} \
>> +    ${systemd_unitdir} \
>> +    ${bindir} \
>> +"
>> +
>> +RDEPENDS_${PN} = "wireguard-module"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> new file mode 100644
>> index 0000000..cec7260
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> @@ -0,0 +1,18 @@
>> +SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
>> +DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
>> +implemented as a kernel virtual network interface for Linux, which aims to \
>> +replace both IPsec for most use cases, as well as popular user space and/or \
>> +TLS-based solutions like OpenVPN, while being more secure, more performant, \
>> +and easier to use."
>> +SECTION = "networking"
>> +HOMEPAGE = "https://www.wireguard.io/"
>> +LICENSE = "GPLv2"
>> +
>> +LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>> +
>> +SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz [3]"
>> +
>> +SRC_URI[md5sum] = "fead9ae2d7c6729e39f529913584494a"
>> +SRC_URI[sha256sum] = "2ec08a5d74cb3a63576f06d3cae695b6b8995acd9665e2fa4da91927b467ca51"
>> +
>> +S = "${WORKDIR}/WireGuard-${PV}/src/"
>> --
>> 2.7.4
>> 
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel [4]

  

Links:
------
[1] http://wireguard-module_0.0.20170324.bb
[2] http://wireguard-tools_0.0.20170324.bb
[3] https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz
[4] http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools
  2017-04-06  7:29 ` Martin Jansa
  2017-04-06 15:08   ` Stefan Agner
  2017-04-11 21:04   ` Stefan Agner
@ 2017-04-11 21:12   ` Stefan Agner
  2 siblings, 0 replies; 7+ messages in thread
From: Stefan Agner @ 2017-04-11 21:12 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-devel

 

I guess one solution would be adding  

PACKAGE_ARCH = "${MACHINE_ARCH}" 

to the wireguard-tools recipe, but that seems wrong to me since we can
reuse wireguard-tools for all TUNE_PKGARCH's... Any hint/help
appreciated. 

-- 

Stefan 

On 2017-04-06 00:29, Martin Jansa wrote: 

> TUNE_PKGARCH package cannot depend on MACHINE_ARCH module unless you remove this dependency from sstate signature in layer.conf 
> 
> Complete log: http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.signatures.20170405_114645.log/
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> * ERROR: 1 errors found in signatures.qemux86.do_configure.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_package_write_ipk.sigdata.log
> 
> * ERROR: wireguard-tools different signature for task do_configure.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_configure.sigdata.log
> * ERROR: wireguard-tools different signature for task do_populate_sysroot.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: wireguard-tools different signature for task do_package_write_ipk.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_package_write_ipk.sigdata.log
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> On Sun, Apr 2, 2017 at 10:33 PM, Stefan Agner <stefan@agner.ch> wrote:
> 
>> WireGuard is an extremely simple yet fast and modern VPN that utilizes
>> state-of-the-art cryptography. It aims to be faster, simpler, leaner,
>> and more useful than IPSec, while avoiding the massive headache.
>> 
>> The recipes add the current experimental snapshot v0.0.20170324
>> out-of-tree kernel module and tools. The kernel module has some kernel
>> configuration dependencies such as some configuration part of
>> features/netfilter/netfilter.scc, hence netfilter.scc should be part
>> of KERNEL_EXTRA_FEATURES (which is the case by default).
>> 
>> Signed-off-by: Stefan Agner <stefan@agner.ch>
>> ---
>> .../wireguard/wireguard-module_0.0.20170324.bb [1]     |  9 ++++++++
>> .../wireguard/wireguard-tools_0.0.20170324.bb [2]      | 27 ++++++++++++++++++++++
>> .../recipes-kernel/wireguard/wireguard.inc         | 18 +++++++++++++++
>> 3 files changed, 54 insertions(+)
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard.inc
>> 
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1] b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> new file mode 100644
>> index 0000000..aeb8269
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [1]
>> @@ -0,0 +1,9 @@
>> +require wireguard.inc
>> +
>> +inherit module
>> +
>> +EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
>> +MAKE_TARGETS = "module"
>> +MODULES_INSTALL_TARGET = "module-install"
>> +
>> +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2] b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> new file mode 100644
>> index 0000000..79d420f
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [2]
>> @@ -0,0 +1,27 @@
>> +require wireguard.inc
>> +
>> +inherit bash-completion systemd pkgconfig
>> +
>> +DEPENDS = "wireguard-module libmnl"
>> +
>> +do_compile_prepend () {
>> +    cd ${S}/tools
>> +}
>> +
>> +do_install () {
>> +    cd ${S}/tools
>> +    oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
>> +        SYSTEMDUNITDIR="${systemd_unitdir}" \
>> +        WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
>> +        WITH_BASHCOMPLETION=yes \
>> +        WITH_WGQUICK=yes \
>> +        install
>> +}
>> +
>> +FILES_${PN} = " \
>> +    ${sysconfdir} \
>> +    ${systemd_unitdir} \
>> +    ${bindir} \
>> +"
>> +
>> +RDEPENDS_${PN} = "wireguard-module"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> new file mode 100644
>> index 0000000..cec7260
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> @@ -0,0 +1,18 @@
>> +SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
>> +DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
>> +implemented as a kernel virtual network interface for Linux, which aims to \
>> +replace both IPsec for most use cases, as well as popular user space and/or \
>> +TLS-based solutions like OpenVPN, while being more secure, more performant, \
>> +and easier to use."
>> +SECTION = "networking"
>> +HOMEPAGE = "https://www.wireguard.io/"
>> +LICENSE = "GPLv2"
>> +
>> +LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>> +
>> +SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz [3]"
>> +
>> +SRC_URI[md5sum] = "fead9ae2d7c6729e39f529913584494a"
>> +SRC_URI[sha256sum] = "2ec08a5d74cb3a63576f06d3cae695b6b8995acd9665e2fa4da91927b467ca51"
>> +
>> +S = "${WORKDIR}/WireGuard-${PV}/src/"
>> --
>> 2.7.4
>> 
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel [4]

  

Links:
------
[1] http://wireguard-module_0.0.20170324.bb
[2] http://wireguard-tools_0.0.20170324.bb
[3] https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz
[4] http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools
  2017-04-11 21:04   ` Stefan Agner
@ 2017-04-11 21:18     ` Martin Jansa
  2017-04-12  5:50       ` Stefan Agner
  0 siblings, 1 reply; 7+ messages in thread
From: Martin Jansa @ 2017-04-11 21:18 UTC (permalink / raw)
  To: Stefan Agner; +Cc: openembedded-devel

Hi,

you don't need to build anything for qemux86copy just use
sstate-diff-machines.sh script from oe-core to compare sstate signatures.

You can see some SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS examples in:
http://git.openembedded.org/meta-openembedded/tree/meta-oe/conf/layer.conf
http://git.openembedded.org/openembedded-core/tree/meta/conf/layer.conf

I cannot check it now, but my guess is that ufw issue wasn't detected in my
jenkins jobs, because it has:

REQUIRED_DISTRO_FEATURES = "ipv6"


and nodistro config probably doesn't have ipv6 in DISTRO_FEATURES.


On Tue, Apr 11, 2017 at 11:04 PM, Stefan Agner <stefan@agner.ch> wrote:

> Hi Martin,
>
>
>
> I tried to reproduce your findings, unfortunately building qemux86copy
> fails for me with this:
>
> Parsing recipes: 100% |#############################
> #########################################################################|
> Time: 0:00:20
> Parsing of 1865 .bb files complete (0 cached, 1865 parsed). 2607 targets,
> 168 skipped, 0 masked, 0 errors.
> NOTE: Resolving any missing task queue dependencies
>
> Build Configuration:
> BB_VERSION = "1.33.4"
> BUILD_SYS = "x86_64-linux"
> NATIVELSBSTRING = "ubuntu-16.04"
> TARGET_SYS = "i586-oe-linux"
> MACHINE = "qemux86copy"
> DISTRO = "nodistro"
> DISTRO_VERSION = "nodistro.0"
> TUNE_FEATURES = "m32 i586"
> TARGET_FPU = ""
> meta = "master:210c518ba8f8d6ec6e9d34e0df8b963a3b2e0593"
> meta-oe
> meta-python
> meta-networking = "master-next:c323b775e45e48c70ffe841a6b7addbd39183980"
> meta-selftest = "master:210c518ba8f8d6ec6e9d34e0df8b963a3b2e0593"
>
> Initialising tasks: 100% |#############################
> ######################################################################|
> Time: 0:00:00
> NOTE: Executing SetScene Tasks
> NOTE: Executing RunQueue Tasks
> WARNING: linux-yocto-4.10.5+gitAUTOINC+01f18cba44_53be19cad6-r0
> do_kernel_configcheck: [kernel config]: specified values did not make it int
> o the kernel's final configuration:
>
> ---------- CONFIG_AEABI -----------------
> Config: CONFIG_AEABI
> From: /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/
> kernel-source/.kernel-meta/configs/standard/arch/arm/arm.cfg
> Requested value: CONFIG_AEABI=y
> Actual value:
>
>
>
> ....
>
> | WRAP arch/x86/include/generated/asm/mm-arch-hooks.h
> | WRAP arch/x86/include/generated/asm/early_ioremap.h
> | WRAP arch/x86/include/generated/asm/mcs_spinlock.h
> | CHK include/generated/uapi/linux/version.h
> | UPD include/generated/uapi/linux/version.h
> | CHK include/generated/utsrelease.h
> | UPD include/generated/utsrelease.h
> | HOSTCC scripts/kallsyms
> | HOSTCC scripts/conmakehash
> | HOSTCC scripts/recordmcount
> | HOSTCC scripts/sortextable
> | CC scripts/mod/empty.o
> | HOSTCC scripts/mod/mk_elfconfig
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/
> kernel-source/scripts/mod/empty.c:1:0: error: code model 'kernel' not
> supported in the 32 bit mode
> | /* empty file to figure out endianness / word size */
> |
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/
> kernel-source/scripts/mod/empty.c:1:0: sorry, unimplemented: 64-bit mode
> not compiled in
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/
> kernel-source/scripts/Makefile.build:294: recipe for target
> 'scripts/mod/empty.o' failed
> | make[4]: *** [scripts/mod/empty.o] Error 1
> | make[4]: *** Waiting for unfinished jobs....
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/
> kernel-source/scripts/Makefile.build:553: recipe for target 'scripts/mod'
> failed
> | make[3]: *** [scripts/mod] Error 2
> | make[3]: *** Waiting for unfinished jobs....
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/Makefile:560:
> recipe for target 'scripts' failed
> | make[2]: *** [scripts] Error 2
> | make[2]: *** Waiting for unfinished jobs....
> | Makefile:150: recipe for target 'sub-make' failed
> | make[1]: *** [sub-make] Error 2
> | Makefile:24: recipe for target '__sub-make' failed
> | make: *** [__sub-make] Error 2
> | WARNING: exit code 1 from a shell command.
> | ERROR: Function failed: do_compile (log file is located at
> /build/ags/oe-core/build/tmp-glibc/work/qemux86copy-oe-
> linux/linux-yocto/4.10.5+gitAUTOINC+01f18cba44_53be19cad6-r0/temp/log.do_
> compile.29158)
>
>
>
> What is going on here? Somehow OE tries to configure the kernel for arm?!
> The qemux86 machine built just fine, not sure what difference causes this
> error when building the qemux86copy machine.
>
>
>
> Sorry, I did do not understand how I can "remove this dependency from
> sstate signature in layer.conf", do you have any hints how to do this?
>
> Also, meta-networking/recipes-connectivity/ufw/ufw_0.33.bb seems to me to
> do pretty much the same as I do, shouldn't have that the same issue?
>
>
>
> Best regards,
>
> Stefan
>
>
>
>
>
>
>
> On 2017-04-06 00:29, Martin Jansa wrote:
>
> TUNE_PKGARCH package cannot depend on MACHINE_ARCH module unless you
> remove this dependency from sstate signature in layer.conf
>
>
>
> Complete log: http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.signatures.20170405_114645.log/
>     * ERROR: 3 issues were found in these recipes: wireguard-tools
>
>     * ERROR: 1 errors found in signatures.qemux86.do_configure.sigdata.log
>     * ERROR: 1 errors found in signatures.qemux86.do_populate_sysroot.sigdata.log
>     * ERROR: 1 errors found in signatures.qemux86.do_package_write_ipk.sigdata.log
>
>     * ERROR: wireguard-tools different signature for task do_configure.sigdata between qemux86copy and qemux86
>     * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_configure.sigdata.log
>     * ERROR: wireguard-tools different signature for task do_populate_sysroot.sigdata between qemux86copy and qemux86
>     * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_populate_sysroot.sigdata.log
>     * ERROR: wireguard-tools different signature for task do_package_write_ipk.sigdata between qemux86copy and qemux86
>     * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_package_write_ipk.sigdata.log
>     * ERROR: 3 issues were found in these recipes: wireguard-tools
>
>
> On Sun, Apr 2, 2017 at 10:33 PM, Stefan Agner <stefan@agner.ch> wrote:
>
>> WireGuard is an extremely simple yet fast and modern VPN that utilizes
>> state-of-the-art cryptography. It aims to be faster, simpler, leaner,
>> and more useful than IPSec, while avoiding the massive headache.
>>
>> The recipes add the current experimental snapshot v0.0.20170324
>> out-of-tree kernel module and tools. The kernel module has some kernel
>> configuration dependencies such as some configuration part of
>> features/netfilter/netfilter.scc, hence netfilter.scc should be part
>> of KERNEL_EXTRA_FEATURES (which is the case by default).
>>
>> Signed-off-by: Stefan Agner <stefan@agner.ch>
>> ---
>>  .../wireguard/wireguard-module_0.0.20170324.bb     |  9 ++++++++
>>  .../wireguard/wireguard-tools_0.0.20170324.bb      | 27
>> ++++++++++++++++++++++
>>  .../recipes-kernel/wireguard/wireguard.inc         | 18 +++++++++++++++
>>  3 files changed, 54 insertions(+)
>>  create mode 100644 meta-networking/recipes-kernel/wireguard/
>> wireguard-module_0.0.20170324.bb
>>  create mode 100644 meta-networking/recipes-kernel/wireguard/
>> wireguard-tools_0.0.20170324.bb
>>  create mode 100644 meta-networking/recipes-kernel
>> /wireguard/wireguard.inc
>>
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-module_
>> 0.0.20170324.bb b/meta-networking/recipes-kernel/wireguard/
>> wireguard-module_0.0.20170324.bb
>> new file mode 100644
>> index 0000000..aeb8269
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-module_
>> 0.0.20170324.bb
>> @@ -0,0 +1,9 @@
>> +require wireguard.inc
>> +
>> +inherit module
>> +
>> +EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
>> +MAKE_TARGETS = "module"
>> +MODULES_INSTALL_TARGET = "module-install"
>> +
>> +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_
>> 0.0.20170324.bb b/meta-networking/recipes-kernel/wireguard/
>> wireguard-tools_0.0.20170324.bb
>> new file mode 100644
>> index 0000000..79d420f
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_
>> 0.0.20170324.bb
>> @@ -0,0 +1,27 @@
>> +require wireguard.inc
>> +
>> +inherit bash-completion systemd pkgconfig
>> +
>> +DEPENDS = "wireguard-module libmnl"
>> +
>> +do_compile_prepend () {
>> +    cd ${S}/tools
>> +}
>> +
>> +do_install () {
>> +    cd ${S}/tools
>> +    oe_runmake DESTDIR="${D}" PREFIX="${prefix}"
>> SYSCONFDIR="${sysconfdir}" \
>> +        SYSTEMDUNITDIR="${systemd_unitdir}" \
>> +        WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES',
>> 'systemd', 'yes', '', d)} \
>> +        WITH_BASHCOMPLETION=yes \
>> +        WITH_WGQUICK=yes \
>> +        install
>> +}
>> +
>> +FILES_${PN} = " \
>> +    ${sysconfdir} \
>> +    ${systemd_unitdir} \
>> +    ${bindir} \
>> +"
>> +
>> +RDEPENDS_${PN} = "wireguard-module"
>> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> new file mode 100644
>> index 0000000..cec7260
>> --- /dev/null
>> +++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc
>> @@ -0,0 +1,18 @@
>> +SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
>> +DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3,
>> \
>> +implemented as a kernel virtual network interface for Linux, which aims
>> to \
>> +replace both IPsec for most use cases, as well as popular user space
>> and/or \
>> +TLS-based solutions like OpenVPN, while being more secure, more
>> performant, \
>> +and easier to use."
>> +SECTION = "networking"
>> +HOMEPAGE = "https://www.wireguard.io/"
>> +LICENSE = "GPLv2"
>> +
>> +LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4
>> d69f5fce4486a80fdaf4a4263"
>> +
>> +SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.
>> tar.xz"
>> +
>> +SRC_URI[md5sum] = "fead9ae2d7c6729e39f529913584494a"
>> +SRC_URI[sha256sum] = "2ec08a5d74cb3a63576f06d3cae69
>> 5b6b8995acd9665e2fa4da91927b467ca51"
>> +
>> +S = "${WORKDIR}/WireGuard-${PV}/src/"
>> --
>> 2.7.4
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>
>
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools
  2017-04-11 21:18     ` Martin Jansa
@ 2017-04-12  5:50       ` Stefan Agner
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Agner @ 2017-04-12  5:50 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-devel

 

On 2017-04-11 14:18, Martin Jansa wrote: 

> Hi, 
> 
> you don't need to build anything for qemux86copy just use sstate-diff-machines.sh script from oe-core to compare sstate signatures.

Oh ok, got it, with that call I could reproduce it: 
../scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc/
--machines="qemux86 qemux86copy qemuarm" --analyze 

> You can see some SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS examples in: 
> http://git.openembedded.org/meta-openembedded/tree/meta-oe/conf/layer.conf 
> http://git.openembedded.org/openembedded-core/tree/meta/conf/layer.conf

Ok that helps, will send a v2. 

> I cannot check it now, but my guess is that ufw issue wasn't detected in my jenkins jobs, because it has: 
> 
> REQUIRED_DISTRO_FEATURES = "ipv6"

> and nodistro config probably doesn't have ipv6 in DISTRO_FEATURES.

Hm, there is ipv6 in DISTRO_FEATURES_LIBC_DEFAULT which gets dumped into
DISTRO_FEATURES even with nodistro, so it seems that should be
fulfilled... 

-- 
Stefan 

> On Tue, Apr 11, 2017 at 11:04 PM, Stefan Agner <stefan@agner.ch> wrote:
> 
> Hi Martin, 
> 
> I tried to reproduce your findings, unfortunately building qemux86copy fails for me with this: 
> 
> Parsing recipes: 100% |######################################################################################################| Time: 0:00:20
> Parsing of 1865 .bb files complete (0 cached, 1865 parsed). 2607 targets, 168 skipped, 0 masked, 0 errors.
> NOTE: Resolving any missing task queue dependencies 
> 
> Build Configuration:
> BB_VERSION = "1.33.4"
> BUILD_SYS = "x86_64-linux"
> NATIVELSBSTRING = "ubuntu-16.04"
> TARGET_SYS = "i586-oe-linux"
> MACHINE = "qemux86copy"
> DISTRO = "nodistro"
> DISTRO_VERSION = "nodistro.0"
> TUNE_FEATURES = "m32 i586"
> TARGET_FPU = ""
> meta = "master:210c518ba8f8d6ec6e9d34e0df8b963a3b2e0593"
> meta-oe 
> meta-python 
> meta-networking = "master-next:c323b775e45e48c70ffe841a6b7addbd39183980"
> meta-selftest = "master:210c518ba8f8d6ec6e9d34e0df8b963a3b2e0593" 
> 
> Initialising tasks: 100% |###################################################################################################| Time: 0:00:00
> NOTE: Executing SetScene Tasks
> NOTE: Executing RunQueue Tasks
> WARNING: linux-yocto-4.10.5+gitAUTOINC+01f18cba44_53be19cad6-r0 do_kernel_configcheck: [kernel config]: specified values did not make it int
> o the kernel's final configuration: 
> 
> ---------- CONFIG_AEABI -----------------
> Config: CONFIG_AEABI
> From: /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/.kernel-meta/configs/standard/arch/arm/arm.cfg
> Requested value: CONFIG_AEABI=y
> Actual value: 
> 
> .... 
> 
> | WRAP arch/x86/include/generated/asm/mm-arch-hooks.h
> | WRAP arch/x86/include/generated/asm/early_ioremap.h
> | WRAP arch/x86/include/generated/asm/mcs_spinlock.h
> | CHK include/generated/uapi/linux/version.h
> | UPD include/generated/uapi/linux/version.h
> | CHK include/generated/utsrelease.h
> | UPD include/generated/utsrelease.h
> | HOSTCC scripts/kallsyms
> | HOSTCC scripts/conmakehash
> | HOSTCC scripts/recordmcount
> | HOSTCC scripts/sortextable
> | CC scripts/mod/empty.o
> | HOSTCC scripts/mod/mk_elfconfig
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/mod/empty.c:1:0: error: code model 'kernel' not supported in the 32 bit mode
> | /* empty file to figure out endianness / word size */
> | 
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/mod/empty.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/Makefile.build:294: recipe for target 'scripts/mod/empty.o' failed
> | make[4]: *** [scripts/mod/empty.o] Error 1
> | make[4]: *** Waiting for unfinished jobs....
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/scripts/Makefile.build:553: recipe for target 'scripts/mod' failed
> | make[3]: *** [scripts/mod] Error 2
> | make[3]: *** Waiting for unfinished jobs....
> | /build/ags/oe-core/build/tmp-glibc/work-shared/qemux86copy/kernel-source/Makefile:560: recipe for target 'scripts' failed
> | make[2]: *** [scripts] Error 2
> | make[2]: *** Waiting for unfinished jobs....
> | Makefile:150: recipe for target 'sub-make' failed
> | make[1]: *** [sub-make] Error 2
> | Makefile:24: recipe for target '__sub-make' failed
> | make: *** [__sub-make] Error 2
> | WARNING: exit code 1 from a shell command.
> | ERROR: Function failed: do_compile (log file is located at /build/ags/oe-core/build/tmp-glibc/work/qemux86copy-oe-linux/linux-yocto/4.10.5+gitAUTOINC+01f18cba44_53be19cad6-r0/temp/log.do_compile.29158) 
> 
> What is going on here? Somehow OE tries to configure the kernel for arm?! The qemux86 machine built just fine, not sure what difference causes this error when building the qemux86copy machine. 
> 
> Sorry, I did do not understand how I can "remove this dependency from sstate signature in layer.conf", do you have any hints how to do this? 
> 
> Also, meta-networking/recipes-connectivity/ufw/ufw_0.33.bb [1] seems to me to do pretty much the same as I do, shouldn't have that the same issue? 
> 
> Best regards, 
> 
> Stefan 
> 
> On 2017-04-06 00:29, Martin Jansa wrote: 
> 
> TUNE_PKGARCH package cannot depend on MACHINE_ARCH module unless you remove this dependency from sstate signature in layer.conf 
> 
> Complete log: http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.signatures.20170405_114645.log/
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> * ERROR: 1 errors found in signatures.qemux86.do_configure.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: 1 errors found in signatures.qemux86.do_package_write_ipk.sigdata.log
> 
> * ERROR: wireguard-tools different signature for task do_configure.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_configure.sigdata.log
> * ERROR: wireguard-tools different signature for task do_populate_sysroot.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_populate_sysroot.sigdata.log
> * ERROR: wireguard-tools different signature for task do_package_write_ipk.sigdata between qemux86copy and qemux86
> * ERROR: 1 errors found in /home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_package_write_ipk.sigdata.log
> * ERROR: 3 issues were found in these recipes: wireguard-tools
> 
> On Sun, Apr 2, 2017 at 10:33 PM, Stefan Agner <stefan@agner.ch> wrote:
> WireGuard is an extremely simple yet fast and modern VPN that utilizes
> state-of-the-art cryptography. It aims to be faster, simpler, leaner,
> and more useful than IPSec, while avoiding the massive headache.
> 
> The recipes add the current experimental snapshot v0.0.20170324
> out-of-tree kernel module and tools. The kernel module has some kernel
> configuration dependencies such as some configuration part of
> features/netfilter/netfilter.scc, hence netfilter.scc should be part
> of KERNEL_EXTRA_FEATURES (which is the case by default).
> 
> Signed-off-by: Stefan Agner <stefan@agner.ch>
> ---
> .../wireguard/wireguard-module_0.0.20170324.bb [2]     |  9 ++++++++
> .../wireguard/wireguard-tools_0.0.20170324.bb [3]      | 27 ++++++++++++++++++++++
> .../recipes-kernel/wireguard/wireguard.inc         | 18 +++++++++++++++
> 3 files changed, 54 insertions(+)
> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [2]
> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [3]
> create mode 100644 meta-networking/recipes-kernel/wireguard/wireguard.inc
> 
> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [2] b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [2]
> new file mode 100644
> index 0000000..aeb8269
> --- /dev/null
> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170324.bb [2]
> @@ -0,0 +1,9 @@
> +require wireguard.inc
> +
> +inherit module
> +
> +EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
> +MAKE_TARGETS = "module"
> +MODULES_INSTALL_TARGET = "module-install"
> +
> +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [3] b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [3]
> new file mode 100644
> index 0000000..79d420f
> --- /dev/null
> +++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170324.bb [3]
> @@ -0,0 +1,27 @@
> +require wireguard.inc
> +
> +inherit bash-completion systemd pkgconfig
> +
> +DEPENDS = "wireguard-module libmnl"
> +
> +do_compile_prepend () {
> +    cd ${S}/tools
> +}
> +
> +do_install () {
> +    cd ${S}/tools
> +    oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
> +        SYSTEMDUNITDIR="${systemd_unitdir}" \
> +        WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
> +        WITH_BASHCOMPLETION=yes \
> +        WITH_WGQUICK=yes \
> +        install
> +}
> +
> +FILES_${PN} = " \
> +    ${sysconfdir} \
> +    ${systemd_unitdir} \
> +    ${bindir} \
> +"
> +
> +RDEPENDS_${PN} = "wireguard-module"
> diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-networking/recipes-kernel/wireguard/wireguard.inc
> new file mode 100644
> index 0000000..cec7260
> --- /dev/null
> +++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc
> @@ -0,0 +1,18 @@
> +SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
> +DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
> +implemented as a kernel virtual network interface for Linux, which aims to \
> +replace both IPsec for most use cases, as well as popular user space and/or \
> +TLS-based solutions like OpenVPN, while being more secure, more performant, \
> +and easier to use."
> +SECTION = "networking"
> +HOMEPAGE = "https://www.wireguard.io/"
> +LICENSE = "GPLv2"
> +
> +LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> +
> +SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz [4]"
> +
> +SRC_URI[md5sum] = "fead9ae2d7c6729e39f529913584494a"
> +SRC_URI[sha256sum] = "2ec08a5d74cb3a63576f06d3cae695b6b8995acd9665e2fa4da91927b467ca51"
> +
> +S = "${WORKDIR}/WireGuard-${PV}/src/"
> --
> 2.7.4
> 
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

  

Links:
------
[1] http://ufw_0.33.bb
[2] http://wireguard-module_0.0.20170324.bb
[3] http://wireguard-tools_0.0.20170324.bb
[4] https://git.zx2c4.com/WireGuard/snapshot/WireGuard-$%7BPV%7D.tar.xz


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-04-12  5:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-02 20:33 [meta-networking][PATCH] wireguard: add WireGuard kernel module and tools Stefan Agner
2017-04-06  7:29 ` Martin Jansa
2017-04-06 15:08   ` Stefan Agner
2017-04-11 21:04   ` Stefan Agner
2017-04-11 21:18     ` Martin Jansa
2017-04-12  5:50       ` Stefan Agner
2017-04-11 21:12   ` Stefan Agner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox