public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>
Subject: [pbs-devel] applied-series: [PATCH 0/7] apt: add changelog API and fix #2934 (list new packages)
Date: Thu, 22 Oct 2020 17:20:24 +0200	[thread overview]
Message-ID: <1603379935.ftfpo61vxu.astroid@nora.none> (raw)
In-Reply-To: <20201021094116.32501-1-s.reiter@proxmox.com>

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@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
> 
> 




      parent reply	other threads:[~2020-10-22 15:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-21  9:41 [pbs-devel] " Stefan Reiter
2020-10-21  9:41 ` [pbs-devel] [PATCH proxmox-backup 1/7] apt: allow filter to select different package version Stefan Reiter
2020-10-21  9:41 ` [pbs-devel] [PATCH proxmox-backup 2/7] add tools::http for generic HTTP GET and move HttpsConnector there Stefan Reiter
2020-10-21 18:31   ` [pbs-devel] applied: " Thomas Lamprecht
2020-10-21  9:41 ` [pbs-devel] [PATCH proxmox-backup 3/7] apt: use 'apt-get changelog --print-uris' in get_changelog_url Stefan Reiter
2020-10-21  9:41 ` [pbs-devel] [PATCH proxmox-backup 4/7] bump apt-pkg-native dependency to 0.3.2 Stefan Reiter
2020-10-21  9:41 ` [pbs-devel] [PATCH proxmox-backup 5/7] apt: refactor package detail reading into function Stefan Reiter
2020-10-21  9:41 ` [pbs-devel] [PATCH proxmox-backup 6/7] fix #2934: list to-be-installed packages in updates Stefan Reiter
2020-10-21  9:41 ` [pbs-devel] [PATCH proxmox-backup 7/7] apt: add /changelog API call similar to PVE Stefan Reiter
2020-10-22 15:20 ` Fabian Grünbichler [this message]

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=1603379935.ftfpo61vxu.astroid@nora.none \
    --to=f.gruenbichler@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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal