On Wed, Jul 02, 2025 at 04:49:55PM +0200, Gabriel Goller wrote: > 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.gol...@proxmox.com> > --- > Cargo.toml | 1 + > proxmox-frr/Cargo.toml | 23 ++++++++++++++++ > 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, 101 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 07da9ef70e6d..dde2d91bf810 100644 > --- a/Cargo.toml > +++ b/Cargo.toml > @@ -1,6 +1,7 @@ > [workspace] > members = [ > "proxmox-ve-config", > + "proxmox-frr", > "proxmox-sdn-types", > ] > exclude = [ > diff --git a/proxmox-frr/Cargo.toml b/proxmox-frr/Cargo.toml > new file mode 100644 > index 000000000000..e29453ae09c3 > --- /dev/null > +++ b/proxmox-frr/Cargo.toml > @@ -0,0 +1,23 @@ > +[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"
^ This seems to be unused across the entire series. > + > +proxmox-network-types = { workspace = true } > +proxmox-sdn-types = { workspace = true } > + > diff --git a/proxmox-frr/debian/changelog b/proxmox-frr/debian/changelog > new file mode 100644 > index 000000000000..47d734857469 > --- /dev/null > +++ b/proxmox-frr/debian/changelog > @@ -0,0 +1,5 @@ > +rust-proxmox-frr (0.1.0-1) unstable; urgency=medium > + > + * Initial release. > + > + -- Proxmox Support Team <supp...@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..07b4fbe87629 > --- /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 <!nocheck>, > + librust-thiserror-2+default-dev <!nocheck>, > + librust-tracing-0.1+default-dev <!nocheck> > +Maintainer: Proxmox Support Team <supp...@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, > + 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 <supp...@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 <supp...@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