[OE-core] [PATCH v2] oeqa: Touch cpio configure script before building

Khem Raj raj.khem at gmail.com
Fri Feb 7 19:01:20 UTC 2020


On Fri, Feb 7, 2020 at 10:40 AM Andre McCurdy <armccurdy at gmail.com> wrote:
>
> On Fri, Feb 7, 2020 at 10:25 AM Khem Raj <raj.khem at gmail.com> wrote:
> >
> > since the versions of autotools might differ, and difference in
> > timestamps for configure and system can result in reconfigure lets avoid
> > that by touching the configure script to match system time
>
> This is probably only a partial fix. If you look at the various
> dependencies in Makefile.in, ensuring that configure is newer than
> $(am__configure_deps) is only one case that needs to be handled. You
> also need to ensure that e.g. Makefile.in is newer than
> $(srcdir)/Makefile.am $(srcdir)/Make.rules $(am__configure_deps), that
> aclocal.m4 is newer than $(am__aclocal_m4_deps), etc.
>
> Touching various files in the right order can be made to work, but
> there's more to it than just touching configure. Configuring with
> --disable-maintainer-mode and therefore disabling all these autotools
> rules is probably a more robust solution.

right. Lets see if we run into that as well, I would send a v3 if this
is effective then we know we are on right path.

>
> > Avoids
> > error: newly created file is older than distributed files!
> >
> > [YOCTO #13779]
> >
> > Signed-off-by: Khem Raj <raj.khem at gmail.com>
> > ---
> > v2: Touch configure to match timestamps with system
> >     Move the touch cmd to configure step itself
> >
> >  meta/lib/oeqa/runtime/cases/buildcpio.py | 2 +-
> >  meta/lib/oeqa/sdk/cases/buildcpio.py     | 2 +-
> >  meta/lib/oeqa/selftest/cases/meta_ide.py | 2 +-
> >  3 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/lib/oeqa/runtime/cases/buildcpio.py b/meta/lib/oeqa/runtime/cases/buildcpio.py
> > index 4bd72dd37e..a2cc8148db 100644
> > --- a/meta/lib/oeqa/runtime/cases/buildcpio.py
> > +++ b/meta/lib/oeqa/runtime/cases/buildcpio.py
> > @@ -27,6 +27,6 @@ class BuildCpioTest(OERuntimeTestCase):
> >      @OEHasPackage(['autoconf'])
> >      def test_cpio(self):
> >          self.project.download_archive()
> > -        self.project.run_configure()
> > +        self.project.run_configure('','touch ./configure;')
> >          self.project.run_make()
> >          self.project.run_install()
> > diff --git a/meta/lib/oeqa/sdk/cases/buildcpio.py b/meta/lib/oeqa/sdk/cases/buildcpio.py
> > index b0beafb38f..e412ee189f 100644
> > --- a/meta/lib/oeqa/sdk/cases/buildcpio.py
> > +++ b/meta/lib/oeqa/sdk/cases/buildcpio.py
> > @@ -28,7 +28,7 @@ class BuildCpioTest(OESDKTestCase):
> >              self.assertTrue(os.path.isdir(dirs["source"]))
> >              os.makedirs(dirs["build"])
> >
> > -            self._run("cd {build} && {source}/configure $CONFIGURE_FLAGS".format(**dirs))
> > +            self._run("cd {build} && touch {source}/configure && {source}/configure $CONFIGURE_FLAGS".format(**dirs))
> >              self._run("cd {build} && make -j".format(**dirs))
> >              self._run("cd {build} && make install DESTDIR={install}".format(**dirs))
> >
> > diff --git a/meta/lib/oeqa/selftest/cases/meta_ide.py b/meta/lib/oeqa/selftest/cases/meta_ide.py
> > index 809142559a..16acd1154d 100644
> > --- a/meta/lib/oeqa/selftest/cases/meta_ide.py
> > +++ b/meta/lib/oeqa/selftest/cases/meta_ide.py
> > @@ -43,7 +43,7 @@ class MetaIDE(OESelftestTestCase):
> >                          "https://ftp.gnu.org/gnu/cpio/cpio-2.13.tar.gz",
> >                          self.tmpdir_metaideQA, self.td['DATETIME'], dl_dir=dl_dir)
> >          self.project.download_archive()
> > -        self.assertEqual(self.project.run_configure(), 0,
> > +        self.assertEqual(self.project.run_configure('','touch configure;'), 0,
> >                          msg="Running configure failed")
> >          self.assertEqual(self.project.run_make(), 0,
> >                          msg="Running make failed")
> > --
> > 2.25.0
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list