Message ID | 20230619180340.484989-1-Quirin.Gylstorff@siemens.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [isar-cip-core,v3] swupdate: Update to 2023.05 with wfx support | expand |
On 19.06.23 20:03, Quirin Gylstorff wrote: > From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > > This will update swupdate to c8ca55684c375937dbcdefb0563071a35137f4ba > (tools/swupdate-progress: Adapt for wfx) to add the wfx bindings. > > You can enable wfx by enabling during in the systemd service by writing > to `/etc/swupdate/conf.d/suricatta.conf`: > ``` > SWUPDATE_SURICATTA_ARGS="-S lua <wfx arguments>" > ``` > For the <wfx arguments> see 'swupdate -h'. > > To switch between wfx and hawkbit exchange `lua` with `hawkbit`. > > Delta updates are disabled for Debian bullseye and bookworm as zchunk > 1.3 is currently not supported. If delta updates are required set > `pkg.swupdate.delta` in DEB_BUILD_PROFILES. > > Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> > --- > > Changes v3: > - add info about disabled delta update support to commit message > - rebase to origin/next 0470089 > > Changes v2: > - add patch to display swupdate version > - this Patch also sets the EXTRAVERSION with packageversion+git commit sha > - set CONFIG_SURICATTA_WFX to always enable wfx > - use version 2023.05 as it is the version stored in the swupdate > sources > - move patches to version specific folders for readability > - Add instructions to start swupdate service with wfx > > > > conf/distro/cip-core-bookworm.conf | 2 +- > conf/distro/cip-core-bullseye.conf | 2 +- > conf/distro/cip-core-sid-ports.conf | 1 + > recipes-core/images/swupdate.inc | 5 +- > recipes-core/persistent-fs/files/data.mount | 13 +++ > recipes-core/persistent-fs/files/postinst | 3 + > .../persistent-fs/persistent-fs_0.1.bb | 20 ++++ These 3 sneaked in with v2 already, but I don't see that they belong here, right? I'm dropping them while merging in order to kick-off CI and testing already. Jan > .../0002-debian-rules-Add-CONFIG_MTD.patch | 27 ------ > ...-SWUpdate-USB-service-and-Udev-rules.patch | 0 > ...ules-Add-Embedded-Lua-handler-option.patch | 0 > ...es-Add-option-to-disable-fs-creation.patch | 0 > ...ules-Add-option-to-disable-webserver.patch | 0 > ...ch-to-fix-bootloader_env_get-for-EBG.patch | 0 > ...prepare-build-for-isar-debian-buster.patch | 0 > ...d-rules-Add-option-for-suricatta_lua.patch | 4 +- > ...rate-build_profile-option-for-delta-.patch | 45 +++++++++ > ...tch-to-add-the-build-version-to-swup.patch | 94 +++++++++++++++++++ > ...s-Add-option-to-enable-suricatta_wfx.patch | 30 ++++++ > .../swupdate/swupdate_2021.11-1+debian-gbp.bb | 2 + > .../swupdate/swupdate_2022.12+dfsg-4-gbp.bb | 46 --------- > recipes-core/swupdate/swupdate_2023.05.bb | 60 ++++++++++++ > 21 files changed, 273 insertions(+), 81 deletions(-) > create mode 100644 recipes-core/persistent-fs/files/data.mount > create mode 100755 recipes-core/persistent-fs/files/postinst > create mode 100644 recipes-core/persistent-fs/persistent-fs_0.1.bb > delete mode 100644 recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch > rename recipes-core/swupdate/files/{ => 2021.11}/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch (100%) > rename recipes-core/swupdate/files/{ => 2021.11}/0002-debian-rules-Add-Embedded-Lua-handler-option.patch (100%) > rename recipes-core/swupdate/files/{ => 2021.11}/0003-debian-rules-Add-option-to-disable-fs-creation.patch (100%) > rename recipes-core/swupdate/files/{ => 2021.11}/0004-debian-rules-Add-option-to-disable-webserver.patch (100%) > rename recipes-core/swupdate/files/{ => 2021.11}/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch (100%) > rename recipes-core/swupdate/files/{ => 2021.11}/0006-debian-prepare-build-for-isar-debian-buster.patch (100%) > rename recipes-core/swupdate/files/{ => 2023.05}/0001-d-rules-Add-option-for-suricatta_lua.patch (87%) > create mode 100644 recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch > create mode 100644 recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch > create mode 100644 recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch > delete mode 100644 recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb > create mode 100644 recipes-core/swupdate/swupdate_2023.05.bb > > diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-core-bookworm.conf > index f05d3d3..adafc92 100644 > --- a/conf/distro/cip-core-bookworm.conf > +++ b/conf/distro/cip-core-bookworm.conf > @@ -12,6 +12,6 @@ > require conf/distro/debian-bookworm.conf > require cip-core-common.inc > > -PREFERRED_VERSION_swupdate ?= "2022.12%" > +PREFERRED_VERSION_swupdate ?= "2023.05%" > PREFERRED_VERSION_linux-cip ?= "5.10.%" > PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" > diff --git a/conf/distro/cip-core-bullseye.conf b/conf/distro/cip-core-bullseye.conf > index 9c83054..4f26299 100644 > --- a/conf/distro/cip-core-bullseye.conf > +++ b/conf/distro/cip-core-bullseye.conf > @@ -15,6 +15,6 @@ require cip-core-common.inc > DISTRO_APT_SOURCES:append:swupdate = " conf/distro/debian-bullseye-backports.list" > DISTRO_APT_PREFERENCES:append:swupdate = " conf/distro/preferences.swupdate-bullseye-backports.conf" > > -PREFERRED_VERSION_swupdate ?= "2022.12%" > +PREFERRED_VERSION_swupdate ?= "2023.05%" > PREFERRED_VERSION_linux-cip ?= "5.10.%" > PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" > diff --git a/conf/distro/cip-core-sid-ports.conf b/conf/distro/cip-core-sid-ports.conf > index edd3c28..2e74af7 100644 > --- a/conf/distro/cip-core-sid-ports.conf > +++ b/conf/distro/cip-core-sid-ports.conf > @@ -14,6 +14,7 @@ require cip-core-common.inc > > PREFERRED_VERSION_linux-cip ?= "5.10.%" > PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" > +PREFERRED_VERSION_swupdate ?= "2023.05%" > > DISTRO_APT_SOURCES = "conf/distro/cip-debian-sid-ports-snapshot.list" > HOST_DISTRO_APT_SOURCES = "conf/distro/cip-debian-sid-snapshot.list ${DISTRO_APT_SOURCES}" > diff --git a/recipes-core/images/swupdate.inc b/recipes-core/images/swupdate.inc > index ebc844a..6a01abb 100644 > --- a/recipes-core/images/swupdate.inc > +++ b/recipes-core/images/swupdate.inc > @@ -12,9 +12,6 @@ > inherit image_uuid > inherit read-only-rootfs > > -IMAGE_INSTALL:append:buster = " swupdate" > -IMAGE_INSTALL:append:bullseye = " swupdate" > -IMAGE_PREINSTALL:append:bookworm = " swupdate" > -IMAGE_PREINSTALL:append:sid = " swupdate" > +IMAGE_INSTALL += " swupdate" > > IMAGE_INSTALL += " swupdate-handler-roundrobin" > diff --git a/recipes-core/persistent-fs/files/data.mount b/recipes-core/persistent-fs/files/data.mount > new file mode 100644 > index 0000000..dc64a91 > --- /dev/null > +++ b/recipes-core/persistent-fs/files/data.mount > @@ -0,0 +1,13 @@ > +[Unit] > +Description=Mount /data partition > +Before=local-fs.target > + > +[Mount] > +What=${PERSISTENT_PARTITION} > +Where=/data > +Type=auto > +Options=defaults > + > + > +[Install] > +WantedBy=local-fs.target > diff --git a/recipes-core/persistent-fs/files/postinst b/recipes-core/persistent-fs/files/postinst > new file mode 100755 > index 0000000..8a13328 > --- /dev/null > +++ b/recipes-core/persistent-fs/files/postinst > @@ -0,0 +1,3 @@ > +#!/bin/sh > + > +#deb-systemd-helper enable data.mount || true > diff --git a/recipes-core/persistent-fs/persistent-fs_0.1.bb b/recipes-core/persistent-fs/persistent-fs_0.1.bb > new file mode 100644 > index 0000000..c665b6c > --- /dev/null > +++ b/recipes-core/persistent-fs/persistent-fs_0.1.bb > @@ -0,0 +1,20 @@ > +# > +# CIP Core, generic profile > +# > +# Copyright (c) Siemens AG, 2022 > +# > +# Authors: > +# Quirin Gylstorff <quirin.gylstorff@siemens.com> > +# > +# SPDX-License-Identifier: MIT > + > +inherit dpkg-raw > + > +SRC_URI = "file://postinst \ > + file://data.mount" > + > +do_install[cleandirs]+="${D}/lib/systemd/system" > +do_install[cleandirs]+="${D}/data" > +do_install() { > + install -m 0644 ${WORKDIR}/data.mount ${D}/lib/systemd/system/data.mount > +} > diff --git a/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch b/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch > deleted file mode 100644 > index e62a4fc..0000000 > --- a/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch > +++ /dev/null > @@ -1,27 +0,0 @@ > -From c3adc5d2be41e151c811c96f2bed245778fec82c Mon Sep 17 00:00:00 2001 > -From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > -Date: Wed, 29 Sep 2021 11:29:57 +0200 > -Subject: [PATCH 02/10] debian/rules: Add CONFIG_MTD > - > -if pkg.swupdate.bpo is set CONFIG_MTD is disable but not enabled. > - > -Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> > ---- > - debian/rules | 1 + > - 1 file changed, 1 insertion(+) > - > -diff --git a/debian/rules b/debian/rules > -index 08b74a1..6705140 100755 > ---- a/debian/rules > -+++ b/debian/rules > -@@ -20,6 +20,7 @@ endif > - override_dh_auto_configure: > - cp debian/configs/defconfig configs/debian_defconfig > - ifeq (,$(filter pkg.swupdate.bpo,$(DEB_BUILD_PROFILES))) > -+ echo CONFIG_MTD=y >> configs/debian_defconfig > - echo CONFIG_SWUFORWARDER_HANDLER=y >> configs/debian_defconfig > - echo CONFIG_CFI=y >> configs/debian_defconfig > - echo CONFIG_CFIHAMMING1=y >> configs/debian_defconfig > --- > -2.34.1 > - > diff --git a/recipes-core/swupdate/files/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch b/recipes-core/swupdate/files/2021.11/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch > similarity index 100% > rename from recipes-core/swupdate/files/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch > rename to recipes-core/swupdate/files/2021.11/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch > diff --git a/recipes-core/swupdate/files/0002-debian-rules-Add-Embedded-Lua-handler-option.patch b/recipes-core/swupdate/files/2021.11/0002-debian-rules-Add-Embedded-Lua-handler-option.patch > similarity index 100% > rename from recipes-core/swupdate/files/0002-debian-rules-Add-Embedded-Lua-handler-option.patch > rename to recipes-core/swupdate/files/2021.11/0002-debian-rules-Add-Embedded-Lua-handler-option.patch > diff --git a/recipes-core/swupdate/files/0003-debian-rules-Add-option-to-disable-fs-creation.patch b/recipes-core/swupdate/files/2021.11/0003-debian-rules-Add-option-to-disable-fs-creation.patch > similarity index 100% > rename from recipes-core/swupdate/files/0003-debian-rules-Add-option-to-disable-fs-creation.patch > rename to recipes-core/swupdate/files/2021.11/0003-debian-rules-Add-option-to-disable-fs-creation.patch > diff --git a/recipes-core/swupdate/files/0004-debian-rules-Add-option-to-disable-webserver.patch b/recipes-core/swupdate/files/2021.11/0004-debian-rules-Add-option-to-disable-webserver.patch > similarity index 100% > rename from recipes-core/swupdate/files/0004-debian-rules-Add-option-to-disable-webserver.patch > rename to recipes-core/swupdate/files/2021.11/0004-debian-rules-Add-option-to-disable-webserver.patch > diff --git a/recipes-core/swupdate/files/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch b/recipes-core/swupdate/files/2021.11/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch > similarity index 100% > rename from recipes-core/swupdate/files/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch > rename to recipes-core/swupdate/files/2021.11/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch > diff --git a/recipes-core/swupdate/files/0006-debian-prepare-build-for-isar-debian-buster.patch b/recipes-core/swupdate/files/2021.11/0006-debian-prepare-build-for-isar-debian-buster.patch > similarity index 100% > rename from recipes-core/swupdate/files/0006-debian-prepare-build-for-isar-debian-buster.patch > rename to recipes-core/swupdate/files/2021.11/0006-debian-prepare-build-for-isar-debian-buster.patch > diff --git a/recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch b/recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch > similarity index 87% > rename from recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch > rename to recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch > index 0be5a71..5aeb605 100644 > --- a/recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch > +++ b/recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch > @@ -1,7 +1,7 @@ > -From 00fc691802e671594cea1d0a5e880d255e04b7f0 Mon Sep 17 00:00:00 2001 > +From f94f8c2f62ade7568fe8fafa106488761fc55f91 Mon Sep 17 00:00:00 2001 > From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > Date: Wed, 3 May 2023 16:02:37 +0200 > -Subject: [PATCH] d/rules: Add option for suricatta_lua > +Subject: [PATCH 1/4] d/rules: Add option for suricatta_lua > > This allows to use lua plugins as suricatta backends. It is optional > as it overrides the default HAWKBIT backend. > diff --git a/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch b/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch > new file mode 100644 > index 0000000..4203061 > --- /dev/null > +++ b/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch > @@ -0,0 +1,45 @@ > +From a5ab9aaa53acac4c4155b6c4cc8a86bc59278e53 Mon Sep 17 00:00:00 2001 > +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > +Date: Thu, 15 Jun 2023 18:48:25 +0200 > +Subject: [PATCH 2/4] d/rules: Add seperate build_profile option for delta > + update > + > +Delta update need zchunk 1.3 to work on memory restricted > +devices. zchunk 1.3 is is not available in bullseye-backports > +and Debian bookworm(12). > + > +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> > +--- > + debian/control | 2 +- > + debian/rules | 2 +- > + 2 files changed, 2 insertions(+), 2 deletions(-) > + > +diff --git a/debian/control b/debian/control > +index e47c320c..d4b17972 100644 > +--- a/debian/control > ++++ b/debian/control > +@@ -26,7 +26,7 @@ Build-Depends: debhelper-compat (= 13), > + uuid-dev, > + zlib1g-dev, > + libzstd-dev, > +- libzck-dev (>= 1.2) <!pkg.swupdate.bpo>, > ++ libzck-dev (>= 1.3) <pkg.swupdate.delta>, > + libp11-kit-dev <pkg.swupdate.p11>, > + libwolfssl-dev <pkg.swupdate.p11>, > + libmtd-dev [linux-any], > +diff --git a/debian/rules b/debian/rules > +index 91106fbd..8cac6359 100755 > +--- a/debian/rules > ++++ b/debian/rules > +@@ -38,7 +38,7 @@ ifeq (linux,$(DEB_HOST_ARCH_OS)) > + else > + echo "# CONFIG_MTD is not set" >> configs/debian_defconfig > + endif > +-ifeq (,$(filter pkg.swupdate.bpo,$(DEB_BUILD_PROFILES))) > ++ifneq (,$(filter pkg.swupdate.delta,$(DEB_BUILD_PROFILES))) > + echo CONFIG_DELTA=y >> configs/debian_defconfig > + endif > + ifneq (,$(findstring $(DEB_HOST_ARCH),amd64 i386 arm64 armhf riscv64 ia64)) > +-- > +2.39.2 > + > diff --git a/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch b/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch > new file mode 100644 > index 0000000..857b4ab > --- /dev/null > +++ b/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch > @@ -0,0 +1,94 @@ > +From ed4e8b5d4ad6ffcddb755571303c077fff227ea3 Mon Sep 17 00:00:00 2001 > +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > +Date: Fri, 16 Jun 2023 19:43:38 +0200 > +Subject: [PATCH 3/4] d/patches: Add patch to add the build version to swupdate > + > +The build version is only set if build in a git repository > +this patch allows to use the version information stored in > +the Makefile. > + > +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> > +--- > + ...Set-version-if-git-returns-no-informa.diff | 46 +++++++++++++++++++ > + debian/patches/series | 1 + > + debian/rules | 2 + > + 3 files changed, 49 insertions(+) > + create mode 100644 debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff > + > +diff --git a/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff b/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff > +new file mode 100644 > +index 00000000..7f964fb7 > +--- /dev/null > ++++ b/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff > +@@ -0,0 +1,46 @@ > ++From bc50744125e8686ec2eb7e5676522da98e51601f Mon Sep 17 00:00:00 2001 > ++From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > ++Date: Sat, 17 Jun 2023 17:56:18 +0200 > ++Subject: [PATCH] Makefile.flags: Set version if git returns no information > ++ > ++This set the swupdate version if build in a non git environment. > ++E.g. pristine-tar build or from a release tarball. > ++ > ++Also allows to set the EXTRAVERSION from the command line. > ++ > ++Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> > ++--- > ++ Makefile | 2 +- > ++ Makefile.flags | 3 +++ > ++ 2 files changed, 4 insertions(+), 1 deletion(-) > ++ > ++diff --git a/Makefile b/Makefile > ++index 09d03a34..1004945c 100644 > ++--- a/Makefile > +++++ b/Makefile > ++@@ -5,7 +5,7 @@ > ++ VERSION = 2023 > ++ PATCHLEVEL = 05 > ++ SUBLEVEL = 0 > ++-EXTRAVERSION = > +++EXTRAVERSION ?= > ++ NAME = > ++ > ++ IPCLIB_VERSION = 0.1 > ++diff --git a/Makefile.flags b/Makefile.flags > ++index 2a021c89..8eada8fc 100644 > ++--- a/Makefile.flags > +++++ b/Makefile.flags > ++@@ -7,6 +7,9 @@ > ++ # ========================================================================== > ++ SWU_DIR = $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) > ++ SWU_VER = $(shell git -C $(SWU_DIR) describe --tags --always --dirty) > +++ifeq (,$(SWU_VER)) > +++ SWU_VER = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) > +++endif > ++ export SWU_VER > ++ SKIP_STRIP ?= n > ++ > ++-- > ++2.39.2 > ++ > +diff --git a/debian/patches/series b/debian/patches/series > +index 5638bbf5..12324569 100644 > +--- a/debian/patches/series > ++++ b/debian/patches/series > +@@ -1,3 +1,4 @@ > + Link-config-to-swupdate-www-path.diff > + Replace-Font-Awesome-5-with-Fork-Awesome.diff > + use-gcc-compiler.diff > ++Makefile.flags-Set-version-if-git-returns-no-informa.diff > +diff --git a/debian/rules b/debian/rules > +index 8cac6359..566a21bd 100755 > +--- a/debian/rules > ++++ b/debian/rules > +@@ -17,6 +17,8 @@ export DH_WITH=--with lua > + export HAVE_LUA=y > + endif > + > ++DEB_CHANGELOG_VERSION := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p' | cut -d + -f 2) > ++export EXTRAVERSION=($(DEB_CHANGELOG_VERSION)) > + BU_SWU= > + ifeq (linux,$(DEB_HOST_ARCH_OS)) > + BU_SWU += -VBuilt-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W libmtd-dev libubi-dev)" > +-- > +2.39.2 > + > diff --git a/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch b/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch > new file mode 100644 > index 0000000..9c5ebd3 > --- /dev/null > +++ b/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch > @@ -0,0 +1,30 @@ > +From ee401ba4d0d81fc244288e7e59a7bc5cfe2d1bf4 Mon Sep 17 00:00:00 2001 > +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > +Date: Fri, 16 Jun 2023 20:32:38 +0200 > +Subject: [PATCH 4/4] d/rules: Add option to enable suricatta_wfx > + > +Add the DEB_BUILD_PROFILE "pkg.swupdate.suricattawfx" to build with > +suricattawfx lua module. > + > +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> > +--- > + debian/rules | 3 +++ > + 1 file changed, 3 insertions(+) > + > +diff --git a/debian/rules b/debian/rules > +index 566a21bd..fc122d0d 100755 > +--- a/debian/rules > ++++ b/debian/rules > +@@ -61,6 +61,9 @@ endif > + ifneq (,$(filter pkg.swupdate.suricattalua,$(DEB_BUILD_PROFILES))) > + echo CONFIG_SURICATTA_LUA=y >> configs/debian_defconfig > + endif > ++ifneq (,$(filter pkg.swupdate.suricattawfx,$(DEB_BUILD_PROFILES))) > ++ echo CONFIG_SURICATTA_WFX=y >> configs/debian_defconfig > ++endif > + ifneq (,$(LUA_VERSION)) > + echo CONFIG_LUAPKG=\"lua$(LUA_VERSION)\" >> configs/debian_defconfig > + echo CONFIG_LUASCRIPTHANDLER=y >> configs/debian_defconfig > +-- > +2.39.2 > + > diff --git a/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb b/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb > index da1434e..2384f41 100644 > --- a/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb > +++ b/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb > @@ -15,6 +15,8 @@ require swupdate.inc > DEB_BUILD_PROFILES += "nodoc" > DEB_BUILD_OPTIONS += "nodoc" > > +FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/files/2021.11:" > + > SRC_URI = "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master" > SRCREV ="344548c816b555c58ec199f31e45703897d23fb5" > > diff --git a/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb b/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb > deleted file mode 100644 > index 735c2dc..0000000 > --- a/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb > +++ /dev/null > @@ -1,46 +0,0 @@ > -# > -# CIP Core, generic profile > -# > -# Copyright (c) Siemens AG, 2023 > -# > -# Authors: > -# Quirin Gylstorff <quirin.gylstorff@siemens.com> > -# > -# SPDX-License-Identifier: MIT > - > -inherit dpkg-gbp > - > -require swupdate.inc > - > -DEPENDS += "libebgenv-dev" > - > -DEB_BUILD_PROFILES += "nodoc" > -DEB_BUILD_OPTIONS += "nodoc" > - > -SRC_URI = "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master" > -SRCREV ="aa9edf070567fa5b3e942c270633a8feef49dad8" > -SRC_URI += "file://0001-d-rules-Add-option-for-suricatta_lua.patch" > -SRC_URI += "file://0001-d-patches-Add-patch-to-add-the-build-version-to-swup.patch" > - > -# deactivate signing and hardware compability for simple a/b rootfs update > -DEB_BUILD_PROFILES += "pkg.swupdate.nosigning" > -DEB_BUILD_PROFILES += "pkg.swupdate.nohwcompat" > - > -# use suricatta-lua instead of suricatta-hawkbit > -# DEB_BUILD_PROFILES = "pkg.swupdate.suricattalua" > - > -# Disable cross for arm and arm64 on bullseye > -# with cross compile we have a unsat-dependency to dh-nodejs on arm/arm64 > -ISAR_CROSS_COMPILE:bullseye = "0" > - > -# add cross build and deactivate testing for arm based builds > -DEB_BUILD_PROFILES += "cross nocheck" > - > -# use backport build profile for bullseye > -DEB_BUILD_PROFILES:append:bullseye = " pkg.swupdate.bpo" > - > -CHANGELOG_V ?= "2022.12+dfsg-4+cip+${SRCREV}" > - > -do_prepare_build() { > - deb_add_changelog > -} > diff --git a/recipes-core/swupdate/swupdate_2023.05.bb b/recipes-core/swupdate/swupdate_2023.05.bb > new file mode 100644 > index 0000000..26c0e67 > --- /dev/null > +++ b/recipes-core/swupdate/swupdate_2023.05.bb > @@ -0,0 +1,60 @@ > +# > +# CIP Core, generic profile > +# > +# Copyright (c) Siemens AG, 2023 > +# > +# Authors: > +# Quirin Gylstorff <quirin.gylstorff@siemens.com> > +# > +# SPDX-License-Identifier: MIT > + > +inherit dpkg > + > +require swupdate.inc > + > +DEPENDS += "libebgenv-dev" > + > +DEB_BUILD_PROFILES += "nodoc" > +DEB_BUILD_OPTIONS += "nodoc" > + > +FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/files/${PV}:" > + > +SRC_URI += "git://github.com/sbabic/swupdate.git;protocol=https;branch=master;name=upstream;destsuffix=${P}" > +SRC_URI += "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master;name=debian;subpath=debian;destsuffix=${P}/debian" > + > +SRCREV_debian = "aa9edf070567fa5b3e942c270633a8feef49dad8" > +SRCREV_upstream = "c8ca55684c375937dbcdefb0563071a35137f4ba" > + > +# patches > +SRC_URI += "file://0001-d-rules-Add-option-for-suricatta_lua.patch \ > + file://0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch \ > + file://0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch \ > + file://0004-d-rules-Add-option-to-enable-suricatta_wfx.patch" > + > +# deactivate signing and hardware compability for simple a/b rootfs update > +DEB_BUILD_PROFILES += "pkg.swupdate.nosigning" > +DEB_BUILD_PROFILES += "pkg.swupdate.nohwcompat" > + > +# suricatta wfx requires suricatta lua and the dependency > +# is not set automatically > +DEB_BUILD_PROFILES += "pkg.swupdate.suricattalua" > +# add suricatta wfx > +DEB_BUILD_PROFILES += "pkg.swupdate.suricattawfx" > + > +# Disable cross for arm and arm64 on bullseye > +# with cross compile we have a unsat-dependency to dh-nodejs on arm/arm64 > +ISAR_CROSS_COMPILE:bullseye = "0" > + > +# add cross build and deactivate testing for arm based builds > +DEB_BUILD_PROFILES += "cross nocheck" > + > +# use backport build profile for bullseye > +DEB_BUILD_PROFILES:append:bullseye = " pkg.swupdate.bpo" > + > +CHANGELOG_V ?= "${PV}+cip-${SRCREV_upstream}" > + > +do_prepare_build() { > + deb_add_changelog > + cd ${WORKDIR} > + tar cJf ${PN}_${PV}+cip.orig.tar.xz --exclude=.git --exclude=debian ${P} > +}
On 6/20/23 21:11, Jan Kiszka wrote: > On 19.06.23 20:03, Quirin Gylstorff wrote: >> From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> >> This will update swupdate to c8ca55684c375937dbcdefb0563071a35137f4ba >> (tools/swupdate-progress: Adapt for wfx) to add the wfx bindings. >> >> You can enable wfx by enabling during in the systemd service by writing >> to `/etc/swupdate/conf.d/suricatta.conf`: >> ``` >> SWUPDATE_SURICATTA_ARGS="-S lua <wfx arguments>" >> ``` >> For the <wfx arguments> see 'swupdate -h'. >> >> To switch between wfx and hawkbit exchange `lua` with `hawkbit`. >> >> Delta updates are disabled for Debian bullseye and bookworm as zchunk >> 1.3 is currently not supported. If delta updates are required set >> `pkg.swupdate.delta` in DEB_BUILD_PROFILES. >> >> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> --- >> >> Changes v3: >> - add info about disabled delta update support to commit message >> - rebase to origin/next 0470089 >> >> Changes v2: >> - add patch to display swupdate version >> - this Patch also sets the EXTRAVERSION with packageversion+git commit sha >> - set CONFIG_SURICATTA_WFX to always enable wfx >> - use version 2023.05 as it is the version stored in the swupdate >> sources >> - move patches to version specific folders for readability >> - Add instructions to start swupdate service with wfx >> >> >> >> conf/distro/cip-core-bookworm.conf | 2 +- >> conf/distro/cip-core-bullseye.conf | 2 +- >> conf/distro/cip-core-sid-ports.conf | 1 + >> recipes-core/images/swupdate.inc | 5 +- >> recipes-core/persistent-fs/files/data.mount | 13 +++ >> recipes-core/persistent-fs/files/postinst | 3 + >> .../persistent-fs/persistent-fs_0.1.bb | 20 ++++ > > These 3 sneaked in with v2 already, but I don't see that they belong > here, right? I'm dropping them while merging in order to kick-off CI and > testing already. > > Jan Oops this should not have been happened. These patches should be removed. Quirin > >> .../0002-debian-rules-Add-CONFIG_MTD.patch | 27 ------ >> ...-SWUpdate-USB-service-and-Udev-rules.patch | 0 >> ...ules-Add-Embedded-Lua-handler-option.patch | 0 >> ...es-Add-option-to-disable-fs-creation.patch | 0 >> ...ules-Add-option-to-disable-webserver.patch | 0 >> ...ch-to-fix-bootloader_env_get-for-EBG.patch | 0 >> ...prepare-build-for-isar-debian-buster.patch | 0 >> ...d-rules-Add-option-for-suricatta_lua.patch | 4 +- >> ...rate-build_profile-option-for-delta-.patch | 45 +++++++++ >> ...tch-to-add-the-build-version-to-swup.patch | 94 +++++++++++++++++++ >> ...s-Add-option-to-enable-suricatta_wfx.patch | 30 ++++++ >> .../swupdate/swupdate_2021.11-1+debian-gbp.bb | 2 + >> .../swupdate/swupdate_2022.12+dfsg-4-gbp.bb | 46 --------- >> recipes-core/swupdate/swupdate_2023.05.bb | 60 ++++++++++++ >> 21 files changed, 273 insertions(+), 81 deletions(-) >> create mode 100644 recipes-core/persistent-fs/files/data.mount >> create mode 100755 recipes-core/persistent-fs/files/postinst >> create mode 100644 recipes-core/persistent-fs/persistent-fs_0.1.bb >> delete mode 100644 recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch >> rename recipes-core/swupdate/files/{ => 2021.11}/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch (100%) >> rename recipes-core/swupdate/files/{ => 2021.11}/0002-debian-rules-Add-Embedded-Lua-handler-option.patch (100%) >> rename recipes-core/swupdate/files/{ => 2021.11}/0003-debian-rules-Add-option-to-disable-fs-creation.patch (100%) >> rename recipes-core/swupdate/files/{ => 2021.11}/0004-debian-rules-Add-option-to-disable-webserver.patch (100%) >> rename recipes-core/swupdate/files/{ => 2021.11}/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch (100%) >> rename recipes-core/swupdate/files/{ => 2021.11}/0006-debian-prepare-build-for-isar-debian-buster.patch (100%) >> rename recipes-core/swupdate/files/{ => 2023.05}/0001-d-rules-Add-option-for-suricatta_lua.patch (87%) >> create mode 100644 recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch >> create mode 100644 recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch >> create mode 100644 recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch >> delete mode 100644 recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb >> create mode 100644 recipes-core/swupdate/swupdate_2023.05.bb >> >> diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-core-bookworm.conf >> index f05d3d3..adafc92 100644 >> --- a/conf/distro/cip-core-bookworm.conf >> +++ b/conf/distro/cip-core-bookworm.conf >> @@ -12,6 +12,6 @@ >> require conf/distro/debian-bookworm.conf >> require cip-core-common.inc >> >> -PREFERRED_VERSION_swupdate ?= "2022.12%" >> +PREFERRED_VERSION_swupdate ?= "2023.05%" >> PREFERRED_VERSION_linux-cip ?= "5.10.%" >> PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" >> diff --git a/conf/distro/cip-core-bullseye.conf b/conf/distro/cip-core-bullseye.conf >> index 9c83054..4f26299 100644 >> --- a/conf/distro/cip-core-bullseye.conf >> +++ b/conf/distro/cip-core-bullseye.conf >> @@ -15,6 +15,6 @@ require cip-core-common.inc >> DISTRO_APT_SOURCES:append:swupdate = " conf/distro/debian-bullseye-backports.list" >> DISTRO_APT_PREFERENCES:append:swupdate = " conf/distro/preferences.swupdate-bullseye-backports.conf" >> >> -PREFERRED_VERSION_swupdate ?= "2022.12%" >> +PREFERRED_VERSION_swupdate ?= "2023.05%" >> PREFERRED_VERSION_linux-cip ?= "5.10.%" >> PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" >> diff --git a/conf/distro/cip-core-sid-ports.conf b/conf/distro/cip-core-sid-ports.conf >> index edd3c28..2e74af7 100644 >> --- a/conf/distro/cip-core-sid-ports.conf >> +++ b/conf/distro/cip-core-sid-ports.conf >> @@ -14,6 +14,7 @@ require cip-core-common.inc >> >> PREFERRED_VERSION_linux-cip ?= "5.10.%" >> PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" >> +PREFERRED_VERSION_swupdate ?= "2023.05%" >> >> DISTRO_APT_SOURCES = "conf/distro/cip-debian-sid-ports-snapshot.list" >> HOST_DISTRO_APT_SOURCES = "conf/distro/cip-debian-sid-snapshot.list ${DISTRO_APT_SOURCES}" >> diff --git a/recipes-core/images/swupdate.inc b/recipes-core/images/swupdate.inc >> index ebc844a..6a01abb 100644 >> --- a/recipes-core/images/swupdate.inc >> +++ b/recipes-core/images/swupdate.inc >> @@ -12,9 +12,6 @@ >> inherit image_uuid >> inherit read-only-rootfs >> >> -IMAGE_INSTALL:append:buster = " swupdate" >> -IMAGE_INSTALL:append:bullseye = " swupdate" >> -IMAGE_PREINSTALL:append:bookworm = " swupdate" >> -IMAGE_PREINSTALL:append:sid = " swupdate" >> +IMAGE_INSTALL += " swupdate" >> >> IMAGE_INSTALL += " swupdate-handler-roundrobin" >> diff --git a/recipes-core/persistent-fs/files/data.mount b/recipes-core/persistent-fs/files/data.mount >> new file mode 100644 >> index 0000000..dc64a91 >> --- /dev/null >> +++ b/recipes-core/persistent-fs/files/data.mount >> @@ -0,0 +1,13 @@ >> +[Unit] >> +Description=Mount /data partition >> +Before=local-fs.target >> + >> +[Mount] >> +What=${PERSISTENT_PARTITION} >> +Where=/data >> +Type=auto >> +Options=defaults >> + >> + >> +[Install] >> +WantedBy=local-fs.target >> diff --git a/recipes-core/persistent-fs/files/postinst b/recipes-core/persistent-fs/files/postinst >> new file mode 100755 >> index 0000000..8a13328 >> --- /dev/null >> +++ b/recipes-core/persistent-fs/files/postinst >> @@ -0,0 +1,3 @@ >> +#!/bin/sh >> + >> +#deb-systemd-helper enable data.mount || true >> diff --git a/recipes-core/persistent-fs/persistent-fs_0.1.bb b/recipes-core/persistent-fs/persistent-fs_0.1.bb >> new file mode 100644 >> index 0000000..c665b6c >> --- /dev/null >> +++ b/recipes-core/persistent-fs/persistent-fs_0.1.bb >> @@ -0,0 +1,20 @@ >> +# >> +# CIP Core, generic profile >> +# >> +# Copyright (c) Siemens AG, 2022 >> +# >> +# Authors: >> +# Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +# >> +# SPDX-License-Identifier: MIT >> + >> +inherit dpkg-raw >> + >> +SRC_URI = "file://postinst \ >> + file://data.mount" >> + >> +do_install[cleandirs]+="${D}/lib/systemd/system" >> +do_install[cleandirs]+="${D}/data" >> +do_install() { >> + install -m 0644 ${WORKDIR}/data.mount ${D}/lib/systemd/system/data.mount >> +} >> diff --git a/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch b/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch >> deleted file mode 100644 >> index e62a4fc..0000000 >> --- a/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch >> +++ /dev/null >> @@ -1,27 +0,0 @@ >> -From c3adc5d2be41e151c811c96f2bed245778fec82c Mon Sep 17 00:00:00 2001 >> -From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> -Date: Wed, 29 Sep 2021 11:29:57 +0200 >> -Subject: [PATCH 02/10] debian/rules: Add CONFIG_MTD >> - >> -if pkg.swupdate.bpo is set CONFIG_MTD is disable but not enabled. >> - >> -Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> ---- >> - debian/rules | 1 + >> - 1 file changed, 1 insertion(+) >> - >> -diff --git a/debian/rules b/debian/rules >> -index 08b74a1..6705140 100755 >> ---- a/debian/rules >> -+++ b/debian/rules >> -@@ -20,6 +20,7 @@ endif >> - override_dh_auto_configure: >> - cp debian/configs/defconfig configs/debian_defconfig >> - ifeq (,$(filter pkg.swupdate.bpo,$(DEB_BUILD_PROFILES))) >> -+ echo CONFIG_MTD=y >> configs/debian_defconfig >> - echo CONFIG_SWUFORWARDER_HANDLER=y >> configs/debian_defconfig >> - echo CONFIG_CFI=y >> configs/debian_defconfig >> - echo CONFIG_CFIHAMMING1=y >> configs/debian_defconfig >> --- >> -2.34.1 >> - >> diff --git a/recipes-core/swupdate/files/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch b/recipes-core/swupdate/files/2021.11/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch >> similarity index 100% >> rename from recipes-core/swupdate/files/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch >> rename to recipes-core/swupdate/files/2021.11/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch >> diff --git a/recipes-core/swupdate/files/0002-debian-rules-Add-Embedded-Lua-handler-option.patch b/recipes-core/swupdate/files/2021.11/0002-debian-rules-Add-Embedded-Lua-handler-option.patch >> similarity index 100% >> rename from recipes-core/swupdate/files/0002-debian-rules-Add-Embedded-Lua-handler-option.patch >> rename to recipes-core/swupdate/files/2021.11/0002-debian-rules-Add-Embedded-Lua-handler-option.patch >> diff --git a/recipes-core/swupdate/files/0003-debian-rules-Add-option-to-disable-fs-creation.patch b/recipes-core/swupdate/files/2021.11/0003-debian-rules-Add-option-to-disable-fs-creation.patch >> similarity index 100% >> rename from recipes-core/swupdate/files/0003-debian-rules-Add-option-to-disable-fs-creation.patch >> rename to recipes-core/swupdate/files/2021.11/0003-debian-rules-Add-option-to-disable-fs-creation.patch >> diff --git a/recipes-core/swupdate/files/0004-debian-rules-Add-option-to-disable-webserver.patch b/recipes-core/swupdate/files/2021.11/0004-debian-rules-Add-option-to-disable-webserver.patch >> similarity index 100% >> rename from recipes-core/swupdate/files/0004-debian-rules-Add-option-to-disable-webserver.patch >> rename to recipes-core/swupdate/files/2021.11/0004-debian-rules-Add-option-to-disable-webserver.patch >> diff --git a/recipes-core/swupdate/files/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch b/recipes-core/swupdate/files/2021.11/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch >> similarity index 100% >> rename from recipes-core/swupdate/files/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch >> rename to recipes-core/swupdate/files/2021.11/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch >> diff --git a/recipes-core/swupdate/files/0006-debian-prepare-build-for-isar-debian-buster.patch b/recipes-core/swupdate/files/2021.11/0006-debian-prepare-build-for-isar-debian-buster.patch >> similarity index 100% >> rename from recipes-core/swupdate/files/0006-debian-prepare-build-for-isar-debian-buster.patch >> rename to recipes-core/swupdate/files/2021.11/0006-debian-prepare-build-for-isar-debian-buster.patch >> diff --git a/recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch b/recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch >> similarity index 87% >> rename from recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch >> rename to recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch >> index 0be5a71..5aeb605 100644 >> --- a/recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch >> +++ b/recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch >> @@ -1,7 +1,7 @@ >> -From 00fc691802e671594cea1d0a5e880d255e04b7f0 Mon Sep 17 00:00:00 2001 >> +From f94f8c2f62ade7568fe8fafa106488761fc55f91 Mon Sep 17 00:00:00 2001 >> From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> Date: Wed, 3 May 2023 16:02:37 +0200 >> -Subject: [PATCH] d/rules: Add option for suricatta_lua >> +Subject: [PATCH 1/4] d/rules: Add option for suricatta_lua >> >> This allows to use lua plugins as suricatta backends. It is optional >> as it overrides the default HAWKBIT backend. >> diff --git a/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch b/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch >> new file mode 100644 >> index 0000000..4203061 >> --- /dev/null >> +++ b/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch >> @@ -0,0 +1,45 @@ >> +From a5ab9aaa53acac4c4155b6c4cc8a86bc59278e53 Mon Sep 17 00:00:00 2001 >> +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +Date: Thu, 15 Jun 2023 18:48:25 +0200 >> +Subject: [PATCH 2/4] d/rules: Add seperate build_profile option for delta >> + update >> + >> +Delta update need zchunk 1.3 to work on memory restricted >> +devices. zchunk 1.3 is is not available in bullseye-backports >> +and Debian bookworm(12). >> + >> +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +--- >> + debian/control | 2 +- >> + debian/rules | 2 +- >> + 2 files changed, 2 insertions(+), 2 deletions(-) >> + >> +diff --git a/debian/control b/debian/control >> +index e47c320c..d4b17972 100644 >> +--- a/debian/control >> ++++ b/debian/control >> +@@ -26,7 +26,7 @@ Build-Depends: debhelper-compat (= 13), >> + uuid-dev, >> + zlib1g-dev, >> + libzstd-dev, >> +- libzck-dev (>= 1.2) <!pkg.swupdate.bpo>, >> ++ libzck-dev (>= 1.3) <pkg.swupdate.delta>, >> + libp11-kit-dev <pkg.swupdate.p11>, >> + libwolfssl-dev <pkg.swupdate.p11>, >> + libmtd-dev [linux-any], >> +diff --git a/debian/rules b/debian/rules >> +index 91106fbd..8cac6359 100755 >> +--- a/debian/rules >> ++++ b/debian/rules >> +@@ -38,7 +38,7 @@ ifeq (linux,$(DEB_HOST_ARCH_OS)) >> + else >> + echo "# CONFIG_MTD is not set" >> configs/debian_defconfig >> + endif >> +-ifeq (,$(filter pkg.swupdate.bpo,$(DEB_BUILD_PROFILES))) >> ++ifneq (,$(filter pkg.swupdate.delta,$(DEB_BUILD_PROFILES))) >> + echo CONFIG_DELTA=y >> configs/debian_defconfig >> + endif >> + ifneq (,$(findstring $(DEB_HOST_ARCH),amd64 i386 arm64 armhf riscv64 ia64)) >> +-- >> +2.39.2 >> + >> diff --git a/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch b/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch >> new file mode 100644 >> index 0000000..857b4ab >> --- /dev/null >> +++ b/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch >> @@ -0,0 +1,94 @@ >> +From ed4e8b5d4ad6ffcddb755571303c077fff227ea3 Mon Sep 17 00:00:00 2001 >> +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +Date: Fri, 16 Jun 2023 19:43:38 +0200 >> +Subject: [PATCH 3/4] d/patches: Add patch to add the build version to swupdate >> + >> +The build version is only set if build in a git repository >> +this patch allows to use the version information stored in >> +the Makefile. >> + >> +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +--- >> + ...Set-version-if-git-returns-no-informa.diff | 46 +++++++++++++++++++ >> + debian/patches/series | 1 + >> + debian/rules | 2 + >> + 3 files changed, 49 insertions(+) >> + create mode 100644 debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff >> + >> +diff --git a/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff b/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff >> +new file mode 100644 >> +index 00000000..7f964fb7 >> +--- /dev/null >> ++++ b/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff >> +@@ -0,0 +1,46 @@ >> ++From bc50744125e8686ec2eb7e5676522da98e51601f Mon Sep 17 00:00:00 2001 >> ++From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> ++Date: Sat, 17 Jun 2023 17:56:18 +0200 >> ++Subject: [PATCH] Makefile.flags: Set version if git returns no information >> ++ >> ++This set the swupdate version if build in a non git environment. >> ++E.g. pristine-tar build or from a release tarball. >> ++ >> ++Also allows to set the EXTRAVERSION from the command line. >> ++ >> ++Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> ++--- >> ++ Makefile | 2 +- >> ++ Makefile.flags | 3 +++ >> ++ 2 files changed, 4 insertions(+), 1 deletion(-) >> ++ >> ++diff --git a/Makefile b/Makefile >> ++index 09d03a34..1004945c 100644 >> ++--- a/Makefile >> +++++ b/Makefile >> ++@@ -5,7 +5,7 @@ >> ++ VERSION = 2023 >> ++ PATCHLEVEL = 05 >> ++ SUBLEVEL = 0 >> ++-EXTRAVERSION = >> +++EXTRAVERSION ?= >> ++ NAME = >> ++ >> ++ IPCLIB_VERSION = 0.1 >> ++diff --git a/Makefile.flags b/Makefile.flags >> ++index 2a021c89..8eada8fc 100644 >> ++--- a/Makefile.flags >> +++++ b/Makefile.flags >> ++@@ -7,6 +7,9 @@ >> ++ # ========================================================================== >> ++ SWU_DIR = $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) >> ++ SWU_VER = $(shell git -C $(SWU_DIR) describe --tags --always --dirty) >> +++ifeq (,$(SWU_VER)) >> +++ SWU_VER = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) >> +++endif >> ++ export SWU_VER >> ++ SKIP_STRIP ?= n >> ++ >> ++-- >> ++2.39.2 >> ++ >> +diff --git a/debian/patches/series b/debian/patches/series >> +index 5638bbf5..12324569 100644 >> +--- a/debian/patches/series >> ++++ b/debian/patches/series >> +@@ -1,3 +1,4 @@ >> + Link-config-to-swupdate-www-path.diff >> + Replace-Font-Awesome-5-with-Fork-Awesome.diff >> + use-gcc-compiler.diff >> ++Makefile.flags-Set-version-if-git-returns-no-informa.diff >> +diff --git a/debian/rules b/debian/rules >> +index 8cac6359..566a21bd 100755 >> +--- a/debian/rules >> ++++ b/debian/rules >> +@@ -17,6 +17,8 @@ export DH_WITH=--with lua >> + export HAVE_LUA=y >> + endif >> + >> ++DEB_CHANGELOG_VERSION := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p' | cut -d + -f 2) >> ++export EXTRAVERSION=($(DEB_CHANGELOG_VERSION)) >> + BU_SWU= >> + ifeq (linux,$(DEB_HOST_ARCH_OS)) >> + BU_SWU += -VBuilt-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W libmtd-dev libubi-dev)" >> +-- >> +2.39.2 >> + >> diff --git a/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch b/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch >> new file mode 100644 >> index 0000000..9c5ebd3 >> --- /dev/null >> +++ b/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch >> @@ -0,0 +1,30 @@ >> +From ee401ba4d0d81fc244288e7e59a7bc5cfe2d1bf4 Mon Sep 17 00:00:00 2001 >> +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +Date: Fri, 16 Jun 2023 20:32:38 +0200 >> +Subject: [PATCH 4/4] d/rules: Add option to enable suricatta_wfx >> + >> +Add the DEB_BUILD_PROFILE "pkg.swupdate.suricattawfx" to build with >> +suricattawfx lua module. >> + >> +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +--- >> + debian/rules | 3 +++ >> + 1 file changed, 3 insertions(+) >> + >> +diff --git a/debian/rules b/debian/rules >> +index 566a21bd..fc122d0d 100755 >> +--- a/debian/rules >> ++++ b/debian/rules >> +@@ -61,6 +61,9 @@ endif >> + ifneq (,$(filter pkg.swupdate.suricattalua,$(DEB_BUILD_PROFILES))) >> + echo CONFIG_SURICATTA_LUA=y >> configs/debian_defconfig >> + endif >> ++ifneq (,$(filter pkg.swupdate.suricattawfx,$(DEB_BUILD_PROFILES))) >> ++ echo CONFIG_SURICATTA_WFX=y >> configs/debian_defconfig >> ++endif >> + ifneq (,$(LUA_VERSION)) >> + echo CONFIG_LUAPKG=\"lua$(LUA_VERSION)\" >> configs/debian_defconfig >> + echo CONFIG_LUASCRIPTHANDLER=y >> configs/debian_defconfig >> +-- >> +2.39.2 >> + >> diff --git a/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb b/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb >> index da1434e..2384f41 100644 >> --- a/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb >> +++ b/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb >> @@ -15,6 +15,8 @@ require swupdate.inc >> DEB_BUILD_PROFILES += "nodoc" >> DEB_BUILD_OPTIONS += "nodoc" >> >> +FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/files/2021.11:" >> + >> SRC_URI = "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master" >> SRCREV ="344548c816b555c58ec199f31e45703897d23fb5" >> >> diff --git a/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb b/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb >> deleted file mode 100644 >> index 735c2dc..0000000 >> --- a/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb >> +++ /dev/null >> @@ -1,46 +0,0 @@ >> -# >> -# CIP Core, generic profile >> -# >> -# Copyright (c) Siemens AG, 2023 >> -# >> -# Authors: >> -# Quirin Gylstorff <quirin.gylstorff@siemens.com> >> -# >> -# SPDX-License-Identifier: MIT >> - >> -inherit dpkg-gbp >> - >> -require swupdate.inc >> - >> -DEPENDS += "libebgenv-dev" >> - >> -DEB_BUILD_PROFILES += "nodoc" >> -DEB_BUILD_OPTIONS += "nodoc" >> - >> -SRC_URI = "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master" >> -SRCREV ="aa9edf070567fa5b3e942c270633a8feef49dad8" >> -SRC_URI += "file://0001-d-rules-Add-option-for-suricatta_lua.patch" >> -SRC_URI += "file://0001-d-patches-Add-patch-to-add-the-build-version-to-swup.patch" >> - >> -# deactivate signing and hardware compability for simple a/b rootfs update >> -DEB_BUILD_PROFILES += "pkg.swupdate.nosigning" >> -DEB_BUILD_PROFILES += "pkg.swupdate.nohwcompat" >> - >> -# use suricatta-lua instead of suricatta-hawkbit >> -# DEB_BUILD_PROFILES = "pkg.swupdate.suricattalua" >> - >> -# Disable cross for arm and arm64 on bullseye >> -# with cross compile we have a unsat-dependency to dh-nodejs on arm/arm64 >> -ISAR_CROSS_COMPILE:bullseye = "0" >> - >> -# add cross build and deactivate testing for arm based builds >> -DEB_BUILD_PROFILES += "cross nocheck" >> - >> -# use backport build profile for bullseye >> -DEB_BUILD_PROFILES:append:bullseye = " pkg.swupdate.bpo" >> - >> -CHANGELOG_V ?= "2022.12+dfsg-4+cip+${SRCREV}" >> - >> -do_prepare_build() { >> - deb_add_changelog >> -} >> diff --git a/recipes-core/swupdate/swupdate_2023.05.bb b/recipes-core/swupdate/swupdate_2023.05.bb >> new file mode 100644 >> index 0000000..26c0e67 >> --- /dev/null >> +++ b/recipes-core/swupdate/swupdate_2023.05.bb >> @@ -0,0 +1,60 @@ >> +# >> +# CIP Core, generic profile >> +# >> +# Copyright (c) Siemens AG, 2023 >> +# >> +# Authors: >> +# Quirin Gylstorff <quirin.gylstorff@siemens.com> >> +# >> +# SPDX-License-Identifier: MIT >> + >> +inherit dpkg >> + >> +require swupdate.inc >> + >> +DEPENDS += "libebgenv-dev" >> + >> +DEB_BUILD_PROFILES += "nodoc" >> +DEB_BUILD_OPTIONS += "nodoc" >> + >> +FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/files/${PV}:" >> + >> +SRC_URI += "git://github.com/sbabic/swupdate.git;protocol=https;branch=master;name=upstream;destsuffix=${P}" >> +SRC_URI += "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master;name=debian;subpath=debian;destsuffix=${P}/debian" >> + >> +SRCREV_debian = "aa9edf070567fa5b3e942c270633a8feef49dad8" >> +SRCREV_upstream = "c8ca55684c375937dbcdefb0563071a35137f4ba" >> + >> +# patches >> +SRC_URI += "file://0001-d-rules-Add-option-for-suricatta_lua.patch \ >> + file://0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch \ >> + file://0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch \ >> + file://0004-d-rules-Add-option-to-enable-suricatta_wfx.patch" >> + >> +# deactivate signing and hardware compability for simple a/b rootfs update >> +DEB_BUILD_PROFILES += "pkg.swupdate.nosigning" >> +DEB_BUILD_PROFILES += "pkg.swupdate.nohwcompat" >> + >> +# suricatta wfx requires suricatta lua and the dependency >> +# is not set automatically >> +DEB_BUILD_PROFILES += "pkg.swupdate.suricattalua" >> +# add suricatta wfx >> +DEB_BUILD_PROFILES += "pkg.swupdate.suricattawfx" >> + >> +# Disable cross for arm and arm64 on bullseye >> +# with cross compile we have a unsat-dependency to dh-nodejs on arm/arm64 >> +ISAR_CROSS_COMPILE:bullseye = "0" >> + >> +# add cross build and deactivate testing for arm based builds >> +DEB_BUILD_PROFILES += "cross nocheck" >> + >> +# use backport build profile for bullseye >> +DEB_BUILD_PROFILES:append:bullseye = " pkg.swupdate.bpo" >> + >> +CHANGELOG_V ?= "${PV}+cip-${SRCREV_upstream}" >> + >> +do_prepare_build() { >> + deb_add_changelog >> + cd ${WORKDIR} >> + tar cJf ${PN}_${PV}+cip.orig.tar.xz --exclude=.git --exclude=debian ${P} >> +} >
diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-core-bookworm.conf index f05d3d3..adafc92 100644 --- a/conf/distro/cip-core-bookworm.conf +++ b/conf/distro/cip-core-bookworm.conf @@ -12,6 +12,6 @@ require conf/distro/debian-bookworm.conf require cip-core-common.inc -PREFERRED_VERSION_swupdate ?= "2022.12%" +PREFERRED_VERSION_swupdate ?= "2023.05%" PREFERRED_VERSION_linux-cip ?= "5.10.%" PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" diff --git a/conf/distro/cip-core-bullseye.conf b/conf/distro/cip-core-bullseye.conf index 9c83054..4f26299 100644 --- a/conf/distro/cip-core-bullseye.conf +++ b/conf/distro/cip-core-bullseye.conf @@ -15,6 +15,6 @@ require cip-core-common.inc DISTRO_APT_SOURCES:append:swupdate = " conf/distro/debian-bullseye-backports.list" DISTRO_APT_PREFERENCES:append:swupdate = " conf/distro/preferences.swupdate-bullseye-backports.conf" -PREFERRED_VERSION_swupdate ?= "2022.12%" +PREFERRED_VERSION_swupdate ?= "2023.05%" PREFERRED_VERSION_linux-cip ?= "5.10.%" PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" diff --git a/conf/distro/cip-core-sid-ports.conf b/conf/distro/cip-core-sid-ports.conf index edd3c28..2e74af7 100644 --- a/conf/distro/cip-core-sid-ports.conf +++ b/conf/distro/cip-core-sid-ports.conf @@ -14,6 +14,7 @@ require cip-core-common.inc PREFERRED_VERSION_linux-cip ?= "5.10.%" PREFERRED_VERSION_linux-cip-rt ?= "5.10.%" +PREFERRED_VERSION_swupdate ?= "2023.05%" DISTRO_APT_SOURCES = "conf/distro/cip-debian-sid-ports-snapshot.list" HOST_DISTRO_APT_SOURCES = "conf/distro/cip-debian-sid-snapshot.list ${DISTRO_APT_SOURCES}" diff --git a/recipes-core/images/swupdate.inc b/recipes-core/images/swupdate.inc index ebc844a..6a01abb 100644 --- a/recipes-core/images/swupdate.inc +++ b/recipes-core/images/swupdate.inc @@ -12,9 +12,6 @@ inherit image_uuid inherit read-only-rootfs -IMAGE_INSTALL:append:buster = " swupdate" -IMAGE_INSTALL:append:bullseye = " swupdate" -IMAGE_PREINSTALL:append:bookworm = " swupdate" -IMAGE_PREINSTALL:append:sid = " swupdate" +IMAGE_INSTALL += " swupdate" IMAGE_INSTALL += " swupdate-handler-roundrobin" diff --git a/recipes-core/persistent-fs/files/data.mount b/recipes-core/persistent-fs/files/data.mount new file mode 100644 index 0000000..dc64a91 --- /dev/null +++ b/recipes-core/persistent-fs/files/data.mount @@ -0,0 +1,13 @@ +[Unit] +Description=Mount /data partition +Before=local-fs.target + +[Mount] +What=${PERSISTENT_PARTITION} +Where=/data +Type=auto +Options=defaults + + +[Install] +WantedBy=local-fs.target diff --git a/recipes-core/persistent-fs/files/postinst b/recipes-core/persistent-fs/files/postinst new file mode 100755 index 0000000..8a13328 --- /dev/null +++ b/recipes-core/persistent-fs/files/postinst @@ -0,0 +1,3 @@ +#!/bin/sh + +#deb-systemd-helper enable data.mount || true diff --git a/recipes-core/persistent-fs/persistent-fs_0.1.bb b/recipes-core/persistent-fs/persistent-fs_0.1.bb new file mode 100644 index 0000000..c665b6c --- /dev/null +++ b/recipes-core/persistent-fs/persistent-fs_0.1.bb @@ -0,0 +1,20 @@ +# +# CIP Core, generic profile +# +# Copyright (c) Siemens AG, 2022 +# +# Authors: +# Quirin Gylstorff <quirin.gylstorff@siemens.com> +# +# SPDX-License-Identifier: MIT + +inherit dpkg-raw + +SRC_URI = "file://postinst \ + file://data.mount" + +do_install[cleandirs]+="${D}/lib/systemd/system" +do_install[cleandirs]+="${D}/data" +do_install() { + install -m 0644 ${WORKDIR}/data.mount ${D}/lib/systemd/system/data.mount +} diff --git a/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch b/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch deleted file mode 100644 index e62a4fc..0000000 --- a/recipes-core/swupdate/files/0002-debian-rules-Add-CONFIG_MTD.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c3adc5d2be41e151c811c96f2bed245778fec82c Mon Sep 17 00:00:00 2001 -From: Quirin Gylstorff <quirin.gylstorff@siemens.com> -Date: Wed, 29 Sep 2021 11:29:57 +0200 -Subject: [PATCH 02/10] debian/rules: Add CONFIG_MTD - -if pkg.swupdate.bpo is set CONFIG_MTD is disable but not enabled. - -Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> ---- - debian/rules | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/debian/rules b/debian/rules -index 08b74a1..6705140 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -20,6 +20,7 @@ endif - override_dh_auto_configure: - cp debian/configs/defconfig configs/debian_defconfig - ifeq (,$(filter pkg.swupdate.bpo,$(DEB_BUILD_PROFILES))) -+ echo CONFIG_MTD=y >> configs/debian_defconfig - echo CONFIG_SWUFORWARDER_HANDLER=y >> configs/debian_defconfig - echo CONFIG_CFI=y >> configs/debian_defconfig - echo CONFIG_CFIHAMMING1=y >> configs/debian_defconfig --- -2.34.1 - diff --git a/recipes-core/swupdate/files/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch b/recipes-core/swupdate/files/2021.11/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch similarity index 100% rename from recipes-core/swupdate/files/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch rename to recipes-core/swupdate/files/2021.11/0001-debian-Remove-SWUpdate-USB-service-and-Udev-rules.patch diff --git a/recipes-core/swupdate/files/0002-debian-rules-Add-Embedded-Lua-handler-option.patch b/recipes-core/swupdate/files/2021.11/0002-debian-rules-Add-Embedded-Lua-handler-option.patch similarity index 100% rename from recipes-core/swupdate/files/0002-debian-rules-Add-Embedded-Lua-handler-option.patch rename to recipes-core/swupdate/files/2021.11/0002-debian-rules-Add-Embedded-Lua-handler-option.patch diff --git a/recipes-core/swupdate/files/0003-debian-rules-Add-option-to-disable-fs-creation.patch b/recipes-core/swupdate/files/2021.11/0003-debian-rules-Add-option-to-disable-fs-creation.patch similarity index 100% rename from recipes-core/swupdate/files/0003-debian-rules-Add-option-to-disable-fs-creation.patch rename to recipes-core/swupdate/files/2021.11/0003-debian-rules-Add-option-to-disable-fs-creation.patch diff --git a/recipes-core/swupdate/files/0004-debian-rules-Add-option-to-disable-webserver.patch b/recipes-core/swupdate/files/2021.11/0004-debian-rules-Add-option-to-disable-webserver.patch similarity index 100% rename from recipes-core/swupdate/files/0004-debian-rules-Add-option-to-disable-webserver.patch rename to recipes-core/swupdate/files/2021.11/0004-debian-rules-Add-option-to-disable-webserver.patch diff --git a/recipes-core/swupdate/files/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch b/recipes-core/swupdate/files/2021.11/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch similarity index 100% rename from recipes-core/swupdate/files/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch rename to recipes-core/swupdate/files/2021.11/0005-debian-Add-patch-to-fix-bootloader_env_get-for-EBG.patch diff --git a/recipes-core/swupdate/files/0006-debian-prepare-build-for-isar-debian-buster.patch b/recipes-core/swupdate/files/2021.11/0006-debian-prepare-build-for-isar-debian-buster.patch similarity index 100% rename from recipes-core/swupdate/files/0006-debian-prepare-build-for-isar-debian-buster.patch rename to recipes-core/swupdate/files/2021.11/0006-debian-prepare-build-for-isar-debian-buster.patch diff --git a/recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch b/recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch similarity index 87% rename from recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch rename to recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch index 0be5a71..5aeb605 100644 --- a/recipes-core/swupdate/files/0001-d-rules-Add-option-for-suricatta_lua.patch +++ b/recipes-core/swupdate/files/2023.05/0001-d-rules-Add-option-for-suricatta_lua.patch @@ -1,7 +1,7 @@ -From 00fc691802e671594cea1d0a5e880d255e04b7f0 Mon Sep 17 00:00:00 2001 +From f94f8c2f62ade7568fe8fafa106488761fc55f91 Mon Sep 17 00:00:00 2001 From: Quirin Gylstorff <quirin.gylstorff@siemens.com> Date: Wed, 3 May 2023 16:02:37 +0200 -Subject: [PATCH] d/rules: Add option for suricatta_lua +Subject: [PATCH 1/4] d/rules: Add option for suricatta_lua This allows to use lua plugins as suricatta backends. It is optional as it overrides the default HAWKBIT backend. diff --git a/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch b/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch new file mode 100644 index 0000000..4203061 --- /dev/null +++ b/recipes-core/swupdate/files/2023.05/0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch @@ -0,0 +1,45 @@ +From a5ab9aaa53acac4c4155b6c4cc8a86bc59278e53 Mon Sep 17 00:00:00 2001 +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> +Date: Thu, 15 Jun 2023 18:48:25 +0200 +Subject: [PATCH 2/4] d/rules: Add seperate build_profile option for delta + update + +Delta update need zchunk 1.3 to work on memory restricted +devices. zchunk 1.3 is is not available in bullseye-backports +and Debian bookworm(12). + +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> +--- + debian/control | 2 +- + debian/rules | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/debian/control b/debian/control +index e47c320c..d4b17972 100644 +--- a/debian/control ++++ b/debian/control +@@ -26,7 +26,7 @@ Build-Depends: debhelper-compat (= 13), + uuid-dev, + zlib1g-dev, + libzstd-dev, +- libzck-dev (>= 1.2) <!pkg.swupdate.bpo>, ++ libzck-dev (>= 1.3) <pkg.swupdate.delta>, + libp11-kit-dev <pkg.swupdate.p11>, + libwolfssl-dev <pkg.swupdate.p11>, + libmtd-dev [linux-any], +diff --git a/debian/rules b/debian/rules +index 91106fbd..8cac6359 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -38,7 +38,7 @@ ifeq (linux,$(DEB_HOST_ARCH_OS)) + else + echo "# CONFIG_MTD is not set" >> configs/debian_defconfig + endif +-ifeq (,$(filter pkg.swupdate.bpo,$(DEB_BUILD_PROFILES))) ++ifneq (,$(filter pkg.swupdate.delta,$(DEB_BUILD_PROFILES))) + echo CONFIG_DELTA=y >> configs/debian_defconfig + endif + ifneq (,$(findstring $(DEB_HOST_ARCH),amd64 i386 arm64 armhf riscv64 ia64)) +-- +2.39.2 + diff --git a/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch b/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch new file mode 100644 index 0000000..857b4ab --- /dev/null +++ b/recipes-core/swupdate/files/2023.05/0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch @@ -0,0 +1,94 @@ +From ed4e8b5d4ad6ffcddb755571303c077fff227ea3 Mon Sep 17 00:00:00 2001 +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> +Date: Fri, 16 Jun 2023 19:43:38 +0200 +Subject: [PATCH 3/4] d/patches: Add patch to add the build version to swupdate + +The build version is only set if build in a git repository +this patch allows to use the version information stored in +the Makefile. + +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> +--- + ...Set-version-if-git-returns-no-informa.diff | 46 +++++++++++++++++++ + debian/patches/series | 1 + + debian/rules | 2 + + 3 files changed, 49 insertions(+) + create mode 100644 debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff + +diff --git a/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff b/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff +new file mode 100644 +index 00000000..7f964fb7 +--- /dev/null ++++ b/debian/patches/Makefile.flags-Set-version-if-git-returns-no-informa.diff +@@ -0,0 +1,46 @@ ++From bc50744125e8686ec2eb7e5676522da98e51601f Mon Sep 17 00:00:00 2001 ++From: Quirin Gylstorff <quirin.gylstorff@siemens.com> ++Date: Sat, 17 Jun 2023 17:56:18 +0200 ++Subject: [PATCH] Makefile.flags: Set version if git returns no information ++ ++This set the swupdate version if build in a non git environment. ++E.g. pristine-tar build or from a release tarball. ++ ++Also allows to set the EXTRAVERSION from the command line. ++ ++Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> ++--- ++ Makefile | 2 +- ++ Makefile.flags | 3 +++ ++ 2 files changed, 4 insertions(+), 1 deletion(-) ++ ++diff --git a/Makefile b/Makefile ++index 09d03a34..1004945c 100644 ++--- a/Makefile +++++ b/Makefile ++@@ -5,7 +5,7 @@ ++ VERSION = 2023 ++ PATCHLEVEL = 05 ++ SUBLEVEL = 0 ++-EXTRAVERSION = +++EXTRAVERSION ?= ++ NAME = ++ ++ IPCLIB_VERSION = 0.1 ++diff --git a/Makefile.flags b/Makefile.flags ++index 2a021c89..8eada8fc 100644 ++--- a/Makefile.flags +++++ b/Makefile.flags ++@@ -7,6 +7,9 @@ ++ # ========================================================================== ++ SWU_DIR = $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) ++ SWU_VER = $(shell git -C $(SWU_DIR) describe --tags --always --dirty) +++ifeq (,$(SWU_VER)) +++ SWU_VER = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) +++endif ++ export SWU_VER ++ SKIP_STRIP ?= n ++ ++-- ++2.39.2 ++ +diff --git a/debian/patches/series b/debian/patches/series +index 5638bbf5..12324569 100644 +--- a/debian/patches/series ++++ b/debian/patches/series +@@ -1,3 +1,4 @@ + Link-config-to-swupdate-www-path.diff + Replace-Font-Awesome-5-with-Fork-Awesome.diff + use-gcc-compiler.diff ++Makefile.flags-Set-version-if-git-returns-no-informa.diff +diff --git a/debian/rules b/debian/rules +index 8cac6359..566a21bd 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -17,6 +17,8 @@ export DH_WITH=--with lua + export HAVE_LUA=y + endif + ++DEB_CHANGELOG_VERSION := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p' | cut -d + -f 2) ++export EXTRAVERSION=($(DEB_CHANGELOG_VERSION)) + BU_SWU= + ifeq (linux,$(DEB_HOST_ARCH_OS)) + BU_SWU += -VBuilt-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W libmtd-dev libubi-dev)" +-- +2.39.2 + diff --git a/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch b/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch new file mode 100644 index 0000000..9c5ebd3 --- /dev/null +++ b/recipes-core/swupdate/files/2023.05/0004-d-rules-Add-option-to-enable-suricatta_wfx.patch @@ -0,0 +1,30 @@ +From ee401ba4d0d81fc244288e7e59a7bc5cfe2d1bf4 Mon Sep 17 00:00:00 2001 +From: Quirin Gylstorff <quirin.gylstorff@siemens.com> +Date: Fri, 16 Jun 2023 20:32:38 +0200 +Subject: [PATCH 4/4] d/rules: Add option to enable suricatta_wfx + +Add the DEB_BUILD_PROFILE "pkg.swupdate.suricattawfx" to build with +suricattawfx lua module. + +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> +--- + debian/rules | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/debian/rules b/debian/rules +index 566a21bd..fc122d0d 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -61,6 +61,9 @@ endif + ifneq (,$(filter pkg.swupdate.suricattalua,$(DEB_BUILD_PROFILES))) + echo CONFIG_SURICATTA_LUA=y >> configs/debian_defconfig + endif ++ifneq (,$(filter pkg.swupdate.suricattawfx,$(DEB_BUILD_PROFILES))) ++ echo CONFIG_SURICATTA_WFX=y >> configs/debian_defconfig ++endif + ifneq (,$(LUA_VERSION)) + echo CONFIG_LUAPKG=\"lua$(LUA_VERSION)\" >> configs/debian_defconfig + echo CONFIG_LUASCRIPTHANDLER=y >> configs/debian_defconfig +-- +2.39.2 + diff --git a/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb b/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb index da1434e..2384f41 100644 --- a/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb +++ b/recipes-core/swupdate/swupdate_2021.11-1+debian-gbp.bb @@ -15,6 +15,8 @@ require swupdate.inc DEB_BUILD_PROFILES += "nodoc" DEB_BUILD_OPTIONS += "nodoc" +FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/files/2021.11:" + SRC_URI = "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master" SRCREV ="344548c816b555c58ec199f31e45703897d23fb5" diff --git a/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb b/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb deleted file mode 100644 index 735c2dc..0000000 --- a/recipes-core/swupdate/swupdate_2022.12+dfsg-4-gbp.bb +++ /dev/null @@ -1,46 +0,0 @@ -# -# CIP Core, generic profile -# -# Copyright (c) Siemens AG, 2023 -# -# Authors: -# Quirin Gylstorff <quirin.gylstorff@siemens.com> -# -# SPDX-License-Identifier: MIT - -inherit dpkg-gbp - -require swupdate.inc - -DEPENDS += "libebgenv-dev" - -DEB_BUILD_PROFILES += "nodoc" -DEB_BUILD_OPTIONS += "nodoc" - -SRC_URI = "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master" -SRCREV ="aa9edf070567fa5b3e942c270633a8feef49dad8" -SRC_URI += "file://0001-d-rules-Add-option-for-suricatta_lua.patch" -SRC_URI += "file://0001-d-patches-Add-patch-to-add-the-build-version-to-swup.patch" - -# deactivate signing and hardware compability for simple a/b rootfs update -DEB_BUILD_PROFILES += "pkg.swupdate.nosigning" -DEB_BUILD_PROFILES += "pkg.swupdate.nohwcompat" - -# use suricatta-lua instead of suricatta-hawkbit -# DEB_BUILD_PROFILES = "pkg.swupdate.suricattalua" - -# Disable cross for arm and arm64 on bullseye -# with cross compile we have a unsat-dependency to dh-nodejs on arm/arm64 -ISAR_CROSS_COMPILE:bullseye = "0" - -# add cross build and deactivate testing for arm based builds -DEB_BUILD_PROFILES += "cross nocheck" - -# use backport build profile for bullseye -DEB_BUILD_PROFILES:append:bullseye = " pkg.swupdate.bpo" - -CHANGELOG_V ?= "2022.12+dfsg-4+cip+${SRCREV}" - -do_prepare_build() { - deb_add_changelog -} diff --git a/recipes-core/swupdate/swupdate_2023.05.bb b/recipes-core/swupdate/swupdate_2023.05.bb new file mode 100644 index 0000000..26c0e67 --- /dev/null +++ b/recipes-core/swupdate/swupdate_2023.05.bb @@ -0,0 +1,60 @@ +# +# CIP Core, generic profile +# +# Copyright (c) Siemens AG, 2023 +# +# Authors: +# Quirin Gylstorff <quirin.gylstorff@siemens.com> +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +require swupdate.inc + +DEPENDS += "libebgenv-dev" + +DEB_BUILD_PROFILES += "nodoc" +DEB_BUILD_OPTIONS += "nodoc" + +FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/files/${PV}:" + +SRC_URI += "git://github.com/sbabic/swupdate.git;protocol=https;branch=master;name=upstream;destsuffix=${P}" +SRC_URI += "git://salsa.debian.org/debian/swupdate.git;protocol=https;branch=debian/master;name=debian;subpath=debian;destsuffix=${P}/debian" + +SRCREV_debian = "aa9edf070567fa5b3e942c270633a8feef49dad8" +SRCREV_upstream = "c8ca55684c375937dbcdefb0563071a35137f4ba" + +# patches +SRC_URI += "file://0001-d-rules-Add-option-for-suricatta_lua.patch \ + file://0002-d-rules-Add-seperate-build_profile-option-for-delta-.patch \ + file://0003-d-patches-Add-patch-to-add-the-build-version-to-swup.patch \ + file://0004-d-rules-Add-option-to-enable-suricatta_wfx.patch" + +# deactivate signing and hardware compability for simple a/b rootfs update +DEB_BUILD_PROFILES += "pkg.swupdate.nosigning" +DEB_BUILD_PROFILES += "pkg.swupdate.nohwcompat" + +# suricatta wfx requires suricatta lua and the dependency +# is not set automatically +DEB_BUILD_PROFILES += "pkg.swupdate.suricattalua" +# add suricatta wfx +DEB_BUILD_PROFILES += "pkg.swupdate.suricattawfx" + +# Disable cross for arm and arm64 on bullseye +# with cross compile we have a unsat-dependency to dh-nodejs on arm/arm64 +ISAR_CROSS_COMPILE:bullseye = "0" + +# add cross build and deactivate testing for arm based builds +DEB_BUILD_PROFILES += "cross nocheck" + +# use backport build profile for bullseye +DEB_BUILD_PROFILES:append:bullseye = " pkg.swupdate.bpo" + +CHANGELOG_V ?= "${PV}+cip-${SRCREV_upstream}" + +do_prepare_build() { + deb_add_changelog + cd ${WORKDIR} + tar cJf ${PN}_${PV}+cip.orig.tar.xz --exclude=.git --exclude=debian ${P} +}