From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 9297C1FF164 for <inbox@lore.proxmox.com>; Fri, 28 Mar 2025 18:14:02 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 8F88B818D; Fri, 28 Mar 2025 18:13:50 +0100 (CET) From: Gabriel Goller <g.goller@proxmox.com> To: pve-devel@lists.proxmox.com Date: Fri, 28 Mar 2025 18:12:54 +0100 Message-Id: <20250328171340.885413-7-g.goller@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250328171340.885413-1-g.goller@proxmox.com> References: <20250328171340.885413-1-g.goller@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.026 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_SHORT 0.001 Use of a URL Shortener for very short URL SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH proxmox-ve-rs 05/17] frr: create proxmox-frr crate 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> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> This crate holds FRR-types, so rust-types that closely resemble FRR-configuration items. These types can then simply be converted to strings (and the final FRR config) by serializing. This has minimal dependencies and it's only internal dependency is proxmox-network-types, which holds common types. This way we could reuse proxmox-frr on different products, without dragging product-specific types with us. Signed-off-by: Gabriel Goller <g.goller@proxmox.com> --- Cargo.toml | 1 + proxmox-frr/Cargo.toml | 22 +++++++++++++++ proxmox-frr/debian/changelog | 5 ++++ proxmox-frr/debian/control | 47 ++++++++++++++++++++++++++++++++ proxmox-frr/debian/copyright | 18 ++++++++++++ proxmox-frr/debian/debcargo.toml | 7 +++++ proxmox-frr/src/lib.rs | 0 7 files changed, 100 insertions(+) create mode 100644 proxmox-frr/Cargo.toml create mode 100644 proxmox-frr/debian/changelog create mode 100644 proxmox-frr/debian/control create mode 100644 proxmox-frr/debian/copyright create mode 100644 proxmox-frr/debian/debcargo.toml create mode 100644 proxmox-frr/src/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 82f7fe257615..928d7cf4a062 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,7 @@ [workspace] members = [ "proxmox-ve-config", + "proxmox-frr", "proxmox-network-types", ] exclude = [ diff --git a/proxmox-frr/Cargo.toml b/proxmox-frr/Cargo.toml new file mode 100644 index 000000000000..e40cd1cd37ec --- /dev/null +++ b/proxmox-frr/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "proxmox-frr" +description = "Rust types for the FRR configuration file" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license.workspace = true +homepage.workspace = true +exclude.workspace = true +rust-version.workspace = true + +[dependencies] +thiserror = { workspace = true } +anyhow = "1" +tracing = "0.1" + +serde = { workspace = true, features = [ "derive" ] } +serde_with = { workspace = true } +itoa = "1.0.9" + +proxmox-network-types = { version = "0.1", path = "../proxmox-network-types/" } + diff --git a/proxmox-frr/debian/changelog b/proxmox-frr/debian/changelog new file mode 100644 index 000000000000..5cfba8538fe4 --- /dev/null +++ b/proxmox-frr/debian/changelog @@ -0,0 +1,5 @@ +rust-proxmox-frr (0.1.0) unstable; urgency=medium + + * Initial release. + + -- Proxmox Support Team <support@proxmox.com> Mon, 03 Jun 2024 10:51:11 +0200 diff --git a/proxmox-frr/debian/control b/proxmox-frr/debian/control new file mode 100644 index 000000000000..cde6b788cadf --- /dev/null +++ b/proxmox-frr/debian/control @@ -0,0 +1,47 @@ +Source: rust-proxmox-frr +Section: rust +Priority: optional +Build-Depends: debhelper-compat (= 13), + dh-sequence-cargo +Build-Depends-Arch: cargo:native <!nocheck>, + rustc:native (>= 1.82) <!nocheck>, + libstd-rust-dev <!nocheck>, + librust-anyhow-1+default-dev <!nocheck>, + librust-itoa-1+default-dev (>= 1.0.9-~~) <!nocheck>, + librust-proxmox-network-types-0.1+default-dev <!nocheck>, + librust-serde-1+default-dev <!nocheck>, + librust-serde-1+derive-dev <!nocheck>, + librust-serde-with-3+default-dev (>= 3.8.1-~~) <!nocheck>, + librust-thiserror-2+default-dev <!nocheck>, + librust-tracing-0.1+default-dev <!nocheck> +Maintainer: Proxmox Support Team <support@proxmox.com> +Standards-Version: 4.7.0 +Vcs-Git: git://git.proxmox.com/git/proxmox-ve-rs.git +Vcs-Browser: https://git.proxmox.com/?p=proxmox-ve-rs.git +Homepage: https://proxmox.com +X-Cargo-Crate: proxmox-frr +Rules-Requires-Root: no + +Package: librust-proxmox-frr-dev +Architecture: any +Multi-Arch: same +Depends: + ${misc:Depends}, + librust-anyhow-1+default-dev, + librust-itoa-1+default-dev (>= 1.0.9-~~), + librust-proxmox-network-types-0.1+default-dev, + librust-serde-1+default-dev, + librust-serde-1+derive-dev, + librust-serde-with-3+default-dev (>= 3.8.1-~~), + librust-thiserror-2+default-dev, + librust-tracing-0.1+default-dev +Provides: + librust-proxmox-frr+default-dev (= ${binary:Version}), + librust-proxmox-frr-0-dev (= ${binary:Version}), + librust-proxmox-frr-0+default-dev (= ${binary:Version}), + librust-proxmox-frr-0.1-dev (= ${binary:Version}), + librust-proxmox-frr-0.1+default-dev (= ${binary:Version}), + librust-proxmox-frr-0.1.0-dev (= ${binary:Version}), + librust-proxmox-frr-0.1.0+default-dev (= ${binary:Version}) +Description: Rust types for the FRR configuration file - Rust source code + Source code for Debianized Rust crate "proxmox-frr" diff --git a/proxmox-frr/debian/copyright b/proxmox-frr/debian/copyright new file mode 100644 index 000000000000..1ea8a56b4f58 --- /dev/null +++ b/proxmox-frr/debian/copyright @@ -0,0 +1,18 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: + * +Copyright: 2019 - 2025 Proxmox Server Solutions GmbH <support@proxmox.com> +License: AGPL-3.0-or-later + This program is free software: you can redistribute it and/or modify it under + the terms of the GNU Affero General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) any + later version. + . + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more + details. + . + You should have received a copy of the GNU Affero General Public License along + with this program. If not, see <https://www.gnu.org/licenses/>. diff --git a/proxmox-frr/debian/debcargo.toml b/proxmox-frr/debian/debcargo.toml new file mode 100644 index 000000000000..87a787e6d03e --- /dev/null +++ b/proxmox-frr/debian/debcargo.toml @@ -0,0 +1,7 @@ +overlay = "." +crate_src_path = ".." +maintainer = "Proxmox Support Team <support@proxmox.com>" + +[source] +vcs_git = "git://git.proxmox.com/git/proxmox-ve-rs.git" +vcs_browser = "https://git.proxmox.com/?p=proxmox-ve-rs.git" diff --git a/proxmox-frr/src/lib.rs b/proxmox-frr/src/lib.rs new file mode 100644 index 000000000000..e69de29bb2d1 -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel