Skip to contentSkip to conversation

Fix Xenomai next build, update Isar, improve docs

PATCH In review Jan Kiszka 1 participant 6 messages Nov 23, 2018 Licenses and spdx stuff

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

cover Fix Xenomai next build, update Isar, improve docs

See patches for details.

Jan Kiszka (3):
xenomai: Remove patches
Update to latest Isar next
Improve README, add COPYING

 COPYING                                            | 17 +++++++++
 README.md                                          | 21 ++++++++++-
 conf/layer.conf                                    |  2 +
 ...m-Update-isar-apt-prior-to-installing-bui.patch | 38 -------------------
 kas.yml                                            |  6 +--
 recipes-kernel/linux/linux-xenomai.inc             |  2 +-
 ...dd-config-folder-to-xenomai-kernel-source.patch | 28 --------------
 ...2-debian-Add-arm64-as-target-architecture.patch | 44 ----------------------
 ...03-debian-Enable-SMP-in-userspace-package.patch | 30 ---------------
 recipes-xenomai/xenomai/xenomai_next.bb            |  8 ++--
 10 files changed, 43 insertions(+), 153 deletions(-)
 create mode 100644 COPYING
 delete mode 100644 isar-patches/0001-linux-custom-Update-isar-apt-prior-to-installing-bui.patch
 delete mode 100644 recipes-xenomai/xenomai/files/0001-debian-Add-config-folder-to-xenomai-kernel-source.patch
 delete mode 100644 recipes-xenomai/xenomai/files/0002-debian-Add-arm64-as-target-architecture.patch
 delete mode 100644 recipes-xenomai/xenomai/files/0003-debian-Enable-SMP-in-userspace-package.patch
Signature · 1 line
2.16.4
author
#1 lore raw

PATCH 1/3 xenomai: Remove patches

From: Jan Kiszka <[email protected]>

By now merged even into master.

---
 ...dd-config-folder-to-xenomai-kernel-source.patch | 28 --------------
 ...2-debian-Add-arm64-as-target-architecture.patch | 44 ----------------------
 ...03-debian-Enable-SMP-in-userspace-package.patch | 30 ---------------
 recipes-xenomai/xenomai/xenomai_next.bb            |  5 +--
 4 files changed, 1 insertion(+), 106 deletions(-)
 delete mode 100644 recipes-xenomai/xenomai/files/0001-debian-Add-config-folder-to-xenomai-kernel-source.patch
 delete mode 100644 recipes-xenomai/xenomai/files/0002-debian-Add-arm64-as-target-architecture.patch
 delete mode 100644 recipes-xenomai/xenomai/files/0003-debian-Enable-SMP-in-userspace-package.patch
recipes-xenomai/xenomai/files/0001-debian-Add-config-folder-to-xenomai-kernel-source.patch deleted +0 -28
deleted file mode 100644
index d3de9c4..0000000
@@ -1,28 +0,0 @@
-From 07d87b9b2ca45f81024056720b28f6cdbcb3b9c7 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <[email protected]>
-Date: Tue, 6 Nov 2018 13:37:21 +0100
-Subject: [PATCH] debian: Add config folder to xenomai-kernel-source
-
-Meanwhile required for prepare-kernel.sh.
-
-Signed-off-by: Jan Kiszka <[email protected]>
----
- debian/rules | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/debian/rules b/debian/rules
-index 8b871a4882..99ed8982ce 100755
---- a/debian/rules
-+++ b/debian/rules
-@@ -73,7 +73,7 @@ install: build
- 	cp debian/libxenomai1.lintian $(CURDIR)/debian/libxenomai1/usr/share/lintian/overrides/libxenomai1
- 	cp debian/libxenomai-dev.lintian $(CURDIR)/debian/libxenomai-dev/usr/share/lintian/overrides/libxenomai-dev
- 	mkdir -p $(CURDIR)/debian/xenomai-kernel-source/usr/src/xenomai-kernel-source $(CURDIR)/debian/xenomai-kernel-source/usr/share/doc/xenomai-kernel-source
--	cp -a kernel include scripts $(CURDIR)/debian/xenomai-kernel-source/usr/src/xenomai-kernel-source
-+	cp -a config kernel include scripts $(CURDIR)/debian/xenomai-kernel-source/usr/src/xenomai-kernel-source
- 
- # Build architecture-independent files here.
- binary-indep: build install
--- 
-2.16.4
-
recipes-xenomai/xenomai/files/0002-debian-Add-arm64-as-target-architecture.patch deleted +0 -44

44 lines not on this page · raw message

recipes-xenomai/xenomai/files/0003-debian-Enable-SMP-in-userspace-package.patch deleted +0 -30
deleted file mode 100644
index 98632b4..0000000
@@ -1,30 +0,0 @@
-From a4ec3f654a4be50aaf268c3a540e8b110ad2ded3 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <[email protected]>
-Date: Tue, 6 Nov 2018 18:59:47 +0100
-Subject: [PATCH] debian: Enable SMP in userspace package
-
-Hard to find a UP target these days, and we definitely want to be
-generic with Debian packages.
-
-Signed-off-by: Jan Kiszka <[email protected]>
----
- debian/rules | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/debian/rules b/debian/rules
-index 99ed8982ce..883ae3ed8c 100755
---- a/debian/rules
-+++ b/debian/rules
-@@ -16,7 +16,8 @@ DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
- CONFIG_OPTS = --prefix=/usr \
-             --includedir=/usr/include/xenomai \
-             --mandir=/usr/share/man \
--	    --with-testdir=/usr/lib/xenomai/testsuite
-+            --with-testdir=/usr/lib/xenomai/testsuite \
-+            --enable-smp
- 
- ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
- 	CONFIG_OPTS += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
--- 
-2.16.4
-
recipes-xenomai/xenomai/xenomai_next.bb +1 -4
index 3541d2d..6bc43ac 100644
@@ -12,10 +12,7 @@
 require xenomai.inc
 
 SRC_URI = " \
-    git://gitlab.denx.de/Xenomai/xenomai.git;protocol=https;branch=next \
-    file://0001-debian-Add-config-folder-to-xenomai-kernel-source.patch \
-    file://0002-debian-Add-arm64-as-target-architecture.patch \
-    file://0003-debian-Enable-SMP-in-userspace-package.patch"
+    git://gitlab.denx.de/Xenomai/xenomai.git;protocol=https;branch=next"
 SRCREV = "next"
 PV = "9999-next"
 
Signature · 1 line
2.16.4
author
#2 lore raw

PATCH 2/3 Update to latest Isar next

In reply to Jan Kiszka

From: Jan Kiszka <[email protected]>

This allows to drop the local patch, requires to set uid:gid on chroot and set LAYERSERIES_COMPAT_xenomai.

---
 conf/layer.conf                                    |  2 ++
 ...m-Update-isar-apt-prior-to-installing-bui.patch | 38 ----------------------
 kas.yml                                            |  6 +---
 recipes-kernel/linux/linux-xenomai.inc             |  2 +-
 recipes-xenomai/xenomai/xenomai_next.bb            |  3 +-
 5 files changed, 6 insertions(+), 45 deletions(-)
 delete mode 100644 isar-patches/0001-linux-custom-Update-isar-apt-prior-to-installing-bui.patch
conf/layer.conf +2 -0
index d4fb919..f665993 100644
@@ -18,4 +18,6 @@ BBFILE_COLLECTIONS += "xenomai"
 BBFILE_PATTERN_xenomai = "^${LAYERDIR}/"
 BBFILE_PRIORITY_xenomai = "6"
 
+LAYERSERIES_COMPAT_xenomai = "next"
+
 LAYERDIR_xenomai = "${LAYERDIR}"
isar-patches/0001-linux-custom-Update-isar-apt-prior-to-installing-bui.patch deleted +0 -38
deleted file mode 100644
index 5953ae8..0000000
@@ -1,38 +0,0 @@
-From 1951178503036e47931e5bccbab241c11e949c52 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <[email protected]>
-Date: Tue, 6 Nov 2018 09:43:22 +0100
-Subject: [PATCH] linux-custom: Update isar-apt prior to installing build deps
-
-Some of them may have been built by a recipe.
-
-Signed-off-by: Jan Kiszka <[email protected]>
----
- meta/recipes-kernel/linux/linux-custom.inc | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
-index e9a68fd..d9b2935 100644
---- a/meta/recipes-kernel/linux/linux-custom.inc
-+++ b/meta/recipes-kernel/linux/linux-custom.inc
-@@ -27,11 +27,18 @@ KERNEL_DEBIAN_DEPENDS ?= "initramfs-tools | linux-initramfs-tool, kmod, linux-ba
- KERNEL_HEADERS_DEBIAN_DEPENDS ?= "libc6, libssl1.1"
- 
- do_install_builddeps() {
-+	dpkg_do_mounts
- 	E="${@ bb.utils.export_proxies(d)}"
-+	sudo -E chroot ${BUILDCHROOT_DIR} \
-+		apt-get update \
-+			-o Dir::Etc::sourcelist="sources.list.d/isar-apt.list" \
-+			-o Dir::Etc::sourceparts="-" \
-+			-o APT::Get::List-Cleanup="0"
- 	sudo -E chroot ${BUILDCHROOT_DIR} \
- 		apt-get install \
- 			-y -o Debug::pkgProblemResolver=yes \
- 			--no-install-recommends ${KBUILD_DEPENDS}
-+	dpkg_undo_mounts
- }
- 
- addtask install_builddeps after do_prepare_build before do_build
--- 
-2.16.4
-
kas.yml +1 -5
index 4bbfcaa..2af48a6 100644
@@ -19,14 +19,10 @@ repos:
 
   isar:
     url: https://github.com/ilbers/isar
-    refspec: be291cd991bd64051f5e34af24b04feddaaea48c
+    refspec: 1e24c4b477142925834eee29a4b5cdb317599a29
     layers:
       meta:
       meta-isar:
-    patches:
-      fixes:
-        repo: xenomai
-        path: isar-patches/0001-linux-custom-Update-isar-apt-prior-to-installing-bui.patch
 
 bblayers_conf_header:
   standard: |
recipes-kernel/linux/linux-xenomai.inc +1 -1
index 07747f7..d93e614 100644
@@ -34,7 +34,7 @@ dpkg_runbuild_prepend() {
 		exit 1
 	esac
 
-	sudo chroot ${BUILDCHROOT_DIR} \
+	sudo chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \
 		/usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh \
 			--linux=${PP}/${PPS} --arch=$ARCH
 }
recipes-xenomai/xenomai/xenomai_next.bb +2 -1
index 6bc43ac..72e5758 100644
@@ -22,5 +22,6 @@ dpkg_runbuild_prepend() {
     bbplain $(printf "xenomai-next: Building revision %.12s\n" \
                      $(cat ${S}/.git/refs/heads/next))
 
-    sudo chroot ${BUILDCHROOT_DIR} sh -c "cd ${PP}/${PPS}; scripts/bootstrap"
+    sudo chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \
+        sh -c "cd ${PP}/${PPS}; scripts/bootstrap"
 }
Signature · 1 line
2.16.4
author
#3 lore raw

PATCH v2 2/3 Update to latest Isar next

This allows to drop the local patch, requires to set uid:gid on chroot and set LAYERSERIES_COMPAT_xenomai. Also, image deployment paths changed.

---

Changes in v2:
- also account for image deployment patch change

