]>
git.proxmox.com Git - pmg-api.git/blob - PMG/CLI/pmgversion.pm
1 package PMG
::CLI
::pmgversion
;
8 use PVE
::Tools
qw(extract_param);
12 use PMG
::RESTEnvironment
;
16 use base
qw(PVE::CLIHandler);
18 sub setup_environment
{
19 PMG
::RESTEnvironment-
>setup_default_cli_env();
22 my $print_status = sub {
25 my $pkg = $pkginfo->{Package
};
27 my $version = "not correctly installed";
28 if ($pkginfo->{OldVersion
} && $pkginfo->{CurrentState
} eq 'Installed') {
29 $version = $pkginfo->{OldVersion
};
32 if ($pkginfo->{RunningKernel
} && $pkginfo->{ManagerVersion
}) {
33 print "$pkg: $version (API: $pkginfo->{ManagerVersion}, running kernel: $pkginfo->{RunningKernel})\n";
35 print "$pkg: $version\n";
39 __PACKAGE__-
>register_method ({
43 description
=> "Print version information for Proxmox Mail Gateway packages.",
45 additionalProperties
=> 0,
49 description
=> "List version details for important packages.",
55 returns
=> { type
=> 'null'},
59 my $pkgarray = PMG
::API2
::APT-
>versions({ node
=> 'localhost'});
61 my $ver = PMG
::pmgcfg
::package() . '/' . PMG
::pmgcfg
::version_text
();
62 my (undef, undef, $kver) = POSIX
::uname
();
64 if (!$param->{verbose
}) {
65 print "$ver (running kernel: $kver)\n";
69 foreach my $pkg (@$pkgarray) {
70 $print_status->($pkg);
77 our $cmddef = [ __PACKAGE__
, 'pmgversion', []];