]> git.proxmox.com Git - pve-xtermjs.git/blob - Makefile
buildsys: use full DEB_VERSION and correct DEB_HOST_ARCH
[pve-xtermjs.git] / Makefile
1 include /usr/share/dpkg/pkg-info.mk
2 include /usr/share/dpkg/architecture.mk
3
4 PACKAGE=pve-xtermjs
5 CRATENAME=termproxy
6
7 export VERSION=$(DEB_VERSION_UPSTREAM_REVISION)
8
9 XTERMJSVER=4.16.0
10 XTERMJSTGZ=xterm-$(XTERMJSVER).tgz
11
12 FITADDONVER=0.5.0
13 FITADDONTGZ=xterm-addon-fit-$(FITADDONVER).tgz
14
15 DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
16 DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
17 DSC=rust-$(CRATENAME)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
18
19 ifeq ($(BUILD_MODE), release)
20 CARGO_BUILD_ARGS += --release
21 COMPILEDIR := target/release
22 else
23 COMPILEDIR := target/debug
24 endif
25
26 all: cargo-build $(SRCIDR)
27
28 .PHONY: $(SUBDIRS)
29 $(SUBDIRS):
30 make -C $@
31
32 .PHONY: cargo-build
33 cargo-build:
34 cargo build $(CARGO_BUILD_ARGS)
35
36 .PHONY: build
37 build:
38 rm -rf build
39 rm -f debian/control
40 debcargo package \
41 --config debian/debcargo.toml \
42 --changelog-ready \
43 --no-overlay-write-back \
44 --directory build \
45 $(CRATENAME) \
46 $(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//')
47 rm build/Cargo.lock
48 find build/debian -name "*.hint" -delete
49 cp build/debian/control debian/control
50 echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout $$(git rev-parse HEAD)" \
51 > $@.tmp/debian/SOURCE
52
53 .PHONY: deb
54 deb: $(DEB)
55 $(DEB) $(DBG_DEB): build
56 cd build; dpkg-buildpackage -b -uc -us --no-pre-clean
57 lintian $(DEB)
58 @echo $(DEB)
59
60 .PHONY: dsc
61 dsc: $(DSC)
62 $(DSC): build
63 cd build; dpkg-buildpackage -S -us -uc -d -nc
64 lintian $(DSC)
65
66 X_EXCLUSIONS=--exclude=addons/attach --exclude=addons/fullscreen --exclude=addons/search \
67 --exclude=addons/terminado --exclude=addons/webLinks --exclude=addons/zmodem
68 .PHONY: download
69 download:
70 wget https://registry.npmjs.org/xterm/-/$(XTERMJSTGZ) -O $(XTERMJSTGZ).tmp
71 wget https://registry.npmjs.org/xterm-addon-fit/-/$(FITADDONTGZ) -O $(FITADDONTGZ).tmp
72 mv $(XTERMJSTGZ).tmp $(XTERMJSTGZ)
73 mv $(FITADDONTGZ).tmp $(FITADDONTGZ)
74 tar -C src/www -xf $(XTERMJSTGZ) package/lib package/css --strip-components=2 $(X_EXCLUSIONS)
75 tar -C src/www -xf $(FITADDONTGZ) package/lib --strip-components=2 $(X_EXCLUSIONS)
76 rm $(XTERMJSTGZ) $(FITADDONTGZ)
77
78 .PHONY: upload
79 upload: $(DEB) $(DBG_DEB)
80 tar cf - $(DEB) $(DBG_DEB) |ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve,pbs --dist bullseye
81
82 .PHONY: distclean
83 distclean: clean
84
85 .PHONY: clean
86 clean:
87 rm -rf *~ debian/*~ $(PACKAGE)-*/ build/ *.deb *.changes *.dsc *.tar.?z *.buildinfo
88
89 .PHONY: dinstall
90 dinstall: deb
91 dpkg -i $(DEB)