From: John Kacur <jkacur@redhat.com>
To: Anubhav Shelat <ashelat@redhat.com>
Cc: linux-rt-users@vger.kernel.org, kcarcia@redhat.com
Subject: Re: [PATCH 1/1] Fixed bug in kcompile where run would fail if kcompile-source version had the form x.y instead of x.y.z
Date: Thu, 29 Jun 2023 14:48:53 -0400 (EDT) [thread overview]
Message-ID: <95f983ff-c621-3e46-3f59-5afe9c5a195@redhat.com> (raw)
In-Reply-To: <20230628215730.738234-1-ashelat@redhat.com>
On Wed, 28 Jun 2023, Anubhav Shelat wrote:
> Fixed bug in kcompile where run would fail if kcompile-source version
> had the form x.y instead of x.y.z
>
> Signed-off-by: Anubhav Shelat <ashelat@redhat.com>
> ---
> rteval/modules/loads/kcompile.py | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/rteval/modules/loads/kcompile.py b/rteval/modules/loads/kcompile.py
> index 35ee5cbbb52d..445575fb137a 100644
> --- a/rteval/modules/loads/kcompile.py
> +++ b/rteval/modules/loads/kcompile.py
> @@ -175,8 +175,11 @@ class Kcompile(CommandLineLoad):
> 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)
> -
> + try:
> + tarfile_prefix = re.search(r"\d{1,2}\.\d{1,3}\.*\d{1,2}", self._cfg.source).group(0)
> + except AttributeError:
> + # if the kernel version has the form x.x instead of x.x.x
> + tarfile_prefix = re.search(r"\d{1,2}\.\d{1,3}", 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" )
> @@ -193,7 +196,11 @@ class Kcompile(CommandLineLoad):
> # find our source tarball
> if self._cfg.source:
> self.source = self._find_tarball()
> - kernel_prefix = re.search(r"linux-\d{1,2}\.\d{1,3}\.*\d{1,2}", self.source).group(0)
> + try:
> + kernel_prefix = re.search(r"linux-\d{1,2}\.\d{1,3}\.*\d{1,2}", self.source).group(0)
> + except AttributeError:
> + # if the kernel version has the form x.x instead of x.x.x
> + kernel_prefix = re.search(r"linux-\d{1,2}\.\d{1,3}", self.source).group(0)
> else:
> tarfiles = glob.glob(os.path.join(self.srcdir, f"{DEFAULT_KERNEL_PREFIX}*"))
> if tarfiles:
> --
> 2.39.3
>
>
We don't want to use a try/except block to detect that our regular
expression didn't match. Instead construct a regular expression that will
match both the cases of linux-x.y.z.tar.gz and linux-x.y.tar.gz
Note \d{1,2} means one to two digits
you can group those with parenthesis
(\d{1,3}\.){1,2}
The above matches 1 to 3 digits followed by a period and that whole group
1 to 2 times.
Use your interactive python interpreter to play with the regular
expression before creating your patch.
John
prev parent reply other threads:[~2023-06-29 18:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-28 21:57 [PATCH 1/1] Fixed bug in kcompile where run would fail if kcompile-source version had the form x.y instead of x.y.z Anubhav Shelat
2023-06-29 18:48 ` John Kacur [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=95f983ff-c621-3e46-3f59-5afe9c5a195@redhat.com \
--to=jkacur@redhat.com \
--cc=ashelat@redhat.com \
--cc=kcarcia@redhat.com \
--cc=linux-rt-users@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox