diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Cargo.toml | 3 | ||||
-rw-r--r-- | Makefile | 64 |
3 files changed, 68 insertions, 0 deletions
@@ -1 +1,2 @@ +/pkg /target @@ -39,3 +39,6 @@ tempfile = "3.1" tokio = { version = "0.2", features = ["full"] } uuid = { version = "0.8", features = ["v4"] } zeroize = "1.1" + +[package.metadata.deb] +depends = "pinentry" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c18ee30 --- /dev/null +++ b/Makefile @@ -0,0 +1,64 @@ +NAME = $(shell cargo metadata --no-deps --format-version 1 | jq '.packages[0].name') +VERSION = $(shell cargo metadata --no-deps --format-version 1 | jq '.packages[0].version') + +DEB_PACKAGE = $(NAME)_$(VERSION)_amd64.deb + +all: + @cargo build +.PHONY: all + +release: + @cargo build --release +.PHONY: release + +test: + @RUST_BACKTRACE=1 cargo test +.PHONY: test + +check: + @cargo check --all-targets +.PHONY: check + +doc: + @cargo doc --workspace +.PHONY: doc + +clean: + @rm -rf *.log pkg +.PHONY: clean + +cleanall: clean + @cargo clean +.PHONY: cleanall + +package: pkg/$(DEB_PACKAGE) +.PHONY: package + +pkg: + @mkdir pkg + +pkg/$(DEB_PACKAGE): | pkg + @cargo deb && mv target/debian/$(DEB_PACKAGE) pkg + +pkg/$(DEB_PACKAGE).minisig: pkg/$(DEB_PACKAGE) + @minisign -Sm pkg/$(DEB_PACKAGE) + +release-dir-deb: + @ssh tozt.net mkdir -p releases/teleterm/deb +.PHONY: release-dir-deb + +publish: publish-crates-io publish-git-tags publish-deb +.PHONY: publish + +publish-crates-io: test + @cargo publish +.PHONY: publish-crates-io + +publish-git-tags: test + @git tag $(VERSION) + @git push --tags +.PHONY: publish-git-tags + +publish-deb: test pkg/$(DEB_PACKAGE) pkg/$(DEB_PACKAGE).minisig release-dir-deb + @scp pkg/$(DEB_PACKAGE) pkg/$(DEB_PACKAGE).minisig tozt.net:releases/rbw/deb +.PHONY: publish-deb |