[pbs-devel] applied-series: [PATCH 0/7] apt: add changelog API and fix #2934 (list new packages)

Fabian Grünbichler f.gruenbichler at proxmox.com
Thu Oct 22 17:20:24 CEST 2020


I dropped the apt-pkg-native version bump (both from this series, and 
the patches to the binding crate) since I dislike bumping versions 
before upstream those (it's very confusing down the line).

added the following as follow-up as well:

diff --git a/src/api2/node/apt.rs b/src/api2/node/apt.rs
index 1c5b7db9..e8d4094b 100644
--- a/src/api2/node/apt.rs
+++ b/src/api2/node/apt.rs
@@ -42,7 +42,7 @@ fn get_changelog_url(
         let output = match output.splitn(2, ' ').next() {
             Some(output) => {
                 if output.len() < 2 {
-                    bail!("invalid output (URI part too short) from 'apt-get changelog --print-uris: {}", output)
+                    bail!("invalid output (URI part too short) from 'apt-get changelog --print-uris': {}", output)
                 }
                 output[1..output.len()-1].to_owned()
             },
@@ -421,7 +421,7 @@ fn apt_get_changelog(
     // FIXME: use 'apt-get changelog' for proxmox packages as well, once repo supports it
     if changelog_url.starts_with("http://download.proxmox.com/") {
         let changelog = crate::tools::runtime::block_on(http::get_string(changelog_url))
-            .map_err(|err| format_err!("Error downloading changelog: {}", err))?;
+            .map_err(|err| format_err!("Error downloading changelog from '{}': {}", changelog_url, err))?;
         return Ok(json!(changelog));
     } else {
         let mut command = std::process::Command::new("apt-get");

On October 21, 2020 11:41 am, Stefan Reiter wrote:
> (Note: This is technically a successor to this series [0], but since I changed a
> lot around and also added onto it, this is not a v2 but a seperate series
> entirely.)
> 
> Bring the "Updates" panel up to par with PVE by adding two features:
> * A /changelog API call
> * A fix for #2934, so new packages that will be installed on upgrade are
>   shown too (i.e. new kernels)
> 
> The former also requires extracting a new 'http' module out of 'api', so we can
> make simple HTTP requests from 'tools'.
> 
> Before that, some cleanup is done. Even with that, the code is not quite a prime
> example of readability, but with the weirdness that is the libapt-pkg lib and
> binding, this was the best I could manage.
> 
> Patch 4 is a dependency bump on a new version of my forked libapt-pkg binding
> (apt-pkg-native(-rs)). As before, the changes I made to that can be found on
> GitHub [1]. Patches 5 and later require the new version to compile.
> 
> 
> [0] https://lists.proxmox.com/pipermail/pbs-devel/2020-July/000045.html
> [1] https://github.com/PiMaker/apt-pkg-native-rs/
> 
> 
> proxmox-backup: Stefan Reiter (7):
>   apt: allow filter to select different package version
>   add tools::http for generic HTTP GET and move HttpsConnector there
>   apt: use 'apt-get changelog --print-uris' in get_changelog_url
>   bump apt-pkg-native dependency to 0.3.2
>   apt: refactor package detail reading into function
>   fix #2934: list to-be-installed packages in updates
>   apt: add /changelog API call similar to PVE
> 
>  Cargo.toml                |   2 +-
>  src/api2/node/apt.rs      | 384 ++++++++++++++++++++++++++++----------
>  src/client/http_client.rs |  75 +-------
>  src/tools.rs              |   1 +
>  src/tools/http.rs         | 100 ++++++++++
>  5 files changed, 386 insertions(+), 176 deletions(-)
>  create mode 100644 src/tools/http.rs
> 
> -- 
> 2.20.1
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
> 
> 





More information about the pbs-devel mailing list