Skip to content
Snippets Groups Projects
Commit 6940507f authored by d0p1's avatar d0p1 Committed by Hugo Trentesaux
Browse files

Packaging rpm (#260) (!292)

* ci: fix build_rpm

* packaging: rpm add duniter.sysusers file

* ci: build rpm

* packaging: build rpm with cargo-generate-rpm
parent ebc4730c
No related branches found
No related tags found
1 merge request!292Packaging rpm (#260)
Pipeline #38978 passed
...@@ -136,6 +136,26 @@ build_deb: ...@@ -136,6 +136,26 @@ build_deb:
paths: paths:
- target/debian/duniter*.deb - 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 build -Zgit=shallow-deps --release
- cargo generate-rpm -p node
artifacts:
paths:
- target/generate-rpm/duniter*.rpm
tests: tests:
stage: tests stage: tests
extends: .env extends: .env
......
# How to Build the Duniter RPM Package
1. Install dependencies:
```sh
# Fedora
sudo dnf install clang cmake protobuf-compiler openssl-devel
```
2. Compile the project:
```sh
cargo build --release
```
3. Install `cargo-generate-rpm`:
```sh
cargo install cargo-generate-rpm
```
4. Build the package:
```sh
cargo generate-rpm -p node
```
5. The `.rpm` package will be located in the `target/generate-rpm` folder.
...@@ -212,3 +212,14 @@ assets = [ ...@@ -212,3 +212,14 @@ assets = [
"755", "755",
], ],
] ]
[package.metadata.generate-rpm]
assets = [
{ source = "../target/release/duniter", dest = "/usr/bin/duniter2", mode = "755" },
{ source = "../resources/debian/duniter.sysusers", dest = "/usr/lib/sysusers.d/duniter.conf", mode = "0644" },
{ source = "../resources/debian/env_file", dest = "/etc/duniter/env_file", config = true, mode = "0640" },
{ source = "../LICENSE", dest = "/usr/share/licenses/duniter/LICENSE" },
{ 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" },
]
#Type Name ID GECOS Home directory Shell
u duniter - "Duniter user" /var/lib/duniter /sbin/nologin
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment