← recipes

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