From: Mira Limbeck <m.limbeck@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH 1/2 proxmox-backup] add additional_info field to APTUpdateInfo
Date: Tue, 10 Nov 2020 13:33:53 +0100 [thread overview]
Message-ID: <20201110123354.32590-1-m.limbeck@proxmox.com> (raw)
Add an optional string field to APTUpdateInfo which can be used for
additional information.
This is used for passing running kernel and running version information
in the versions API call together with proxmox-backup and
proxmox-backup-server.
Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
---
src/api2/node/apt.rs | 35 ++++++++++++++++++++++++++++-------
src/api2/types/mod.rs | 2 ++
src/tools/apt.rs | 1 +
3 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/src/api2/node/apt.rs b/src/api2/node/apt.rs
index aa41d6a5..fcc29bc6 100644
--- a/src/api2/node/apt.rs
+++ b/src/api2/node/apt.rs
@@ -276,7 +276,7 @@ pub fn get_versions() -> Result<Value, Error> {
"zfsutils-linux",
];
- fn unknown_package(package: String) -> APTUpdateInfo {
+ fn unknown_package(package: String, additional_info: Option<String>) -> APTUpdateInfo {
APTUpdateInfo {
package,
title: "unknown".into(),
@@ -288,6 +288,7 @@ pub fn get_versions() -> Result<Value, Error> {
priority: "unknown".into(),
section: "unknown".into(),
change_log_url: "unknown".into(),
+ additional_info,
}
}
@@ -301,14 +302,34 @@ pub fn get_versions() -> Result<Value, Error> {
},
None,
);
- if let Some(proxmox_backup) = pbs_packages.iter().find(|pkg| pkg.package == "proxmox-backup") {
- packages.push(proxmox_backup.to_owned());
+
+ let running_kernel = nix::sys::utsname::uname().release().to_owned();
+ if let Some(proxmox_backup) = pbs_packages
+ .iter()
+ .find(|pkg| pkg.package == "proxmox-backup")
+ {
+ let mut proxmox_backup = proxmox_backup.clone();
+ proxmox_backup.additional_info = Some(running_kernel);
+ packages.push(proxmox_backup);
} else {
- packages.push(unknown_package("proxmox-backup".into()));
+ packages.push(unknown_package(
+ "proxmox-backup".into(),
+ Some(running_kernel),
+ ));
}
- if let Some(pkg) = pbs_packages.iter().find(|pkg| pkg.package == "proxmox-backup-server") {
- packages.push(pkg.to_owned());
+ if let Some(pkg) = pbs_packages
+ .iter()
+ .find(|pkg| pkg.package == "proxmox-backup-server")
+ {
+ let running_version = format!(
+ "{}.{}",
+ crate::api2::version::PROXMOX_PKG_VERSION,
+ crate::api2::version::PROXMOX_PKG_RELEASE
+ );
+ let mut pkg = pkg.clone();
+ pkg.additional_info = Some(running_version);
+ packages.push(pkg);
}
let mut kernel_pkgs: Vec<APTUpdateInfo> = pbs_packages
@@ -334,7 +355,7 @@ pub fn get_versions() -> Result<Value, Error> {
}
match pbs_packages.iter().find(|item| &item.package == pkg) {
Some(apt_pkg) => packages.push(apt_pkg.to_owned()),
- None => packages.push(unknown_package(pkg.to_string())),
+ None => packages.push(unknown_package(pkg.to_string(), None)),
}
}
diff --git a/src/api2/types/mod.rs b/src/api2/types/mod.rs
index ba9d2da9..03e3ea91 100644
--- a/src/api2/types/mod.rs
+++ b/src/api2/types/mod.rs
@@ -1177,6 +1177,8 @@ pub struct APTUpdateInfo {
pub section: String,
/// URL under which the package's changelog can be retrieved
pub change_log_url: String,
+ /// Additional package information
+ pub additional_info: Option<String>,
}
#[api()]
diff --git a/src/tools/apt.rs b/src/tools/apt.rs
index 841b7447..30b9bcbe 100644
--- a/src/tools/apt.rs
+++ b/src/tools/apt.rs
@@ -361,6 +361,7 @@ where
},
priority: priority_res,
section: section_res,
+ additional_info: None,
});
}
}
--
2.20.1
next reply other threads:[~2020-11-10 12:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-10 12:33 Mira Limbeck [this message]
2020-11-10 12:33 ` [pbs-devel] [PATCH 2/2 proxmox-backup] add versions command to proxmox-backup-manager Mira Limbeck
2020-11-10 12:37 ` Mira Limbeck
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=20201110123354.32590-1-m.limbeck@proxmox.com \
--to=m.limbeck@proxmox.com \
--cc=pbs-devel@lists.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