[pve-devel] [PATCH proxmox-perl-rs 1/6] import basic skeleton

Wolfgang Bumiller w.bumiller at proxmox.com
Tue Nov 9 12:26:50 CET 2021


Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
---
 .cargo/config |  5 +++++
 .gitignore    |  7 +++++++
 Cargo.toml    |  2 ++
 Makefile      | 43 +++++++++++++++++++++++++++++++++++++++++++
 rustfmt.toml  |  1 +
 5 files changed, 58 insertions(+)
 create mode 100644 .cargo/config
 create mode 100644 .gitignore
 create mode 100644 Cargo.toml
 create mode 100644 Makefile
 create mode 100644 rustfmt.toml

diff --git a/.cargo/config b/.cargo/config
new file mode 100644
index 0000000..3b5b6e4
--- /dev/null
+++ b/.cargo/config
@@ -0,0 +1,5 @@
+[source]
+[source.debian-packages]
+directory = "/usr/share/cargo/registry"
+[source.crates-io]
+replace-with = "debian-packages"
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c74dd6c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+/target
+/*/target
+/build
+Cargo.lock
+/test.pl
+/PVE
+/PMG
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..e2c6ef8
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,2 @@
+[workspace]
+exclude = [ "build", "perl-*" ]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b6cb8bb
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,43 @@
+CARGO ?= cargo
+
+define to_upper
+$(shell echo "$(1)" | tr '[:lower:]' '[:upper:]')
+endef
+
+ifeq ($(BUILD_MODE), release)
+CARGO_BUILD_ARGS += --release
+endif
+
+.PHONY: all
+all:
+ifeq ($(BUILD_TARGET), pve)
+	$(MAKE) pve
+else ifeq ($(BUILD_TARGET), pmg)
+	$(MAKE) pve
+else
+	@echo "Run 'make pve' or 'make pmg'"
+endif
+
+.PHONY: pve pmg
+pve pmg:
+	@PERLMOD_PRODUCT=$(call to_upper,$@) \
+	  $(CARGO) $(CARGO_BUILD_ARGS) build -p $@-rs
+
+build:
+	mkdir build
+	echo system >build/rust-toolchain
+	cp -a ./perl-* ./build/
+	cp -a ./pve-rs ./pmg-rs ./build
+
+pve-deb: build
+	cd ./build/pve-rs && dpkg-buildpackage -b -uc -us
+	touch $@
+
+pmg-deb: build
+	cd ./build/pmg-rs && dpkg-buildpackage -b -uc -us
+	touch $@
+
+.PHONY: clean
+clean:
+	cargo clean
+	rm -rf ./build ./PVE ./PMG ./pve-deb ./pmg-deb
diff --git a/rustfmt.toml b/rustfmt.toml
new file mode 100644
index 0000000..32a9786
--- /dev/null
+++ b/rustfmt.toml
@@ -0,0 +1 @@
+edition = "2018"
-- 
2.30.2





More information about the pve-devel mailing list