]> git.proxmox.com Git - pve-xtermjs.git/blobdiff - Makefile
bump version to 4.7.0-2
[pve-xtermjs.git] / Makefile
index 865a2afbfc067626350a46611de173cfb638a21b..7a73fe721395a747cae4239c62ffa45e7170754d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,52 +1,89 @@
 include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/architecture.mk
 
 PACKAGE=pve-xtermjs
+CRATENAME=termproxy
 
 export VERSION=${DEB_VERSION_UPSTREAM_REVISION}
 
-XTERMJSVER=3.13.2
+XTERMJSVER=4.7.0
 XTERMJSTGZ=xterm-${XTERMJSVER}.tgz
 
+FITADDONVER=0.4.0
+FITADDONTGZ=xterm-addon-fit-${FITADDONVER}.tgz
+
 SRCDIR=src
+GITVERSION:=$(shell git rev-parse HEAD)
 
-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}_all.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}:
-       rm -rf ${SRCDIR}.tmp
-       cp -rpa ${SRCDIR} ${SRCDIR}.tmp
-       cp -a debian ${SRCDIR}.tmp/
-       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}
 
+.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:
        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}
-       tar -C $(SRCDIR)/www -xf ${XTERMJSTGZ} package/dist --strip-components=2 ${X_EXCLUSIONS}
-       rm ${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