]> git.proxmox.com Git - pve-firmware.git/blame - Makefile
drop outdated firmware lists
[pve-firmware.git] / Makefile
CommitLineData
60dfdcbf
TL
1include /usr/share/dpkg/pkg-info.mk
2
5b1835e3
TL
3PACKAGE = pve-firmware
4
5BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
b0256f55 6ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
5b1835e3 7
b0256f55 8DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
5b1835e3 9FW_DEB=$(PACKAGE)_$(DEB_VERSION)_all.deb
920e0f55 10DEBS=$(FW_DEB)
7bbca2e6 11
d6dee2a6 12.PHONY: deb
920e0f55 13deb: $(DEBS)
d6dee2a6 14
920e0f55 15$(FW_DEB): $(BUILDDIR)
920e0f55 16 cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
cf48ed1e 17
b0256f55
TL
18.PHONY: dsc
19dsc:
20 $(MAKE) clean
21 $(MAKE) $(DSC)
22 lintian $(DSC)
23
24$(DSC): $(ORIG_SRC_TAR) $(BUILDDIR)
25 cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
26
27sbuild: $(DSC)
28 sbuild $(DSC)
29
54156f4c
TL
30# NOTE: when collapsing FW lists keep major.minor still separated, so we can sunset the older ones
31# without user impact safely. The last oldstable list needs to be kept avoid breakage on upgrade
782f51b7 32.PHONY: fw.list
7dff192c 33fw.list: fwlist-5.15.5-1-pve
a9f83c55 34fw.list: fwlist-5.15.19-1-pve
7d7a1dd4 35fw.list: fwlist-5.15.27-1-pve
0c3bcd17 36fw.list: fwlist-5.15.35-1-pve
3c1331ce 37fw.list: fwlist-5.15.53-1-pve
62c51579 38fw.list: fwlist-5.19-iwlwifi-extra
01507c9b 39fw.list: fwlist-6.2.2-1-pve
c9aa35f2 40fw.list: fwlist-6.2.6-1-pve
be53606e
TL
41 rm -f $@.tmp $@
42 sort -u $^ > $@.tmp
43 mv $@.tmp $@
782f51b7 44
b0256f55
TL
45$(ORIG_SRC_TAR): $(BUILDDIR)
46 tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
47
920e0f55 48$(BUILDDIR): linux-firmware.git/WHENCE dvb-firmware.git/README fw.list
bdd992a8
TL
49 rm -rf $@ $@.tmp
50 mkdir -p $@.tmp/lib/firmware
1ad230ff 51 cp -a debian $@.tmp
0548190c 52 echo "git clone git://git.proxmox.com/git/pve-firmware.git\\ngit checkout $$(git rev-parse HEAD)" >$@.tmp/debian/SOURCE
bdd992a8
TL
53 cd linux-firmware.git; ./copy-firmware.sh -v ../$@.tmp/lib/firmware/
54 ./assemble-firmware.pl fw.list $@.tmp/lib/firmware
55 find $@.tmp/lib/firmware -empty -type d -delete
56 install -d $@.tmp/usr/share/doc/pve-firmware
57 cp linux-firmware.git/WHENCE $@.tmp/usr/share/doc/pve-firmware/README
58 install -d $@.tmp/usr/share/doc/pve-firmware/licenses
59 cp linux-firmware.git/LICEN[CS]E* $@.tmp/usr/share/doc/pve-firmware/licenses
d3674cb7
TL
60 # we only compress big ones that almost definitively ain't required in the initrd
61 # or are so big and unbuyable (netronome...)
bdd992a8
TL
62 cd $@.tmp/lib/firmware; find . -type f \( -name 'i[wb][lt]*' -o -path '*/netronome/*' \) -print0 | xargs -0 -n1 -P0 -- xz -C crc32
63 cd $@.tmp/lib/firmware; find . -xtype l -print0 | xargs -0 -n1 -P0 -- sh -c 'ln -sf "$$(readlink "$$0").xz" "$$0"; mv "$$0" "$$0.xz"'
64 mv $@.tmp $@
349bb95e
FG
65
66# upgrade to current master
67.PHONY: update_modules
01a072c6 68update_modules: submodule
349bb95e
FG
69 git submodule foreach 'git pull --ff-only origin master'
70
71# make sure submodules were initialized
01a072c6
FG
72.PHONY: submodule
73submodule dvb-firmware.git/README linux-firmware.git/WHENCE:
349bb95e 74 test -f "linux-firmware.git/WHENCE" || git submodule update --init
ff43d65f 75
46d7ecd0 76.PHONY: upload
920e0f55
TL
77upload: $(DEBS)
78 tar cf - $(DEBS) | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist bullseye
46d7ecd0 79
ff43d65f
FG
80.PHONY: clean
81clean:
67a3629c
TL
82 rm -rf $(PACKAGE)-[0-9]*/
83 rm -f $(PACKAGE)*.tar* *.deb *.dsc *.changes *.dsc *.buildinfo *.build