]> git.proxmox.com Git - pve-eslint.git/blob - Makefile
buildsys: prepare builddir atomically
[pve-eslint.git] / Makefile
1 include /usr/share/dpkg/pkg-info.mk
2
3 PACKAGE=pve-eslint
4
5 GITVERSION:=$(shell git rev-parse HEAD)
6 BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
7
8 DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
9 DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
10
11 SRCDIR=src
12 UPSTREAM=eslint
13 UPSTREAMTAG=v8.41.0
14 BUILDSRC=$(UPSTREAM)-$(UPSTREAMTAG)
15
16 all: $(DEB)
17 @echo $(DEB)
18
19 .PHONY: dsc deb builddir
20
21 $(BUILDDIR): builddir
22 builddir: $(SRCDIR)
23 rm -rf $(BUILDDIR).tmp $(BUILDDIR)
24 mkdir $(BUILDDIR).tmp
25 cp -a debian $(BUILDDIR).tmp/
26 cp -a $(SRCDIR)/* $(BUILDDIR).tmp/
27 echo "git clone git://git.proxmox.com/git/pve-eslint.git\\ngit checkout $(GITVERSION)" > $(BUILDDIR).tmp/debian/SOURCE
28 mv $(BUILDDIR).tmp $(BUILDDIR)
29
30
31 dsc: $(DSC)
32 $(DSC): builddir
33 cd $(BUILDDIR); dpkg-buildpackage -S -uc -us
34 lintian $(DSC)
35
36 deb: $(DEB)
37 $(DEB): builddir
38 cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
39 lintian $(DEB)
40 @echo $(DEB)
41
42 .PHONY: download
43 download:
44 rm -rf $(UPSTREAM).tmp $(UPSTREAM)
45 git clone -b $(UPSTREAMTAG) --depth 1 https://github.com/eslint/eslint $(UPSTREAM).tmp
46 rm -rf $(UPSTREAM).tmp/.git
47 find $(UPSTREAM).tmp/ -type f -name '.gitignore' -delete
48 mv $(UPSTREAM).tmp $(UPSTREAM)
49
50 # NOTE: needs npm installed, downloads packages from npm
51 .PHONY: buildupstream
52 buildupstream: $(BUILDSRC)
53 cp $(BUILDSRC)/build/eslint.js $(SRCDIR)/lib/eslint.js
54
55 $(BUILDSRC): $(UPSTREAM) patches
56 rm -rf $@
57 mkdir $@.tmp
58 rsync -ra $(UPSTREAM)/ $@.tmp
59 cd $@.tmp; ln -s ../patches patches
60 cd $@.tmp; quilt push -a
61 cd $@.tmp; rm -rf .pc ./patches
62 mv $@.tmp $@
63 cd $@; npm install
64 cd $@; npm run build:webpack
65
66 .PHONY: upload
67 upload: $(DEB)
68 tar cf - $(DEB) | ssh -X repoman@repo.proxmox.com -- upload --product devel --dist bullseye
69
70 .PHONY: distclean
71 distclean: clean
72
73 .PHONY: clean
74 clean:
75 rm -rf *~ debian/*~ *.deb $(BUILDSRC) *.tmp/ $(BUILDDIR) *.changes *.tar.gz *.dsc *.buildinfo
76
77 .PHONY: dinstall
78 dinstall: deb
79 dpkg -i $(DEB)