Re: [PATCH] rteval: enhancement to --kcompile-source option for kernel tarball

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Thu, 4 Aug 2022, Manasi Godse wrote:

> The --kcompile-source option is enhanced such that it can find the
> kernel source tarballs using the values as 'linux-5.18.1' , '5.18.1',
> 'linux-5.18.1.tar.xz' This eliminates the need to type the entire
> source filename as a value to the option. The enhancement will look for
> the tarballs in the loadsource directory.
> 
> Signed-off-by: Manasi Godse <magodse@xxxxxxxxxx>
> ---
>  rteval/modules/loads/kcompile.py | 25 +++++++++++++++++++++----
>  1 file changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/rteval/modules/loads/kcompile.py b/rteval/modules/loads/kcompile.py
> index 6dd8d940f8b3..7d78d0ff9cae 100644
> --- a/rteval/modules/loads/kcompile.py
> +++ b/rteval/modules/loads/kcompile.py
> @@ -166,16 +166,33 @@ class Kcompile(CommandLineLoad):
>              raise rtevalRuntimeError(self, \
>                  f"error removing builddir ({self.buildir}) (ret={ret})")
>  
> +    def _find_tarball(self):
> +       # If the user specifies the full kernel name, check if available
> +        tarfile = os.path.join(self.srcdir, self._cfg.source)
> +        if os.path.exists(tarfile):
> +            return tarfile
> +
> +        if 'rc' in self._cfg.source:
> +            tarfile_prefix = re.search(r"\d{1,2}\.\d{1,3}\-[a-z]*\d{1,2}", self._cfg.source).group(0)
> +        else:
> +            tarfile_prefix = re.search(r"\d{1,2}\.\d{1,3}\.*\d{1,2}", self._cfg.source).group(0)
> +
> +        # either a tar.xz or tar.gz might exist. Check for both.
> +        xz_file = os.path.join(self.srcdir,"linux-" + tarfile_prefix + ".tar.xz" )
> +        gz_file = os.path.join(self.srcdir,"linux-" + tarfile_prefix + ".tar.gz" )
> +        if os.path.exists(xz_file):
> +            return xz_file
> +        elif os.path.exists(gz_file):
> +            return gz_file
> +        raise rtevalRuntimeError(self, f"tarfile {tarfile} does not exist!")
> +
>      def _WorkloadSetup(self):
>          if self._donotrun:
>              return
>  
>          # find our source tarball
>          if self._cfg.source:
> -            tarfile = os.path.join(self.srcdir, self._cfg.source)
> -            if not os.path.exists(tarfile):
> -                raise rtevalRuntimeError(self, f" tarfile {tarfile} does not exist!")
> -            self.source = tarfile
> +            self.source = self._find_tarball()
>              kernel_prefix = re.search(r"linux-\d{1,2}\.\d{1,3}\.*\d{1,2}", self.source).group(0)
>          else:
>              tarfiles = glob.glob(os.path.join(self.srcdir, f"{DEFAULT_KERNEL_PREFIX}*"))
> -- 
> 2.31.1
> 
> 
Reviewed-by: Leah Leshchinsky <lleshchi@xxxxxxxxxx>
Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux