New package: linux5.10-5.10.1
This commit is contained in:
parent
0ed8ee27fd
commit
e34aec932f
17 changed files with 60389 additions and 0 deletions
1
srcpkgs/linux5.10-dbg
Symbolic link
1
srcpkgs/linux5.10-dbg
Symbolic link
|
@ -0,0 +1 @@
|
|||
linux5.10
|
1
srcpkgs/linux5.10-headers
Symbolic link
1
srcpkgs/linux5.10-headers
Symbolic link
|
@ -0,0 +1 @@
|
|||
linux5.10
|
282
srcpkgs/linux5.10/files/DocBook/Makefile
Normal file
282
srcpkgs/linux5.10/files/DocBook/Makefile
Normal file
|
@ -0,0 +1,282 @@
|
|||
###
|
||||
# This makefile is used to generate the kernel documentation,
|
||||
# primarily based on in-line comments in various source files.
|
||||
# See Documentation/kernel-doc-nano-HOWTO.txt for instruction in how
|
||||
# to document the SRC - and how to read it.
|
||||
# To add a new book the only step required is to add the book to the
|
||||
# list of DOCBOOKS.
|
||||
|
||||
DOCBOOKS := z8530book.xml \
|
||||
kernel-hacking.xml kernel-locking.xml \
|
||||
networking.xml \
|
||||
filesystems.xml lsm.xml kgdb.xml \
|
||||
libata.xml mtdnand.xml librs.xml rapidio.xml \
|
||||
s390-drivers.xml scsi.xml \
|
||||
sh.xml w1.xml
|
||||
|
||||
ifeq ($(DOCBOOKS),)
|
||||
|
||||
# Skip DocBook build if the user explicitly requested no DOCBOOKS.
|
||||
.DEFAULT:
|
||||
@echo " SKIP DocBook $@ target (DOCBOOKS=\"\" specified)."
|
||||
else
|
||||
ifneq ($(SPHINXDIRS),)
|
||||
|
||||
# Skip DocBook build if the user explicitly requested a sphinx dir
|
||||
.DEFAULT:
|
||||
@echo " SKIP DocBook $@ target (SPHINXDIRS specified)."
|
||||
else
|
||||
|
||||
|
||||
###
|
||||
# The build process is as follows (targets):
|
||||
# (xmldocs) [by docproc]
|
||||
# file.tmpl --> file.xml +--> file.ps (psdocs) [by db2ps or xmlto]
|
||||
# +--> file.pdf (pdfdocs) [by db2pdf or xmlto]
|
||||
# +--> DIR=file (htmldocs) [by xmlto]
|
||||
# +--> man/ (mandocs) [by xmlto]
|
||||
|
||||
|
||||
# for PDF and PS output you can choose between xmlto and docbook-utils tools
|
||||
PDF_METHOD = $(prefer-db2x)
|
||||
PS_METHOD = $(prefer-db2x)
|
||||
|
||||
|
||||
targets += $(DOCBOOKS)
|
||||
BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
|
||||
xmldocs: $(BOOKS)
|
||||
sgmldocs: xmldocs
|
||||
|
||||
PS := $(patsubst %.xml, %.ps, $(BOOKS))
|
||||
psdocs: $(PS)
|
||||
|
||||
PDF := $(patsubst %.xml, %.pdf, $(BOOKS))
|
||||
pdfdocs: $(PDF)
|
||||
|
||||
HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS)))
|
||||
htmldocs: $(HTML)
|
||||
$(call cmd,build_main_index)
|
||||
|
||||
MAN := $(patsubst %.xml, %.9, $(BOOKS))
|
||||
mandocs: $(MAN)
|
||||
find $(obj)/man -name '*.9' | xargs gzip -nf
|
||||
|
||||
# Default location for installed man pages
|
||||
export INSTALL_MAN_PATH = $(objtree)/usr
|
||||
|
||||
installmandocs: mandocs
|
||||
mkdir -p $(INSTALL_MAN_PATH)/man/man9/
|
||||
find $(obj)/man -name '*.9.gz' -printf '%h %f\n' | \
|
||||
sort -k 2 -k 1 | uniq -f 1 | sed -e 's: :/:' | \
|
||||
xargs install -m 644 -t $(INSTALL_MAN_PATH)/man/man9/
|
||||
|
||||
# no-op for the DocBook toolchain
|
||||
epubdocs:
|
||||
latexdocs:
|
||||
linkcheckdocs:
|
||||
|
||||
###
|
||||
#External programs used
|
||||
KERNELDOCXMLREF = $(srctree)/scripts/kernel-doc-xml-ref
|
||||
KERNELDOC = $(srctree)/scripts/kernel-doc
|
||||
DOCPROC = $(objtree)/scripts/docproc
|
||||
CHECK_LC_CTYPE = $(objtree)/scripts/check-lc_ctype
|
||||
|
||||
# Use a fixed encoding - UTF-8 if the C library has support built-in
|
||||
# or ASCII if not
|
||||
LC_CTYPE := $(call try-run, LC_CTYPE=C.UTF-8 $(CHECK_LC_CTYPE),C.UTF-8,C)
|
||||
export LC_CTYPE
|
||||
|
||||
XMLTOFLAGS = -m $(srctree)/$(src)/stylesheet.xsl
|
||||
XMLTOFLAGS += --skip-validation
|
||||
|
||||
###
|
||||
# DOCPROC is used for two purposes:
|
||||
# 1) To generate a dependency list for a .tmpl file
|
||||
# 2) To preprocess a .tmpl file and call kernel-doc with
|
||||
# appropriate parameters.
|
||||
# The following rules are used to generate the .xml documentation
|
||||
# required to generate the final targets. (ps, pdf, html).
|
||||
quiet_cmd_docproc = DOCPROC $@
|
||||
cmd_docproc = SRCTREE=$(srctree)/ $(DOCPROC) doc $< >$@
|
||||
define rule_docproc
|
||||
set -e; \
|
||||
$(if $($(quiet)cmd_$(1)),echo ' $($(quiet)cmd_$(1))';) \
|
||||
$(cmd_$(1)); \
|
||||
( \
|
||||
echo 'cmd_$@ := $(cmd_$(1))'; \
|
||||
echo $@: `SRCTREE=$(srctree) $(DOCPROC) depend $<`; \
|
||||
) > $(dir $@).$(notdir $@).cmd
|
||||
endef
|
||||
|
||||
%.xml: %.tmpl $(KERNELDOC) $(DOCPROC) $(KERNELDOCXMLREF) FORCE
|
||||
$(call if_changed_rule,docproc)
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
notfoundtemplate = echo "*** You have to install docbook-utils or xmlto ***"; \
|
||||
exit 1
|
||||
db2xtemplate = db2TYPE -o $(dir $@) $<
|
||||
xmltotemplate = xmlto TYPE $(XMLTOFLAGS) -o $(dir $@) $<
|
||||
|
||||
# determine which methods are available
|
||||
ifeq ($(shell which db2ps >/dev/null 2>&1 && echo found),found)
|
||||
use-db2x = db2x
|
||||
prefer-db2x = db2x
|
||||
else
|
||||
use-db2x = notfound
|
||||
prefer-db2x = $(use-xmlto)
|
||||
endif
|
||||
ifeq ($(shell which xmlto >/dev/null 2>&1 && echo found),found)
|
||||
use-xmlto = xmlto
|
||||
prefer-xmlto = xmlto
|
||||
else
|
||||
use-xmlto = notfound
|
||||
prefer-xmlto = $(use-db2x)
|
||||
endif
|
||||
|
||||
# the commands, generated from the chosen template
|
||||
quiet_cmd_db2ps = PS $@
|
||||
cmd_db2ps = $(subst TYPE,ps, $($(PS_METHOD)template))
|
||||
%.ps : %.xml
|
||||
$(call cmd,db2ps)
|
||||
|
||||
quiet_cmd_db2pdf = PDF $@
|
||||
cmd_db2pdf = $(subst TYPE,pdf, $($(PDF_METHOD)template))
|
||||
%.pdf : %.xml
|
||||
$(call cmd,db2pdf)
|
||||
|
||||
|
||||
index = index.html
|
||||
main_idx = $(obj)/$(index)
|
||||
quiet_cmd_build_main_index = HTML $(main_idx)
|
||||
cmd_build_main_index = rm -rf $(main_idx); \
|
||||
echo '<h1>Linux Kernel HTML Documentation</h1>' >> $(main_idx) && \
|
||||
echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \
|
||||
cat $(HTML) >> $(main_idx)
|
||||
|
||||
quiet_cmd_db2html = HTML $@
|
||||
cmd_db2html = xmlto html $(XMLTOFLAGS) -o $(patsubst %.html,%,$@) $< && \
|
||||
echo '<a HREF="$(patsubst %.html,%,$(notdir $@))/index.html"> \
|
||||
$(patsubst %.html,%,$(notdir $@))</a><p>' > $@
|
||||
|
||||
###
|
||||
# Rules to create an aux XML and .db, and use them to re-process the DocBook XML
|
||||
# to fill internal hyperlinks
|
||||
gen_aux_xml = :
|
||||
quiet_gen_aux_xml = echo ' XMLREF $@'
|
||||
silent_gen_aux_xml = :
|
||||
%.aux.xml: %.xml
|
||||
@$($(quiet)gen_aux_xml)
|
||||
@rm -rf $@
|
||||
@(cat $< | egrep "^<refentry id" | egrep -o "\".*\"" | cut -f 2 -d \" > $<.db)
|
||||
@$(KERNELDOCXMLREF) -db $<.db $< > $@
|
||||
.PRECIOUS: %.aux.xml
|
||||
|
||||
%.html: %.aux.xml
|
||||
@(which xmlto > /dev/null 2>&1) || \
|
||||
(echo "*** You need to install xmlto ***"; \
|
||||
exit 1)
|
||||
@rm -rf $@ $(patsubst %.html,%,$@)
|
||||
$(call cmd,db2html)
|
||||
@if [ ! -z "$(PNG-$(basename $(notdir $@)))" ]; then \
|
||||
cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi
|
||||
|
||||
quiet_cmd_db2man = MAN $@
|
||||
cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man/$(*F) $< ; fi
|
||||
%.9 : %.xml
|
||||
@(which xmlto > /dev/null 2>&1) || \
|
||||
(echo "*** You need to install xmlto ***"; \
|
||||
exit 1)
|
||||
$(Q)mkdir -p $(obj)/man/$(*F)
|
||||
$(call cmd,db2man)
|
||||
@touch $@
|
||||
|
||||
###
|
||||
# Rules to generate postscripts and PNG images from .fig format files
|
||||
quiet_cmd_fig2eps = FIG2EPS $@
|
||||
cmd_fig2eps = fig2dev -Leps $< $@
|
||||
|
||||
%.eps: %.fig
|
||||
@(which fig2dev > /dev/null 2>&1) || \
|
||||
(echo "*** You need to install transfig ***"; \
|
||||
exit 1)
|
||||
$(call cmd,fig2eps)
|
||||
|
||||
quiet_cmd_fig2png = FIG2PNG $@
|
||||
cmd_fig2png = fig2dev -Lpng $< $@
|
||||
|
||||
%.png: %.fig
|
||||
@(which fig2dev > /dev/null 2>&1) || \
|
||||
(echo "*** You need to install transfig ***"; \
|
||||
exit 1)
|
||||
$(call cmd,fig2png)
|
||||
|
||||
###
|
||||
# Rule to convert a .c file to inline XML documentation
|
||||
gen_xml = :
|
||||
quiet_gen_xml = echo ' GEN $@'
|
||||
silent_gen_xml = :
|
||||
%.xml: %.c
|
||||
@$($(quiet)gen_xml)
|
||||
@( \
|
||||
echo "<programlisting>"; \
|
||||
expand --tabs=8 < $< | \
|
||||
sed -e "s/&/\\&/g" \
|
||||
-e "s/</\\</g" \
|
||||
-e "s/>/\\>/g"; \
|
||||
echo "</programlisting>") > $@
|
||||
|
||||
endif # DOCBOOKS=""
|
||||
endif # SPHINDIR=...
|
||||
|
||||
###
|
||||
# Help targets as used by the top-level makefile
|
||||
dochelp:
|
||||
@echo ' Linux kernel internal documentation in different formats (DocBook):'
|
||||
@echo ' htmldocs - HTML'
|
||||
@echo ' pdfdocs - PDF'
|
||||
@echo ' psdocs - Postscript'
|
||||
@echo ' xmldocs - XML DocBook'
|
||||
@echo ' mandocs - man pages'
|
||||
@echo ' installmandocs - install man pages generated by mandocs to INSTALL_MAN_PATH'; \
|
||||
echo ' (default: $(INSTALL_MAN_PATH))'; \
|
||||
echo ''
|
||||
@echo ' cleandocs - clean all generated DocBook files'
|
||||
@echo
|
||||
@echo ' make DOCBOOKS="s1.xml s2.xml" [target] Generate only docs s1.xml s2.xml'
|
||||
@echo ' valid values for DOCBOOKS are: $(DOCBOOKS)'
|
||||
@echo
|
||||
@echo " make DOCBOOKS=\"\" [target] Don't generate docs from Docbook"
|
||||
@echo ' This is useful to generate only the ReST docs (Sphinx)'
|
||||
|
||||
|
||||
###
|
||||
# Temporary files left by various tools
|
||||
clean-files := $(DOCBOOKS) \
|
||||
$(patsubst %.xml, %.dvi, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.aux, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.tex, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.log, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.out, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.ps, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.pdf, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.html, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.9, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.aux.xml, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.xml.db, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, %.xml, $(DOCBOOKS)) \
|
||||
$(patsubst %.xml, .%.xml.cmd, $(DOCBOOKS)) \
|
||||
$(index)
|
||||
|
||||
clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man
|
||||
|
||||
cleandocs:
|
||||
$(Q)rm -f $(call objectify, $(clean-files))
|
||||
$(Q)rm -rf $(call objectify, $(clean-dirs))
|
||||
|
||||
# Declare the contents of the .PHONY variable as phony. We keep that
|
||||
# information in a variable so we can use it in if_changed and friends.
|
||||
|
||||
.PHONY: $(PHONY)
|
11489
srcpkgs/linux5.10/files/arm64-dotconfig
Normal file
11489
srcpkgs/linux5.10/files/arm64-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
9940
srcpkgs/linux5.10/files/i386-dotconfig
Normal file
9940
srcpkgs/linux5.10/files/i386-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
7
srcpkgs/linux5.10/files/mv-debug
Executable file
7
srcpkgs/linux5.10/files/mv-debug
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
mod=$1
|
||||
mkdir -p usr/lib/debug/${mod%/*}
|
||||
$OBJCOPY --only-keep-debug --compress-debug-sections $mod usr/lib/debug/$mod
|
||||
$OBJCOPY --add-gnu-debuglink=${DESTDIR}/usr/lib/debug/$mod $mod
|
||||
/usr/bin/$STRIP --strip-debug $mod
|
||||
gzip -9 $mod
|
8102
srcpkgs/linux5.10/files/ppc-dotconfig
Normal file
8102
srcpkgs/linux5.10/files/ppc-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
10040
srcpkgs/linux5.10/files/ppc64-dotconfig
Normal file
10040
srcpkgs/linux5.10/files/ppc64-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
9773
srcpkgs/linux5.10/files/ppc64le-dotconfig
Normal file
9773
srcpkgs/linux5.10/files/ppc64le-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
10136
srcpkgs/linux5.10/files/x86_64-dotconfig
Normal file
10136
srcpkgs/linux5.10/files/x86_64-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
10
srcpkgs/linux5.10/patches/musl.patch
Normal file
10
srcpkgs/linux5.10/patches/musl.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
--- linux-5.10.1/kernel/bpf/preload/iterators/iterators.c.orig
|
||||
+++ linux-5.10.1/kernel/bpf/preload/iterators/iterators.c
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright (c) 2020 Facebook */
|
||||
-#include <argp.h>
|
||||
+#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
26
srcpkgs/linux5.10/patches/ppc-vas-on-4k.patch
Normal file
26
srcpkgs/linux5.10/patches/ppc-vas-on-4k.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
diff --git a/arch/powerpc/platforms/powernv/Kconfig b/arch/powerpc/platforms/powernv/Kconfig
|
||||
index 938803eab0ad..40c81b358004 100644
|
||||
--- a/arch/powerpc/platforms/powernv/Kconfig
|
||||
+++ b/arch/powerpc/platforms/powernv/Kconfig
|
||||
@@ -35,7 +35,7 @@ config PPC_MEMTRACE
|
||||
|
||||
config PPC_VAS
|
||||
bool "IBM Virtual Accelerator Switchboard (VAS)"
|
||||
- depends on PPC_POWERNV && PPC_64K_PAGES
|
||||
+ depends on PPC_POWERNV
|
||||
default y
|
||||
help
|
||||
This enables support for IBM Virtual Accelerator Switchboard (VAS).
|
||||
diff --git a/arch/powerpc/platforms/powernv/vas.c b/arch/powerpc/platforms/powernv/vas.c
|
||||
index 598e4cd563fb..d81e55de6db4 100644
|
||||
--- a/arch/powerpc/platforms/powernv/vas.c
|
||||
+++ b/arch/powerpc/platforms/powernv/vas.c
|
||||
@@ -70,7 +70,7 @@ static int init_vas_instance(struct platform_device *pdev)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
- if (pdev->num_resources != 4) {
|
||||
+ if (pdev->num_resources < 4) {
|
||||
pr_err("Unexpected DT configuration for [%s, %d]\n",
|
||||
pdev->name, vasid);
|
||||
return -ENODEV;
|
86
srcpkgs/linux5.10/patches/ppc64-be-elfv2.patch
Normal file
86
srcpkgs/linux5.10/patches/ppc64-be-elfv2.patch
Normal file
|
@ -0,0 +1,86 @@
|
|||
This makes the Linux kernel build as ELFv2 on big endian ppc64. The upstream
|
||||
doesn't seem to be interested in this but it's a small patch that is unlikely
|
||||
to break/easy to remake and in worst case can always be ditched.
|
||||
|
||||
Using ELFv2 has some potential performance benefits and is already always used
|
||||
on little endian. It requires a relatively modern toolchain, which we already
|
||||
have.
|
||||
|
||||
Ping q66 if it does not apply.
|
||||
|
||||
--- a/arch/powerpc/Makefile 2020-01-05 14:40:50.395763093 +0100
|
||||
+++ b/arch/powerpc/Makefile 2020-01-05 14:48:39.025251092 +0100
|
||||
@@ -92,10 +92,8 @@
|
||||
|
||||
ifdef CONFIG_PPC64
|
||||
ifndef CONFIG_CC_IS_CLANG
|
||||
-cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(call cc-option,-mabi=elfv1)
|
||||
-cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(call cc-option,-mcall-aixdesc)
|
||||
-aflags-$(CONFIG_CPU_BIG_ENDIAN) += $(call cc-option,-mabi=elfv1)
|
||||
-aflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mabi=elfv2
|
||||
+cflags-y += $(call cc-option,-mabi=elfv2,$(call cc-option,-mcall-aixdesc))
|
||||
+aflags-y += $(call cc-option,-mabi=elfv2,$(call cc-option,-mabi=elfv1))
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -144,14 +142,8 @@
|
||||
|
||||
CFLAGS-$(CONFIG_PPC64) := $(call cc-option,-mtraceback=no)
|
||||
ifndef CONFIG_CC_IS_CLANG
|
||||
-ifdef CONFIG_CPU_LITTLE_ENDIAN
|
||||
CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv2,$(call cc-option,-mcall-aixdesc))
|
||||
-AFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv2)
|
||||
-else
|
||||
-CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv1)
|
||||
-CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mcall-aixdesc)
|
||||
-AFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv1)
|
||||
-endif
|
||||
+AFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv2,$(call cc-option,-mabi=elfv1))
|
||||
endif
|
||||
CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mcmodel=medium,$(call cc-option,-mminimal-toc))
|
||||
CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mno-pointers-to-nested-functions)
|
||||
|
||||
--- a/arch/powerpc/boot/Makefile
|
||||
+++ b/arch/powerpc/boot/Makefile
|
||||
@@ -48,8 +48,8 @@ ifdef CONFIG_CPU_BIG_ENDIAN
|
||||
BOOTCFLAGS += -mbig-endian
|
||||
else
|
||||
BOOTCFLAGS += -mlittle-endian
|
||||
-BOOTCFLAGS += $(call cc-option,-mabi=elfv2)
|
||||
endif
|
||||
+BOOTCFLAGS += $(call cc-option,-mabi=elfv2)
|
||||
|
||||
BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc
|
||||
|
||||
--- a/drivers/crypto/vmx/Makefile 2020-01-01 10:56:10.560965046 +0100
|
||||
+++ b/drivers/crypto/vmx/Makefile 2020-01-01 10:57:05.189968856 +0100
|
||||
@@ -5,7 +5,7 @@
|
||||
ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y)
|
||||
override flavour := linux-ppc64le
|
||||
else
|
||||
-override flavour := linux-ppc64
|
||||
+override flavour := linux-ppc64v2
|
||||
endif
|
||||
|
||||
quiet_cmd_perl = PERL $@
|
||||
|
||||
--- a/drivers/crypto/vmx/ppc-xlate.pl
|
||||
+++ b/drivers/crypto/vmx/ppc-xlate.pl
|
||||
@@ -40,7 +40,7 @@ my $globl = sub {
|
||||
};
|
||||
my $text = sub {
|
||||
my $ret = ($flavour =~ /aix/) ? ".csect\t.text[PR],7" : ".text";
|
||||
- $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/);
|
||||
+ $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64(le|v2)/);
|
||||
$ret;
|
||||
};
|
||||
my $machine = sub {
|
||||
@@ -142,7 +142,7 @@ my $vmr = sub {
|
||||
|
||||
# Some ABIs specify vrsave, special-purpose register #256, as reserved
|
||||
# for system use.
|
||||
-my $no_vrsave = ($flavour =~ /linux-ppc64le/);
|
||||
+my $no_vrsave = ($flavour =~ /linux-ppc64(le|v2)/);
|
||||
my $mtspr = sub {
|
||||
my ($f,$idx,$ra) = @_;
|
||||
if ($idx == 256 && $no_vrsave) {
|
21
srcpkgs/linux5.10/patches/ppcle-broken-vdso.patch
Normal file
21
srcpkgs/linux5.10/patches/ppcle-broken-vdso.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
Disable vDSOs which are broken on 32 bit LE.
|
||||
|
||||
Source: @eerykitty
|
||||
|
||||
diff --git a/arch/powerpc/kernel/vdso32/vdso32.lds.S b/arch/powerpc/kernel/vdso32/vdso32.lds.S
|
||||
--- a/arch/powerpc/kernel/vdso32/vdso32.lds.S
|
||||
+++ b/arch/powerpc/kernel/vdso32/vdso32.lds.S
|
||||
@@ -144,11 +144,13 @@
|
||||
__kernel_datapage_offset;
|
||||
|
||||
__kernel_get_syscall_map;
|
||||
+#ifndef __LITTLE_ENDIAN__
|
||||
__kernel_gettimeofday;
|
||||
__kernel_clock_gettime;
|
||||
__kernel_clock_getres;
|
||||
__kernel_time;
|
||||
__kernel_get_tbfreq;
|
||||
+#endif
|
||||
__kernel_sync_dicache;
|
||||
__kernel_sync_dicache_p5;
|
||||
__kernel_sigtramp32;
|
23
srcpkgs/linux5.10/patches/ppcle-enable.patch
Normal file
23
srcpkgs/linux5.10/patches/ppcle-enable.patch
Normal file
|
@ -0,0 +1,23 @@
|
|||
These are experimental fixes for running 32-bit little endian binaries on
|
||||
Linux/ppc64le. While this may seem pointless, it does work, does not break
|
||||
anything, and may allow enablement of things we couldn't do before (e.g.
|
||||
support for box86 and thus reasonably fast emulation of 32-bit x86 games).
|
||||
|
||||
The first part is a signal handler fix, the second part enables the 32-bit
|
||||
VDSO by removing the ppc32/big endian restriction.
|
||||
|
||||
Source: @eerykitty
|
||||
|
||||
--- a/arch/powerpc/kernel/signal_32.c
|
||||
+++ b/arch/powerpc/kernel/signal_32.c
|
||||
@@ -1427,8 +1427,9 @@ int handle_signal32(struct ksignal *ksig, sigset_t *oldset,
|
||||
regs->gpr[3] = ksig->sig;
|
||||
regs->gpr[4] = (unsigned long) sc;
|
||||
regs->nip = (unsigned long) (unsigned long)ksig->ka.sa.sa_handler;
|
||||
- /* enter the signal handler in big-endian mode */
|
||||
+ /* enter the signal handler in native-endian mode */
|
||||
regs->msr &= ~MSR_LE;
|
||||
+ regs->msr |= (MSR_KERNEL & MSR_LE);
|
||||
return 0;
|
||||
|
||||
badframe:
|
107
srcpkgs/linux5.10/patches/ppcle-ll-compat-sys.patch
Normal file
107
srcpkgs/linux5.10/patches/ppcle-ll-compat-sys.patch
Normal file
|
@ -0,0 +1,107 @@
|
|||
From 98014e4b27063ed74313878233e91b7b52b2a031 Mon Sep 17 00:00:00 2001
|
||||
From: Will Springer <skirmisher@protonmail.com>
|
||||
Date: Tue, 9 Jun 2020 02:11:36 -0700
|
||||
Subject: [PATCH] powerpc/compat32: swap hi/lo parts of 64-bit syscall args on
|
||||
32LE
|
||||
|
||||
This allows compat_sys calls with 64-bit args to function correctly
|
||||
when called by ppcle userlands on ppc64le.
|
||||
|
||||
Tested with `file /bin/bash` (pread64) and `truncate -s 5G test` (ftruncate64).
|
||||
---
|
||||
arch/powerpc/kernel/sys_ppc32.c | 49 +++++++++++++++++++--------------
|
||||
1 file changed, 28 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
|
||||
index d36c6391eaf5..16ff0399a257 100644
|
||||
--- a/arch/powerpc/kernel/sys_ppc32.c
|
||||
+++ b/arch/powerpc/kernel/sys_ppc32.c
|
||||
@@ -59,57 +59,64 @@ unsigned long compat_sys_mmap2(unsigned long addr, size_t len,
|
||||
/*
|
||||
* long long munging:
|
||||
* The 32 bit ABI passes long longs in an odd even register pair.
|
||||
+ * High and low parts are swapped depending on endian mode,
|
||||
+ * so define a macro (similar to mips linux32) to handle that.
|
||||
*/
|
||||
+#ifdef __LITTLE_ENDIAN__
|
||||
+#define merge_64(low, high) ((u64)high << 32) | low
|
||||
+#else
|
||||
+#define merge_64(high, low) ((u64)high << 32) | low
|
||||
+#endif
|
||||
|
||||
compat_ssize_t compat_sys_pread64(unsigned int fd, char __user *ubuf, compat_size_t count,
|
||||
- u32 reg6, u32 poshi, u32 poslo)
|
||||
+ u32 reg6, u32 pos1, u32 pos2)
|
||||
{
|
||||
- return ksys_pread64(fd, ubuf, count, ((loff_t)poshi << 32) | poslo);
|
||||
+ return ksys_pread64(fd, ubuf, count, merge_64(pos1, pos2));
|
||||
}
|
||||
|
||||
compat_ssize_t compat_sys_pwrite64(unsigned int fd, const char __user *ubuf, compat_size_t count,
|
||||
- u32 reg6, u32 poshi, u32 poslo)
|
||||
+ u32 reg6, u32 pos1, u32 pos2)
|
||||
{
|
||||
- return ksys_pwrite64(fd, ubuf, count, ((loff_t)poshi << 32) | poslo);
|
||||
+ return ksys_pwrite64(fd, ubuf, count, merge_64(pos1, pos2));
|
||||
}
|
||||
|
||||
-compat_ssize_t compat_sys_readahead(int fd, u32 r4, u32 offhi, u32 offlo, u32 count)
|
||||
+compat_ssize_t compat_sys_readahead(int fd, u32 r4, u32 offset1, u32 offset2, u32 count)
|
||||
{
|
||||
- return ksys_readahead(fd, ((loff_t)offhi << 32) | offlo, count);
|
||||
+ return ksys_readahead(fd, merge_64(offset1, offset2), count);
|
||||
}
|
||||
|
||||
asmlinkage int compat_sys_truncate64(const char __user * path, u32 reg4,
|
||||
- unsigned long high, unsigned long low)
|
||||
+ unsigned long len1, unsigned long len2)
|
||||
{
|
||||
- return ksys_truncate(path, (high << 32) | low);
|
||||
+ return ksys_truncate(path, merge_64(len1, len2));
|
||||
}
|
||||
|
||||
-asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offhi, u32 offlo,
|
||||
- u32 lenhi, u32 lenlo)
|
||||
+asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2,
|
||||
+ u32 len1, u32 len2)
|
||||
{
|
||||
- return ksys_fallocate(fd, mode, ((loff_t)offhi << 32) | offlo,
|
||||
- ((loff_t)lenhi << 32) | lenlo);
|
||||
+ return ksys_fallocate(fd, mode, ((loff_t)offset1 << 32) | offset2,
|
||||
+ merge_64(len1, len2));
|
||||
}
|
||||
|
||||
-asmlinkage int compat_sys_ftruncate64(unsigned int fd, u32 reg4, unsigned long high,
|
||||
- unsigned long low)
|
||||
+asmlinkage int compat_sys_ftruncate64(unsigned int fd, u32 reg4, unsigned long len1,
|
||||
+ unsigned long len2)
|
||||
{
|
||||
- return ksys_ftruncate(fd, (high << 32) | low);
|
||||
+ return ksys_ftruncate(fd, merge_64(len1, len2));
|
||||
}
|
||||
|
||||
-long ppc32_fadvise64(int fd, u32 unused, u32 offset_high, u32 offset_low,
|
||||
+long ppc32_fadvise64(int fd, u32 unused, u32 offset1, u32 offset2,
|
||||
size_t len, int advice)
|
||||
{
|
||||
- return ksys_fadvise64_64(fd, (u64)offset_high << 32 | offset_low, len,
|
||||
+ return ksys_fadvise64_64(fd, merge_64(offset1, offset2), len,
|
||||
advice);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_sync_file_range2(int fd, unsigned int flags,
|
||||
- unsigned offset_hi, unsigned offset_lo,
|
||||
- unsigned nbytes_hi, unsigned nbytes_lo)
|
||||
+ unsigned offset1, unsigned offset2,
|
||||
+ unsigned nbytes1, unsigned nbytes2)
|
||||
{
|
||||
- loff_t offset = ((loff_t)offset_hi << 32) | offset_lo;
|
||||
- loff_t nbytes = ((loff_t)nbytes_hi << 32) | nbytes_lo;
|
||||
+ loff_t offset = merge_64(offset1, offset2);
|
||||
+ loff_t nbytes = merge_64(nbytes1, nbytes2);
|
||||
|
||||
return ksys_sync_file_range(fd, offset, nbytes, flags);
|
||||
}
|
||||
--
|
||||
2.26.2
|
||||
|
345
srcpkgs/linux5.10/template
Normal file
345
srcpkgs/linux5.10/template
Normal file
|
@ -0,0 +1,345 @@
|
|||
# Template file for 'linux5.10'
|
||||
pkgname=linux5.10
|
||||
version=5.10.1
|
||||
revision=1
|
||||
wrksrc="linux-${version}"
|
||||
short_desc="Linux kernel and modules (${version%.*} series)"
|
||||
maintainer="Leah Neukirchen <leah@vuxu.org>"
|
||||
license="GPL-2.0-only"
|
||||
homepage="https://www.kernel.org"
|
||||
distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
|
||||
checksum=ed1661128c9bd3e8c9f55e345f715b90fefcf6b127c77e0286773242e7a14e5c
|
||||
python_version=3
|
||||
patch_args="-Np1"
|
||||
|
||||
# XXX Restrict archs until a proper <arch>-dotconfig is available in FILESDIR.
|
||||
archs="x86_64* i686* ppc* aarch64*"
|
||||
|
||||
nodebug=yes # -dbg package is generated below manually
|
||||
nostrip=yes
|
||||
noverifyrdeps=yes
|
||||
noshlibprovides=yes
|
||||
preserve=yes
|
||||
|
||||
hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel
|
||||
libressl-devel perl uboot-mkimage cpio pahole python3"
|
||||
|
||||
_kernver="${version}_${revision}"
|
||||
triggers="kernel-hooks"
|
||||
kernel_hooks_version="${_kernver}"
|
||||
|
||||
# These files could be modified when an external module is built.
|
||||
mutable_files="
|
||||
/usr/lib/modules/${_kernver}/modules.builtin.bin
|
||||
/usr/lib/modules/${_kernver}/modules.builtin.alias.bin
|
||||
/usr/lib/modules/${_kernver}/modules.softdep
|
||||
/usr/lib/modules/${_kernver}/modules.dep
|
||||
/usr/lib/modules/${_kernver}/modules.dep.bin
|
||||
/usr/lib/modules/${_kernver}/modules.symbols
|
||||
/usr/lib/modules/${_kernver}/modules.symbols.bin
|
||||
/usr/lib/modules/${_kernver}/modules.alias
|
||||
/usr/lib/modules/${_kernver}/modules.alias.bin
|
||||
/usr/lib/modules/${_kernver}/modules.devname"
|
||||
|
||||
# reproducible build
|
||||
export KBUILD_BUILD_TIMESTAMP=${SOURCE_DATE_EPOCH:-0}
|
||||
export KBUILD_BUILD_USER=voidlinux
|
||||
export KBUILD_BUILD_HOST=voidlinux
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
_cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-"
|
||||
fi
|
||||
if [ "${_patchver}" ]; then
|
||||
_version="EXTRAVERSION=${_patchver}"
|
||||
fi
|
||||
|
||||
do_configure() {
|
||||
# 5.8 misses Documentation/DocBook. We ship the directory from 4.12 here.
|
||||
cp -a $FILESDIR/DocBook -t Documentation
|
||||
|
||||
# If there's a file called <arch>-dotconfig, use it to
|
||||
# configure the kernel; otherwise use arch defaults and all stuff
|
||||
# as modules (allmodconfig).
|
||||
local arch subarch
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*) arch=i386;;
|
||||
x86_64*) arch=x86_64;;
|
||||
arm*) arch=arm;;
|
||||
aarch64*) arch=arm64;;
|
||||
ppc64le*) arch=powerpc; subarch=ppc64le;;
|
||||
ppc64*) arch=powerpc; subarch=ppc64;;
|
||||
ppc*) arch=powerpc;;
|
||||
mips*) arch=mips;;
|
||||
esac
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
aarch64*) # XXX: fix segfault in pahole 1.18; should be fixed in new releases
|
||||
vsed -i scripts/link-vmlinux.sh -e's;${PAHOLE} -J;& --btf_encode_force;'
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f ${FILESDIR}/${subarch:-$arch}-dotconfig-custom ]; then
|
||||
msg_normal "Detected a custom .config file for your arch, using it.\n"
|
||||
cp -f ${FILESDIR}/${subarch:-$arch}-dotconfig-custom .config
|
||||
make ${makejobs} ARCH=$arch ${_cross} oldconfig
|
||||
elif [ -f ${FILESDIR}/${subarch:-$arch}-dotconfig ]; then
|
||||
msg_normal "Detected a .config file for your arch, using it.\n"
|
||||
cp -f ${FILESDIR}/${subarch:-$arch}-dotconfig .config
|
||||
make ${makejobs} ARCH=$arch ${_cross} oldconfig
|
||||
elif [ -f ${FILESDIR}/${XBPS_TARGET_MACHINE%%-musl}-dotconfig ]; then
|
||||
msg_normal "Detected a .config file for your cpu family, using it.\n"
|
||||
cp -f ${FILESDIR}/${XBPS_TARGET_MACHINE%%-musl}-dotconfig .config
|
||||
make ${makejobs} ARCH=$arch ${_cross} oldconfig
|
||||
else
|
||||
msg_normal "Defaulting to 'allmodconfig'.\n"
|
||||
make ${makejobs} ARCH=$arch ${_cross} allmodconfig
|
||||
fi
|
||||
# Always use our revision to CONFIG_LOCALVERSION to match our pkg version.
|
||||
sed -i -e "s|^\(CONFIG_LOCALVERSION=\).*|\1\"_${revision}\"|" .config
|
||||
}
|
||||
|
||||
do_build() {
|
||||
local arch _args
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*) _args="bzImage modules"; arch=i386;;
|
||||
x86_64*) _args="bzImage modules"; arch=x86_64;;
|
||||
arm*) _args="zImage modules dtbs"; arch=arm;;
|
||||
aarch64*) _args="Image modules dtbs"; arch=arm64;;
|
||||
ppc*) _args="zImage modules"; arch=powerpc;;
|
||||
mips*) _args="uImage modules dtbs"; arch=mips;;
|
||||
esac
|
||||
export LDFLAGS=
|
||||
make ARCH=$arch ${_version} ${_cross} ${makejobs} prepare
|
||||
make ARCH=$arch ${_version} ${_cross} ${makejobs} ${_args}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
local arch subarch _args hdrdest
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*) arch=x86; subarch=i386;;
|
||||
x86_64*) arch=x86; subarch=x86_64;;
|
||||
arm*) arch=arm;;
|
||||
aarch64*) arch=arm64;;
|
||||
ppc*) arch=powerpc;;
|
||||
mips*) arch=mips;;
|
||||
esac
|
||||
|
||||
# Run depmod after compressing modules.
|
||||
sed -i '2iexit 0' scripts/depmod.sh
|
||||
|
||||
# Install kernel, firmware and modules
|
||||
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_MOD_PATH=${DESTDIR} ${_cross} modules_install
|
||||
|
||||
hdrdest=${DESTDIR}/usr/src/kernel-headers-${_kernver}
|
||||
|
||||
vinstall .config 644 boot config-${_kernver}
|
||||
vinstall System.map 644 boot System.map-${_kernver}
|
||||
|
||||
case "$arch" in
|
||||
x86)
|
||||
vinstall arch/x86/boot/bzImage 644 boot vmlinuz-${_kernver}
|
||||
;;
|
||||
arm)
|
||||
vinstall arch/arm/boot/zImage 644 boot
|
||||
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} ${_cross} dtbs_install
|
||||
;;
|
||||
arm64)
|
||||
vinstall arch/arm64/boot/Image 644 boot vmlinux-${_kernver}
|
||||
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} ${_cross} dtbs_install
|
||||
;;
|
||||
powerpc)
|
||||
# zImage on powerpc is useless as it won't load initramfs
|
||||
# raw vmlinux is huge, and this is nostrip, so do it manually
|
||||
vinstall vmlinux 644 boot vmlinux-${_kernver}
|
||||
/usr/bin/$STRIP ${DESTDIR}/boot/vmlinux-${_kernver}
|
||||
;;
|
||||
mips)
|
||||
vinstall arch/mips/boot/uImage.bin 644 boot uImage-${_kernver}
|
||||
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} ${_cross} dtbs_install
|
||||
;;
|
||||
esac
|
||||
|
||||
# Switch to /usr.
|
||||
vmkdir usr
|
||||
mv ${DESTDIR}/lib ${DESTDIR}/usr
|
||||
|
||||
cd ${DESTDIR}/usr/lib/modules/${_kernver}
|
||||
rm -f source build
|
||||
ln -sf ../../../src/kernel-headers-${_kernver} build
|
||||
|
||||
cd ${wrksrc}
|
||||
# Install required headers to build external modules
|
||||
install -Dm644 Makefile ${hdrdest}/Makefile
|
||||
install -Dm644 kernel/Makefile ${hdrdest}/kernel/Makefile
|
||||
install -Dm644 .config ${hdrdest}/.config
|
||||
for file in $(find . -name Kconfig\*); do
|
||||
mkdir -p ${hdrdest}/$(dirname $file)
|
||||
install -Dm644 $file ${hdrdest}/${file}
|
||||
done
|
||||
for file in $(find arch/${subarch:-$arch} -name module.lds -o -name Kbuild.platforms -o -name Platform); do
|
||||
mkdir -p ${hdrdest}/$(dirname $file)
|
||||
install -Dm644 $file ${hdrdest}/${file}
|
||||
done
|
||||
mkdir -p ${hdrdest}/include
|
||||
# Remove firmware stuff provided by the "linux-firmware" pkg.
|
||||
rm -rf ${DESTDIR}/usr/lib/firmware
|
||||
|
||||
for i in acpi asm-generic clocksource config crypto drm generated linux vdso \
|
||||
math-emu media net pcmcia scsi sound trace uapi video xen dt-bindings; do
|
||||
if [ -d include/$i ]; then
|
||||
cp -a include/$i ${hdrdest}/include
|
||||
fi
|
||||
done
|
||||
|
||||
cd ${wrksrc}
|
||||
mkdir -p ${hdrdest}/arch/${arch}
|
||||
cp -a arch/${arch}/include ${hdrdest}/arch/${arch}
|
||||
|
||||
# Remove helper binaries built for host,
|
||||
# if generated files from the scripts/ directory need to be included,
|
||||
# they need to be copied to ${hdrdest} before this step
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
make ${makejobs} ARCH=${subarch:-$arch} ${_cross} _mrproper_scripts
|
||||
# remove host specific objects as well
|
||||
find scripts -name '*.o' -delete
|
||||
fi
|
||||
|
||||
# Copy files necessary for later builds, like nvidia and vmware
|
||||
cp Module.symvers ${hdrdest}
|
||||
cp -a scripts ${hdrdest}
|
||||
mkdir -p ${hdrdest}/security/selinux
|
||||
cp -a security/selinux/include ${hdrdest}/security/selinux
|
||||
mkdir -p ${hdrdest}/tools/include
|
||||
cp -a tools/include/tools ${hdrdest}/tools/include
|
||||
|
||||
mkdir -p ${hdrdest}/arch/${arch}/kernel
|
||||
cp arch/${arch}/Makefile ${hdrdest}/arch/${arch}
|
||||
if [ "$subarch" = "i386" ]; then
|
||||
mkdir -p ${hdrdest}/arch/x86
|
||||
cp arch/x86/Makefile_32.cpu ${hdrdest}/arch/x86
|
||||
fi
|
||||
if [ "$arch" = "x86" ]; then
|
||||
mkdir -p ${hdrdest}/arch/x86/kernel
|
||||
cp arch/x86/kernel/asm-offsets.s ${hdrdest}/arch/x86/kernel
|
||||
elif [ "$arch" = "arm64" ]; then
|
||||
mkdir -p ${hdrdest}/arch/arm64/kernel
|
||||
cp -a arch/arm64/kernel/vdso ${hdrdest}/arch/arm64/kernel/
|
||||
fi
|
||||
|
||||
# add headers for lirc package
|
||||
# pci
|
||||
for i in bt8xx cx88 saa7134; do
|
||||
mkdir -p ${hdrdest}/drivers/media/pci/${i}
|
||||
cp -a drivers/media/pci/${i}/*.h ${hdrdest}/drivers/media/pci/${i}
|
||||
done
|
||||
# usb
|
||||
for i in cpia2 em28xx pwc; do
|
||||
mkdir -p ${hdrdest}/drivers/media/usb/${i}
|
||||
cp -a drivers/media/usb/${i}/*.h ${hdrdest}/drivers/media/usb/${i}
|
||||
done
|
||||
# i2c
|
||||
mkdir -p ${hdrdest}/drivers/media/i2c
|
||||
cp drivers/media/i2c/*.h ${hdrdest}/drivers/media/i2c
|
||||
for i in cx25840; do
|
||||
mkdir -p ${hdrdest}/drivers/media/i2c/${i}
|
||||
cp -a drivers/media/i2c/${i}/*.h ${hdrdest}/drivers/media/i2c/${i}
|
||||
done
|
||||
|
||||
# Add docbook makefile
|
||||
install -Dm644 Documentation/DocBook/Makefile \
|
||||
${hdrdest}/Documentation/DocBook/Makefile
|
||||
|
||||
# Add md headers
|
||||
mkdir -p ${hdrdest}/drivers/md
|
||||
cp drivers/md/*.h ${hdrdest}/drivers/md
|
||||
|
||||
# Add inotify.h
|
||||
mkdir -p ${hdrdest}/include/linux
|
||||
cp include/linux/inotify.h ${hdrdest}/include/linux
|
||||
|
||||
# Add wireless headers
|
||||
mkdir -p ${hdrdest}/net/mac80211/
|
||||
cp net/mac80211/*.h ${hdrdest}/net/mac80211
|
||||
|
||||
# add dvb headers for external modules
|
||||
mkdir -p ${hdrdest}/include/config/dvb/
|
||||
cp include/config/dvb/*.h ${hdrdest}/include/config/dvb/
|
||||
|
||||
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
|
||||
mkdir -p ${hdrdest}/drivers/media/dvb-frontends
|
||||
cp drivers/media/dvb-frontends/lgdt330x.h \
|
||||
${hdrdest}/drivers/media/dvb-frontends/
|
||||
cp drivers/media/i2c/msp3400-driver.h ${hdrdest}/drivers/media/i2c/
|
||||
|
||||
# add dvb headers
|
||||
mkdir -p ${hdrdest}/drivers/media/usb/dvb-usb
|
||||
cp drivers/media/usb/dvb-usb/*.h ${hdrdest}/drivers/media/usb/dvb-usb/
|
||||
mkdir -p ${hdrdest}/drivers/media/dvb-frontends
|
||||
cp drivers/media/dvb-frontends/*.h ${hdrdest}/drivers/media/dvb-frontends/
|
||||
mkdir -p ${hdrdest}/drivers/media/tuners
|
||||
cp drivers/media/tuners/*.h ${hdrdest}/drivers/media/tuners/
|
||||
|
||||
# Add xfs and shmem for aufs building
|
||||
mkdir -p ${hdrdest}/fs/xfs/libxfs
|
||||
mkdir -p ${hdrdest}/mm
|
||||
cp fs/xfs/libxfs/xfs_sb.h ${hdrdest}/fs/xfs/libxfs/xfs_sb.h
|
||||
|
||||
# Add objtool binary, needed to build external modules with dkms
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
x86_64*)
|
||||
mkdir -p ${hdrdest}/tools/objtool
|
||||
cp tools/objtool/objtool ${hdrdest}/tools/objtool
|
||||
;;
|
||||
esac
|
||||
|
||||
# Remove unneeded architectures
|
||||
case "$arch" in
|
||||
i386|x86_64) _args="arm* m* p*";;
|
||||
arm|arm64) _args="x86* m* p*";;
|
||||
powerpc) _args="arm* m* x86* parisc";;
|
||||
mips) _args="arm* x86* p*";;
|
||||
esac
|
||||
for arch in alpha avr32 blackfin cris frv h8300 \
|
||||
ia64 s* um v850 xtensa ${_args}; do
|
||||
rm -rf ${hdrdest}/arch/${arch}
|
||||
done
|
||||
# Keep arch/x86/ras/Kconfig as it is needed by drivers/ras/Kconfig
|
||||
mkdir -p ${hdrdest}/arch/x86/ras
|
||||
cp -a arch/x86/ras/Kconfig ${hdrdest}/arch/x86/ras/Kconfig
|
||||
|
||||
# Extract debugging symbols and compress modules
|
||||
msg_normal "$pkgver: extracting debug info and compressing modules, please wait...\n"
|
||||
install -Dm644 vmlinux ${DESTDIR}/usr/lib/debug/boot/vmlinux-${_kernver}
|
||||
(
|
||||
cd ${DESTDIR}
|
||||
export DESTDIR
|
||||
find ./ -name '*.ko' -print0 | \
|
||||
xargs -0r -n1 -P ${XBPS_MAKEJOBS} ${FILESDIR}/mv-debug
|
||||
)
|
||||
# ... and run depmod again.
|
||||
depmod -b ${DESTDIR}/usr -F System.map ${_kernver}
|
||||
}
|
||||
linux5.10-headers_package() {
|
||||
preserve=yes
|
||||
nostrip=yes
|
||||
noshlibprovides=yes
|
||||
short_desc+=" - source headers for 3rd party modules"
|
||||
pkg_install() {
|
||||
vmove usr/src
|
||||
vmove usr/lib/modules/${_kernver}/build
|
||||
}
|
||||
}
|
||||
linux5.10-dbg_package() {
|
||||
preserve=yes
|
||||
nostrip=yes
|
||||
noverifyrdeps=yes
|
||||
noshlibprovides=yes
|
||||
repository=debug
|
||||
short_desc+=" - debugging symbols"
|
||||
pkg_install() {
|
||||
vmove usr/lib/debug
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue