From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Stefan Hanreich" <s.hanreich@proxmox.com>
Cc: Proxmox Backup Server development discussion
<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox 1/5] proxmox-upgrade-checks: fix meta package version check
Date: Thu, 20 Nov 2025 16:04:05 +0100 [thread overview]
Message-ID: <DEDM49D1EZRJ.2LIDO9HJCEELJ@proxmox.com> (raw)
In-Reply-To: <20251120145031.550340-2-s.hanreich@proxmox.com>
On Thu Nov 20, 2025 at 3:50 PM CET, Stefan Hanreich wrote:
> old_version was changed to be an Option in proxmox-apt-api-types,
> so handle that here as well.
>
> Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
> ---
> Not 100% sure about how to handle the case of a missing old_version.
> Could you please take a look @Shannon?
>
> proxmox-upgrade-checks/src/lib.rs | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/proxmox-upgrade-checks/src/lib.rs b/proxmox-upgrade-checks/src/lib.rs
> index 4f76555a..207af04b 100644
> --- a/proxmox-upgrade-checks/src/lib.rs
> +++ b/proxmox-upgrade-checks/src/lib.rs
> @@ -204,7 +204,13 @@ impl UpgradeChecker {
>
> if let Some(meta_pkg) = meta_pkg {
> let pkg_version = Regex::new(r"^(\d+)\.(\d+)[.-](\d+)")?;
> - let captures = pkg_version.captures(&meta_pkg.old_version);
> +
> + let captures = meta_pkg
> + .old_version
> + .as_ref()
> + .map(|old_version| pkg_version.captures(old_version))
> + .flatten();
> +
> if let Some(captures) = captures {
> let maj = Self::extract_version_from_captures(1, &captures)?;
> let min = Self::extract_version_from_captures(2, &captures)?;
ah thanks for catching this, i somehow missed this, i'll need to ping my
series finally switching pdm over to this crate again. anyhow, for now
this is fine, though i would appreciate this approach a bit more:
```
if let Some(old_version) = meta_pkg.and_then(|m| m.old_version.as_ref()) {
let pkg_version = Regex::new(r"^(\d+)\.(\d+)[.-](\d+)")?;
let captures = pkg_version.captures(old_version);
```
there isn't really anything we can do if we don't have information on
the previous package information. if you do want to stick with your
approach i'd suggest switching to this:
```
let captures = meta_pkg
.old_version
.as_ref()
.and_then(|v| pkg_version.captures(v));
```
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2025-11-20 15:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-20 14:50 [pbs-devel] [RFC proxmox{, -datacenter-manager} 0/6] Add fallback variants to PBS API types Stefan Hanreich
2025-11-20 14:50 ` [pbs-devel] [PATCH proxmox 1/5] proxmox-upgrade-checks: fix meta package version check Stefan Hanreich
2025-11-20 15:04 ` Shannon Sterz [this message]
2025-11-20 15:08 ` Stefan Hanreich
2025-11-20 14:50 ` [pbs-devel] [PATCH proxmox 2/5] proxmox-fixed-string: extract FixedString into own crate Stefan Hanreich
2025-11-20 14:50 ` [pbs-devel] [PATCH proxmox 3/5] proxmox-fixed-string: implement hash trait Stefan Hanreich
2025-11-20 14:50 ` [pbs-devel] [PATCH proxmox 4/5] pve-api-types: add proxmox-fixed-string Stefan Hanreich
2025-11-20 14:50 ` [pbs-devel] [PATCH proxmox 5/5] pbs-api-types: add fallback variants to enums in public API Stefan Hanreich
2025-11-20 14:50 ` [pbs-devel] [PATCH proxmox-datacenter-manager 1/1] tree-wide: add enum fallback variants for pbs api types Stefan Hanreich
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=DEDM49D1EZRJ.2LIDO9HJCEELJ@proxmox.com \
--to=s.sterz@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
--cc=s.hanreich@proxmox.com \
/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