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