From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com, pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH-SERIES v5] APT repositories API/UI
Date: Fri, 28 May 2021 16:29:39 +0200 [thread overview]
Message-ID: <20210528143002.16190-1-f.ebner@proxmox.com> (raw)
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
next reply other threads:[~2021-05-28 14:30 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-28 14:29 Fabian Ebner [this message]
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-apt 01/23] initial commit Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-apt 02/23] add files for Debian packaging Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-apt 03/23] add functions to check for Proxmox repositories Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-apt 04/23] add check_repositories function Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-apt 05/23] add common_digest helper Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-apt 06/23] add replace_suite function and constants for the current/next stable suites Fabian Ebner
2021-05-31 13:06 ` Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-widget-toolkit 07/23] add UI for APT repositories Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-widget-toolkit 08/23] APT repositories: add warnings Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-widget-toolkit 09/23] add upgrade button Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-backup 10/23] depend on new proxmox-apt crate Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-backup 11/23] api: apt: add repositories call Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-backup 12/23] ui: add APT repositories Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [PATCH v5 proxmox-backup 13/23] add check_repositories_call Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [RFC v5 proxmox-backup 14/23] RFC: add upgrade_repositories call Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [RFC v5 pve-rs 15/23] add cargo config Fabian Ebner
2021-05-31 12:53 ` Wolfgang Bumiller
2021-05-31 13:12 ` Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [RFC v5 pve-rs 16/23] add perlmod crate with initial APT module Fabian Ebner
2021-05-31 12:55 ` Wolfgang Bumiller
2021-05-31 13:17 ` Fabian Ebner
2021-05-31 13:07 ` Wolfgang Bumiller
2021-05-28 14:29 ` [pbs-devel] [RFC v5 pve-rs 17/23] add files for Debian packaging Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [RFC v5 pve-rs 18/23] update .gitignore Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [RFC v5 pve-rs 19/23] RFC: add upgrade_repositories wrapper Fabian Ebner
2021-05-28 14:29 ` [pbs-devel] [RFC v5 pve-manager 20/23] api: apt: add call to list repositories Fabian Ebner
2021-05-28 14:30 ` [pbs-devel] [RFC v5 pve-manager 21/23] ui: add panel for listing APT repositories Fabian Ebner
2021-05-28 14:30 ` [pbs-devel] [RFC v5 pve-manager 22/23] api: apt: add call for repository check Fabian Ebner
2021-05-28 14:30 ` [pbs-devel] [RFC v5 pve-manager 23/23] api: apt: add upgrade repos call Fabian Ebner
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=20210528143002.16190-1-f.ebner@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
--cc=pve-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