Skip to content

Commit 15fcf46

Browse files
committed
config_patchers: pad kernel version
1 parent ee39760 commit 15fcf46

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/penguin/config_patchers.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,6 +1301,15 @@ def is_kernel_version(name):
13011301
# Regex to match typical kernel version patterns
13021302
return re.match(r"^\d+\.\d+\.\d+(-[\w\.]+)?$", name) is not None
13031303

1304+
# Always use a.b.c format for the symlink target
1305+
@staticmethod
1306+
def pad_kernel_version(ver):
1307+
base = ver.split("-", 1)[0]
1308+
tokens = base.split(".")
1309+
while len(tokens) < 3:
1310+
tokens.append("0")
1311+
return ".".join(tokens)
1312+
13041313
def generate(self, patches):
13051314
result = defaultdict(dict)
13061315

@@ -1345,9 +1354,11 @@ def generate(self, patches):
13451354

13461355
if kernel_version:
13471356
# We have a kernel version, add it to our config
1348-
result["static_files"][f"/lib/modules/{self.kernel_version['selected_kernel']}"] = {
1357+
padded_selected = self.pad_kernel_version(self.kernel_version["selected_kernel"])
1358+
padded_target = self.pad_kernel_version(kernel_version)
1359+
result["static_files"][f"/lib/modules/{padded_selected}"] = {
13491360
"type": "symlink",
1350-
"target": f"/lib/modules/{kernel_version}",
1361+
"target": f"/lib/modules/{padded_target}",
13511362
}
13521363

13531364
return result

0 commit comments

Comments
 (0)