← recipes

Commit 4a5c03ed

0
files
+0
added
-0
deleted
@@ -1,6 +1,6 @@
1 1 pkgname: linux-headers
2 2 pkgver: '7.2.5'
3 -pkgrel: '3'
3 +pkgrel: '4'
4 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`.'
5 5 url: 'https://www.kernel.org'
6 6 arch: x86_64
@@ -12,33 +12,56 @@ provides:
12 12 - linux-headers-7.2.5-pagan
13 13
14 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. Dlatego ten
16 -# pakiet wymaga `kernel` i tylko wskazuje kanoniczne ścieżki.
15 +# jądrem konfiguracja są w pakiecie `kernel` → /usr/src/kernel. Ten pakiet
16 +# wymaga `kernel` i tylko tworzy kanoniczne dowiązania.
17 17 #
18 -# POPRZEDNIO ten pakiet budował WŁASNE drzewo (`make defconfig; make prepare;
19 -# make modules_prepare`) i tworzył /lib/modules/<ver>/build → /usr/src/linux-headers.
20 -# To było błędne:
18 +# POPRZEDNIO budował WŁASNE drzewo (`make defconfig; make prepare;
19 +# make modules_prepare`) i tworzył /lib/modules/<ver>/build → /usr/src/linux-headers:
21 20 # • `make modules_prepare` daje PUSTY Module.symvers, a jądro ma
22 21 # CONFIG_MODVERSIONS=y → modpost nie ma wersji symboli i linkowanie modułu
23 -# zewnętrznego pada („no symbol version for …” / brak Module.symvers),
22 +# zewnętrznego pada („no symbol version …”/brak Module.symvers),
24 23 # • `defconfig` ≠ konfiguracja jądra Pagan → moduł ma złe vermagic i się nie
25 24 # załaduje.
26 25 # Skutek: DKMS (NVIDIA 610, VirtualBox) nie działał na zainstalowanym systemie.
27 26 depends:
28 27 - kernel
29 28
30 -# Bez własnego źródła – nie kompilujemy tu niczego.
29 +# Bez własnego źródła – nic tu nie kompilujemy.
31 30 source: []
32 31 sha256sums: []
33 32
34 33 build: |
35 - # Kanoniczne drzewo dla DKMS: pełne /usr/src/kernel z pakietu `kernel`.
36 - install -dm0755 ${PKGDIR}/usr/src ${PKGDIR}/lib/modules/${pkgver}-pagan
37 - ln -snf /usr/src/kernel ${PKGDIR}/lib/modules/${pkgver}-pagan/build
38 - ln -snf /usr/src/kernel ${PKGDIR}/lib/modules/${pkgver}-pagan/source
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.5-pagan” na sztywno).
37 + :
39 38
40 - # Zgodność ze starymi skryptami/hookami szukającymi /usr/src/linux-headers.
41 - ln -snf kernel ${PKGDIR}/usr/src/linux-headers-${pkgver}-pagan
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 + # build/source dla KAŻDEGO zainstalowanego jądra (zarówno /lib, jak i /usr/lib –
45 + # na systemach bez usrmerge to różne katalogi, a DKMS szuka najpierw /lib/modules).
46 + for _m in /lib/modules/* /usr/lib/modules/*; do
47 + [ -d "$_m" ] || continue
48 + ln -sfn /usr/src/kernel "$_m/build" 2>/dev/null || true
49 + ln -sfn /usr/src/kernel "$_m/source" 2>/dev/null || true
50 + _krel="$(basename "$_m")"
51 + [ -e "/usr/src/linux-headers-$_krel" ] || ln -sfn kernel "/usr/src/linux-headers-$_krel" 2>/dev/null || true
52 + done
53 + # Ogólna ścieżka, na wypadek starszych skryptów: /usr/src/linux-headers -> kernel.
54 + [ -e /usr/src/linux-headers ] || ln -sfn kernel /usr/src/linux-headers 2>/dev/null || true
55 + post-upgrade: |
56 + export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
57 + [ -d /usr/src/kernel ] || exit 0
58 + for _m in /lib/modules/* /usr/lib/modules/*; do
59 + [ -d "$_m" ] || continue
60 + ln -sfn /usr/src/kernel "$_m/build" 2>/dev/null || true
61 + ln -sfn /usr/src/kernel "$_m/source" 2>/dev/null || true
62 + done
63 + pre-remove: |
64 + true
42 65
43 66 package: |
44 67 true