diff mbox series

[1/2] lib/oe/sstatesig.py: dump locked.sigs.inc only when explicitly asked via -S lockedsigs

Message ID 20231020171232.3072396-1-alex@linutronix.de
State Accepted, archived
Commit ad57c3cac2a8d3e60222e3cca0685f582dcea135
Headers show
Series [1/2] lib/oe/sstatesig.py: dump locked.sigs.inc only when explicitly asked via -S lockedsigs | expand

Commit Message

Alexander Kanavin Oct. 20, 2023, 5:12 p.m. UTC
This was writing out locked-sigs.inc into cwd with every
'bitbake -S' invocation. When the intent is only to to get task
stamps (-S none), or print the difference between them (-S printdiff),
the file is unnecessary clutter.

A couple of selftests/scripts were however relying on this, so they're
adjusted to explicitly request the file.

eSDK code calls dump_lockedsigs() separately via
oe.copy_buildsystem.generate_locked_sigs() and so isn't affected.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/lib/oe/sstatesig.py                 | 7 ++++---
 meta/lib/oeqa/selftest/cases/archiver.py | 2 +-
 meta/lib/oeqa/selftest/cases/signing.py  | 2 +-
 scripts/lib/checklayer/__init__.py       | 2 +-
 4 files changed, 7 insertions(+), 6 deletions(-)

Comments

Alexandre Belloni Oct. 21, 2023, 11:44 a.m. UTC | #1
https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/7980/steps/24/logs/stdio

On 20/10/2023 19:12:31+0200, Alexander Kanavin wrote:
> This was writing out locked-sigs.inc into cwd with every
> 'bitbake -S' invocation. When the intent is only to to get task
> stamps (-S none), or print the difference between them (-S printdiff),
> the file is unnecessary clutter.
> 
> A couple of selftests/scripts were however relying on this, so they're
> adjusted to explicitly request the file.
> 
> eSDK code calls dump_lockedsigs() separately via
> oe.copy_buildsystem.generate_locked_sigs() and so isn't affected.
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/lib/oe/sstatesig.py                 | 7 ++++---
>  meta/lib/oeqa/selftest/cases/archiver.py | 2 +-
>  meta/lib/oeqa/selftest/cases/signing.py  | 2 +-
>  scripts/lib/checklayer/__init__.py       | 2 +-
>  4 files changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> index 42e13a8c800..e250f51c124 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -142,9 +142,10 @@ class SignatureGeneratorOEBasicHashMixIn(object):
>          super().set_taskdata(data[3:])
>  
>      def dump_sigs(self, dataCache, options):
> -        sigfile = os.getcwd() + "/locked-sigs.inc"
> -        bb.plain("Writing locked sigs to %s" % sigfile)
> -        self.dump_lockedsigs(sigfile)
> +        if 'lockedsigs' in options:
> +            sigfile = os.getcwd() + "/locked-sigs.inc"
> +            bb.plain("Writing locked sigs to %s" % sigfile)
> +            self.dump_lockedsigs(sigfile)
>          return super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigs(dataCache, options)
>  
>  
> diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
> index 3fa59fff510..3cb888c5067 100644
> --- a/meta/lib/oeqa/selftest/cases/archiver.py
> +++ b/meta/lib/oeqa/selftest/cases/archiver.py
> @@ -141,7 +141,7 @@ class Archiver(OESelftestTestCase):
>          pn = 'gcc-source-%s' % get_bb_vars(['PV'], 'gcc')['PV']
>  
>          # Generate the tasks signatures
> -        bitbake('mc:mc1:%s mc:mc2:%s -c %s -S none' % (pn, pn, task))
> +        bitbake('mc:mc1:%s mc:mc2:%s -c %s -S lockedsigs' % (pn, pn, task))
>  
>          # Check the tasks signatures
>          # To be machine agnostic the tasks needs to generate the same signature for each machine
> diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py
> index 322e753ed3b..18cce0ba258 100644
> --- a/meta/lib/oeqa/selftest/cases/signing.py
> +++ b/meta/lib/oeqa/selftest/cases/signing.py
> @@ -191,7 +191,7 @@ class LockedSignatures(OESelftestTestCase):
>  
>          bitbake(test_recipe)
>          # Generate locked sigs include file
> -        bitbake('-S none %s' % test_recipe)
> +        bitbake('-S lockedsigs %s' % test_recipe)
>  
>          feature = 'require %s\n' % locked_sigs_file
>          feature += 'SIGGEN_LOCKEDSIGS_TASKSIG_CHECK = "warn"\n'
> diff --git a/scripts/lib/checklayer/__init__.py b/scripts/lib/checklayer/__init__.py
> index 0a0db2f02ac..8271ed7fe3b 100644
> --- a/scripts/lib/checklayer/__init__.py
> +++ b/scripts/lib/checklayer/__init__.py
> @@ -307,7 +307,7 @@ def get_signatures(builddir, failsafe=False, machine=None, extravars=None):
>      cmd += 'bitbake '
>      if failsafe:
>          cmd += '-k '
> -    cmd += '-S none world'
> +    cmd += '-S lockedsigs world'
>      sigs_file = os.path.join(builddir, 'locked-sigs.inc')
>      if os.path.exists(sigs_file):
>          os.unlink(sigs_file)
> -- 
> 2.39.2
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#189574): https://lists.openembedded.org/g/openembedded-core/message/189574
> Mute This Topic: https://lists.openembedded.org/mt/102085735/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Richard Purdie Oct. 21, 2023, 12:38 p.m. UTC | #2
On Sat, 2023-10-21 at 13:44 +0200, Alexandre Belloni via
lists.openembedded.org wrote:
> https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/7980/steps/24/logs/stdio

