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