mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: "rhi@pengutronix.de" <rhi@pengutronix.de>
To: Denis Osterland-Heim <denis.osterland@diehl.com>
Cc: "robin@protonic.nl" <robin@protonic.nl>,
	"ptxdist@pengutronix.de" <ptxdist@pengutronix.de>
Subject: Re: [ptxdist] PTXCONF_RAUC_COMPATIBLE location
Date: Tue, 24 Aug 2021 15:03:04 +0200	[thread overview]
Message-ID: <20210824130304.k4fxubqck7cil3ra@pengutronix.de> (raw)
In-Reply-To: <d1904a7ca083f2d50ea1093df3d8e31806f4208b.camel@diehl.com>

On Tue, Aug 24, 2021 at 06:44:55AM +0000, Denis Osterland-Heim wrote:
> Hi Roland,
> 
> Am Montag, den 23.08.2021, 11:13 +0200 schrieb Roland Hieber:
> > On Mon, Aug 23, 2021 at 07:41:24AM +0000, Denis Osterland-Heim wrote:
> > > Hi Robin,
> > >
> > > I see. It is not perfect, that image-rauc uses the variables from rauc silently.
> >
> > … and IMAGE_RAUC cannot depend on RAUC because one is in the
> > platformconfig menu and one is in the ptxconfig menu. But it will work
> > this way nevertheless because at the time that IMAGE_RAUC_ENV is
> > assigned in rules/image-rauc.make, the kconfig variables from both menus
> > are already available in make.
> >
> > > I would suggest:
> > >
> > > diff --git a/platforms/image-rauc.in b/platforms/image-rauc.in
> > > index 1f9427b40..bfbe4a18a 100644
> > > --- a/platforms/image-rauc.in
> > > +++ b/platforms/image-rauc.in
> > > @@ -26,4 +26,26 @@ config IMAGE_RAUC_DESCRIPTION
> > >  help
> > >    Optional description that will be placed in the Bundles metadata.
> > >
> > > +config IMAGE_RAUC_COMPATIBLE
> > > +string
> > > +prompt "RAUC Bundle Compatible"
> > > +default "${PTXCONF_RAUC_COMPATIBLE}"
> > > +help
> > > +  An explicit identification string that RAUC uses to assure an update
> > > +  bundle matches with the correct root filesystem on the target.
> > > +  .
> > > +  Only if the compatible in the targets RAUC system.conf file and those
> > > +  in the Bundle's manifest match exactly, an update will be performed.
> > > +  .
> > > +  This must match the client configuration.
> > > +
> > > +config IMAGE_RAUC_BUNDLE_VERSION
> > > +string
> > > +prompt "RAUC Bundle Version"
> > > +default "${PTXDIST_RAUC_BUNDLE_VERSION}"
> > > +help
> > > +  Overwrite the bundle version if needed.
> > > +  .
> > > +  This must match the client configuration.
> > > +
> >
> > This has the disadvantage that the menu item is duplicated, and we
> > cannot make sure the values entered in the ptxconfig menu are the same
> > as in the platformconfig menu. So I'd rather leave it like it is now.
> > The image build will fail anyways with "Failed to create bundle:
> > Missing value for key 'compatible'" if RAUC is disabled. So maybe add a
> > short snippet in the image-rauc help text that rauc must be
> > enabled?
> Would be welcome.
> 
> So if the flexibility to define the compatibility string in menu- or platformconfig is not welcome,
> we are back at the discussion, if compatibility string should resident in menu- or platformconfig.

Ah yes, I lost track of the original question…

> I believe that there are more applications that use multiple different images on one platform.
> This would give a tendency to menuconfig, but with variables it does not matter where it is technically.
> Robins core problem seems to be, that there is no place where he can store the compatibility platform name (the old one).

Hmm yes, these could both be valid use cases.

Yesterday I noticed that when you define the same variable in menuconfig
and platformconfig, the value from the platform gets priority. I don't
know if that is by design, but if it is, maybe we could do something
like this (and RAUC_BUNDLE_VERSION should be in platforms/image-rauc.in in any
case):

diff --git a/platforms/image-rauc.in b/platforms/image-rauc.in
index 1f9427b40f42..4b194b6fa287 100644
--- a/platforms/image-rauc.in
+++ b/platforms/image-rauc.in
@@ -19,6 +19,14 @@ menuconfig IMAGE_RAUC
 
 if IMAGE_RAUC
 
+config IMAGE_RAUC_OVERRIDE_PTXCONFIG
+       bool
+       prompt "override compatible from ptxconfig"
+
+if IMAGE_RAUC_OVERRIDE_PTXCONFIG
+source "platforms/rauc-compatible.in"
+endif
+
 config IMAGE_RAUC_DESCRIPTION
        prompt "RAUC Bundle Description"
        string
diff --git a/platforms/rauc-compatible.in b/platforms/rauc-compatible.in
new file mode 100644
index 000000000000..01fde16c35d5
--- /dev/null
+++ b/platforms/rauc-compatible.in
@@ -0,0 +1,10 @@
+config RAUC_COMPATIBLE
+       string
+       prompt "RAUC Compatible"
+       default "${PTXCONF_PROJECT_VENDOR}\ ${PTXCONF_PROJECT}"
+       help
+         An explicit identification string that RAUC uses to assure an update
+         bundle matches with the correct root filesystem on the target.
+
+         Only if the compatible in the targets RAUC system.conf file and those
+         in the Bundle's manifest match exactly, an update will be performed
diff --git a/rules/rauc.in b/rules/rauc.in
index 744bc95d9d6d..6d0e224b181b 100644
--- a/rules/rauc.in
+++ b/rules/rauc.in
@@ -63,16 +63,7 @@ config RAUC_CONFIGURATION
 
 if RAUC_CONFIGURATION
 
-config RAUC_COMPATIBLE
-       string
-       prompt "RAUC Compatible"
-       default "${PTXCONF_PROJECT_VENDOR}\ ${PTXCONF_PROJECT}"
-       help
-         An explicit identification string that RAUC uses to assure an update
-         bundle matches with the correct root filesystem on the target.
-
-         Only if the compatible in the targets RAUC system.conf file and those
-         in the Bundle's manifest match exactly, an update will be performed
+source "platforms/rauc-compatible.in"
 
 config RAUC_BUNDLE_VERSION
        string


-- 
Roland Hieber, Pengutronix e.K.          | r.hieber@pengutronix.de     |
Steuerwalder Str. 21                     | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686         | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

  parent reply	other threads:[~2021-08-24 13:03 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-18 13:17 Robin van der Gracht
2021-08-18 13:52 ` Bastian Krause
2021-08-18 14:16   ` Robin van der Gracht
2021-08-23  4:27     ` Denis Osterland-Heim
2021-08-23  6:54       ` Robin van der Gracht
2021-08-23  7:41         ` Denis Osterland-Heim
2021-08-23  9:13           ` Roland Hieber
2021-08-24  6:44             ` Denis Osterland-Heim
2021-08-24  7:39               ` Robin van der Gracht
2021-08-24 13:03               ` rhi [this message]
2021-09-03 14:36                 ` Michael Olbrich

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=20210824130304.k4fxubqck7cil3ra@pengutronix.de \
    --to=rhi@pengutronix.de \
    --cc=denis.osterland@diehl.com \
    --cc=ptxdist@pengutronix.de \
    --cc=robin@protonic.nl \
    /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