From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <w.bumiller@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 3B4437D775
 for <pve-devel@lists.proxmox.com>; Tue,  9 Nov 2021 12:27:55 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id F0B2BAF73
 for <pve-devel@lists.proxmox.com>; Tue,  9 Nov 2021 12:27:24 +0100 (CET)
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))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id 7F637AF37
 for <pve-devel@lists.proxmox.com>; Tue,  9 Nov 2021 12:27:23 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 4F4F7453D0
 for <pve-devel@lists.proxmox.com>; Tue,  9 Nov 2021 12:27:23 +0100 (CET)
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Tue,  9 Nov 2021 12:26:50 +0100
Message-Id: <20211109112721.130935-2-w.bumiller@proxmox.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20211109112721.130935-1-w.bumiller@proxmox.com>
References: <20211109112721.130935-1-w.bumiller@proxmox.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.562 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. [test.pl]
Subject: [pve-devel] [PATCH proxmox-perl-rs 1/6] import basic skeleton
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: Tue, 09 Nov 2021 11:27:55 -0000

Signed-off-by: Wolfgang Bumiller <w.bumiller@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