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