Skip to content

Commit 5c3a6bb

Browse files
committed
build: rpm package with cargo generate-rpm
The generated rpm package has the same scope as the deb package: the stg executable, along with man pages, completions, and vim files are installed. The stg executable is built with --no-default-features to avoid dynamic linkage with libbz2, libcurl, etc. in order to maximize portability.
1 parent 06c6bca commit 5c3a6bb

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

Cargo.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,17 @@ assets = [
7272
["contrib/vim/ftdetect/stg.vim", "usr/share/vim/addons/ftdetect/", "644"],
7373
["contrib/vim/syntax/*.vim", "usr/share/vim/addons/syntax/", "644"],
7474
]
75+
76+
[package.metadata.generate-rpm]
77+
assets = [
78+
{ source = "target/release/stg", dest = "/usr/bin/", mode = "755" },
79+
{ source = "README.md", dest = "/usr/share/doc/stgit/", mode = "644" },
80+
{ source = "COPYING", dest = "/usr/share/licenses/stgit/", mode = "644" },
81+
{ source = "Documentation/*.1", dest = "/usr/share/man/man1/", mode = "644", doc = true },
82+
{ source = "completion/stgit.zsh", dest = "/usr/share/zsh/site-functions/_stg", mode = "644" },
83+
{ source = "completion/stg.fish", dest = "/usr/share/fish/vendor_completions.d/", mode = "644" },
84+
{ source = "completion/stgit.bash", dest = "/usr/share/bash-completion/completions/stg", mode = "644" },
85+
{ source = "contrib/vim/ftdetect/stg.vim", dest = "/usr/share/vim/vimfiles/ftdetect/", mode = "644" },
86+
{ source = "contrib/vim/syntax/*.vim", dest = "/usr/share/vim/vimfiles/syntax/", mode = "644" },
87+
]
88+
requires = { git-core = "*", git-email = "*", vim-filesystem = "*" }

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ install-contrib:
6363
deb: completion doc build-no-features
6464
$(CARGO_OFFLINE) deb
6565

66-
.PHONY: deb
66+
rpm: completion doc build-no-features
67+
$(CARGO_OFFLINE) generate-rpm
68+
69+
.PHONY: deb rpm
6770

6871

6972
lint: lint-format lint-clippy lint-api-doc lint-t unit-test

0 commit comments

Comments
 (0)