From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path: <f.ebner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits))
(No client certificate requested)
by lists.proxmox.com (Postfix) with ESMTPS id 3D15C737A1;
Fri, 28 May 2021 16:30:09 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
by firstgate.proxmox.com (Proxmox) with ESMTP id 33423AC31;
Fri, 28 May 2021 16:30:09 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
[94.136.29.106])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by firstgate.proxmox.com (Proxmox) with ESMTPS id A0E3CABFE;
Fri, 28 May 2021 16:30:07 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 6FCB14179F;
Fri, 28 May 2021 16:30:07 +0200 (CEST)
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com,
pbs-devel@lists.proxmox.com
Date: Fri, 28 May 2021 16:29:39 +0200
Message-Id: <20210528143002.16190-1-f.ebner@proxmox.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results: 0
AWL 0.002 Adjusted score from AWL reputation of From: address
KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record
SPF_PASS -0.001 SPF: sender matches SPF record
URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
information. [lib.rs, apt.rs, repositories.rs, mod.rs, apt.pm]
Subject: [pve-devel] [PATCH-SERIES v5] APT repositories API/UI
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>,
<mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>,
<mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Fri, 28 May 2021 14:30:09 -0000
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