It depends on one of the autobuilder-helper patches which is master-
next there. The hard part is these patches are "flag day" ones :/.

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 42e13a8c800..e250f51c124 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -142,9 +142,10 @@  class SignatureGeneratorOEBasicHashMixIn(object):
         super().set_taskdata(data[3:])
 
     def dump_sigs(self, dataCache, options):
-        sigfile = os.getcwd() + "/locked-sigs.inc"
-        bb.plain("Writing locked sigs to %s" % sigfile)
-        self.dump_lockedsigs(sigfile)
+        if 'lockedsigs' in options:
+            sigfile = os.getcwd() + "/locked-sigs.inc"
+            bb.plain("Writing locked sigs to %s" % sigfile)
+            self.dump_lockedsigs(sigfile)
         return super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigs(dataCache, options)
 
 
diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 3fa59fff510..3cb888c5067 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -141,7 +141,7 @@  class Archiver(OESelftestTestCase):
         pn = 'gcc-source-%s' % get_bb_vars(['PV'], 'gcc')['PV']
 
         # Generate the tasks signatures
-        bitbake('mc:mc1:%s mc:mc2:%s -c %s -S none' % (pn, pn, task))
+        bitbake('mc:mc1:%s mc:mc2:%s -c %s -S lockedsigs' % (pn, pn, task))
 
         # Check the tasks signatures
         # To be machine agnostic the tasks needs to generate the same signature for each machine
diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py
index 322e753ed3b..18cce0ba258 100644
--- a/meta/lib/oeqa/selftest/cases/signing.py
+++ b/meta/lib/oeqa/selftest/cases/signing.py
@@ -191,7 +191,7 @@  class LockedSignatures(OESelftestTestCase):
 
         bitbake(test_recipe)
         # Generate locked sigs include file
-        bitbake('-S none %s' % test_recipe)
+        bitbake('-S lockedsigs %s' % test_recipe)
 
         feature = 'require %s\n' % locked_sigs_file
         feature += 'SIGGEN_LOCKEDSIGS_TASKSIG_CHECK = "warn"\n'
diff --git a/scripts/lib/checklayer/__init__.py b/scripts/lib/checklayer/__init__.py
index 0a0db2f02ac..8271ed7fe3b 100644
--- a/scripts/lib/checklayer/__init__.py
+++ b/scripts/lib/checklayer/__init__.py
@@ -307,7 +307,7 @@  def get_signatures(builddir, failsafe=False, machine=None, extravars=None):
     cmd += 'bitbake '
     if failsafe:
         cmd += '-k '
-    cmd += '-S none world'
+    cmd += '-S lockedsigs world'
     sigs_file = os.path.join(builddir, 'locked-sigs.inc')
     if os.path.exists(sigs_file):
         os.unlink(sigs_file)