From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 ADC5A7189F; Fri, 11 Jun 2021 13:44:55 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 70D28108A3; Fri, 11 Jun 2021 13:44:25 +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 E066110872; Fri, 11 Jun 2021 13:44:23 +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 AD8F842F04; Fri, 11 Jun 2021 13:44:23 +0200 (CEST) From: Fabian Ebner To: pve-devel@lists.proxmox.com, pbs-devel@lists.proxmox.com Date: Fri, 11 Jun 2021 13:43:49 +0200 Message-Id: <20210611114418.28772-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.937 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% 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. [apt.rs, apt.pm] Subject: [pve-devel] [PATCH-SERIES v6] 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jun 2021 11:44:55 -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. 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. proxmox-apt: 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 suite 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 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 | 477 ++++++++++++++++++++++++++++++++++++ 2 files changed, 478 insertions(+) create mode 100644 src/node/APTRepositories.js proxmox-backup: 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(-) pve-rs: 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 pve-manager: 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 repositories PVE/API2/APT.pm | 267 ++++++++++++++++++++++++++++++++++++ www/manager6/node/Config.js | 9 ++ 2 files changed, 276 insertions(+) -- 2.20.1