|
1 | 1 | .PHONY: all clean distclean install uninstall version deb |
2 | 2 |
|
3 | | -DEBIAN_DIR=desktop/packages/linux/debian |
| 3 | +SI := -i '' |
| 4 | +ifeq ($(shell sed --version 2>/dev/null | head -1 | grep -q GNU && echo GNU),GNU) |
| 5 | + SI := -i |
| 6 | +endif |
| 7 | + |
| 8 | +DEBIAN_DIR := desktop/packages/linux/debian |
| 9 | +DEBFULLNAME ?= unknown |
| 10 | +DEBEMAIL ?= unknown@localhost |
| 11 | +DEBDATE ?= $(shell date -R) |
| 12 | +DEBSUITE ?= unstable |
| 13 | + |
4 | 14 | prefix ?= /usr/local |
5 | 15 |
|
6 | | -VERSION := $(shell echo $(notdir $(CURDIR)) | tr -cd '0-9') |
7 | | -ifeq ($(VERSION),) |
8 | | - VERSION := $(shell date +%Y%m%d) |
| 16 | +VERSION := $(shell cargo metadata --format-version=1 --no-deps --offline | jq -r '.packages[] | select(.name == "ruffle_desktop").version') |
| 17 | +DEBIAN_ORIG_GZ := ../ruffle_$(VERSION).orig.tar.gz |
| 18 | +DEBIAN_ORIG_XZ := ../ruffle_$(VERSION).orig.tar.xz |
| 19 | +REVISION := $(shell echo $(notdir $(CURDIR)) | sed 's/$(VERSION)//' | tr -cd '0-9') |
| 20 | +ifeq ($(REVISION),) |
| 21 | + REVISION := $(shell date +%Y%m%d) |
9 | 22 | endif |
10 | 23 |
|
11 | 24 | all: ruffle_desktop |
@@ -41,9 +54,23 @@ uninstall: |
41 | 54 | -rm -f $(DESTDIR)$(prefix)/bin/ruffle_desktop |
42 | 55 |
|
43 | 56 | version: |
44 | | - @echo $(VERSION) |
45 | | - @-sed -i '1s/([0-9]\{8\})/($(VERSION))/' $(DEBIAN_DIR)/changelog |
| 57 | + @echo $(VERSION)-$(REVISION) |
| 58 | + @-if ! grep "$(VERSION)-$(REVISION)" $(DEBIAN_DIR)/changelog; then \ |
| 59 | + sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ |
| 60 | + sed $(SI) '1i\ -- $(DEBFULLNAME) <$(DEBEMAIL)> $(DEBDATE)' $(DEBIAN_DIR)/changelog; \ |
| 61 | + sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ |
| 62 | + cat .github/changelog.entries | while read line; do \ |
| 63 | + sed $(SI) "1i\ \ * $$line" $(DEBIAN_DIR)/changelog; \ |
| 64 | + done; \ |
| 65 | + sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ |
| 66 | + sed $(SI) '1iruffle ($(VERSION)-$(REVISION)) $(DEBSUITE); urgency=medium' $(DEBIAN_DIR)/changelog; \ |
| 67 | + fi |
46 | 68 |
|
47 | 69 | deb: version |
48 | | - -ln -s $(DEBIAN_DIR) debian |
| 70 | + @if [ ! -s $(DEBIAN_ORIG_XZ) -a ! -s $(DEBIAN_ORIG_GZ) ]; then \ |
| 71 | + echo 'Creating $(DEBIAN_ORIG_GZ) from HEAD...' >&2; \ |
| 72 | + git archive --prefix=ruffle-$(VERSION)/ -o $(DEBIAN_ORIG_GZ) HEAD; \ |
| 73 | + fi |
| 74 | + rm -rf debian |
| 75 | + cp -a $(DEBIAN_DIR) ./ |
49 | 76 | dpkg-buildpackage -us -uc |
0 commit comments