public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
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


  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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal