All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Moessbauer, Felix" <felix.moessbauer@siemens.com>
To: "cip-dev@lists.cip-project.org" <cip-dev@lists.cip-project.org>,
	"Gylstorff, Quirin" <quirin.gylstorff@siemens.com>,
	"Kiszka, Jan" <jan.kiszka@siemens.com>
Subject: Re: [cip-dev][isar-cip-core][PATCH v4] efibootguard: use debian folder from salsa
Date: Sun, 23 Apr 2023 05:11:40 +0000	[thread overview]
Message-ID: <6b89fe57ed6a48c709d21d4ede91981bd3b94967.camel@siemens.com> (raw)
In-Reply-To: <20230421141330.3905234-1-Quirin.Gylstorff@siemens.com>

On Fri, 2023-04-21 at 16:13 +0200, Quirin Gylstorff wrote:
> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> 
> To avoid package name conflicts between cip-core and Debian upstream
> use the debian folder from upstream to build efibootguard.
> 
> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>

Hi Quirin,

thanks for this well needed patch. Especially in downstream layers
(debian bullseye + backports), I often had issues with conflicting
files in the ebg packages (upstream vs. ISAR). This is solved by this
patch.

Acked-by: Felix Moessbauer <felix.moessbauer@siemens.com>

Felix

> ---
> Changes v4:
>  - readd patch 0002-d-control-remove-native-from-python3-shtab.patch
> to
>    allow build for qemu-arm64 and qemu-arm. see
> https://gitlab.com/cip-project/cip-core/isar-cip-core/-/pipelines/844580247
> 
> Changes v3:
>  - resend only efibootguard as patch "Enable Images based on Debian
> 12 (bookworm)" is already deployed
>  - rebase onto next
>  - remove unnecessary patch 0002-d-control-remove-native-from-
> python3-shtab.patch
> 
> Changes v2:
>  - rebase onto next 
>  - always build efibootguard 
> 
> 
>  ...guard_0.13.bb => efibootguard_0.13+cip.bb} | 31 +++++++++-------
>  ...l-Make-compatible-with-debian-buster.patch | 36
> +++++++++++++++++++
>  ...rol-remove-native-from-python3-shtab.patch | 28 +++++++++++++++
>  recipes-bsp/efibootguard/files/debian/compat  |  1 -
>  .../efibootguard/files/debian/control.tmpl    | 20 -----------
>  .../debian/efibootguard-dev.install.tmpl      |  2 --
>  .../files/debian/efibootguard.install         |  5 ---
>  recipes-bsp/efibootguard/files/debian/rules   | 15 --------
>  ...01-add-machine-type-name-for-riscv64.patch |  0
>  recipes-core/images/efibootguard.inc          |  5 ---
>  recipes-core/images/swupdate.inc              |  6 ++--
>  recipes-core/swupdate/swupdate.inc            |  2 +-
>  12 files changed, 86 insertions(+), 65 deletions(-)
>  rename recipes-bsp/efibootguard/{efibootguard_0.13.bb =>
> efibootguard_0.13+cip.bb} (53%)
>  create mode 100644 recipes-bsp/efibootguard/files/debian-
> patches/0001-d-control-Make-compatible-with-debian-buster.patch
>  create mode 100644 recipes-bsp/efibootguard/files/debian-
> patches/0002-d-control-remove-native-from-python3-shtab.patch
>  delete mode 100644 recipes-bsp/efibootguard/files/debian/compat
>  delete mode 100644 recipes-
> bsp/efibootguard/files/debian/control.tmpl
>  delete mode 100644 recipes-
> bsp/efibootguard/files/debian/efibootguard-dev.install.tmpl
>  delete mode 100644 recipes-
> bsp/efibootguard/files/debian/efibootguard.install
>  delete mode 100755 recipes-bsp/efibootguard/files/debian/rules
>  rename recipes-bsp/efibootguard/files/{ => src-patches}/0001-add-
> machine-type-name-for-riscv64.patch (100%)
> 
> diff --git a/recipes-bsp/efibootguard/efibootguard_0.13.bb b/recipes-
> bsp/efibootguard/efibootguard_0.13+cip.bb
> similarity index 53%
> rename from recipes-bsp/efibootguard/efibootguard_0.13.bb
> rename to recipes-bsp/efibootguard/efibootguard_0.13+cip.bb
> index dd76198..368cc1d 100644
> --- a/recipes-bsp/efibootguard/efibootguard_0.13.bb
> +++ b/recipes-bsp/efibootguard/efibootguard_0.13+cip.bb
> @@ -16,25 +16,30 @@ LICENSE = "GPL-2.0"
>  LIC_FILES_CHKSUM =
> "file://${LAYERDIR_isar}/licenses/COPYING.GPLv2;md5=751419260aa954499
> f7abaabaa882bbe"
>  MAINTAINER = "Jan Kiszka <jan.kiszka@siemens.com>"
>  
> +
>  SRC_URI = " \
> -   
> https://github.com/siemens/efibootguard/archive/refs/tags/v${PV}.tar.gz;downloadfilename=efitbootguard-v${PV}.tar.gz
>  \
> -    file://debian \
> +   
> https://github.com/siemens/efibootguard/archive/refs/tags/v0.13.tar.gz;downloadfilename=efibootguard_0.13.orig.tar.gz;unpack=0;name=tarball
>  \
> +   
> git://salsa.debian.org/debian/efibootguard.git;protocol=https;branch=
> master;name=debian \
> +   
> file://debian-patches/0001-d-control-Make-compatible-with-debian-buster.patch
>  \
> +   
> file://debian-patches/0002-d-control-remove-native-from-python3-shtab.patch
>  \
>      "
> -SRC_URI[sha256sum] =
> "639a6d8f687cb099b2e9b01eb08ad1494267fe26b5d903b4d405d0737feb989b"
> +SRC_URI[tarball.sha256sum] =
> "639a6d8f687cb099b2e9b01eb08ad1494267fe26b5d903b4d405d0737feb989b"
> +SRCREV_debian = "78a14cbde6ac1d2132a61bddbea7cf39b661d82a"
> +
>  # add riscv64 support
> -SRC_URI += "file://0001-add-machine-type-name-for-riscv64.patch"
> +SRC_URI += "file://src-patches"
> +
>  CHANGELOG_V = "${PV}+cip"
>  
> -PROVIDES = "${PN}"
> -PROVIDES += "${PN}-dev"
> +PROVIDES = "libebgenv-dev libebgenv0 efibootguard"
>  
> -DEPENDS = "python3-shtab"
> -BUILD_DEB_DEPENDS = "debhelper,autoconf-archive,check,gnu-
> efi,libpci-dev,pkg-config,python3-shtab,zlib1g-dev"
> -BUILD_DEB_DEPENDS:append:amd64 = ",libc6-dev-i386"
> -BUILD_DEB_DEPENDS:append:i386 = ",libc6-dev-i386"
> +S = "${WORKDIR}/git"
> +
> +PATCHTOOL = "git"
>  
>  inherit dpkg
>  
> +DEPENDS = "python3-shtab"
>  # needed for buster, bullseye could use compat >= 13
>  python() {
>      arch = d.getVar('DISTRO_ARCH')
> @@ -43,10 +48,10 @@ python() {
>          d.setVar('DEB_HOST_MULTIARCH', proc.read())
>  }
>  
> -TEMPLATE_FILES = "debian/control.tmpl debian/efibootguard-
> dev.install.tmpl"
> -TEMPLATE_VARS += "DESCRIPTION_DEV BUILD_DEB_DEPENDS
> DEB_HOST_MULTIARCH"
> +CHANGELOG_V = "<orig-version>+isar"
>  
>  do_prepare_build() {
> -    cp -R ${WORKDIR}/debian ${S}
>      deb_add_changelog
> +    cd ${S}/debian
> +    quilt import ${WORKDIR}/src-patches/*.patch
>  }
> diff --git a/recipes-bsp/efibootguard/files/debian-patches/0001-d-
> control-Make-compatible-with-debian-buster.patch b/recipes-
> bsp/efibootguard/files/debian-patches/0001-d-control-Make-compatible-
> with-debian-buster.patch
> new file mode 100644
> index 0000000..bf02a8a
> --- /dev/null
> +++ b/recipes-bsp/efibootguard/files/debian-patches/0001-d-control-
> Make-compatible-with-debian-buster.patch
> @@ -0,0 +1,36 @@
> +From 299b2fecb4be67b3b669762a88cb3376a9fd5628 Mon Sep 17 00:00:00
> 2001
> +From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +Date: Tue, 14 Feb 2023 10:30:34 +0100
> +Subject: [PATCH 1/2] d/control: Make compatible with debian buster
> +
> +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +---
> + debian/compat  | 1 +
> + debian/control | 2 +-
> + 2 files changed, 2 insertions(+), 1 deletion(-)
> + create mode 100644 debian/compat
> +
> +diff --git a/debian/compat b/debian/compat
> +new file mode 100644
> +index 0000000..9a03714
> +--- /dev/null
> ++++ b/debian/compat
> +@@ -0,0 +1 @@
> ++10
> +\ No newline at end of file
> +diff --git a/debian/control b/debian/control
> +index fa7867c..8b92019 100644
> +--- a/debian/control
> ++++ b/debian/control
> +@@ -2,7 +2,7 @@ Source: efibootguard
> + Section: admin
> + Priority: optional
> + Maintainer: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +-Build-Depends: debhelper-compat (= 13),
> ++Build-Depends: debhelper,
> +  autoconf-archive,
> +  check,
> +  gnu-efi,
> +-- 
> +2.39.2
> +
> diff --git a/recipes-bsp/efibootguard/files/debian-patches/0002-d-
> control-remove-native-from-python3-shtab.patch b/recipes-
> bsp/efibootguard/files/debian-patches/0002-d-control-remove-native-
> from-python3-shtab.patch
> new file mode 100644
> index 0000000..42204a5
> --- /dev/null
> +++ b/recipes-bsp/efibootguard/files/debian-patches/0002-d-control-
> remove-native-from-python3-shtab.patch
> @@ -0,0 +1,28 @@
> +From c599480bdec0ed57922d100dceb5c94d04755694 Mon Sep 17 00:00:00
> 2001
> +From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +Date: Wed, 15 Feb 2023 10:47:38 +0100
> +Subject: [PATCH 2/2] d/control: remove :native from python3-shtab
> +
> +This fixes the cross build for qemu-arm and qemu-arm64.
> +
> +Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +---
> + debian/control | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/debian/control b/debian/control
> +index 8b92019..53e2b66 100644
> +--- a/debian/control
> ++++ b/debian/control
> +@@ -9,7 +9,7 @@ Build-Depends: debhelper,
> +  help2man,
> +  libpci-dev,
> +  pkg-config,
> +- python3-shtab:native,
> ++ python3-shtab,
> +  zlib1g-dev
> + Standards-Version: 4.6.1
> + Homepage: https://github.com/siemens/efibootguard
> +-- 
> +2.39.2
> +
> diff --git a/recipes-bsp/efibootguard/files/debian/compat b/recipes-
> bsp/efibootguard/files/debian/compat
> deleted file mode 100644
> index ec63514..0000000
> --- a/recipes-bsp/efibootguard/files/debian/compat
> +++ /dev/null
> @@ -1 +0,0 @@
> -9
> diff --git a/recipes-bsp/efibootguard/files/debian/control.tmpl
> b/recipes-bsp/efibootguard/files/debian/control.tmpl
> deleted file mode 100644
> index 626d43f..0000000
> --- a/recipes-bsp/efibootguard/files/debian/control.tmpl
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -Source: ${PN}
> -Section: base
> -Priority: optional
> -Standards-Version: 3.9.6
> -Build-Depends: ${BUILD_DEB_DEPENDS}
> -Homepage: ${HOMEPAGE}
> -Maintainer: ${MAINTAINER}
> -
> -Package: ${PN}
> -Depends: ${shlibs:Depends}, python3:any
> -Section: base
> -Architecture: ${DISTRO_ARCH}
> -Priority: required
> -Description: ${DESCRIPTION}
> -
> -Package: ${PN}-dev
> -Section: base
> -Architecture: ${DISTRO_ARCH}
> -Priority: optional
> -Description: ${DESCRIPTION_DEV}
> diff --git a/recipes-bsp/efibootguard/files/debian/efibootguard-
> dev.install.tmpl b/recipes-
> bsp/efibootguard/files/debian/efibootguard-dev.install.tmpl
> deleted file mode 100644
> index 948019a..0000000
> --- a/recipes-bsp/efibootguard/files/debian/efibootguard-
> dev.install.tmpl
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -include/ebgenv.h usr/include/efibootguard
> -libebgenv.a usr/lib/${DEB_HOST_MULTIARCH}
> diff --git a/recipes-
> bsp/efibootguard/files/debian/efibootguard.install b/recipes-
> bsp/efibootguard/files/debian/efibootguard.install
> deleted file mode 100644
> index 01cf974..0000000
> --- a/recipes-bsp/efibootguard/files/debian/efibootguard.install
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -usr/bin
> -usr/lib/*/efibootguard/kernel-stub*.efi
> -usr/lib/*/efibootguard/efibootguard*.efi
> -usr/lib/*/libebgenv.so.0*
> -usr/share/efibootguard/completion
> diff --git a/recipes-bsp/efibootguard/files/debian/rules b/recipes-
> bsp/efibootguard/files/debian/rules
> deleted file mode 100755
> index 9c3b916..0000000
> --- a/recipes-bsp/efibootguard/files/debian/rules
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -#!/usr/bin/make -f
> -export DH_VERBOSE=1
> -export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-stackprotector
> -include /usr/share/dpkg/pkg-info.mk
> -
> -override_dh_auto_test:
> -       # we do not run the tests; that avoids having to pull the fff
> submodule
> -
> -override_dh_installchangelogs:
> -       # we're not interested in changelogs
> -
> -override_dh_installdocs:
> -       # we're not interested in docs
> -%:
> -       dh $@ --with autoreconf
> diff --git a/recipes-bsp/efibootguard/files/0001-add-machine-type-
> name-for-riscv64.patch b/recipes-bsp/efibootguard/files/src-
> patches/0001-add-machine-type-name-for-riscv64.patch
> similarity index 100%
> rename from recipes-bsp/efibootguard/files/0001-add-machine-type-
> name-for-riscv64.patch
> rename to recipes-bsp/efibootguard/files/src-patches/0001-add-
> machine-type-name-for-riscv64.patch
> diff --git a/recipes-core/images/efibootguard.inc b/recipes-
> core/images/efibootguard.inc
> index ce08f0a..604c9d7 100644
> --- a/recipes-core/images/efibootguard.inc
> +++ b/recipes-core/images/efibootguard.inc
> @@ -10,11 +10,6 @@
>  #
>  
>  IMAGE_INSTALL:append = " efibootguard"
> -IMAGE_PREINSTALL:append:sid = " efibootguard"
> -IMAGE_PREINSTALL:append:bookworm = " efibootguard"
> -IMAGE_INSTALL:append:bullseye = " efibootguard"
> -IMAGE_INSTALL:append:buster = " efibootguard"
> -
>  WIC_IMAGER_INSTALL:append = " efibootguard:${DISTRO_ARCH}"
>  WDOG_TIMEOUT ?= "60"
>  WICVARS += "WDOG_TIMEOUT KERNEL_IMAGE INITRD_DEPLOY_FILE DTB_FILES"
> diff --git a/recipes-core/images/swupdate.inc b/recipes-
> core/images/swupdate.inc
> index 817fce0..ebc844a 100644
> --- a/recipes-core/images/swupdate.inc
> +++ b/recipes-core/images/swupdate.inc
> @@ -12,9 +12,9 @@
>  inherit image_uuid
>  inherit read-only-rootfs
>  
> -IMAGE_PREINSTALL:append:sid = " swupdate"
> -IMAGE_PREINSTALL:append:bookworm = " swupdate"
> -IMAGE_INSTALL:append:bullseye = " swupdate"
>  IMAGE_INSTALL:append:buster = " swupdate"
> +IMAGE_INSTALL:append:bullseye = " swupdate"
> +IMAGE_PREINSTALL:append:bookworm = " swupdate"
> +IMAGE_PREINSTALL:append:sid = " swupdate"
>  
>  IMAGE_INSTALL += " swupdate-handler-roundrobin"
> diff --git a/recipes-core/swupdate/swupdate.inc b/recipes-
> core/swupdate/swupdate.inc
> index 53b8133..e5e7282 100644
> --- a/recipes-core/swupdate/swupdate.inc
> +++ b/recipes-core/swupdate/swupdate.inc
> @@ -26,7 +26,7 @@ DEB_BUILD_PROFILES +=
> "${@get_bootloader_build_profile(d)}"
>  def get_bootloader_dependencies(d):
>      bootloader = d.getVar("SWUPDATE_BOOTLOADER") or ""
>      if bootloader == "efibootguard":
> -        return "efibootguard-dev"
> +        return "libebgenv-dev"
>      if bootloader == "u-boot":
>          if d.getVar("U_BOOT_CONFIG_PACKAGE") == "1":
>              return "libubootenv u-boot-{}-
> config".format(d.getVar("MACHINE"))


      parent reply	other threads:[~2023-04-24  1:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-21 14:13 [cip-dev][isar-cip-core][PATCH v4] efibootguard: use debian folder from salsa Quirin Gylstorff
2023-04-21 17:56 ` Jan Kiszka
2023-04-24  8:31   ` Gylstorff Quirin
2023-04-24  8:50     ` Moessbauer, Felix
2023-04-24 11:55     ` Jan Kiszka
2023-04-24 14:41       ` Gylstorff Quirin
2023-04-23  5:11 ` Moessbauer, Felix [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6b89fe57ed6a48c709d21d4ede91981bd3b94967.camel@siemens.com \
    --to=felix.moessbauer@siemens.com \
    --cc=cip-dev@lists.cip-project.org \
    --cc=jan.kiszka@siemens.com \
    --cc=quirin.gylstorff@siemens.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.