Message ID | 20240718100440.1555319-1-sundeep.kokkonda@windriver.com |
---|---|
State | New |
Headers | show |
Series | oeqa/selftest/reproducibile: rename of reproducible directories | expand |
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] > -=-=-=-=-=-=-=-=-=-=-=- > >
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
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 >
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.
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: