All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories
@ 2024-07-18 10:04 sundeep.kokkonda
  2024-07-18 10:27 ` [OE-core] " Yoann Congal
  2024-07-18 11:14 ` Richard Purdie
  0 siblings, 2 replies; 5+ messages in thread
From: sundeep.kokkonda @ 2024-07-18 10:04 UTC (permalink / raw)
  To: openembedded-core
  Cc: randy.macleod, naveen.gowda, shivaprasad.moodalappa, yash.shinde,
	deepthi.hemraj, harish.sadineni

From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>

We do see a few reproducible issues are depending on the path length of the build directory.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554

The current implementation of reproducible tests having different names for directories but with same length.
The build directory names are changed to have difefrent lenth.

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
---
 meta/lib/oeqa/selftest/cases/reproducible.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index 7c6cf3eb1f..6932b0c2a5 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -276,9 +276,13 @@ class ReproducibleTests(OESelftestTestCase):
             os.chmod(save_dir, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
             self.logger.info('Non-reproducible packages will be copied to %s', save_dir)
 
-        vars_A = self.do_test_build('reproducibleA', self.build_from_sstate)
+        # The below bug shows that a few reproducible issues are depends on build dir path length.
+        # https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
+        # So, the reproducibleA & reproducibleB directories are changed to reproducible & reproducible-extended to have different size.
 
-        vars_B = self.do_test_build('reproducibleB', False)
+        vars_A = self.do_test_build('reproducible', self.build_from_sstate)
+
+        vars_B = self.do_test_build('reproducible-extended', False)
 
         # NOTE: The temp directories from the reproducible build are purposely
         # kept after the build so it can be diffed for debugging.
@@ -333,7 +337,7 @@ class ReproducibleTests(OESelftestTestCase):
                 # Copy jquery to improve the diffoscope output usability
                 self.copy_file(os.path.join(jquery_sysroot, 'usr/share/javascript/jquery/jquery.min.js'), os.path.join(package_html_dir, 'jquery.js'))
 
-                run_diffoscope('reproducibleA', 'reproducibleB', package_html_dir, max_report_size=self.max_report_size,
+                run_diffoscope('reproducible', 'reproducible-extended', package_html_dir, max_report_size=self.max_report_size,
                         native_sysroot=diffoscope_sysroot, ignore_status=True, cwd=package_dir)
 
         if fails:
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories
  2024-07-18 10:04 [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories sundeep.kokkonda
@ 2024-07-18 10:27 ` Yoann Congal
  2024-07-18 21:58   ` Alexandre Belloni
  2024-07-18 11:14 ` Richard Purdie
  1 sibling, 1 reply; 5+ messages in thread
From: Yoann Congal @ 2024-07-18 10:27 UTC (permalink / raw)
  To: sundeep.kokkonda
  Cc: openembedded-core, randy.macleod, naveen.gowda,
	shivaprasad.moodalappa, yash.shinde, deepthi.hemraj,
	harish.sadineni

[-- Attachment #1: Type: text/plain, Size: 3670 bytes --]

Le jeu. 18 juil. 2024 à 12:05, Sundeep KOKKONDA via lists.openembedded.org
<sundeep.kokkonda=windriver.com@lists.openembedded.org> a écrit :

> From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>
> We do see a few reproducible issues are depending on the path length of
> the build directory.
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
>
> The current implementation of reproducible tests having different names
> for directories but with same length.
> The build directory names are changed to have difefrent lenth.
>
> Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
> ---
>  meta/lib/oeqa/selftest/cases/reproducible.py | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py
> b/meta/lib/oeqa/selftest/cases/reproducible.py
> index 7c6cf3eb1f..6932b0c2a5 100644
> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
> @@ -276,9 +276,13 @@ class ReproducibleTests(OESelftestTestCase):
>              os.chmod(save_dir, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP
> | stat.S_IROTH | stat.S_IXOTH)
>              self.logger.info('Non-reproducible packages will be copied
> to %s', save_dir)
>
> -        vars_A = self.do_test_build('reproducibleA',
> self.build_from_sstate)
> +        # The below bug shows that a few reproducible issues are depends
> on build dir path length.
> +        # https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
> +        # So, the reproducibleA & reproducibleB directories are changed
> to reproducible & reproducible-extended to have different size.
>
> -        vars_B = self.do_test_build('reproducibleB', False)
> +        vars_A = self.do_test_build('reproducible',
> self.build_from_sstate)
> +
> +        vars_B = self.do_test_build('reproducible-extended', False)
>

How about "reproducible-sstate" & "reproducible-no-sstate" (diff length but
match what happens under the hood) ?
Alternatively, maybe keep A/B with "reproducibleA" &
"reproducibleB-extended" ? (I'm afraid I will lose track which is which
with the current patch)

If you find that too bike-shedy, you can ignore, I'll learn the new names
eventually :-)

Thanks!

         # NOTE: The temp directories from the reproducible build are
> purposely
>          # kept after the build so it can be diffed for debugging.
> @@ -333,7 +337,7 @@ class ReproducibleTests(OESelftestTestCase):
>                  # Copy jquery to improve the diffoscope output usability
>                  self.copy_file(os.path.join(jquery_sysroot,
> 'usr/share/javascript/jquery/jquery.min.js'),
> os.path.join(package_html_dir, 'jquery.js'))
>
> -                run_diffoscope('reproducibleA', 'reproducibleB',
> package_html_dir, max_report_size=self.max_report_size,
> +                run_diffoscope('reproducible', 'reproducible-extended',
> package_html_dir, max_report_size=self.max_report_size,
>                          native_sysroot=diffoscope_sysroot,
> ignore_status=True, cwd=package_dir)
>
>          if fails:
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#202196):
> https://lists.openembedded.org/g/openembedded-core/message/202196
> Mute This Topic: https://lists.openembedded.org/mt/107414164/4316185
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> yoann.congal@smile.fr]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

-- 
Yoann Congal
Smile ECS - Tech expert

[-- Attachment #2: Type: text/html, Size: 5638 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories
  2024-07-18 10:04 [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories sundeep.kokkonda
  2024-07-18 10:27 ` [OE-core] " Yoann Congal
@ 2024-07-18 11:14 ` Richard Purdie
  2024-07-18 11:23   ` Sundeep KOKKONDA
  1 sibling, 1 reply; 5+ messages in thread
From: Richard Purdie @ 2024-07-18 11:14 UTC (permalink / raw)
  To: sundeep.kokkonda, openembedded-core
  Cc: randy.macleod, naveen.gowda, shivaprasad.moodalappa, yash.shinde,
	deepthi.hemraj, harish.sadineni

On Thu, 2024-07-18 at 03:04 -0700, Sundeep KOKKONDA via lists.openembedded.org wrote:
> From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
> 
> We do see a few reproducible issues are depending on the path length of the build directory.
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
> 
> The current implementation of reproducible tests having different names for directories but with same length.
> The build directory names are changed to have difefrent lenth.
> 
> Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
> ---
>  meta/lib/oeqa/selftest/cases/reproducible.py | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
> index 7c6cf3eb1f..6932b0c2a5 100644
> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
> @@ -276,9 +276,13 @@ class ReproducibleTests(OESelftestTestCase):
>              os.chmod(save_dir, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
>              self.logger.info('Non-reproducible packages will be copied to %s', save_dir)
>  
> -        vars_A = self.do_test_build('reproducibleA', self.build_from_sstate)
> +        # The below bug shows that a few reproducible issues are depends on build dir path length.
> +        # https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
> +        # So, the reproducibleA & reproducibleB directories are changed to reproducible & reproducible-extended to have different size.
>  
> -        vars_B = self.do_test_build('reproducibleB', False)
> +        vars_A = self.do_test_build('reproducible', self.build_from_sstate)
> +
> +        vars_B = self.do_test_build('reproducible-extended', False)
>  
>          # NOTE: The temp directories from the reproducible build are purposely
>          # kept after the build so it can be diffed for debugging.
> @@ -333,7 +337,7 @@ class ReproducibleTests(OESelftestTestCase):
>                  # Copy jquery to improve the diffoscope output usability
>                  self.copy_file(os.path.join(jquery_sysroot, 'usr/share/javascript/jquery/jquery.min.js'), os.path.join(package_html_dir, 'jquery.js'))
>  
> -                run_diffoscope('reproducibleA', 'reproducibleB', package_html_dir, max_report_size=self.max_report_size,
> +                run_diffoscope('reproducible', 'reproducible-extended', package_html_dir, max_report_size=self.max_report_size,
>                          native_sysroot=diffoscope_sysroot, ignore_status=True, cwd=package_dir)
>  
>          if fails:

Thanks Sundeep. Lets keep the A/B in there since people are familiar
with it as Yoann mentions but thanks for sending, otherwise looks good.
Can you quickly send a v2 please?

Cheers,

Richard



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories
  2024-07-18 11:14 ` Richard Purdie
@ 2024-07-18 11:23   ` Sundeep KOKKONDA
  0 siblings, 0 replies; 5+ messages in thread
From: Sundeep KOKKONDA @ 2024-07-18 11:23 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core
  Cc: randy.macleod, naveen.gowda, shivaprasad.moodalappa, yash.shinde,
	deepthi.hemraj, harish.sadineni


On 18-Jul-24 16:44, Richard Purdie wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Thu, 2024-07-18 at 03:04 -0700, Sundeep KOKKONDA via lists.openembedded.org wrote:
>> From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>>
>> We do see a few reproducible issues are depending on the path length of the build directory.
>> https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
>>
>> The current implementation of reproducible tests having different names for directories but with same length.
>> The build directory names are changed to have difefrent lenth.
>>
>> Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>> ---
>>   meta/lib/oeqa/selftest/cases/reproducible.py | 10 +++++++---
>>   1 file changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
>> index 7c6cf3eb1f..6932b0c2a5 100644
>> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
>> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
>> @@ -276,9 +276,13 @@ class ReproducibleTests(OESelftestTestCase):
>>               os.chmod(save_dir, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
>>               self.logger.info('Non-reproducible packages will be copied to %s', save_dir)
>>
>> -        vars_A = self.do_test_build('reproducibleA', self.build_from_sstate)
>> +        # The below bug shows that a few reproducible issues are depends on build dir path length.
>> +        # https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
>> +        # So, the reproducibleA & reproducibleB directories are changed to reproducible & reproducible-extended to have different size.
>>
>> -        vars_B = self.do_test_build('reproducibleB', False)
>> +        vars_A = self.do_test_build('reproducible', self.build_from_sstate)
>> +
>> +        vars_B = self.do_test_build('reproducible-extended', False)
>>
>>           # NOTE: The temp directories from the reproducible build are purposely
>>           # kept after the build so it can be diffed for debugging.
>> @@ -333,7 +337,7 @@ class ReproducibleTests(OESelftestTestCase):
>>                   # Copy jquery to improve the diffoscope output usability
>>                   self.copy_file(os.path.join(jquery_sysroot, 'usr/share/javascript/jquery/jquery.min.js'), os.path.join(package_html_dir, 'jquery.js'))
>>
>> -                run_diffoscope('reproducibleA', 'reproducibleB', package_html_dir, max_report_size=self.max_report_size,
>> +                run_diffoscope('reproducible', 'reproducible-extended', package_html_dir, max_report_size=self.max_report_size,
>>                           native_sysroot=diffoscope_sysroot, ignore_status=True, cwd=package_dir)
>>
>>           if fails:
> Thanks Sundeep. Lets keep the A/B in there since people are familiar
> with it as Yoann mentions but thanks for sending, otherwise looks good.
> Can you quickly send a v2 please?

Sure, I'll use "reproducibleA" & "reproducibleB-extended" names.


Thanks,

Sundeep K.

>
> Cheers,
>
> Richard
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories
  2024-07-18 10:27 ` [OE-core] " Yoann Congal
@ 2024-07-18 21:58   ` Alexandre Belloni
  0 siblings, 0 replies; 5+ messages in thread
From: Alexandre Belloni @ 2024-07-18 21:58 UTC (permalink / raw)
  To: yoann.congal
  Cc: sundeep.kokkonda, openembedded-core, randy.macleod, naveen.gowda,
	shivaprasad.moodalappa, yash.shinde, deepthi.hemraj,
	harish.sadineni

On 18/07/2024 12:27:43+0200, Yoann Congal via lists.openembedded.org wrote:
> Le jeu. 18 juil. 2024 � 12:05, Sundeep KOKKONDA via lists.openembedded.org
> <sundeep.kokkonda=windriver.com@lists.openembedded.org> a �crit :
> 
> > From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
> >
> > We do see a few reproducible issues are depending on the path length of
> > the build directory.
> > https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
> >
> > The current implementation of reproducible tests having different names
> > for directories but with same length.
> > The build directory names are changed to have difefrent lenth.
> >
> > Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
> > ---
> >  meta/lib/oeqa/selftest/cases/reproducible.py | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py
> > b/meta/lib/oeqa/selftest/cases/reproducible.py
> > index 7c6cf3eb1f..6932b0c2a5 100644
> > --- a/meta/lib/oeqa/selftest/cases/reproducible.py
> > +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
> > @@ -276,9 +276,13 @@ class ReproducibleTests(OESelftestTestCase):
> >              os.chmod(save_dir, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP
> > | stat.S_IROTH | stat.S_IXOTH)
> >              self.logger.info('Non-reproducible packages will be copied
> > to %s', save_dir)
> >
> > -        vars_A = self.do_test_build('reproducibleA',
> > self.build_from_sstate)
> > +        # The below bug shows that a few reproducible issues are depends
> > on build dir path length.
> > +        # https://bugzilla.yoctoproject.org/show_bug.cgi?id=15554
> > +        # So, the reproducibleA & reproducibleB directories are changed
> > to reproducible & reproducible-extended to have different size.
> >
> > -        vars_B = self.do_test_build('reproducibleB', False)
> > +        vars_A = self.do_test_build('reproducible',
> > self.build_from_sstate)
> > +
> > +        vars_B = self.do_test_build('reproducible-extended', False)
> >
> 
> How about "reproducible-sstate" & "reproducible-no-sstate" (diff length but
> match what happens under the hood) ?

This was discussed out of the ML, because we have pids in paths, we need
more than 3 chars to ensure the difference un path length is not hidden
again.



-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-07-18 21:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-18 10:04 [PATCH] oeqa/selftest/reproducibile: rename of reproducible directories sundeep.kokkonda
2024-07-18 10:27 ` [OE-core] " Yoann Congal
2024-07-18 21:58   ` Alexandre Belloni
2024-07-18 11:14 ` Richard Purdie
2024-07-18 11:23   ` Sundeep KOKKONDA

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.