[OE-core] [PATCH v2] oeqa: Touch cpio configure script before building
Andre McCurdy
armccurdy at gmail.com
Fri Feb 7 18:39:49 UTC 2020
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.
> 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