[pve-devel] [PATCH-SERIES v6] APT repositories API/UI

Fabian Ebner f.ebner at proxmox.com
Fri Jun 11 13:43:49 CEST 2021

List the configured repositories, have some basic checks for them, and
allow upgrading the package distribution before a major release.

The plan is to use perlmod to make the Rust implementation available for PVE+PMG
as well.

Changes from v5:
    * The main addition is how the upgrade call is enabled/disabled:
      The idea is to do it in the proxmox-apt library itself and bump the
      versions accordingly. It'll always be disabled in the master branch and
      after each major release the major version will be bumped, while the
      stable branch will bump the minor version when it enables the call. Each
      product can then depend on the new major version in its master branch and
      on the new minor version in its stable branch.
      Hope I didn't miss a much easier/better way to do this.
    * Replace buster/updates with bullseye-security for the upgrade.
    * Assert that current os-release is what we expect for the upgrade function.
    * Add link to the upgrade docs in the upgrade button confirm dialog.
    * Avoid false negatives by marking *.proxmox.com *.debian.org as official
      (e.g. snapshot.debian.org was missing)
    * Handle port and userinfo in URI for host detection.

Still missing (intended as followups):
    * integration in PMG.

Changes v4 -> v5:
    * some minor style improvements
    * call cargo clean with make clean in proxmox-apt
    * require 'deb' package type to detect enterprise/no-subscription repos
    * moved common_digest helper to the library
    * add replace_suite function in proxmox-apt and refactored suite_is_variant
      for re-use
    * ui: add reload button
    * ui: don't pass undefined digest parameter
    * add upgrade button
    * add RFC for PBS upgrade call
    * add RFCs for PVE integration

Changes v3 -> v4:
    * incorporate Fabian G.'s feedback:
        * switch to a per-file approach
        * check for official host names
        * fix case-sensitivity issue for .sources keys
        * include digests
    * fix write issue when there are no components (in case of an absolute suite)
    * add more tests

Changes v2 -> v3:
    * incorporate Wolfgang's feedback
    * improve main warning's UI

Changes v1 -> v2:
    * Perl -> Rust
    * PVE -> PBS
    * Don't rely on regexes for parsing.
    * Add writer and tests.
    * UI: pin warnings to the repository they're for.
    * Keep order of options consistent with configuration.
    * Smaller things noted on the individual patches.


Fabian Ebner (9):
  initial commit
  add files for Debian packaging
  add functions to check for Proxmox repositories
  add check_repositories function
  add common_digest helper
  add release_upgrade function and constants for the current and upgrade
  bump version to 0.1.1-1
  update for bullseye
  bump version to 1.0.0-1

Fabian Ebner (2):
  allow upgrade to bullseye
  bump version to 0.2.0-1


Fabian Ebner (3):
  add UI for APT repositories
  APT repositories: add warnings
  add upgrade button

 src/Makefile                |   1 +
 src/node/APTRepositories.js | 477 ++++++++++++++++++++++++++++++++++++
 2 files changed, 478 insertions(+)
 create mode 100644 src/node/APTRepositories.js


Fabian Ebner (6):
  depend on new proxmox-apt crate
  api: apt: add repositories call
  ui: add APT repositories
  api: apt: add check_repositories_call
  add upgrade_repositories call
  enable release upgrade for package repositories

 Cargo.toml                  |   1 +
 debian/control              |   1 +
 src/api2/node/apt.rs        | 177 +++++++++++++++++++++++++++++++++++-
 www/ServerAdministration.js |  13 +++
 4 files changed, 191 insertions(+), 1 deletion(-)


Fabian Ebner (3):
  initial commit
  add files for Debian packaging
  apt: add upgrade_repositories call

Fabian Ebner (1):
  depend on proxmox-apt 0.2.0


Fabian Ebner (5):
  api: apt: add call to list repositories
  ui: add panel for listing APT repositories
  api: apt: add call for repository check
  api: apt: add upgrade repos call
  ui: node config: enable release upgrade button for package

 PVE/API2/APT.pm             | 267 ++++++++++++++++++++++++++++++++++++
 www/manager6/node/Config.js |   9 ++
 2 files changed, 276 insertions(+)


More information about the pve-devel mailing list