* [PATCH v2] Fixed bug in kcompile where run would fail if kcompile-source version had the form x.y instead of x.y.z
@ 2023-06-29 20:45 Anubhav Shelat
2023-06-30 15:52 ` John Kacur
0 siblings, 1 reply; 2+ messages in thread
From: Anubhav Shelat @ 2023-06-29 20:45 UTC (permalink / raw)
To: linux-rt-users; +Cc: kcarcia, Anubhav Shelat
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 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/rteval/modules/loads/kcompile.py b/rteval/modules/loads/kcompile.py
index 35ee5cbbb52d..a1f5614dbd3b 100644
--- a/rteval/modules/loads/kcompile.py
+++ b/rteval/modules/loads/kcompile.py
@@ -175,7 +175,7 @@ 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)
+ tarfile_prefix = re.search(r"\d{1,2}\.\d{1,3}\.*\d{1,2}" + "|" + 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" )
@@ -193,7 +193,7 @@ 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)
+ kernel_prefix = re.search(r"linux-\d{1,2}\.\d{1,3}\.*\d{1,2}" + "|" + 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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] Fixed bug in kcompile where run would fail if kcompile-source version had the form x.y instead of x.y.z
2023-06-29 20:45 [PATCH v2] 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-30 15:52 ` John Kacur
0 siblings, 0 replies; 2+ messages in thread
From: John Kacur @ 2023-06-30 15:52 UTC (permalink / raw)
To: Anubhav Shelat; +Cc: linux-rt-users, kcarcia
On Thu, 29 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 | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/rteval/modules/loads/kcompile.py b/rteval/modules/loads/kcompile.py
> index 35ee5cbbb52d..a1f5614dbd3b 100644
> --- a/rteval/modules/loads/kcompile.py
> +++ b/rteval/modules/loads/kcompile.py
> @@ -175,7 +175,7 @@ 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)
> + tarfile_prefix = re.search(r"\d{1,2}\.\d{1,3}\.*\d{1,2}" + "|" + 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" )
> @@ -193,7 +193,7 @@ 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)
> + kernel_prefix = re.search(r"linux-\d{1,2}\.\d{1,3}\.*\d{1,2}" + "|" + 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
>
>
Almost there.
Firstly I would remove the asterisk. Whoever created the intial regular
expression was probably mixing up the shell pattern matching where that
would match 0 or more of any character, but as a regular expression it
means to match 0 or more of the previous character which is a dot. The
intention was probably to allow characters like "rc" (release candidate).
There is no point in matching multiple dots, so just remove it.
There is no need to use that kind of string concatenation, just group
the entire first pattern with parenthesis and the second one too with the
'|' inbetween, like this
r"(\d{1,2}\.\d{1,3}\.\d{1,3})|(\d{1,2}\.\d{1,3})"
Finally note that in the x.y.z pattern the 'z' is the
one most likely to reach 3-digits, I changed it above.
Make sure to test in both your interactive interpreter and finally
in rteval itself.
Thanks!
John
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-06-30 15:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-29 20:45 [PATCH v2] 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-30 15:52 ` John Kacur
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).