public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Gylstorff Quirin <quirin.gylstorff@siemens.com>
To: Harald Seiler <hws@denx.de>, isar-users@googlegroups.com
Subject: Re: [PATCH] u-boot: add libubootenv
Date: Tue, 23 Jun 2020 17:15:52 +0200	[thread overview]
Message-ID: <0be39ae9-a296-6e97-e8f2-2c2d500a194f@siemens.com> (raw)
In-Reply-To: <9fe766bf55717326b6bba427bff922bc3a9f2b4f.camel@denx.de>

Hi Harald,

On 6/23/20 12:28 PM, 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"
> 
> [1]: https://groups.google.com/forum/#!msg/isar-users/H_CixMXvd6Q/cXbO4VzgAgAJ
> 

I can do that, but if we use the package from debian upstream which is
currently my intention we should do it the other way around. that the 
configuration depends necesary tools.


Quirin

>> +
>> +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,
> 

-- 
Quirin

  parent reply	other threads:[~2020-06-23 15:15 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
2020-06-23 12:05       ` Jan Kiszka
2020-06-23 15:15   ` Gylstorff Quirin [this message]
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=0be39ae9-a296-6e97-e8f2-2c2d500a194f@siemens.com \
    --to=quirin.gylstorff@siemens.com \
    --cc=hws@denx.de \
    --cc=isar-users@googlegroups.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