[pbs-devel] [PATCH proxmox 1/5] proxmox-upgrade-checks: fix meta package version check

Shannon Sterz s.sterz at proxmox.com
Thu Nov 20 16:04:05 CET 2025


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 at 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));
```




More information about the pbs-devel mailing list