]> git.proxmox.com Git - pve-xtermjs.git/blobdiff - Makefile
bump version to 4.7.0-2
[pve-xtermjs.git] / Makefile
index 174ac7db2553bd59b34f35b2222d5587177603dd..7a73fe721395a747cae4239c62ffa45e7170754d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,51 +1,89 @@
-include defines.mk
+include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/architecture.mk
 
-XTERMJSVER=3.12.0
+PACKAGE=pve-xtermjs
+CRATENAME=termproxy
+
+export VERSION=${DEB_VERSION_UPSTREAM_REVISION}
+
+XTERMJSVER=4.7.0
 XTERMJSTGZ=xterm-${XTERMJSVER}.tgz
-XTERMJSDIR=package
-XTERMDATA = ${XTERMJSDIR}/dist/
+
+FITADDONVER=0.4.0
+FITADDONTGZ=xterm-addon-fit-${FITADDONVER}.tgz
 
 SRCDIR=src
+GITVERSION:=$(shell git rev-parse HEAD)
 
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-GITVERSION:=$(shell cat .git/refs/heads/master)
+DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_${DEB_BUILD_ARCH}.deb
+DSC=rust-${CRATENAME}_${DEB_VERSION_UPSTREAM_REVISION}.dsc
 
-DEB=${PACKAGE}_${VERSION}_${ARCH}.deb
+ifeq ($(BUILD_MODE), release)
+CARGO_BUILD_ARGS += --release
+COMPILEDIR := target/release
+else
+COMPILEDIR := target/debug
+endif
 
-all: ${DEB}
-       @echo ${DEB}
+all: cargo-build $(SRCIDR)
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+       make -C $@
+
+.PHONY: cargo-build
+cargo-build:
+       cargo build $(CARGO_BUILD_ARGS)
+
+.PHONY: build
+build:
+       rm -rf build
+       debcargo package \
+       --config debian/debcargo.toml \
+       --changelog-ready \
+       --no-overlay-write-back \
+       --directory build \
+       $(CRATENAME) \
+       $(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//')
+       rm build/Cargo.lock
+       find build/debian -name "*.hint" -delete
+       echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout ${GITVERSION}" > build/debian/SOURCE
 
 .PHONY: deb
 deb: ${DEB}
-${DEB}: ${XTERMDATA}
-       rm -rf ${SRCDIR}.tmp
-       cp -rpa ${SRCDIR} ${SRCDIR}.tmp
-       cp -a debian ${SRCDIR}.tmp/
-       cp -ar ${XTERMJSDIR}/dist/* ${SRCDIR}.tmp/www
-       echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout ${GITVERSION}" > ${SRCDIR}.tmp/debian/SOURCE
-       cd ${SRCDIR}.tmp; dpkg-buildpackage -b -uc -us
+$(DEB): build
+       cd build; dpkg-buildpackage -b -uc -us --no-pre-clean
        lintian ${DEB}
        @echo ${DEB}
 
-${XTERMDATA}: ${XTERMJSTGZ}
-       rm -rf ${XTTERMDIR}
-       tar -xf ${XTERMJSTGZ}
+.PHONY: dsc
+dsc: ${DSC}
+$(DSC): build
+       cd build; dpkg-buildpackage -S -us -uc -d -nc
+       lintian ${DSC}
 
+X_EXCLUSIONS=--exclude=addons/attach --exclude=addons/fullscreen --exclude=addons/search \
+  --exclude=addons/terminado --exclude=addons/webLinks --exclude=addons/zmodem
 .PHONY: download
-download ${XTERMJSTGZ}:
+download:
        wget https://registry.npmjs.org/xterm/-/${XTERMJSTGZ} -O ${XTERMJSTGZ}.tmp
+       wget https://registry.npmjs.org/xterm-addon-fit/-/${FITADDONTGZ} -O ${FITADDONTGZ}.tmp
        mv ${XTERMJSTGZ}.tmp ${XTERMJSTGZ}
+       mv ${FITADDONTGZ}.tmp ${FITADDONTGZ}
+       tar -C $(SRCDIR)/www -xf ${XTERMJSTGZ} package/lib package/css --strip-components=2 ${X_EXCLUSIONS}
+       tar -C $(SRCDIR)/www -xf ${FITADDONTGZ} package/lib --strip-components=2 ${X_EXCLUSIONS}
+       rm ${XTERMJSTGZ} ${FITADDONTGZ}
 
 .PHONY: upload
 upload: ${DEB}
-       tar cf - ${DEB}|ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve --dist stretch
+       tar cf - ${DEB}|ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve --dist buster
 
 .PHONY: distclean
 distclean: clean
 
 .PHONY: clean
 clean:
-       rm -rf *~ debian/*~ *_${ARCH}.deb ${SRCDIR}.tmp ${XTERMJSDIR} *_all.deb *.changes *.dsc *.buildinfo
+       rm -rf *~ debian/*~ ${PACKAGE}-*/ build/ *.deb *.changes *.dsc *.tar.?z *.buildinfo
 
 .PHONY: dinstall
 dinstall: deb