From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6841139815099924480 X-Received: by 2002:ac2:5e6c:: with SMTP id a12mr14965203lfr.35.1592988807340; Wed, 24 Jun 2020 01:53:27 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac2:5f95:: with SMTP id r21ls407641lfe.3.gmail; Wed, 24 Jun 2020 01:53:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxt+Egh9MV2R9k71IEXeNv61rdE7aTkx7IFFnE7Pg6/Y86VkMEW/RDi8/IzvD5OkxLXYISz X-Received: by 2002:ac2:548a:: with SMTP id t10mr4047303lfk.142.1592988806486; Wed, 24 Jun 2020 01:53:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592988806; cv=none; d=google.com; s=arc-20160816; b=zU4s4ib9kQjnPwTqZ6QONiqorHQnBvOYtCCQI1zUOFnTuoqT1CRc+d+9H8XqoOFMRn fPXNbAVUafQKMcE1fz7rSv4VeQvmF+6n9sNEMkjhIDrmFf3N3YeHrqetR+kgmmTPUtE3 kxuTF67NmmHbV5EUVLmgXDXuxeelreF1PedRjypIwd7tzm0vEVEB334ZanlR+xnGIibV 0vw1PmcCfStrKSoDph4Q46GZhNBA+0CppkCz6WswRnawcC39/eoyjCzKOfj50d6BVF1f 6aooIMnSBUfpO2BFFy3lxGOvHB21RgeYFBh69faoJGSXgfZgNAToq17dVfWDUDqivaLb Ak1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject; bh=+lw+i1VmLGMFsmyDVeRaWnyuDaOD51WOm6Z5rTD49MI=; b=iRFsnY/vnTbWAOI5v7RAf8EoBDhZYX+zxT06rQC/q/zEL/XFybsJjFgmFoQH2Tzgbn C29SrOFCyhRvSvxbDOUX3IenLl2RPM2F299NP3beQFXAss2SdyDk4Ta8RsjafzgkAsGD AnfpWMDpRb1H/ZPcHshRfpYQXdFaDuXuZFte4XA1gVSXBGyrbtY/nqErGjH5gispa5m2 E+koFnGrPtDB2nOY8BphBO4jvVb9zZffWIszcf5T6dL4BIV1/uISeDl8O5yX3kujTh1l HVVxNKvRVShyymU/jCy8/0Kx9lq4c0FnXbkGJ+GMsXDN0a0LGrtkK5FRD9ddBek7gH6g a/ug== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id x20si1448025ljh.1.2020.06.24.01.53.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Jun 2020 01:53:26 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id 05O8rOPP003920 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 24 Jun 2020 10:53:24 +0200 Received: from [139.22.122.203] ([139.22.122.203]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 05O8rNUu022631; Wed, 24 Jun 2020 10:53:24 +0200 Subject: Re: [PATCH] u-boot: add libubootenv To: Harald Seiler , Gylstorff Quirin , isar-users@googlegroups.com References: <20200622115624.4639-1-Quirin.Gylstorff@siemens.com> <9fe766bf55717326b6bba427bff922bc3a9f2b4f.camel@denx.de> <0be39ae9-a296-6e97-e8f2-2c2d500a194f@siemens.com> <0b933635e8efe15b0884c9d91426bdbd8168d37d.camel@denx.de> From: Jan Kiszka Message-ID: Date: Wed, 24 Jun 2020 10:53:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <0b933635e8efe15b0884c9d91426bdbd8168d37d.camel@denx.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: u3JwNuui7DP3 On 24.06.20 10:49, Harald Seiler wrote: > Hi Quirin, > > On Tue, 2020-06-23 at 17:15 +0200, Gylstorff Quirin wrote: >> 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 >>>> >>>> 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 >>>> --- >>>> 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 >>>> +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. > > To me, this is the wrong way around. The configuration does not depend on > libubootenv for fulfilling its job (lying around in /etc) but libubootenv > can't work without configuration. So the dependency is clearly that > libubootenv 'depends on' u-boot-config. More so, the config also works > with other tools, like the stock debian u-boot-tools so if using those was > desired, the u-boot-config package would unnecessarily pull in libubootenv > as a dependency. > > OTOH I think I see your point with the upstream package not containing > that dependency. Is it not possible to patch in a dependency with > dpkg-gbp? Jan, maybe you can give pointers here? > libubootenv, upstream or our package, will work without a config package if you provide that config otherwise (manually, preseeds, customization package...). So there is no strict dependency in fact. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux