[pve-devel] [PATCH-SERIES v5] APT repositories API/UI
Fabian Ebner
f.ebner at proxmox.com
Fri May 28 16:29:39 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.
For PBS, everything beside the upgrade call should be ready (the upgrade
call should work too, but what's the best way to enable/disable the call
pre/post-upgrade?)
For PVE, it's all RFC.
Note that pve-rs patches are based on top of Wolfang's staff repository. I hope
I didn't completly misinterpret the inteded packaging/structure there, tried to
base it off pmg-rs and the README.
For perlmod (still feels like magic to me), I couldn't figure out how to have an
Option<String> as an argument for an exported function. Tried using undef, but
got
error: cannot deserialize weird magic perl values (10)
Worked around by using empty string as a None replacement instead.
Changes from v4:
* 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
Still missing (intended as followups):
* integration in PMG.
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.
proxmox-apt:
Fabian Ebner (6):
initial commit
add files for Debian packaging
add functions to check for Proxmox repositories
add check_repositories function
add common_digest helper
add replace_suite function and constants for the current/next stable
suites
proxmox-backup:
Fabian Ebner (5):
depend on new proxmox-apt crate
api: apt: add repositories call
ui: add APT repositories
add check_repositories_call
RFC: add upgrade_repositories call
Cargo.toml | 1 +
debian/control | 1 +
src/api2/node/apt.rs | 176 +++++++++++++++++++++++++++++++++++-
www/ServerAdministration.js | 8 ++
4 files changed, 185 insertions(+), 1 deletion(-)
proxmox-widget-toolkit:
Fabian Ebner (3):
add UI for APT repositories
APT repositories: add warnings
add upgrade button
src/Makefile | 1 +
src/node/APTRepositories.js | 465 ++++++++++++++++++++++++++++++++++++
2 files changed, 466 insertions(+)
create mode 100644 src/node/APTRepositories.js
pve-rs:
Fabian Ebner (5):
add cargo config
add perlmod crate with initial APT module
add files for Debian packaging
update .gitignore
RFC: add upgrade_repositories wrapper
.cargo/config | 5 ++
.gitignore | 6 +++
Cargo.toml | 3 +-
Makefile | 73 ++++++++++++++++++++++++++
debian/changelog | 5 ++
debian/compat | 1 +
debian/control | 20 +++++++
debian/copyright | 16 ++++++
debian/rules | 7 +++
debian/triggers | 1 +
perlmod/Cargo.toml | 17 ++++++
perlmod/src/apt/mod.rs | 1 +
perlmod/src/apt/repositories.rs | 92 +++++++++++++++++++++++++++++++++
perlmod/src/lib.rs | 1 +
14 files changed, 247 insertions(+), 1 deletion(-)
create mode 100644 .cargo/config
create mode 100644 Makefile
create mode 100644 debian/changelog
create mode 100644 debian/compat
create mode 100644 debian/control
create mode 100644 debian/copyright
create mode 100755 debian/rules
create mode 100644 debian/triggers
create mode 100644 perlmod/Cargo.toml
create mode 100644 perlmod/src/apt/mod.rs
create mode 100644 perlmod/src/apt/repositories.rs
create mode 100644 perlmod/src/lib.rs
pve-manager:
Fabian Ebner (4):
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
PVE/API2/APT.pm | 265 ++++++++++++++++++++++++++++++++++++
www/manager6/node/Config.js | 8 ++
2 files changed, 273 insertions(+)
--
2.20.1
More information about the pve-devel
mailing list