← recipes

Commit 3e96f19c

3
files
+15
added
-57
deleted
@@ -36,7 +36,7 @@ sha256sums:
36 36 - d854364371f89cd735d15a6877b4bbe4bce133cd3167edef95ba5930f81bedf1
37 37 - f9fef3d14c0df53819026f4be74459835c2a0b0dcbf5b5bbd9ea19f0829402b3
38 38 - b509067e26487f23795b30640bbfdff0afba0c48290f1100fe880c9bdf369776
39 -- 539fe0535299477b5919f36f0ba04fa4e276bf8f6580d8d41d2aead0cf93a4a0
39 +- 684fbc17f2efed00be9ef38f45e2cf180858218d25c53bb9e4bc959f267cb25b
40 40
41 41 # ── Automatyczne podbijanie wersji (pagsync --check-updates, cron) ──
42 42 # Nowa wersja = najnowszy patch PRZYROSTOWY w linii 7.2 (kernel.org publikuje
@@ -1064,7 +1064,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y
1064 1064 CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y
1065 1065 # CONFIG_MODVERSIONS is not set
1066 1066 CONFIG_MODULE_SRCVERSION_ALL=y
1067 -CONFIG_MODULE_SIG=y
1067 +# CONFIG_MODULE_SIG is not set
1068 1068 # CONFIG_MODULE_SIG_FORCE is not set
1069 1069 CONFIG_MODULE_SIG_ALL=y
1070 1070 # CONFIG_MODULE_SIG_SHA256 is not set
@@ -1,7 +1,7 @@
1 1 pkgname: linux-headers
2 2 pkgver: '7.2.8'
3 -pkgrel: '2'
4 -pkgdesc: 'Nagłówki/źródła jądra Pagan do budowy modułów out-of-tree (DKMS) – wskazują pełne drzewo z pakietu `kernel`.'
3 +pkgrel: '3'
4 +pkgdesc: 'Meta-pakiet nagłówków jądra Pagan (dla DKMS). Drzewo źródeł i dowiązania build/source dostarcza pakiet `kernel`.'
5 5 url: 'https://www.kernel.org'
6 6 arch: x86_64
7 7 license:
@@ -11,68 +11,26 @@ provides:
11 11 - linux-headers
12 12 - linux-headers-7.2.8-pagan
13 13
14 -# Pełne drzewo źródłowe (z niepustym Module.symvers) oraz zgodna z uruchomionym
15 -# jądrem konfiguracja są w pakiecie `kernel` → /usr/src/kernel. Ten pakiet
16 -# wymaga `kernel` i tylko tworzy kanoniczne dowiązania.
14 +# PaganLinux jest usrmerge (/lib -> usr/lib), więc dowiązania, które pakiet
15 +# `kernel` tworzy w /usr/lib/modules/<ver>/{build,source} -> /usr/src/kernel,
16 +# są widoczne także jako /lib/modules/<ver>/... – czyli dokładnie tam, gdzie
17 +# szuka ich DKMS. Dlatego ten pakiet jest tylko meta-pakietem: nie duplikuje
18 +# drzewa jądra i nie potrzebuje hooków.
17 19 #
18 -# POPRZEDNIO budował WŁASNE drzewo (`make defconfig; make prepare;
19 -# make modules_prepare`) i tworzył /lib/modules/<ver>/build → /usr/src/linux-headers:
20 -# • `make modules_prepare` daje PUSTY Module.symvers, a jądro ma
21 -# CONFIG_MODVERSIONS=y → modpost nie ma wersji symboli i linkowanie modułu
22 -# zewnętrznego pada („no symbol version …”/brak Module.symvers),
23 -# • `defconfig` ≠ konfiguracja jądra Pagan → moduł ma złe vermagic i się nie
24 -# załaduje.
25 -# Skutek: DKMS (NVIDIA 610, VirtualBox) nie działał na zainstalowanym systemie.
20 +# (Wcześniej budował WŁASNE drzewo przez `make defconfig; make modules_prepare`
21 +# i przechwytywał /lib/modules/<ver>/build -> /usr/src/linux-headers. To dawało
22 +# PUSTY Module.symvers przy CONFIG_MODVERSIONS=y oraz config niezgodny z jądrem –
23 +# moduły DKMS nie linkowały się ani nie ładowały. To był błąd.)
26 24 depends:
27 25 - kernel
28 26
29 -# Bez własnego źródła – nic tu nie kompilujemy.
30 27 source: []
31 28 sha256sums: []
32 29
33 30 build: |
34 - # Nic nie budujemy: pełne drzewo dostarcza pakiet `kernel` (/usr/src/kernel).
35 - # Dowiązania tworzy hook post-install na docelowym systemie – bezwzględne i
36 - # NIEZALEŻNE od wersji jądra (nie wpisujemy „7.2.8-pagan” na sztywno).
31 + # Meta-pakiet: nic nie instaluje. Pełne drzewo /usr/src/kernel (z Module.symvers)
32 + # oraz dowiązania w /usr/lib/modules/<ver> dostarcza pakiet `kernel`.
37 33 :
38 34
39 -hooks:
40 - post-install: |
41 - export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
42 - # Wymagane pełne drzewo źródłowe z pakietu `kernel`.
43 - [ -d /usr/src/kernel ] || { echo "linux-headers: brak /usr/src/kernel (zainstaluj pakiet kernel)"; exit 0; }
44 - # Iterujemy po KANONICZNYM /usr/lib/modules/* (tam pakiet `kernel` instaluje
45 - # moduły i dowiązania build/source) i dla KAŻDego jądra tworzymy build/source
46 - # zarówno w /usr/lib/modules, jak i w /lib/modules – DKMS szuka NAJPIERW
47 - # /lib/modules/<ver>, a na systemach bez usrmerge (/lib != /usr/lib) ten
48 - # katalog dla nowego jądra jeszcze nie istnieje. Wcześniejszy błąd: pętla
49 - # wyłącznie po /lib/modules/* nic nie robiła, więc DKMS nie widział nagłówków.
50 - for _m in /usr/lib/modules/*; do
51 - [ -d "$_m" ] || continue
52 - _krel="$(basename "$_m")"
53 - ln -sfn /usr/src/kernel "$_m/build" 2>/dev/null || true
54 - ln -sfn /usr/src/kernel "$_m/source" 2>/dev/null || true
55 - mkdir -p "/lib/modules/$_krel" 2>/dev/null || true
56 - ln -sfn /usr/src/kernel "/lib/modules/$_krel/build" 2>/dev/null || true
57 - ln -sfn /usr/src/kernel "/lib/modules/$_krel/source" 2>/dev/null || true
58 - [ -e "/usr/src/linux-headers-$_krel" ] || ln -sfn kernel "/usr/src/linux-headers-$_krel" 2>/dev/null || true
59 - done
60 - # Ogólna ścieżka, na wypadek starszych skryptów: /usr/src/linux-headers -> kernel.
61 - [ -e /usr/src/linux-headers ] || ln -sfn kernel /usr/src/linux-headers 2>/dev/null || true
62 - post-upgrade: |
63 - export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
64 - [ -d /usr/src/kernel ] || exit 0
65 - for _m in /usr/lib/modules/*; do
66 - [ -d "$_m" ] || continue
67 - _krel="$(basename "$_m")"
68 - ln -sfn /usr/src/kernel "$_m/build" 2>/dev/null || true
69 - ln -sfn /usr/src/kernel "$_m/source" 2>/dev/null || true
70 - mkdir -p "/lib/modules/$_krel" 2>/dev/null || true
71 - ln -sfn /usr/src/kernel "/lib/modules/$_krel/build" 2>/dev/null || true
72 - ln -sfn /usr/src/kernel "/lib/modules/$_krel/source" 2>/dev/null || true
73 - done
74 - pre-remove: |
75 - true
76 -
77 35 package: |
78 36 true