From 2bf5d2fed2fed04351c5bf890e3460ab9d44c8ab Mon Sep 17 00:00:00 2001
From: d0p1 <contact@d0p1.eu>
Date: Tue, 26 Nov 2024 16:26:19 +0100
Subject: [PATCH] ci: build rpm

---
 .gitlab-ci.yml  | 20 ++++++++++++++++++++
 node/Cargo.toml |  7 ++++---
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 88dbca5ae..e49eb16c3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -136,6 +136,26 @@ build_deb:
     paths:
       - target/debian/duniter*.deb
 
+build_rpm:
+  stage: deploy
+  extends: .env
+  rules:
+    - if: $CI_COMMIT_REF_NAME =~ /^wip*$/
+      when: manual
+    - if: $CI_COMMIT_TAG
+      when: never
+    - <<: *is_network_branch
+      when: never
+    - if: '$CI_MERGE_REQUEST_ID || $CI_COMMIT_BRANCH == "master"'
+    - when: manual
+  script:
+    - cargo install cargo-generate-rpm
+    - cargo -Zgit=shallow-deps --release
+    - cargo generate-rpm -p node
+  artifacts:
+    paths:
+      - target/generate-rpm/duniter*.rpm
+
 tests:
   stage: tests
   extends: .env
diff --git a/node/Cargo.toml b/node/Cargo.toml
index 651e36420..1271c3d2b 100644
--- a/node/Cargo.toml
+++ b/node/Cargo.toml
@@ -215,8 +215,9 @@ assets = [
 
 [package.metadata.generate-rpm]
 assets = [
-	{ source = "../target/release/duniter", dest = "/usr/bin/duniter", mode = "755" },
+	{ source = "../target/release/duniter", dest = "/usr/bin/duniter2", mode = "755" },
 	{ source = "../resources/debian/env_file", dest = "/etc/duniter/env_file", config = true, mode = "0640" },
-	{ source = "../resources/debian/duniter-mirror.service", dest = "/etc/systemd/system/duniter-mirror.service", config = true, mode = "0644" },
-	{ source = "../resources/debian/duniter-smith.service", dest = "/etc/systemd/system/duniter-smith.service", config = true, mode = "0644" },
+	{ source = "../resources/debian/duniter-mirror.service", dest = "/usr/lib/systemd/system/duniter-mirror.service", mode = "0644" },
+	{ source = "../resources/debian/duniter-smith.service", dest = "/usr/lib/systemd/system/duniter-smith.service", mode = "0644" },
+	{ source = "../resources/debian/duniter-smith.service", dest = "/usr/lib/systemd/system/distance-oracle.service", mode = "0644" },
 ]
-- 
GitLab