[pbs-devel] [PATCH v5 proxmox proxmox-backup 0/6] fix 4788: statically linked proxmox-backup-client

Christian Ebner c.ebner at proxmox.com
Wed Apr 9 13:05:14 CEST 2025


As discussed in issue #4788 [0], statically linking of the
`proxmox-backup-client` still suffers from possible incompatible
dependencies on the NSS module libraries, further described in
[1].

This patch series provides the means to statically compile the client
with a workaround for the NSS lib limitation by relying on
`hickory-dns` [2], as suggested by Thomas.
The hickory-resolver is used for name resolution with the statically
compiled binary instead of the default `getaddrinfo` based
`GaiResolver`.

Since hickory-resolver depends on `ipconfig` for Windows targets when
the `system-config` feature is enabled (required to read nameservers
from `/etc/resolv.conf`), also the dependency on `ipconfig` is
required by cargo. To workaround this, a dummy crate is registered in
the cargo registry.

Changes since version 4:
- Incorporated additions and suggestions regarding debian packaging

Changes since version 3:
- Added default type GaiResolver to HttpsConnector
- Include patch to mention different name resolution behavior in docs

Changes since version 2:
- Use packaged version for hickory-resolver
- Drop unneeded `ipconfig` dependency workaround
- Rebased onto current master

[0] https://bugzilla.proxmox.com/show_bug.cgi?id=4788
[1] https://sourceware.org/glibc/wiki/FAQ#Even_statically_linked_programs_need_some_shared_libraries_which_is_not_acceptable_for_me.__What_can_I_do.3F
[2] https://github.com/hickory-dns/hickory-dns

proxmox:

Christian Ebner (1):
  http: client: make https connector generic over resolver

 proxmox-http/Cargo.toml              |  1 +
 proxmox-http/src/client/connector.rs | 17 ++++++++++++-----
 proxmox-http/src/client/simple.rs    |  3 ++-
 3 files changed, 15 insertions(+), 6 deletions(-)

proxmox-backup:

Christian Ebner (5):
  build: always set --target
  fix: 4788: Makefile: target for statically linked client binary
  buildsys: build and package statically linked client binary
  client: http: Use custom resolver for statically linked binary
  docs: mention different name resolution for statically linked binary

 Cargo.toml                                    |  1 +
 Makefile                                      | 28 +++++--
 debian/control                                |  8 ++
 ...oxmox-backup-client-static.bash-completion |  1 +
 debian/proxmox-backup-client-static.install   |  3 +
 debian/rules                                  |  2 +
 docs/backup-client.rst                        |  5 ++
 pbs-client/Cargo.toml                         |  1 +
 pbs-client/src/http_client.rs                 | 81 ++++++++++++++++++-
 9 files changed, 121 insertions(+), 9 deletions(-)
 create mode 100644 debian/proxmox-backup-client-static.bash-completion
 create mode 100644 debian/proxmox-backup-client-static.install

-- 
2.39.5





More information about the pbs-devel mailing list