diff mbox series

abi-version/ssate: Bump to avoid systemd hash corruption issue

Message ID 20240901071848.96558-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit 639e42b9c14dff516688964dba4ab25bba7b8a55
Headers show
Series abi-version/ssate: Bump to avoid systemd hash corruption issue | expand

Commit Message

Richard Purdie Sept. 1, 2024, 7:18 a.m. UTC
Unfortunately some recent patches caused non-deterministic output.
One input hash lead to both good and bad output and whilst that patch
has been fixed, the problematic hash 'cross' linkage remains. Bump to
a new sstate and hash equivalence version to avoid this and work from
a clean slate.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes-global/sstate.bbclass | 2 +-
 meta/conf/abi_version.conf         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Peter Kjellerstedt Sept. 1, 2024, 10:36 a.m. UTC | #1
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Richard Purdie
> Sent: den 1 september 2024 09:19
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCH] abi-version/ssate: Bump to avoid systemd hash corruption issue
> 
> Unfortunately some recent patches caused non-deterministic output.
> One input hash lead to both good and bad output and whilst that patch
> has been fixed, the problematic hash 'cross' linkage remains. Bump to
> a new sstate and hash equivalence version to avoid this and work from
> a clean slate.
> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/classes-global/sstate.bbclass | 2 +-
>  meta/conf/abi_version.conf         | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass
> index beb22f424e8..fdd529ee4e8 100644
> --- a/meta/classes-global/sstate.bbclass
> +++ b/meta/classes-global/sstate.bbclass
> @@ -4,7 +4,7 @@
>  # SPDX-License-Identifier: MIT
>  #
> 
> -SSTATE_VERSION = "12"
> +SSTATE_VERSION = "14"
> 
>  SSTATE_ZSTD_CLEVEL ??= "8"
> 
> diff --git a/meta/conf/abi_version.conf b/meta/conf/abi_version.conf
> index 0fe91b5ddf3..ac97752c976 100644
> --- a/meta/conf/abi_version.conf
> +++ b/meta/conf/abi_version.conf
> @@ -12,4 +12,4 @@ OELAYOUT_ABI = "15"
>  # a reset of the equivalence, for example when reproducibility issues break the
>  # existing match data. Distros can also append to this value for the same effect.
>  #
> -HASHEQUIV_HASH_VERSION  = "17"
> +HASHEQUIV_HASH_VERSION  = "18"

Is this actually needed now after the changes to insane.bbclass? Won't those 
changes effectively invalidate the whole sstate anyway?

//Peter
Richard Purdie Sept. 1, 2024, 10:53 a.m. UTC | #2
On Sun, 2024-09-01 at 10:36 +0000, Peter Kjellerstedt wrote:
> > -----Original Message-----
> > From:
> > openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org
> > > On Behalf Of Richard Purdie
> > Sent: den 1 september 2024 09:19
> > To: openembedded-core@lists.openembedded.org
> > Subject: [OE-core] [PATCH] abi-version/ssate: Bump to avoid systemd
> > hash corruption issue
> > 
> > Unfortunately some recent patches caused non-deterministic output.
> > One input hash lead to both good and bad output and whilst that
> > patch
> > has been fixed, the problematic hash 'cross' linkage remains. Bump
> > to
> > a new sstate and hash equivalence version to avoid this and work
> > from
> > a clean slate.
> > 
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> >  meta/classes-global/sstate.bbclass | 2 +-
> >  meta/conf/abi_version.conf         | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-
> > global/sstate.bbclass
> > index beb22f424e8..fdd529ee4e8 100644
> > --- a/meta/classes-global/sstate.bbclass
> > +++ b/meta/classes-global/sstate.bbclass
> > @@ -4,7 +4,7 @@
> >  # SPDX-License-Identifier: MIT
> >  #
> > 
> > -SSTATE_VERSION = "12"
> > +SSTATE_VERSION = "14"
> > 
> >  SSTATE_ZSTD_CLEVEL ??= "8"
> > 
> > diff --git a/meta/conf/abi_version.conf
> > b/meta/conf/abi_version.conf
> > index 0fe91b5ddf3..ac97752c976 100644
> > --- a/meta/conf/abi_version.conf
> > +++ b/meta/conf/abi_version.conf
> > @@ -12,4 +12,4 @@ OELAYOUT_ABI = "15"
> >  # a reset of the equivalence, for example when reproducibility
> > issues break the
> >  # existing match data. Distros can also append to this value for
> > the same effect.
> >  #
> > -HASHEQUIV_HASH_VERSION  = "17"
> > +HASHEQUIV_HASH_VERSION  = "18"
> 
> Is this actually needed now after the changes to insane.bbclass?
> Won't those changes effectively invalidate the whole sstate anyway?

Firstly, those changes don't change the output of the tasks so no, the
mismatched output hashes would have remained a problem.

Secondly, those had already merged and been tested alongside the
systemd changes so it was already too late anyway.

So sadly I just can't see an alternative to this due to where the
corruption is.

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass
index beb22f424e8..fdd529ee4e8 100644
--- a/meta/classes-global/sstate.bbclass
+++ b/meta/classes-global/sstate.bbclass
@@ -4,7 +4,7 @@ 
 # SPDX-License-Identifier: MIT
 #
 
-SSTATE_VERSION = "12"
+SSTATE_VERSION = "14"
 
 SSTATE_ZSTD_CLEVEL ??= "8"
 
diff --git a/meta/conf/abi_version.conf b/meta/conf/abi_version.conf
index 0fe91b5ddf3..ac97752c976 100644
--- a/meta/conf/abi_version.conf
+++ b/meta/conf/abi_version.conf
@@ -12,4 +12,4 @@  OELAYOUT_ABI = "15"
 # a reset of the equivalence, for example when reproducibility issues break the
 # existing match data. Distros can also append to this value for the same effect.
 #
-HASHEQUIV_HASH_VERSION  = "17"
+HASHEQUIV_HASH_VERSION  = "18"