Add zen kernel templates for 6.16-clang 6.16-gcc at v6.16.2-lqx1 [auto]
This commit is contained in:
		
							
								
								
									
										1
									
								
								linux-clang/linux6.16-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.16-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | linux6.16-zen | ||||||
							
								
								
									
										1
									
								
								linux-clang/linux6.16-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.16-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | linux6.16-zen | ||||||
							
								
								
									
										7
									
								
								linux-clang/linux6.16-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-clang/linux6.16-zen/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 | ||||||
							
								
								
									
										11627
									
								
								linux-clang/linux6.16-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11627
									
								
								linux-clang/linux6.16-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-clang/linux6.16-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-clang/linux6.16-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h | ||||||
|  | index 4102108..72474d8 100644 | ||||||
|  | --- a/kernel/rcu/tree_plugin.h | ||||||
|  | +++ b/kernel/rcu/tree_plugin.h | ||||||
|  | @@ -406,7 +406,7 @@ void __rcu_read_lock(void) | ||||||
|  |                 WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true); | ||||||
|  |         barrier();  /* critical section after entry code. */ | ||||||
|  |  } | ||||||
|  | -EXPORT_SYMBOL_GPL(__rcu_read_lock); | ||||||
|  | +EXPORT_SYMBOL(__rcu_read_lock); | ||||||
|  |  | ||||||
|  |  /* | ||||||
|  |   * Preemptible RCU implementation for rcu_read_unlock(). | ||||||
|  | @@ -431,7 +431,7 @@ void __rcu_read_unlock(void) | ||||||
|  |                 WARN_ON_ONCE(rrln < 0 || rrln > RCU_NEST_PMAX); | ||||||
|  |         } | ||||||
|  |  } | ||||||
|  | -EXPORT_SYMBOL_GPL(__rcu_read_unlock); | ||||||
|  | +EXPORT_SYMBOL(__rcu_read_unlock); | ||||||
							
								
								
									
										283
									
								
								linux-clang/linux6.16-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										283
									
								
								linux-clang/linux6.16-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,283 @@ | |||||||
|  | pkgname=linux6.16-zen | ||||||
|  | version=6.16.2 | ||||||
|  | revision=1 | ||||||
|  | lqx=1 | ||||||
|  | zen=1 | ||||||
|  | wrksrc="linux-${version}-zen${zen}" | ||||||
|  | short_desc="Linux kernel and modules with Zen patches (${version%.*} series) compiled with Clang" | ||||||
|  | maintainer="Wizzard <retard@deadzone.lol>" | ||||||
|  | license="GPL-2.0-only" | ||||||
|  | homepage="http://www.zen-kernel.org/" | ||||||
|  | distfiles="https://github.com/zen-kernel/zen-kernel/archive/refs/tags/v${version}-lqx${lqx}.tar.gz" | ||||||
|  | checksum=cb599d0982d55e19a7fb777816fa37ba68f8a3863d42ac52c19e4b275d264f87 | ||||||
|  | python_version=3 | ||||||
|  | patch_args="-Np1" | ||||||
|  |  | ||||||
|  | nodebug=yes | ||||||
|  | nostrip=yes | ||||||
|  | noverifyrdeps=yes | ||||||
|  | noshlibprovides=yes | ||||||
|  | preserve=yes | ||||||
|  |  | ||||||
|  | hostmakedepends="tar xz lz4 bc-gh elfutils-devel flex gmp-devel kmod libmpc-devel | ||||||
|  |  openssl-devel perl uboot-mkimage cpio clang llvm lld pahole python3 which" | ||||||
|  |  | ||||||
|  | _kernver="${version}-lqx${lqx}_${revision}" | ||||||
|  | triggers="kernel-hooks" | ||||||
|  | kernel_hooks_version="${_kernver}" | ||||||
|  |  | ||||||
|  | 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" | ||||||
|  |  | ||||||
|  | export KBUILD_BUILD_TIMESTAMP=${SOURCE_DATE_EPOCH:-0} | ||||||
|  | export KBUILD_BUILD_USER=voidlinux | ||||||
|  | export KBUILD_BUILD_HOST=zen | ||||||
|  |  | ||||||
|  | if [ "$CROSS_BUILD" ]; then | ||||||
|  | 	_cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-" | ||||||
|  | fi | ||||||
|  | if [ "${_patchver}" ]; then | ||||||
|  | 	_version="EXTRAVERSION=${_patchver}" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | do_configure() { | ||||||
|  | 	# 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 | ||||||
|  |  | ||||||
|  | 	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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=$arch ${_args} 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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=$arch ${_args} 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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=$arch ${_args} oldconfig | ||||||
|  | 	else | ||||||
|  | 		msg_normal "Defaulting to 'allmodconfig'.\n" | ||||||
|  | 		make CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=$arch ${_args} 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 _cross _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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ARCH=$arch ${_version} ${_cross} ${makejobs} prepare | ||||||
|  | 	make CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar 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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=${subarch:-$arch} INSTALL_MOD_PATH=${DESTDIR} 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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} dtbs_install | ||||||
|  | 			;; | ||||||
|  | 		arm64) | ||||||
|  | 			vinstall arch/arm64/boot/Image 644 boot vmlinux-${_kernver} | ||||||
|  | 			make CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} 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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} 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 hyperv 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 CC=clang AS=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump HOSTCC=clang HOSTLD=ld.lld HOSTAR=llvm-ar ${makejobs} ARCH=${subarch:-$arch} _mrproper_scripts | ||||||
|  | 		# remove host specific objects as well | ||||||
|  | 		find scripts -name '*.o' -delete | ||||||
|  | 	fi | ||||||
|  |  | ||||||
|  | 	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 | ||||||
|  |  | ||||||
|  | 	# Copy essential driver headers needed for external modules | ||||||
|  | 	mkdir -p ${hdrdest}/drivers | ||||||
|  | 	cp -a drivers/md ${hdrdest}/drivers/ 2>/dev/null || true | ||||||
|  | 	cp -a drivers/media ${hdrdest}/drivers/ 2>/dev/null || true | ||||||
|  | 	 | ||||||
|  | 	# Copy networking headers | ||||||
|  | 	mkdir -p ${hdrdest}/net | ||||||
|  | 	cp -a net/mac80211 ${hdrdest}/net/ 2>/dev/null || true | ||||||
|  | 	 | ||||||
|  | 	# Copy filesystem headers for external filesystems (e.g., aufs) | ||||||
|  | 	mkdir -p ${hdrdest}/fs | ||||||
|  | 	cp -a fs/xfs ${hdrdest}/fs/ 2>/dev/null || true | ||||||
|  |  | ||||||
|  | 	# 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 | ||||||
|  |  | ||||||
|  | 	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 | ||||||
|  | 	mkdir -p ${hdrdest}/arch/x86/ras | ||||||
|  | 	cp -a arch/x86/ras/Kconfig ${hdrdest}/arch/x86/ras/Kconfig | ||||||
|  |  | ||||||
|  | 	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} | ||||||
|  | } | ||||||
|  | linux6.16-zen-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 | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | linux6.16-zen-dbg_package() { | ||||||
|  | 	preserve=yes | ||||||
|  | 	nostrip=yes | ||||||
|  | 	noverifyrdeps=yes | ||||||
|  | 	noshlibprovides=yes | ||||||
|  | 	repository=debug | ||||||
|  | 	short_desc+=" - debugging symbols" | ||||||
|  | 	pkg_install() { | ||||||
|  | 		vmove usr/lib/debug | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.16-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.16-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | linux6.16-zen | ||||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.16-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.16-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | linux6.16-zen | ||||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.16-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.16-zen/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 | ||||||
							
								
								
									
										11627
									
								
								linux-gcc/linux6.16-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11627
									
								
								linux-gcc/linux6.16-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.16-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.16-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h | ||||||
|  | index 4102108..72474d8 100644 | ||||||
|  | --- a/kernel/rcu/tree_plugin.h | ||||||
|  | +++ b/kernel/rcu/tree_plugin.h | ||||||
|  | @@ -406,7 +406,7 @@ void __rcu_read_lock(void) | ||||||
|  |                 WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true); | ||||||
|  |         barrier();  /* critical section after entry code. */ | ||||||
|  |  } | ||||||
|  | -EXPORT_SYMBOL_GPL(__rcu_read_lock); | ||||||
|  | +EXPORT_SYMBOL(__rcu_read_lock); | ||||||
|  |  | ||||||
|  |  /* | ||||||
|  |   * Preemptible RCU implementation for rcu_read_unlock(). | ||||||
|  | @@ -431,7 +431,7 @@ void __rcu_read_unlock(void) | ||||||
|  |                 WARN_ON_ONCE(rrln < 0 || rrln > RCU_NEST_PMAX); | ||||||
|  |         } | ||||||
|  |  } | ||||||
|  | -EXPORT_SYMBOL_GPL(__rcu_read_unlock); | ||||||
|  | +EXPORT_SYMBOL(__rcu_read_unlock); | ||||||
							
								
								
									
										283
									
								
								linux-gcc/linux6.16-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										283
									
								
								linux-gcc/linux6.16-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,283 @@ | |||||||
|  | pkgname=linux6.16-zen | ||||||
|  | version=6.16.2 | ||||||
|  | revision=1 | ||||||
|  | lqx=1 | ||||||
|  | zen=1 | ||||||
|  | wrksrc="linux-${version}-zen${zen}" | ||||||
|  | python_version=3 | ||||||
|  | short_desc="Linux kernel and modules with Zen patches (${version%.*} series)" | ||||||
|  | maintainer="Wizzard <retard@deadzone.lol>" | ||||||
|  | license="GPL-2.0-only" | ||||||
|  | homepage="https://github.com/zen-kernel/zen-kernel" | ||||||
|  | distfiles="https://github.com/zen-kernel/zen-kernel/archive/refs/tags/v${version}-lqx${lqx}.tar.gz" | ||||||
|  | checksum=cb599d0982d55e19a7fb777816fa37ba68f8a3863d42ac52c19e4b275d264f87 | ||||||
|  | archs="x86_64* i686* ppc* aarch64*" | ||||||
|  | patch_args="-Np1" | ||||||
|  |  | ||||||
|  | nodebug=yes | ||||||
|  | nostrip=yes | ||||||
|  | noverifyrdeps=yes | ||||||
|  | noshlibprovides=yes | ||||||
|  | preserve=yes | ||||||
|  |  | ||||||
|  | hostmakedepends="tar xz lz4 bc-gh elfutils-devel flex gmp-devel kmod libmpc-devel openssl-devel perl uboot-mkimage cpio pahole python3" | ||||||
|  |  | ||||||
|  | _kernver="${version}-lqx${lqx}_${revision}" | ||||||
|  | triggers="kernel-hooks" | ||||||
|  | kernel_hooks_version="${_kernver}" | ||||||
|  |  | ||||||
|  | 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" | ||||||
|  |  | ||||||
|  | export KBUILD_BUILD_TIMESTAMP=${SOURCE_DATE_EPOCH:-0} | ||||||
|  | export KBUILD_BUILD_USER=voidlinux | ||||||
|  | export KBUILD_BUILD_HOST=zen | ||||||
|  |  | ||||||
|  | if [ "$CROSS_BUILD" ]; then | ||||||
|  | 	_cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-" | ||||||
|  | fi | ||||||
|  | if [ "${_patchver}" ]; then | ||||||
|  | 	_version="EXTRAVERSION=${_patchver}" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | do_configure() { | ||||||
|  | 	# 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 | ||||||
|  |  | ||||||
|  | 	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 ${_args} 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 ${_args} 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 ${_args} oldconfig | ||||||
|  | 	else | ||||||
|  | 		msg_normal "Defaulting to 'allmodconfig'.\n" | ||||||
|  | 		make  ${makejobs} ARCH=$arch ${_args} 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 _cross _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 | ||||||
|  |  | ||||||
|  | 	sed -i '2iexit 0' scripts/depmod.sh | ||||||
|  |  | ||||||
|  | 	make  ${makejobs} ARCH=${subarch:-$arch} INSTALL_MOD_PATH=${DESTDIR} 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} 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} 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} 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 -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 hyperv 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} _mrproper_scripts | ||||||
|  | 		# remove host specific objects as well | ||||||
|  | 		find scripts -name '*.o' -delete | ||||||
|  | 	fi | ||||||
|  |  | ||||||
|  | 	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 | ||||||
|  |  | ||||||
|  | 	# Copy essential driver headers needed for external modules | ||||||
|  | 	mkdir -p ${hdrdest}/drivers | ||||||
|  | 	cp -a drivers/md ${hdrdest}/drivers/ 2>/dev/null || true | ||||||
|  | 	cp -a drivers/media ${hdrdest}/drivers/ 2>/dev/null || true | ||||||
|  | 	 | ||||||
|  | 	# Copy networking headers | ||||||
|  | 	mkdir -p ${hdrdest}/net | ||||||
|  | 	cp -a net/mac80211 ${hdrdest}/net/ 2>/dev/null || true | ||||||
|  | 	 | ||||||
|  | 	# Copy filesystem headers for external filesystems (e.g., aufs) | ||||||
|  | 	mkdir -p ${hdrdest}/fs | ||||||
|  | 	cp -a fs/xfs ${hdrdest}/fs/ 2>/dev/null || true | ||||||
|  |  | ||||||
|  | 	# 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 | ||||||
|  | 	mkdir -p ${hdrdest}/arch/x86/ras | ||||||
|  | 	cp -a arch/x86/ras/Kconfig ${hdrdest}/arch/x86/ras/Kconfig | ||||||
|  |  | ||||||
|  | 	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 | ||||||
|  | 	) | ||||||
|  | 	depmod -b ${DESTDIR}/usr -F System.map ${_kernver} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | linux6.16-zen-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 | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | linux6.16-zen-dbg_package() { | ||||||
|  | 	preserve=yes | ||||||
|  | 	nostrip=yes | ||||||
|  | 	noverifyrdeps=yes | ||||||
|  | 	noshlibprovides=yes | ||||||
|  | 	repository=debug | ||||||
|  | 	short_desc+=" - debugging symbols" | ||||||
|  | 	pkg_install() { | ||||||
|  | 		vmove usr/lib/debug | ||||||
|  | 	} | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user