summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile49
1 files changed, 49 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a364f88
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,49 @@
1SHELL = bash
2
3snapshot_uri_base = https://snapshot.debian.org/package
4
5kernel_version != uname -r
6kernel_package_name != dpkg -S /boot/vmlinuz-$(kernel_version) | sed 's/:.*//'
7kernel_package_version != dpkg-query --showformat='$${Version}\n' -W "$(kernel_package_name)"
8kernel_source_package != dpkg-query --showformat='$${source:Package}\n' -W "$(kernel_package_name)"
9arch != dpkg-architecture -q DEB_HOST_ARCH
10
11want_version = ${kernel_package_version}
12want_package = linux-image-${arch}
13wantvencoded != sed 's/-/%2B/g' <<< "${want_version}"
14snapshot_uri = ${snapshot_uri_base}/${kernel_source_package}/${wantvencoded}/\#${want_package}_${want_version}
15want_filename = ${want_package}_${want_version}_${arch}.deb
16
17sudo != [ $$(id -u) = 0 ] || echo sudo
18dpkg := $(sudo) dpkg
19
20ifeq (,$(shell command -v hxprintlinks))
21$(shell $(sudo) apt install html-xml-utils >&2)
22endif
23
24ifeq (,$(shell command -v wget))
25$(shell $(sudo) apt install wget >&2)
26endif
27
28wanted_deb_uri != hxprintlinks "${snapshot_uri}" | \
29 hxcopy -i "${snapshot_uri_base}" -o . | \
30 hxclean | \
31 hxselect -c -s '\n' 'a::attr(href)' | \
32 grep -Fw -e '${want_filename}' | \
33 head -1
34
35.PHONY: install
36install: ${want_filename}
37 ${dpkg} -E -i $^
38 echo "${want_package} hold" | ${dpkg} --set-selections
39
40${want_filename}:
41 flock wget-log.txt \
42 wget -a wget-log.txt --show-progress -c '${wanted_deb_uri}' -O $@.partial
43 mv -T -- $@.partial $@
44
45info:
46 : '${want_package}' '${want_version}'
47 : '${want_filename}'
48 : '${wanted_deb_uri}'
49 dpkg -l linux-image\* | grep '^.i '