On Wed, 2010-12-29 at 15:35 -0200, Lucas Meneghel Rodrigues wrote:
> SVN commit svn://test.kernel.org/autotest/tr...@270, git sha1 225d0581,
> "Make installing kernels work properly" added code to apped "-autotest"
> to the EXTRAVERSION field in the kernel version.  However, it does so by
> modifying the Makefile which is not friendly when the source tree is
> shared or several builds are performed using the same source tree.  In
> the later case, -autotest ends up getting recursively appended to
> EXTRAVERSION until the line become to long and the kernel no longer
> compiles.
> 
> This patch changes the implementation of extraversion to append
> -autotest to the LOCALVERSION field in .config.  This should be safer
> because .config is a generated file.

I've fixed the unittests and now I am doing some tests on my environment
just to double check everything is working. Once I find out everything
is OK I'm going to commit it.

> Changes from v2:
> - Fixed the correspondent unittest
> 
> Signed-off-by: Grant Likely <[email protected]>
> ---
>  client/bin/kernel.py          |   14 ++++++++------
>  client/bin/kernel_unittest.py |   12 ++++++++----
>  2 files changed, 16 insertions(+), 10 deletions(-)
> 
> diff --git a/client/bin/kernel.py b/client/bin/kernel.py
> index f3f5a38..cb0ef99 100644
> --- a/client/bin/kernel.py
> +++ b/client/bin/kernel.py
> @@ -332,15 +332,17 @@ class kernel(BootableKernel):
>              utils.extract_tarball_to_dir(tarball, self.build_dir)
>  
> 
> -    def extraversion(self, tag, append=1):
> +    def extraversion(self, tag, append=True):
>          os.chdir(self.build_dir)
> -        extraversion_sub = r's/^EXTRAVERSION =\s*\(.*\)/EXTRAVERSION = '
> +        extraversion_sub = 
> r's/^CONFIG_LOCALVERSION=\s*"\(.*\)"/CONFIG_LOCALVERSION='
> +        cfg = self.build_dir + '/.config'
>          if append:
> -            p = extraversion_sub + '\\1-%s/' % tag
> +            p = extraversion_sub + '"\\1-%s"/' % tag
>          else:
> -            p = extraversion_sub + '-%s/' % tag
> -        utils.system('mv Makefile Makefile.old')
> -        utils.system('sed "%s" < Makefile.old > Makefile' % p)
> +            p = extraversion_sub + '"-%s"/' % tag
> +        utils.system('mv %s %s.old' % (cfg, cfg))
> +        utils.system("sed '%s' < %s.old > %s" % (p, cfg, cfg))
> +        self.config(make='oldconfig')
>  
> 
>      @log.record
> diff --git a/client/bin/kernel_unittest.py b/client/bin/kernel_unittest.py
> index 6761c05..4ed0d37 100755
> --- a/client/bin/kernel_unittest.py
> +++ b/client/bin/kernel_unittest.py
> @@ -425,13 +425,17 @@ class TestKernel(unittest.TestCase):
>      def test_extraversion(self):
>          self.construct_kernel()
>          tag = "tag"
> +        # setup
> +        self.god.stub_function(self.kernel, "config")
>  
>          # record
>          os.chdir.expect_call(self.build_dir)
> -        extraversion_sub = r's/^EXTRAVERSION =\s*\(.*\)/EXTRAVERSION = '
> -        p = extraversion_sub + '\\1-%s/' % tag
> -        utils.system.expect_call('mv Makefile Makefile.old')
> -        utils.system.expect_call('sed "%s" < Makefile.old > Makefile' % p)
> +        extraversion_sub = 
> r's/^CONFIG_LOCALVERSION=\s*"\(.*\)"/CONFIG_LOCALVERSION='
> +        cfg = self.build_dir + '/.config'
> +        p = extraversion_sub + '"\\1-%s"/' % tag
> +        utils.system.expect_call('mv %s %s.old' % (cfg, cfg))
> +        utils.system.expect_call("sed '%s' < %s.old > %s" % (p, cfg, cfg))
> +        self.kernel.config.expect_call(make='oldconfig')
>  
>          # run and check
>          self.kernel.extraversion(tag)


_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to