[pve-devel] [PATCH manager v1 3/3] pveceph: print repo metadata when installing from manual

Aaron Lauterer a.lauterer at proxmox.com
Wed May 28 18:46:30 CEST 2025


By printing the site and component, the person installing it manuall has
a final check to see if the correct repository is being used.

Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
---

Notes:
    I intially tried to get the repo definition similar to how it is in the
    .list file and printed by apt-cache policy {package} but failed so far,
    getting that info via AptPkg::Cache. Therefore, I used what I found so far.

 PVE/CLI/pveceph.pm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/PVE/CLI/pveceph.pm b/PVE/CLI/pveceph.pm
index bff7ba70..4cf5ff27 100755
--- a/PVE/CLI/pveceph.pm
+++ b/PVE/CLI/pveceph.pm
@@ -223,7 +223,6 @@ __PACKAGE__->register_method ({
 	};
 
 	if ($repo eq "manual") {
-	    # TODO: get used repo metadata and print it as additional info
 	    my $apt_cache = AptPkg::Cache->new() || die "unable to initialize AptPkg::Cache\n";
 	    my @ceph_versions = $apt_cache->{'ceph-common:amd64'}->{'VersionList'}->@*;
 	    my $latest_available = $ceph_versions[0]->{'VerStr'};
@@ -231,6 +230,12 @@ __PACKAGE__->register_method ({
 
 	    die "Selected Ceph version '${selected_version}' does not match the available version in the repository '${latest_available}' \n"
 		if ($latest_available !~ "^$selected_version");
+
+	    my $pkg_infos = $ceph_versions[0]->{'FileList'}[0]->{'File'};
+	    print "\nUsing the following manual repository:\n"
+		."Site:\t\t $pkg_infos->{'Site'}\n"
+		."Component:\t $pkg_infos->{'Component'}\n\n";
+
 	}
 
 	my @apt_install = qw(apt-get --no-install-recommends -o Dpkg::Options::=--force-confnew install --);
-- 
2.39.5





More information about the pve-devel mailing list