Commit 9efc7e21
0
files
+0
added
-0
deleted
@@ -1,7 +1,7 @@
1
1
pkgname: linux-headers
2
2
pkgver: '7.2.5'
3
-pkgrel: '2'
4
-pkgdesc: 'Pliki nagłówkowe jądra 7.2.5-pagan dla modułów DKMS (NVIDIA itp.)'
3
+pkgrel: '3'
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
7
7
license:
@@ -11,53 +11,34 @@ provides:
11
11
- linux-headers
12
12
- linux-headers-7.2.5-pagan
13
13
14
-depends: []
15
-makedepends:
16
-- bc
17
-- bison
18
-- flex
19
-- make
20
-- gcc
21
-
22
-source:
23
-- https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-${pkgver}.tar.xz
24
-
25
-sha256sums:
26
-- SKIP
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.
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:
21
+# • `make modules_prepare` daje PUSTY Module.symvers, a jądro ma
22
+# CONFIG_MODVERSIONS=y → modpost nie ma wersji symboli i linkowanie modułu
23
+# zewnętrznego pada („no symbol version for …” / brak Module.symvers),
24
+# • `defconfig` ≠ konfiguracja jądra Pagan → moduł ma złe vermagic i się nie
25
+# załaduje.
26
+# Skutek: DKMS (NVIDIA 610, VirtualBox) nie działał na zainstalowanym systemie.
27
+depends:
28
+- kernel
29
+
30
+# Bez własnego źródła – nie kompilujemy tu niczego.
31
+source: []
32
+sha256sums: []
27
33
28
34
build: |
29
- cd linux-${pkgver}
30
-
31
- # 1. Przygotowanie konfiguracji i wygenerowanie nagłówków
32
- make mrproper
33
- make defconfig
34
- make prepare
35
- make modules_prepare
36
-
37
- # 2. Ścieżki wewnątrz PKGDIR
38
- _hdrdir="${PKGDIR}/usr/src/${pkgname}"
39
- mkdir -p "${_hdrdir}"
40
- mkdir -p "${PKGDIR}/lib/modules/${pkgver}-pagan"
41
-
42
- # 3. Kopiowanie plików korzenia i konfiguracji (.config jest kluczowy dla DKMS)
43
- cp -a include scripts Makefile Kconfig Kbuild Module.symvers System.map .config "${_hdrdir}/" 2>/dev/null || true
44
-
45
- # 4. Kopiowanie pełnego drzewa architektury (wymagane arch/x86/Makefile)
46
- mkdir -p "${_hdrdir}/arch"
47
- cp -a arch/x86 "${_hdrdir}/arch/"
48
-
49
- # 5. Kopiowanie wygenerowanych plików nagłówkowych i obiektów kbuild
50
- if [ -d include/generated ]; then
51
- mkdir -p "${_hdrdir}/include/generated"
52
- cp -a include/generated/* "${_hdrdir}/include/generated/"
53
- fi
54
- if [ -d include/config ]; then
55
- mkdir -p "${_hdrdir}/include/config"
56
- cp -a include/config/* "${_hdrdir}/include/config/"
57
- fi
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
58
39
59
- # 6. Tworzenie symlinka dla DKMS
60
- ln -snf "/usr/src/${pkgname}" "${PKGDIR}/lib/modules/${pkgver}-pagan/build"
40
+ # Zgodność ze starymi skryptami/hookami szukającymi /usr/src/linux-headers.
41
+ ln -snf kernel ${PKGDIR}/usr/src/linux-headers-${pkgver}-pagan
61
42
62
43
package: |
63
- true
44
+ true