Skip to content

Commit c4b0976

Browse files
committed
packaging: add a pkg/rpm command for generating RPMs
1 parent 65301f6 commit c4b0976

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

Cargo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,14 @@ extended-description = """\
158158
Garden helps you define development workflows that operate over collections of
159159
self-contained and inter-dependent Git worktrees.
160160
"""
161+
162+
[package.metadata.generate-rpm]
163+
assets = [
164+
{ source = "target/x86_64-unknown-linux-musl/pkg/garden", dest = "/usr/bin/", mode = "755" },
165+
{ source = "LICENSE", dest = "/usr/share/doc/garden/", mode = "644", doc = true },
166+
{ source = "README.md", dest = "/usr/share/doc/garden/", mode = "644", doc = true },
167+
{ source = "doc/src/changelog.md", dest = "/usr/share/doc/garden/CHANGELOG.md", mode = "644", doc = true },
168+
{ source = "pkg/completion/garden.bash", dest = "/usr/share/bash-completion/completions/garden", mode = "644" },
169+
{ source = "pkg/completion/garden.fish", dest = "/usr/share/fish/vendor_completions.d/garden.fish", mode = "644" },
170+
{ source = "pkg/completion/_garden", dest = "/usr/share/zsh/vendor-completions/", mode = "644" },
171+
]

garden.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,13 @@ commands:
8989
mkdir -p target/debian
9090
cargo deb --profile pkg --target "${target-core}" --output target/debian
9191
cargo deb --profile pkg --target "${target-gui}" --manifest-path gui/Cargo.toml --output target/debian
92+
pkg/rpm>:
93+
- pkg/build
94+
- pkg/completion
95+
- pkg/gen/rpm
96+
pkg/gen/rpm: |
97+
cargo generate-rpm
98+
cargo generate-rpm --package gui
9299
publish: |
93100
cargo publish --package garden-tools "$@"
94101
cargo publish --package garden-gui "$@"

gui/Cargo.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,10 @@ extended-description = """\
5252
Garden GUI is a graphical user interface for Garden.
5353
https://crates.io/crates/garden-tools
5454
"""
55+
56+
[package.metadata.generate-rpm]
57+
assets = [
58+
{ source = "target/x86_64-unknown-linux-gnu/pkg/garden-gui", dest = "/usr/bin/", mode = "755" },
59+
{ source = "../LICENSE", dest = "/usr/share/doc/garden-gui/", mode = "644", doc = true },
60+
{ source = "../README.md", dest = "/usr/share/doc/garden-gui/", mode = "644", doc = true },
61+
]

0 commit comments

Comments
 (0)