That means: It's now even tested, at least partially...

 conf/layer.conf                                    |  2 ++
 ...m-Update-isar-apt-prior-to-installing-bui.patch | 38 ----------------------
 kas.yml                                            |  6 +---
 recipes-kernel/linux/linux-xenomai.inc             |  2 +-
 recipes-xenomai/xenomai/xenomai_next.bb            |  3 +-
 start-qemu.sh                                      |  2 +-
 6 files changed, 7 insertions(+), 46 deletions(-)
 delete mode 100644 isar-patches/0001-linux-custom-Update-isar-apt-prior-to-installing-bui.patch
conf/layer.conf +2 -0
index d4fb919..f665993 100644
@@ -18,4 +18,6 @@ BBFILE_COLLECTIONS += "xenomai"
 BBFILE_PATTERN_xenomai = "^${LAYERDIR}/"
 BBFILE_PRIORITY_xenomai = "6"
 
+LAYERSERIES_COMPAT_xenomai = "next"
+
 LAYERDIR_xenomai = "${LAYERDIR}"
isar-patches/0001-linux-custom-Update-isar-apt-prior-to-installing-bui.patch deleted +0 -38
deleted file mode 100644
index 5953ae8..0000000
@@ -1,38 +0,0 @@
-From 1951178503036e47931e5bccbab241c11e949c52 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <[email protected]>
-Date: Tue, 6 Nov 2018 09:43:22 +0100
-Subject: [PATCH] linux-custom: Update isar-apt prior to installing build deps
-
-Some of them may have been built by a recipe.
-
-Signed-off-by: Jan Kiszka <[email protected]>
----
- meta/recipes-kernel/linux/linux-custom.inc | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
-index e9a68fd..d9b2935 100644
---- a/meta/recipes-kernel/linux/linux-custom.inc
-+++ b/meta/recipes-kernel/linux/linux-custom.inc
-@@ -27,11 +27,18 @@ KERNEL_DEBIAN_DEPENDS ?= "initramfs-tools | linux-initramfs-tool, kmod, linux-ba
- KERNEL_HEADERS_DEBIAN_DEPENDS ?= "libc6, libssl1.1"
- 
- do_install_builddeps() {
-+	dpkg_do_mounts
- 	E="${@ bb.utils.export_proxies(d)}"
-+	sudo -E chroot ${BUILDCHROOT_DIR} \
-+		apt-get update \
-+			-o Dir::Etc::sourcelist="sources.list.d/isar-apt.list" \
-+			-o Dir::Etc::sourceparts="-" \
-+			-o APT::Get::List-Cleanup="0"
- 	sudo -E chroot ${BUILDCHROOT_DIR} \
- 		apt-get install \
- 			-y -o Debug::pkgProblemResolver=yes \
- 			--no-install-recommends ${KBUILD_DEPENDS}
-+	dpkg_undo_mounts
- }
- 
- addtask install_builddeps after do_prepare_build before do_build
--- 
-2.16.4
-
kas.yml +1 -5
index 4bbfcaa..2af48a6 100644
@@ -19,14 +19,10 @@ repos:
 
   isar:
     url: https://github.com/ilbers/isar
-    refspec: be291cd991bd64051f5e34af24b04feddaaea48c
+    refspec: 1e24c4b477142925834eee29a4b5cdb317599a29
     layers:
       meta:
       meta-isar:
-    patches:
-      fixes:
-        repo: xenomai
-        path: isar-patches/0001-linux-custom-Update-isar-apt-prior-to-installing-bui.patch
 
 bblayers_conf_header:
   standard: |
recipes-kernel/linux/linux-xenomai.inc +1 -1
index 07747f7..d93e614 100644
@@ -34,7 +34,7 @@ dpkg_runbuild_prepend() {
 		exit 1
 	esac
 
-	sudo chroot ${BUILDCHROOT_DIR} \
+	sudo chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \
 		/usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh \
 			--linux=${PP}/${PPS} --arch=$ARCH
 }
recipes-xenomai/xenomai/xenomai_next.bb +2 -1
index 6bc43ac..72e5758 100644
@@ -22,5 +22,6 @@ dpkg_runbuild_prepend() {
     bbplain $(printf "xenomai-next: Building revision %.12s\n" \
                      $(cat ${S}/.git/refs/heads/next))
 
-    sudo chroot ${BUILDCHROOT_DIR} sh -c "cd ${PP}/${PPS}; scripts/bootstrap"
+    sudo chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \
+        sh -c "cd ${PP}/${PPS}; scripts/bootstrap"
 }
start-qemu.sh +1 -1
index 0daf69c..c56c234 100755
@@ -57,7 +57,7 @@ case "$1" in
 		;;
 esac
 
-IMAGE_PREFIX="$(dirname $0)/build/tmp/deploy/images/demo-image-qemu-${DISTRO_ARCH}-xenomai-demo-qemu-${DISTRO_ARCH}"
+IMAGE_PREFIX="$(dirname $0)/build/tmp/deploy/images/qemu-${DISTRO_ARCH}/demo-image-qemu-${DISTRO_ARCH}-xenomai-demo-qemu-${DISTRO_ARCH}"
 IMAGE_FILE=$(ls ${IMAGE_PREFIX}.ext4.img)
 
 KERNEL_FILE=$(ls ${IMAGE_PREFIX}.vmlinuz* | tail -1)
Signature · 1 line
2.16.4
author
#4 lore raw

PATCH 3/3 Improve README, add COPYING

In reply to Jan Kiszka

From: Jan Kiszka <[email protected]>

Refer to Xenomai upstream for community and contribution. Add a top-level COPYING with the MIT license and explain the licensing scheme also in the README.

---
 COPYING   | 17 +++++++++++++++++
 README.md | 21 +++++++++++++++++++--
 2 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 COPYING
COPYING new file +17 -0
new file mode 100644
index 0000000..89de354
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
README.md +19 -2
index ae07de9..44d056d 100644
@@ -1,8 +1,9 @@
 # Xenomai Demonstration and Test Images
 
 This generates a number of bootable image for virtual and real targets in order
-to run the Xenomai real-time system, for evaluation or testing purposes. The
-layer may also be used to build real applications on top.
+to run the [Xenomai](https://www.xenomai.org) real-time system, for evaluation
+or testing purposes. The layer may also be used to build real applications on
+top.
 
 The build system used for this is [Isar](https://github.com/ilbers/isar), an
 image generator that assembles Debian binaries or builds individual packages
@@ -34,3 +35,19 @@ Physical targets will generate read-to-boot images under
 
     dd if=build/tmp/deploy/images/ebsy-image-base-long-life-ebsy-simatic-ipc227e.wic.img \
        of=/dev/<medium-device> bs=1M status=progress
+
+## Community Resources
+
+See [Xenomai project](https://www.xenomai.org/).
+
+Contributions are always welcome. They follow the same
+[process](https://gitlab.denx.de/Xenomai/xenomai/blob/master/CONTRIBUTING.md)
+that Xenomai is using as well. Please tag you patches additional with
+"[xenomai-images]" to indicate which repository they are targeting.
+
+## License
+
+Unless otherwise stated in the respective file, files in this layer are
+provided under the MIT license, see COPYING file. Patches (files ending with
+.patch) are licensed according to their target project and file, typically
+GPLv2.
Signature · 1 line
2.16.4
author
#5 lore raw

[xenomai-images][PATCH 4/3] README: Fix image path

In reply to Jan Kiszka

Copy&paste mistake, plus outdated path structure by now.

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
README.md +1 -1
index 44d056d..f7efbe4 100644
@@ -33,7 +33,7 @@ installed.
 Physical targets will generate read-to-boot images under
 `build/tmp/deploy/images/`. To flash, e.g., the HiKey image to an SD card, run
 
-    dd if=build/tmp/deploy/images/ebsy-image-base-long-life-ebsy-simatic-ipc227e.wic.img \
+    dd if=build/tmp/deploy/images/hikey/demo-image-hikey-xenomai-demo-hikey.wic.img \
        of=/dev/<medium-device> bs=1M status=progress
 
 ## Community Resources
Signature · 1 line
2.16.4