On Tue, Aug 24, 2021 at 03:03:04PM +0200, [email protected] wrote:
> 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):

RAUC_COMPATIBLE is a string. It can contain other variables. So you could
set it like this:

PTXCONF_RAUC_COMPATIBLE="${PTXCONF_MY_COMPATIBLE}"

and add

config MY_COMPATIBLE
        string
        ...

Somewhere to in the platformconfig. No need to overwrite any existing
rules.

> 
> 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"

Now we have two versions of the same variable with possibly different
values. Not a good idea. And I'm not certain if ptx- and platformconfig are
always evaluated in the same order.

Michael

>  
>  config RAUC_BUNDLE_VERSION
>         string
> 
> 
> -- 
> Roland Hieber, Pengutronix e.K.          | [email protected]     |
> 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
> [email protected]
> To unsubscribe, send a mail with subject "unsubscribe" to 
> [email protected]

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

_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to 
[email protected]

Reply via email to