From: Harald Seiler <hws@denx.de>
To: Jan Kiszka <jan.kiszka@siemens.com>,
"Q. Gylstorff" <Quirin.Gylstorff@siemens.com>,
isar-users@googlegroups.com
Subject: Re: [PATCH] u-boot: add libubootenv
Date: Tue, 23 Jun 2020 14:01:00 +0200 [thread overview]
Message-ID: <4a962810d5b717012bee1c323b2b595ea1a3d6ae.camel@denx.de> (raw)
In-Reply-To: <231240a6-9797-cc23-2f06-f1b9c5426823@siemens.com>
On Tue, 2020-06-23 at 12:33 +0200, Jan Kiszka wrote:
> On 23.06.20 12:28, Harald Seiler wrote:
> > Hi Quirin,
> >
> > On Mon, 2020-06-22 at 13:56 +0200, Q. Gylstorff wrote:
> > > From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> > >
> > > Add the new library libubootenv and remove fw_printenv and fw_setenv
> > > form u-boot-tools as the are now part of the new library.
> > >
> > > libubootenv is a library that provides a hardware independent
> > > way to access to U-Boot environment. U-Boot has its default environment
> > > compiled board-dependently and this means that tools to access the environment
> > > are also board specific, too.
> > >
> > > libubootenv conflicts with u-boot-tools from Debian 10
> > > as both try to install fw_printenv and fw_sentenv. This conflict is not
> > > part of the control file as it breaks the installation of custom u-boot-tools
> > > from the u-boot-sources.
> > >
> > > Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> > > ---
> > > meta-isar/conf/machine/de0-nano-soc.conf | 2 +-
> > > .../libubootenv/files/debian/compat | 1 +
> > > .../libubootenv/files/debian/control.tmpl | 15 ++++++++++
> > > .../libubootenv/files/debian/rules.tmpl | 24 ++++++++++++++++
> > > .../libubootenv/libubootenv_0.2.bb | 28 +++++++++++++++++++
> > > .../files/debian/u-boot-tools.conffiles | 1 -
> > > .../u-boot/files/debian/u-boot-tools.install | 2 --
> > > .../u-boot/files/debian/u-boot-tools.links | 1 -
> > > 8 files changed, 69 insertions(+), 5 deletions(-)
> > > create mode 100644 meta/recipes-bsp/libubootenv/files/debian/compat
> > > create mode 100644 meta/recipes-bsp/libubootenv/files/debian/control.tmpl
> > > create mode 100644 meta/recipes-bsp/libubootenv/files/debian/rules.tmpl
> > > create mode 100644 meta/recipes-bsp/libubootenv/libubootenv_0.2.bb
> > > delete mode 100644 meta/recipes-bsp/u-boot/files/debian/u-boot-tools.conffiles
> > > delete mode 100644 meta/recipes-bsp/u-boot/files/debian/u-boot-tools.links
> > >
> > > diff --git a/meta-isar/conf/machine/de0-nano-soc.conf b/meta-isar/conf/machine/de0-nano-soc.conf
> > > index 3a2c009..6558d90 100644
> > > --- a/meta-isar/conf/machine/de0-nano-soc.conf
> > > +++ b/meta-isar/conf/machine/de0-nano-soc.conf
> > > @@ -15,4 +15,4 @@ WKS_FILE ?= "de0-nano-soc.wks.in"
> > > IMAGER_INSTALL += "u-boot-de0-nano-soc"
> > > IMAGER_BUILD_DEPS += "u-boot-de0-nano-soc"
> > >
> > > -IMAGE_INSTALL += "u-boot-tools u-boot-script"
> > > +IMAGE_INSTALL += "u-boot-tools libubootenv u-boot-script"
> > > diff --git a/meta/recipes-bsp/libubootenv/files/debian/compat b/meta/recipes-bsp/libubootenv/files/debian/compat
> > > new file mode 100644
> > > index 0000000..b4de394
> > > --- /dev/null
> > > +++ b/meta/recipes-bsp/libubootenv/files/debian/compat
> > > @@ -0,0 +1 @@
> > > +11
> > > diff --git a/meta/recipes-bsp/libubootenv/files/debian/control.tmpl b/meta/recipes-bsp/libubootenv/files/debian/control.tmpl
> > > new file mode 100644
> > > index 0000000..fade69a
> > > --- /dev/null
> > > +++ b/meta/recipes-bsp/libubootenv/files/debian/control.tmpl
> > > @@ -0,0 +1,15 @@
> > > +Source: libubootenv
> > > +Section: embedded
> > > +Priority: optional
> > > +Maintainer: Stefano Babic <sbabic@denx.de>
> > > +Build-Depends: ${BUILD_DEB_DEPENDS}
> > > +Standards-Version: 4.2.1
> > > +Homepage: https://sbabic.github.io/libubootenv
> > > +
> > > +Package: libubootenv
> > > +Architecture: any
> > > +Depends: ${DEBIAN_DEPENDS}
> > > +Description: libubootenv is a library that provides a hardware independent
> > > + way to access to U-Boot environment. U-Boot has its default environment
> > > + compiled board-dependently and this means that tools to access the environment
> > > + are also board specific, too.
> > > diff --git a/meta/recipes-bsp/libubootenv/files/debian/rules.tmpl b/meta/recipes-bsp/libubootenv/files/debian/rules.tmpl
> > > new file mode 100644
> > > index 0000000..56ccd19
> > > --- /dev/null
> > > +++ b/meta/recipes-bsp/libubootenv/files/debian/rules.tmpl
> > > @@ -0,0 +1,24 @@
> > > +#!/usr/bin/make -f
> > > +
> > > +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
> > > +export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)-
> > > +export CC=$(DEB_HOST_GNU_TYPE)-gcc
> > > +export LD=$(DEB_HOST_GNU_TYPE)-gcc
> > > +endif
> > > +
> > > +export DH_VERBOSE = 1
> > > +
> > > +export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
> > > +
> > > +override_dh_auto_configure:
> > > + dh_auto_configure --
> > > +
> > > +%:
> > > + echo $@
> > > + dh $@
> > > +
> > > +override_dh_installchangelogs:
> > > + true
> > > +
> > > +override_dh_installdocs:
> > > + true
> > > diff --git a/meta/recipes-bsp/libubootenv/libubootenv_0.2.bb b/meta/recipes-bsp/libubootenv/libubootenv_0.2.bb
> > > new file mode 100644
> > > index 0000000..7ada382
> > > --- /dev/null
> > > +++ b/meta/recipes-bsp/libubootenv/libubootenv_0.2.bb
> > > @@ -0,0 +1,28 @@
> > > +# Copyright (c) 2019 Siemens AG
> > > +# Licensed under the Siemens Inner Source License, see LICENSE
> > > +
> > > +DESCRIPTION = "swupdate utility for software updates"
> > > +HOMEPAGE= "https://github.com/sbabic/swupdate"
> > > +LICENSE = "GPL-2.0"
> > > +LIC_FILES_CHKSUM = "file://${LAYERDIR_isar}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe"
> > > +SRC_URI = "gitsm://github.com/sbabic/libubootenv.git;branch=master;protocol=https"
> > > +
> > > +SRCREV = "bf6ff631c0e38cede67268ceb8bf1383b5f8848e"
> > > +
> > > +BUILD_DEB_DEPENDS = "cmake, zlib1g-dev"
> >
> > libubootenv requires a proper config and default environment file to work.
> > I sent a patch a few days ago (not yet applied) which creates a package
> > for those [1] and I think it would make sense to have libubootenv depend
> > on that package to ensure config exists alongside the tools. That would
> > mean:
> >
> > DEPENDS="u-boot-config"
> > DEBIAN_DEPENDS="u-boot-config"
>
> u-boot-${MACHINE}-config
Actually u-boot-config was intentional, my patch PROVIDES= this name as
well with the idea that libubootenv and other technically
board-independent packages can remain board-independent that way.
(And of course the debian control file also lists u-boot-config as
a 'Provides:')
Selection of the actual package can then happen via the preferred provider
mechanism in the machine config.
> Makes sense.
>
> > [1]: https://groups.google.com/forum/#!msg/isar-users/H_CixMXvd6Q/cXbO4VzgAgAJ
> >
> > > +
> > > +SRC_URI += "file://debian"
> > > +TEMPLATE_FILES = "debian/control.tmpl debian/rules.tmpl"
> > > +TEMPLATE_VARS += "BUILD_DEB_DEPENDS DEFCONFIG DEBIAN_DEPENDS"
> > > +
> > > +
> > > +inherit dpkg
> > > +
> > > +S = "${WORKDIR}/git"
> > > +
> > > +do_prepare_build() {
> > > + DEBDIR=${S}/debian
> > > + install -d ${DEBDIR}
> > > + cp -R ${WORKDIR}/debian ${S}
> > > + deb_add_changelog
> > > +}
> > > diff --git a/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.conffiles b/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.conffiles
> > > deleted file mode 100644
> > > index d49a8fb..0000000
> > > --- a/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.conffiles
> > > +++ /dev/null
> > > @@ -1 +0,0 @@
> > > -/etc/fw_env.config
> > > diff --git a/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.install b/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.install
> > > index d1ae3e0..2893b9a 100644
> > > --- a/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.install
> > > +++ b/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.install
> > > @@ -1,5 +1,3 @@
> > > tools/dumpimage /usr/bin/
> > > -tools/env/fw_printenv /usr/bin/
> > > tools/mkenvimage /usr/bin/
> > > tools/mkimage /usr/bin/
> > > -tools/env/fw_env.config /etc
> > > diff --git a/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.links b/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.links
> > > deleted file mode 100644
> > > index 92f5a6c..0000000
> > > --- a/meta/recipes-bsp/u-boot/files/debian/u-boot-tools.links
> > > +++ /dev/null
> > > @@ -1 +0,0 @@
> > > -/usr/bin/fw_printenv /usr/bin/fw_setenv
> > > --
> > > 2.20.1
> >
> > Regards,
> >
>
> Jan
>
--
Harald
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-62 Fax: +49-8142-66989-80 Email: hws@denx.de
next prev parent reply other threads:[~2020-06-23 12:01 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-22 11:56 Q. Gylstorff
2020-06-22 13:04 ` Jan Kiszka
2020-06-22 14:35 ` Gylstorff Quirin
2020-06-23 10:28 ` Harald Seiler
2020-06-23 10:33 ` Jan Kiszka
2020-06-23 12:01 ` Harald Seiler [this message]
2020-06-23 12:05 ` Jan Kiszka
2020-06-23 15:15 ` Gylstorff Quirin
2020-06-24 8:49 ` Harald Seiler
2020-06-24 8:53 ` Jan Kiszka
2020-08-17 8:24 ` [PATCH v2] " Q. Gylstorff
2020-08-31 16:35 ` Jan Kiszka
2020-10-13 10:29 ` Jan Kiszka
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=4a962810d5b717012bee1c323b2b595ea1a3d6ae.camel@denx.de \
--to=hws@denx.de \
--cc=Quirin.Gylstorff@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox