From 1690992b117422e7ccd6b98e1d1467ac0a4e00e7 Mon Sep 17 00:00:00 2001 From: James Morris Date: Sat, 23 Nov 2024 11:13:02 -0500 Subject: [PATCH] Issue-150 - rpm packaging --- .github/workflows/test.yml | 29 +++++++++++++++++++++++++++++ Cargo.toml | 9 +++++++++ 2 files changed, 38 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ed632dd..1705a14 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -80,6 +80,35 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} + build-rpm-package: + runs-on: ubuntu-latest + container: debian:11 + + steps: + - uses: actions/checkout@v4 + with: + path: clone + - name: Install dependencies + run: | + apt-get update + apt-get install -y build-essential dpkg-dev ca-certificates sudo curl + cd clone + apt-get build-dep -y . + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }} + - name: Build package + run: | + debian/rules vendor + cargo generte-rpm + working-directory: clone + - uses: actions/upload-artifact@v3 + with: + name: rpm-package + path: | + ./* + !./clone/** + build-debian-package-11: runs-on: ubuntu-latest container: debian:11 diff --git a/Cargo.toml b/Cargo.toml index cce6746..9fec11a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ num-traits = "^0.2" sd-notify = "^0.4" static_assertions = "1.1.0" dns-lookup = "2.0.4" +cargo-generate-rpm = "0.15.2" [dev-dependencies] criterion = "^0.5" @@ -33,3 +34,11 @@ temp-env = "^0.3" [[bench]] name = "user" harness = false + +[package.metadata.generate-rpm] +assets = [ + { source = "target/release/nsncd", dest = "/usr/bin/nsncd", mode = "0755" }, + { source = "debian/nsncd/lib/systemd/system/nsncd.service", dest = "/lib/systemd/system/nsncd.service", mode = "0644" }, + { source = "LICENSE", dest = "/usr/share/doc/nsncd/LICENSE", doc = true, mode = "0644" }, + { source = "README.md", dest = "/usr/share/doc/nsncd/README.md", doc = true, mode = "0644" } +]