From: Hauke Mehrtens <hauke@hauke-m.de>
To: backports@vger.kernel.org
Cc: johannes@sipsolutions.net, Hauke Mehrtens <hauke@hauke-m.de>
Subject: [PATCH 01/30] backports: Adapt to changes in Ubuntu mainline URLs
Date: Tue, 1 Dec 2020 23:03:46 +0100 [thread overview]
Message-ID: <20201201220415.30582-2-hauke@hauke-m.de> (raw)
In-Reply-To: <20201201220415.30582-1-hauke@hauke-m.de>
The .deb files are now located in the /amd64/ sub folder.
Check not only for the _all header, but also check if there is at least
one _generic deb file. This was missing in some recent releases by
Ubuntu.
Reorder the __init__ function to be able to provide the arch to
_get_ubuntu_ppa_mainline_kernels().
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
devel/backports-update-manager | 44 ++++++++++++++++++++++------------
1 file changed, 29 insertions(+), 15 deletions(-)
diff --git a/devel/backports-update-manager b/devel/backports-update-manager
index dc969725..2ef82854 100755
--- a/devel/backports-update-manager
+++ b/devel/backports-update-manager
@@ -37,6 +37,21 @@ def make_version_tuple(ver):
sver.append(-1)
return sver
+def parse_ubuntu_ppa_page(version, baseurl):
+ html = urlopen(baseurl).read()
+ if b'Build for amd64 failed' in html:
+ return None
+ pkgs = re.findall(b'href="linux-headers-[^"]*-generic_[^"]*\.deb"', html)
+ if not pkgs:
+ return None
+ pkgs = re.findall(b'href="linux-headers-[^"]*_all\.deb"', html)
+ if not pkgs:
+ return None
+ pkgs = [p[6:-1] for p in pkgs]
+ pkgs.sort()
+ pkg = pkgs[-1].decode('ascii')
+ return (version, baseurl + pkg)
+
class backport_kernel_updater:
"""
This is the Linux kernel backports kernel updater. It ensures you
@@ -53,7 +68,7 @@ class backport_kernel_updater:
sys.exit(1)
@classmethod
- def _get_ubuntu_ppa_mainline_kernels(cls):
+ def _get_ubuntu_ppa_mainline_kernels(cls, pkg_arch):
base = KPATH
html = urlopen(base).read()
builds = re.findall(b'href="([-v.0-9a-z]*)/"', html)
@@ -96,17 +111,16 @@ class backport_kernel_updater:
for version in subvers:
version = version[1]
- html = urlopen(base + version + '/').read()
- if b'Build for amd64 failed' in html:
- continue
- pkgs = re.findall(b'href="linux-headers-[^"]*_all\.deb"', html)
- if not pkgs:
- continue
- pkgs = [p[6:-1] for p in pkgs]
- pkgs.sort()
- pkg = pkgs[-1].decode('ascii')
- result.append((version, base + version + '/' + pkg))
- break
+ baseurl = base + version + '/'
+ pkgs = parse_ubuntu_ppa_page(version, baseurl)
+ if pkgs:
+ result.append(pkgs)
+ break
+ baseurl = base + version + '/' + pkg_arch + '/'
+ pkgs = parse_ubuntu_ppa_page(version, baseurl)
+ if pkgs:
+ result.append(pkgs)
+ break
result.sort(key = lambda x: make_version_tuple(x[0][1:]))
return [x[1] for x in result]
@@ -116,7 +130,9 @@ class backport_kernel_updater:
reference=None):
self.ksrc_base = ""
self.ksrc_prefix = ""
- self.kernel_urls = self._get_ubuntu_ppa_mainline_kernels()
+ sysname, nodename, release, version, self.machine = os.uname()
+ self.pkg_arch = self.pkg_arch(self.machine)
+ self.kernel_urls = self._get_ubuntu_ppa_mainline_kernels(self.pkg_arch)
self.num_kernels = len(self.kernel_urls)
self.git_trees = GIT_TREES
self.git_trees_missing = list()
@@ -134,8 +150,6 @@ class backport_kernel_updater:
self.reference = reference
self.reference_git = None
self.cwd = os.getcwd()
- sysname, nodename, release, version, self.machine = os.uname()
- self.pkg_arch = self.pkg_arch(self.machine)
if self.root:
self.ksrc_base = self.cwd + "/"
self.ksrc_prefix = self.ksrc_base + BACKPORTS_KSRC_DIR
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
next prev parent reply other threads:[~2020-12-01 22:05 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-01 22:03 [PATCH 00/30] backports: Update to match kernel 5.10-rc6 Hauke Mehrtens
2020-12-01 22:03 ` Hauke Mehrtens [this message]
2020-12-01 22:03 ` [PATCH 02/30] gentree.py: Remoace space between -I and $(src) Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 03/30] backports: Extend NOSTDINC_FLAGS Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 04/30] patches: Refresh on kernel 5.8.18 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 05/30] backports: add sched_set_fifo_low Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 06/30] backports: add tasklet_setup, from_tasklet Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 07/30] backports: Add time64_to_tm and ipv6_mc_check_mld Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 08/30] backprots: make patches apply on 5.9.11 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 09/30] header: add module_sdio_driver Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 10/30] header: Rename kfree_sensitive(x) to kzfree(x) Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 11/30] header: dummy implementation for thermal_zone_device_enable Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 12/30] header: Add __skb_put_zero() Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 13/30] dependency: add MT7663S Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 14/30] backports: add gpiochip_request_own_desc() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 15/30] backports: Add microchip wilc1000 driver Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 16/30] backports: Make rx_list handling work on older kernel versions Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 17/30] patches: Add missing linux/kthread.h include Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 18/30] patches: Add include to rtw88 Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 19/30] patches: handle netdev_walk_all_lower_dev() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 20/30] patches: Remove unneeded 0018-pv-trace-fixes patch Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 21/30] patches: Refresh on kernel 5.10-rc6 Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 22/30] patches: Avoid using NLA_POLICY_RANGE(NLA_BINARY, ...) Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 23/30] patches: Deactivate hikey9xx staging driver Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 24/30] patches: Revert usage of small_ops Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 25/30] headers: Add DEFINE_SEQ_ATTRIBUTE Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 26/30] backports: Add netif_rx_any_context() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 27/30] backports: Add dev_fetch_sw_netstats() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 28/30] backports: Make ieee80211_tx_status handling work on older kernel versions Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 29/30] backports: Add sysfs_emit() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 30/30] backports: Remove crypto/akcipher.h Hauke Mehrtens
2020-12-06 15:57 ` [PATCH 00/30] backports: Update to match kernel 5.10-rc6 Hauke Mehrtens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201201220415.30582-2-hauke@hauke-m.de \
--to=hauke@hauke-m.de \
--cc=backports@vger.kernel.org \
--cc=johannes@sipsolutions.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).