]> git.proxmox.com Git - pve-eslint.git/blob - Makefile
buildsys: rework downloading and vendoring upstream
[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 UPSTREAMSRC=$(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)
45 $(MAKE) $(UPSTREAM)
46
47 $(UPSTREAM):
48 rm -rf $(UPSTREAM).tmp $(UPSTREAM)
49 git clone -b $(UPSTREAMTAG) --depth 1 https://github.com/eslint/eslint $(UPSTREAM).tmp
50 rm -rf $(UPSTREAM).tmp/.git
51 find $(UPSTREAM).tmp/ -type f -name '.gitignore' -delete
52 mv $(UPSTREAM).tmp $(UPSTREAM)
53
54 .PHONY: vendor-upstream
55 vendor-upstream:
56 rm -rf $(UPSTREAMSRC) src/lib/eslint.js
57 $(MAKE) src/lib/eslint.js
58
59 src/lib/eslint.js: $(UPSTREAMSRC)/build/eslint.js
60 cp $(UPSTREAMSRC)/build/eslint.js src/lib/eslint.js
61
62 $(UPSTREAMSRC)/build/eslint.js: $(UPSTREAMSRC)
63 # NOTE: needs npm installed, downloads packages from npm
64 cd $(UPSTREAMSRC); npm install
65 cd $(UPSTREAMSRC); npm run build:webpack
66
67 $(UPSTREAMSRC): $(UPSTREAM) patches
68 rm -rf $@ $@.tmp
69 mkdir $@.tmp
70 rsync -ra $(UPSTREAM)/ $@.tmp
71 cd $@.tmp; ln -s ../patches patches
72 cd $@.tmp; quilt push -a
73 cd $@.tmp; rm -rf .pc ./patches
74 mv $@.tmp $@
75
76 .PHONY: upload
77 upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
78 upload: $(DEB)
79 tar cf - $(DEB) | ssh -X repoman@repo.proxmox.com -- upload --product devel --dist $(UPLOAD_DIST)
80
81 .PHONY: distclean
82 distclean: clean
83
84 .PHONY: clean
85 clean:
86 rm -rf *~ debian/*~ *.deb $(BUILDSRC) *.tmp/ $(BUILDDIR) *.changes *.tar.gz *.dsc *.buildinfo
87
88 .PHONY: dinstall
89 dinstall: deb
90 dpkg -i $(DEB)