Compare commits
	
		
			68 Commits
		
	
	
		
			cabe61af7d
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4772533af1 | |||
| 6a5c132cdd | |||
| d4a6a35c4a | |||
| abdfa9b51d | |||
| 3b22f1b835 | |||
| 58a2785494 | |||
| 02ba3e5327 | |||
| 211041a94a | |||
| 6609841a99 | |||
| 3e39014c58 | |||
| 7d3ca1d128 | |||
| c4898a03bb | |||
| c8f15acb7d | |||
| ed2d3dfeb9 | |||
| d85d2adb44 | |||
| 95784800ab | |||
| 9c4ecc42a4 | |||
| fd5e763eba | |||
| 94845ad1dd | |||
| 72668f80be | |||
| de6cf88786 | |||
| dc1b1e3383 | |||
| ba9d3a2072 | |||
| 03af37b170 | |||
| ba67ba56bd | |||
| 865bc683bf | |||
| 3b74058559 | |||
| b8ff36d5c0 | |||
| b213b9047b | |||
| 7542c43b2d | |||
| e178fe236c | |||
| bcac0f251d | |||
| 76b46d4a5f | |||
| 4041249c75 | |||
| 3021245528 | |||
| d0b4e9f661 | |||
| a74b6b6379 | |||
| ebada8d1f6 | |||
| c8751c107e | |||
| c0f0193e7c | |||
| 7fa8100ced | |||
| 7f0ff83357 | |||
| 1ef062a996 | |||
| 9fbbdb2e95 | |||
| 12a135fcf0 | |||
| e18ab60669 | |||
| 10151cecd0 | |||
| b527da8c8d | |||
| 09fc6717f2 | |||
| e9a7785889 | |||
| 6d6e9ce917 | |||
| e970e1b7b1 | |||
|  | 720b3b2c16 | ||
| 9756af6c06 | |||
| d1fe0ebc83 | |||
| 96e3ee17d4 | |||
| 3a79c299a9 | |||
| d70c017aaa | |||
| 47196bcd45 | |||
| 4424ce255a | |||
| be2b8451b2 | |||
| b5f3732e9a | |||
| 03bbc9dd98 | |||
| 777b3c4201 | |||
| 4cd4413a82 | |||
| 9d50f46ece | |||
| a04b6abc77 | |||
| 8fa40447c3 | 
							
								
								
									
										164
									
								
								.gitea/workflows/update.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								.gitea/workflows/update.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,164 @@ | ||||
| name: Auto Update Zen Kernel Templates | ||||
| on: | ||||
|   schedule: | ||||
|     - cron: '0 12 * * *' | ||||
|   workflow_dispatch: | ||||
| jobs: | ||||
|   update-kernel: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Install Dependencies | ||||
|         run: sudo apt-get update && sudo apt-get install -y curl jq | ||||
|       - name: Fetch Latest Zen Kernel Release | ||||
|         id: get_release | ||||
|         run: | | ||||
|           RELEASES=$(curl -s https://api.github.com/repos/zen-kernel/zen-kernel/releases?per_page=50) | ||||
|           LATEST_RELEASE=$(echo "$RELEASES" | jq -r '[.[] | select(.tag_name | test("^v\\d+\\.\\d+(\\.\\d+)?-lqx\\d+$"))] | sort_by(.published_at) | reverse | .[0]') | ||||
|           if [ "$LATEST_RELEASE" = "null" ]; then | ||||
|             echo "No stable release found" | ||||
|             exit 0 | ||||
|           fi | ||||
|           TAG_NAME=$(echo "$LATEST_RELEASE" | jq -r '.tag_name') | ||||
|           VERSION=$(echo "$TAG_NAME" | sed 's/^v\([0-9.]*\)-lqx.*/\1/') | ||||
|           LQX=$(echo "$TAG_NAME" | sed 's/.*-lqx\([0-9]*\)$/\1/') | ||||
|           VERSION_KEY=$(echo "$VERSION" | sed 's/\([0-9]*\.[0-9]*\).*/\1/') | ||||
|           echo "Latest release: $TAG_NAME" | ||||
|           echo "Version: $VERSION, LQX: $LQX, Version Key: $VERSION_KEY" | ||||
|           echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT | ||||
|           echo "version=$VERSION" >> $GITHUB_OUTPUT | ||||
|           echo "lqx=$LQX" >> $GITHUB_OUTPUT | ||||
|           echo "version_key=$VERSION_KEY" >> $GITHUB_OUTPUT | ||||
|       - name: Update Templates | ||||
|         id: update_templates | ||||
|         run: | | ||||
|           TAG_NAME="${{ steps.get_release.outputs.tag_name }}" | ||||
|           VERSION="${{ steps.get_release.outputs.version }}" | ||||
|           LQX="${{ steps.get_release.outputs.lqx }}" | ||||
|           VERSION_KEY="${{ steps.get_release.outputs.version_key }}" | ||||
|           if [ -z "$TAG_NAME" ]; then | ||||
|             echo "No release data found, exiting" | ||||
|             exit 0 | ||||
|           fi | ||||
|           echo "Processing latest release: $TAG_NAME (version=$VERSION, lqx=$LQX, version_key=$VERSION_KEY)" | ||||
|           ARCHIVE_URL="https://github.com/zen-kernel/zen-kernel/archive/refs/tags/${TAG_NAME}.tar.gz" | ||||
|           echo "Downloading $ARCHIVE_URL" | ||||
|           if curl -sL "$ARCHIVE_URL" -o "zen-kernel-${VERSION}.tar.gz"; then | ||||
|             CHECKSUM=$(sha256sum "zen-kernel-${VERSION}.tar.gz" | awk '{print $1}') | ||||
|             rm "zen-kernel-${VERSION}.tar.gz" | ||||
|             echo "Checksum: $CHECKSUM" | ||||
|           else | ||||
|             echo "Failed to download $ARCHIVE_URL, exiting" | ||||
|             exit 1 | ||||
|           fi | ||||
|           UPDATED_VERSIONS="" | ||||
|           CHANGED_FILES="" | ||||
|           for compiler in clang gcc; do | ||||
|             TEMPLATE_DIR="linux-${compiler}/linux${VERSION_KEY}-zen" | ||||
|             TEMPLATE_FILE="$TEMPLATE_DIR/template" | ||||
|             if [ -f "$TEMPLATE_FILE" ]; then | ||||
|               echo "Checking existing template: $TEMPLATE_FILE" | ||||
|               CURRENT_VERSION=$(grep '^version=' "$TEMPLATE_FILE" 2>/dev/null | cut -d= -f2 || echo "") | ||||
|               CURRENT_LQX=$(grep '^lqx=' "$TEMPLATE_FILE" 2>/dev/null | cut -d= -f2 || echo "") | ||||
|               CURRENT_CHECKSUM=$(grep '^checksum=' "$TEMPLATE_FILE" 2>/dev/null | cut -d= -f2 || echo "") | ||||
|               echo "Current: version=$CURRENT_VERSION, lqx=$CURRENT_LQX" | ||||
|               echo "New: version=$VERSION, lqx=$LQX" | ||||
|               if [ "$CURRENT_VERSION" != "$VERSION" ] || [ "$CURRENT_LQX" != "$LQX" ] || [ "$CURRENT_CHECKSUM" != "$CHECKSUM" ]; then | ||||
|                 echo "Update needed for $TEMPLATE_FILE" | ||||
|                 sed -i "s/^version=.*/version=$VERSION/" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/^lqx=.*/lqx=$LQX/" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/^checksum=.*/checksum=$CHECKSUM/" "$TEMPLATE_FILE" | ||||
|                 if [ "$CURRENT_VERSION" != "$VERSION" ] || [ "$CURRENT_LQX" != "$LQX" ]; then | ||||
|                   sed -i "s/^revision=.*/revision=1/" "$TEMPLATE_FILE" | ||||
|                 else | ||||
|                   CURRENT_REV=$(grep '^revision=' "$TEMPLATE_FILE" 2>/dev/null | cut -d= -f2 || echo "1") | ||||
|                   NEW_REV=$((CURRENT_REV + 1)) | ||||
|                   sed -i "s/^revision=.*/revision=$NEW_REV/" "$TEMPLATE_FILE" | ||||
|                 fi | ||||
|                 UPDATED_VERSIONS="$UPDATED_VERSIONS $VERSION_KEY-$compiler" | ||||
|                 CHANGED_FILES="$CHANGED_FILES $TEMPLATE_FILE" | ||||
|                 echo "Updated $TEMPLATE_FILE to version $VERSION-lqx$LQX" | ||||
|               else | ||||
|                 echo "No update needed for $TEMPLATE_FILE" | ||||
|               fi | ||||
|             else | ||||
|               echo "Template not found: $TEMPLATE_FILE - creating new template" | ||||
|               REFERENCE_TEMPLATE="" | ||||
|               REFERENCE_DIR="" | ||||
|               if [ "$compiler" = "clang" ]; then | ||||
|                 REFERENCE_TEMPLATE=$(find linux-clang -name template -type f | sort -V | tail -1) | ||||
|               else | ||||
|                 REFERENCE_TEMPLATE=$(find linux-gcc -name template -type f | sort -V | tail -1) | ||||
|               fi | ||||
|               if [ -n "$REFERENCE_TEMPLATE" ] && [ -f "$REFERENCE_TEMPLATE" ]; then | ||||
|                 REFERENCE_DIR=$(dirname "$REFERENCE_TEMPLATE") | ||||
|                 echo "Using reference template directory: $REFERENCE_DIR" | ||||
|                 mkdir -p "$TEMPLATE_DIR" | ||||
|                 cp -r "$REFERENCE_DIR"/* "$TEMPLATE_DIR/" | ||||
|                 echo "Copied files and patches from $REFERENCE_DIR to $TEMPLATE_DIR" | ||||
|                 sed -i "s/^pkgname=.*/pkgname=linux${VERSION_KEY}-zen/" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/^version=.*/version=$VERSION/" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/^lqx=.*/lqx=$LQX/" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/^checksum=.*/checksum=$CHECKSUM/" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/^revision=.*/revision=1/" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/linux[0-9.]*-zen-headers_package/linux${VERSION_KEY}-zen-headers_package/g" "$TEMPLATE_FILE" | ||||
|                 sed -i "s/linux[0-9.]*-zen-dbg_package/linux${VERSION_KEY}-zen-dbg_package/g" "$TEMPLATE_FILE" | ||||
|                 HEADERS_DIR="linux-${compiler}/linux${VERSION_KEY}-zen-headers" | ||||
|                 DBG_DIR="linux-${compiler}/linux${VERSION_KEY}-zen-dbg" | ||||
|                 if [ ! -e "$HEADERS_DIR" ]; then | ||||
|                   ln -s "linux${VERSION_KEY}-zen" "$HEADERS_DIR" | ||||
|                   echo "Created symlink: $HEADERS_DIR -> linux${VERSION_KEY}-zen" | ||||
|                 fi | ||||
|                 if [ ! -e "$DBG_DIR" ]; then | ||||
|                   ln -s "linux${VERSION_KEY}-zen" "$DBG_DIR" | ||||
|                   echo "Created symlink: $DBG_DIR -> linux${VERSION_KEY}-zen" | ||||
|                 fi | ||||
|                 UPDATED_VERSIONS="$UPDATED_VERSIONS $VERSION_KEY-$compiler-new" | ||||
|                 CHANGED_FILES="$CHANGED_FILES $TEMPLATE_DIR" | ||||
|                 echo "Created new template: $TEMPLATE_FILE" | ||||
|               else | ||||
|                 echo "No reference template found for $compiler" | ||||
|               fi | ||||
|             fi | ||||
|           done | ||||
|           echo "updated_versions=$UPDATED_VERSIONS" >> $GITHUB_OUTPUT | ||||
|           echo "changed_files=$CHANGED_FILES" >> $GITHUB_OUTPUT | ||||
|           echo "Updated versions: $UPDATED_VERSIONS" | ||||
|           echo "Changed files: $CHANGED_FILES" | ||||
|       - name: Commit and Push Changes | ||||
|         run: | | ||||
|           UPDATED="${{ steps.update_templates.outputs.updated_versions }}" | ||||
|           CHANGED_FILES="${{ steps.update_templates.outputs.changed_files }}" | ||||
|           TAG_NAME="${{ steps.get_release.outputs.tag_name }}" | ||||
|           if [ -n "$UPDATED" ] && [ -n "$CHANGED_FILES" ]; then | ||||
|             git config user.name "Wizzard" | ||||
|             git config user.email "rich@bandaholics.cash" | ||||
|             echo "Adding changed files: $CHANGED_FILES" | ||||
|             for item in $CHANGED_FILES; do | ||||
|               if [ -f "$item" ] || [ -d "$item" ]; then | ||||
|                 git add "$item" | ||||
|                 echo "Added: $item" | ||||
|               else | ||||
|                 echo "Warning: Item not found: $item" | ||||
|               fi | ||||
|             done | ||||
|             if echo "$UPDATED" | grep -q "new"; then | ||||
|               git add linux-clang/*-zen-headers linux-clang/*-zen-dbg linux-gcc/*-zen-headers linux-gcc/*-zen-dbg 2>/dev/null || true | ||||
|               echo "Added symlinks for new templates" | ||||
|             fi | ||||
|             if git diff --cached --quiet; then | ||||
|               echo "No changes to commit" | ||||
|               exit 0 | ||||
|             fi | ||||
|             if echo "$UPDATED" | grep -q "new"; then | ||||
|               NEW_TEMPLATES=$(echo "$UPDATED" | tr ' ' '\n' | grep 'new' | sed 's/-new$//' | tr '\n' ' ') | ||||
|               git commit -m "Add zen kernel templates for $NEW_TEMPLATES at $TAG_NAME [auto]" | ||||
|             else | ||||
|               git commit -m "Update zen kernel templates to $TAG_NAME: $UPDATED [auto]" | ||||
|             fi | ||||
|             git push | ||||
|             echo "Changes committed and pushed" | ||||
|           else | ||||
|             echo "No updates needed" | ||||
|           fi | ||||
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,9 +1,17 @@ | ||||
| # void-zenkernel | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ## Precompiled binaries now available | ||||
|  | ||||
| Precompiled Zen Kernel packages are available through our repository. Add our repo and install with: | ||||
|  | ||||
| ```bash | ||||
| echo "repository=https://deadzone.enterprises/repo/x86_64" | sudo tee /etc/xbps.d/10-deadzone.conf | ||||
| sudo xbps-install -S linux6.13-zen linux6.13-zen-headers | ||||
| ``` | ||||
|  | ||||
| ## Description | ||||
|  | ||||
| `void-zenkernel` is a collection of packages that allow users to build the Zen Kernel for Void Linux using either GCC or Clang compilers. The Zen Kernel is known for its performance tweaks and smoother system performance. With `void-zenkernel`, Void Linux users can easily harness the power of Zen! | ||||
|   | ||||
| @@ -1,19 +1,19 @@ | ||||
| pkgname=linux6.10-zen | ||||
| version=6.10.3 | ||||
| version=6.10.10 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=1 | ||||
| lqx=2 | ||||
| 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="fa36e5a9a1eb538c5d8dbe268e03daca4d04b3b47076345007fa1a875e5f0998" | ||||
| checksum="da99959438dd3301ccf9dc939b77506fd234a923159f73c56703e612c11d711c" | ||||
| python_version=3 | ||||
| patch_args="-Np1" | ||||
|  | ||||
| nodebug=yes  # -dbg package is generated below manually | ||||
| nodebug=yes | ||||
| nostrip=yes | ||||
| noverifyrdeps=yes | ||||
| noshlibprovides=yes | ||||
| @@ -30,7 +30,6 @@ fi | ||||
| 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 | ||||
| @@ -43,7 +42,6 @@ mutable_files=" | ||||
|  /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=zen | ||||
| @@ -200,7 +198,6 @@ do_install() { | ||||
| 		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 | ||||
| @@ -236,25 +233,20 @@ do_install() { | ||||
| 		cp -a drivers/media/i2c/${i}/*.h ${hdrdest}/drivers/media/i2c/${i} | ||||
| 	done | ||||
|  | ||||
| 	# 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 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 | ||||
| @@ -262,7 +254,6 @@ do_install() { | ||||
| 	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 | ||||
| @@ -275,7 +266,6 @@ do_install() { | ||||
| 			;; | ||||
| 	esac | ||||
|  | ||||
| 	# Remove unneeded architectures | ||||
| 	case "$arch" in | ||||
| 		i386|x86_64) _args="arm* m* p*";; | ||||
| 		arm|arm64) _args="x86* m* p*";; | ||||
| @@ -286,11 +276,9 @@ do_install() { | ||||
| 		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} | ||||
| 	( | ||||
|   | ||||
							
								
								
									
										1
									
								
								linux-clang/linux6.11-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.11-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.11-zen | ||||
							
								
								
									
										1
									
								
								linux-clang/linux6.11-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.11-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.11-zen | ||||
							
								
								
									
										7
									
								
								linux-clang/linux6.11-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-clang/linux6.11-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 | ||||
							
								
								
									
										11524
									
								
								linux-clang/linux6.11-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11524
									
								
								linux-clang/linux6.11-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-clang/linux6.11-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-clang/linux6.11-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); | ||||
							
								
								
									
										314
									
								
								linux-clang/linux6.11-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										314
									
								
								linux-clang/linux6.11-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,314 @@ | ||||
| pkgname=linux6.11-zen | ||||
| version=6.11.5 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=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="68ef878cd3d31b103b1bbe292b8dd7e6819951663858698f2dddd6f64698485d" | ||||
| 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" | ||||
|  | ||||
| if [[ $version =~ ^[0-9]+\.[0-9]+$ ]]; then | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| else | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| fi | ||||
| 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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/drivers/md | ||||
| 	cp drivers/md/*.h ${hdrdest}/drivers/md | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/include/linux | ||||
| 	cp include/linux/inotify.h ${hdrdest}/include/linux | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/net/mac80211/ | ||||
| 	cp net/mac80211/*.h ${hdrdest}/net/mac80211 | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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 | ||||
|  | ||||
| 	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.11-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.11-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-clang/linux6.12-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.12-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.12-zen | ||||
							
								
								
									
										1
									
								
								linux-clang/linux6.12-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.12-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.12-zen | ||||
							
								
								
									
										7
									
								
								linux-clang/linux6.12-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-clang/linux6.12-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 | ||||
							
								
								
									
										11510
									
								
								linux-clang/linux6.12-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11510
									
								
								linux-clang/linux6.12-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-clang/linux6.12-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-clang/linux6.12-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); | ||||
							
								
								
									
										313
									
								
								linux-clang/linux6.12-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										313
									
								
								linux-clang/linux6.12-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,313 @@ | ||||
| pkgname=linux6.12-zen | ||||
| version=6.12.16 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=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="8ba251cd91818090eb50d41e6124ee902842c815a0f9a5c701bf6b4060936be7" | ||||
| 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" | ||||
|  | ||||
| if [[ $version =~ ^[0-9]+\.[0-9]+$ ]]; then | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| else | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| fi | ||||
| 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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/drivers/md | ||||
| 	cp drivers/md/*.h ${hdrdest}/drivers/md | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/include/linux | ||||
| 	cp include/linux/inotify.h ${hdrdest}/include/linux | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/net/mac80211/ | ||||
| 	cp net/mac80211/*.h ${hdrdest}/net/mac80211 | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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 | ||||
|  | ||||
| 	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.12-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.12-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-clang/linux6.13-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.13-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.13-zen | ||||
							
								
								
									
										1
									
								
								linux-clang/linux6.13-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.13-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.13-zen | ||||
							
								
								
									
										7
									
								
								linux-clang/linux6.13-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-clang/linux6.13-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 | ||||
							
								
								
									
										11579
									
								
								linux-clang/linux6.13-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11579
									
								
								linux-clang/linux6.13-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-clang/linux6.13-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-clang/linux6.13-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); | ||||
							
								
								
									
										309
									
								
								linux-clang/linux6.13-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										309
									
								
								linux-clang/linux6.13-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,309 @@ | ||||
| pkgname=linux6.13-zen | ||||
| version=6.13.8 | ||||
| revision=2 | ||||
| lqx=4 | ||||
| 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="70b23ad79a1270e4688e0c1426d6f3c43ebae9e2a57d3ecb67ee364a51079675" | ||||
| 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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/drivers/md | ||||
| 	cp drivers/md/*.h ${hdrdest}/drivers/md | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/include/linux | ||||
| 	cp include/linux/inotify.h ${hdrdest}/include/linux | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/net/mac80211/ | ||||
| 	cp net/mac80211/*.h ${hdrdest}/net/mac80211 | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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 | ||||
|  | ||||
| 	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.13-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.13-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-clang/linux6.14-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.14-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.14-zen | ||||
							
								
								
									
										1
									
								
								linux-clang/linux6.14-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.14-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.14-zen | ||||
							
								
								
									
										7
									
								
								linux-clang/linux6.14-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-clang/linux6.14-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 | ||||
							
								
								
									
										11611
									
								
								linux-clang/linux6.14-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11611
									
								
								linux-clang/linux6.14-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-clang/linux6.14-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-clang/linux6.14-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); | ||||
							
								
								
									
										309
									
								
								linux-clang/linux6.14-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										309
									
								
								linux-clang/linux6.14-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,309 @@ | ||||
| pkgname=linux6.14-zen | ||||
| version=6.14.9 | ||||
| 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="9c27d27dd456e41ec59d526950776b6c4984537f387a1f52303b42e56a659ee3" | ||||
| 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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/drivers/md | ||||
| 	cp drivers/md/*.h ${hdrdest}/drivers/md | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/include/linux | ||||
| 	cp include/linux/inotify.h ${hdrdest}/include/linux | ||||
|  | ||||
| 	mkdir -p ${hdrdest}/net/mac80211/ | ||||
| 	cp net/mac80211/*.h ${hdrdest}/net/mac80211 | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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/ | ||||
|  | ||||
| 	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 | ||||
|  | ||||
| 	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.14-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.14-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-clang/linux6.15-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.15-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.15-zen | ||||
							
								
								
									
										1
									
								
								linux-clang/linux6.15-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.15-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.15-zen | ||||
							
								
								
									
										7
									
								
								linux-clang/linux6.15-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-clang/linux6.15-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.15-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11627
									
								
								linux-clang/linux6.15-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-clang/linux6.15-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-clang/linux6.15-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.15-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										283
									
								
								linux-clang/linux6.15-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,283 @@ | ||||
| pkgname=linux6.15-zen | ||||
| version=6.15.11 | ||||
| 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=a381f8762b8e2844cceeec77383b7f546e1d8f6e4caf0003c9cbc1ac98157a8b | ||||
| 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.15-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.15-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-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.12 | ||||
| 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=5547699cbbb80530ba1aef04afe744d11c036ebabbe4363cf44c8dcff644a3ca | ||||
| 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-clang/linux6.17-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.17-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.17-zen | ||||
							
								
								
									
										1
									
								
								linux-clang/linux6.17-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-clang/linux6.17-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.17-zen | ||||
							
								
								
									
										7
									
								
								linux-clang/linux6.17-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-clang/linux6.17-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 | ||||
							
								
								
									
										11835
									
								
								linux-clang/linux6.17-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11835
									
								
								linux-clang/linux6.17-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-clang/linux6.17-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-clang/linux6.17-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.17-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										283
									
								
								linux-clang/linux6.17-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,283 @@ | ||||
| pkgname=linux6.17-zen | ||||
| version=6.17.5 | ||||
| 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=1014213b91c9f6148ce5e36da9933ace59fc43c32c12bf0994f6ab8ae1cc5f4d | ||||
| 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.17-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.17-zen-dbg_package() { | ||||
| 	preserve=yes | ||||
| 	nostrip=yes | ||||
| 	noverifyrdeps=yes | ||||
| 	noshlibprovides=yes | ||||
| 	repository=debug | ||||
| 	short_desc+=" - debugging symbols" | ||||
| 	pkg_install() { | ||||
| 		vmove usr/lib/debug | ||||
| 	} | ||||
| } | ||||
| @@ -1,29 +1,26 @@ | ||||
| pkgname=linux6.10-zen | ||||
| version=6.10.3 | ||||
| version=6.10.10 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=1 | ||||
| lqx=2 | ||||
| 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="fa36e5a9a1eb538c5d8dbe268e03daca4d04b3b47076345007fa1a875e5f0998" | ||||
| checksum="da99959438dd3301ccf9dc939b77506fd234a923159f73c56703e612c11d711c" | ||||
| archs="x86_64* i686* ppc* aarch64*" | ||||
| patch_args="-Np1" | ||||
|  | ||||
| # Standard kernel template setup | ||||
| nodebug=yes | ||||
| nostrip=yes | ||||
| noverifyrdeps=yes | ||||
| noshlibprovides=yes | ||||
| preserve=yes | ||||
|  | ||||
| # Dependencies | ||||
| hostmakedepends="tar xz lz4 bc-gh elfutils-devel flex gmp-devel kmod libmpc-devel openssl-devel perl uboot-mkimage cpio pahole python3" | ||||
|  | ||||
| # This denotes the version for various hooks and scripts | ||||
| if [[ $version =~ ^[0-9]+\.[0-9]+$ ]]; then | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| else | ||||
| @@ -121,10 +118,8 @@ do_install() { | ||||
| 		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} modules_install | ||||
|  | ||||
| 	hdrdest=${DESTDIR}/usr/src/kernel-headers-${_kernver} | ||||
| @@ -156,7 +151,6 @@ do_install() { | ||||
| 			;; | ||||
| 	esac | ||||
|  | ||||
| 	# Switch to /usr. | ||||
| 	vmkdir usr | ||||
| 	mv ${DESTDIR}/lib ${DESTDIR}/usr | ||||
|  | ||||
| @@ -165,7 +159,7 @@ do_install() { | ||||
| 	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 | ||||
| @@ -201,7 +195,6 @@ do_install() { | ||||
| 		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 | ||||
|   | ||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.11-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.11-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.11-zen | ||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.11-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.11-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.11-zen | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.11-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.11-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 | ||||
							
								
								
									
										11524
									
								
								linux-gcc/linux6.11-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11524
									
								
								linux-gcc/linux6.11-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.11-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.11-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); | ||||
							
								
								
									
										321
									
								
								linux-gcc/linux6.11-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										321
									
								
								linux-gcc/linux6.11-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,321 @@ | ||||
| pkgname=linux6.11-zen | ||||
| version=6.11.5 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=1 | ||||
| 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="68ef878cd3d31b103b1bbe292b8dd7e6819951663858698f2dddd6f64698485d" | ||||
| 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" | ||||
|  | ||||
| if [[ $version =~ ^[0-9]+\.[0-9]+$ ]]; then | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| else | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| fi | ||||
| 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 | ||||
|  | ||||
| 	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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 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 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} | ||||
| } | ||||
|  | ||||
| linux6.11-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.11-zen-dbg_package() { | ||||
| 	preserve=yes | ||||
| 	nostrip=yes | ||||
| 	noverifyrdeps=yes | ||||
| 	noshlibprovides=yes | ||||
| 	repository=debug | ||||
| 	short_desc+=" - debugging symbols" | ||||
| 	pkg_install() { | ||||
| 		vmove usr/lib/debug | ||||
| 	} | ||||
| } | ||||
|  | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.12-zen-dbg/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.12-zen-dbg/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 | ||||
							
								
								
									
										11524
									
								
								linux-gcc/linux6.12-zen-dbg/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11524
									
								
								linux-gcc/linux6.12-zen-dbg/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.12-zen-dbg/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.12-zen-dbg/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); | ||||
							
								
								
									
										321
									
								
								linux-gcc/linux6.12-zen-dbg/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										321
									
								
								linux-gcc/linux6.12-zen-dbg/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,321 @@ | ||||
| pkgname=linux6.11-zen | ||||
| version=6.11.8 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=1 | ||||
| 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="98e26562b9f31165d32bc798adeba91436a3ccdd7019f86e5445be1be4427ee8" | ||||
| 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" | ||||
|  | ||||
| if [[ $version =~ ^[0-9]+\.[0-9]+$ ]]; then | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| else | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| fi | ||||
| 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 | ||||
|  | ||||
| 	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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 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 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} | ||||
| } | ||||
|  | ||||
| linux6.11-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.11-zen-dbg_package() { | ||||
| 	preserve=yes | ||||
| 	nostrip=yes | ||||
| 	noverifyrdeps=yes | ||||
| 	noshlibprovides=yes | ||||
| 	repository=debug | ||||
| 	short_desc+=" - debugging symbols" | ||||
| 	pkg_install() { | ||||
| 		vmove usr/lib/debug | ||||
| 	} | ||||
| } | ||||
|  | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.12-zen-headers/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.12-zen-headers/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 | ||||
							
								
								
									
										11524
									
								
								linux-gcc/linux6.12-zen-headers/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11524
									
								
								linux-gcc/linux6.12-zen-headers/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.12-zen-headers/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.12-zen-headers/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); | ||||
							
								
								
									
										321
									
								
								linux-gcc/linux6.12-zen-headers/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										321
									
								
								linux-gcc/linux6.12-zen-headers/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,321 @@ | ||||
| pkgname=linux6.11-zen | ||||
| version=6.11.8 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=1 | ||||
| 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="98e26562b9f31165d32bc798adeba91436a3ccdd7019f86e5445be1be4427ee8" | ||||
| 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" | ||||
|  | ||||
| if [[ $version =~ ^[0-9]+\.[0-9]+$ ]]; then | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| else | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| fi | ||||
| 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 | ||||
|  | ||||
| 	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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 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 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} | ||||
| } | ||||
|  | ||||
| linux6.11-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.11-zen-dbg_package() { | ||||
| 	preserve=yes | ||||
| 	nostrip=yes | ||||
| 	noverifyrdeps=yes | ||||
| 	noshlibprovides=yes | ||||
| 	repository=debug | ||||
| 	short_desc+=" - debugging symbols" | ||||
| 	pkg_install() { | ||||
| 		vmove usr/lib/debug | ||||
| 	} | ||||
| } | ||||
|  | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.12-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.12-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 | ||||
							
								
								
									
										11510
									
								
								linux-gcc/linux6.12-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11510
									
								
								linux-gcc/linux6.12-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.12-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.12-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); | ||||
							
								
								
									
										317
									
								
								linux-gcc/linux6.12-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										317
									
								
								linux-gcc/linux6.12-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,317 @@ | ||||
| pkgname=linux6.12-zen | ||||
| version=6.12.16 | ||||
| revision=1 | ||||
| zen=1 | ||||
| lqx=1 | ||||
| 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="8ba251cd91818090eb50d41e6124ee902842c815a0f9a5c701bf6b4060936be7" | ||||
| 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" | ||||
|  | ||||
| if [[ $version =~ ^[0-9]+\.[0-9]+$ ]]; then | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| else | ||||
|     _kernver="${version}-lqx${lqx}_${revision}" | ||||
| fi | ||||
| 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 | ||||
|  | ||||
| 	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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 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 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 | ||||
| 	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.12-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.12-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.13-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.13-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.13-zen | ||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.13-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.13-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.13-zen | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.13-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.13-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 | ||||
							
								
								
									
										11579
									
								
								linux-gcc/linux6.13-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11579
									
								
								linux-gcc/linux6.13-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.13-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.13-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); | ||||
							
								
								
									
										314
									
								
								linux-gcc/linux6.13-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										314
									
								
								linux-gcc/linux6.13-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,314 @@ | ||||
| pkgname=linux6.14-zen | ||||
| version=6.14 | ||||
| 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="70b23ad79a1270e4688e0c1426d6f3c43ebae9e2a57d3ecb67ee364a51079675" | ||||
| 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 | ||||
|  | ||||
| 	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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 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 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 | ||||
| 	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.14-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.14-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.14-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.14-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.14-zen | ||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.14-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.14-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.14-zen | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.14-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.14-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 | ||||
							
								
								
									
										11611
									
								
								linux-gcc/linux6.14-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11611
									
								
								linux-gcc/linux6.14-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.14-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.14-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); | ||||
							
								
								
									
										314
									
								
								linux-gcc/linux6.14-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										314
									
								
								linux-gcc/linux6.14-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,314 @@ | ||||
| pkgname=linux6.14-zen | ||||
| version=6.14.9 | ||||
| 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="9c27d27dd456e41ec59d526950776b6c4984537f387a1f52303b42e56a659ee3" | ||||
| 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 | ||||
|  | ||||
| 	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 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 | ||||
|  | ||||
| 	# 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	 | ||||
| 	# 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 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 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 | ||||
| 	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.14-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.14zen-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.15-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.15-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.15-zen | ||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.15-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.15-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.15-zen | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.15-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.15-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.15-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11627
									
								
								linux-gcc/linux6.15-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.15-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.15-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.15-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										283
									
								
								linux-gcc/linux6.15-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,283 @@ | ||||
| pkgname=linux6.15-zen | ||||
| version=6.15.11 | ||||
| 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=a381f8762b8e2844cceeec77383b7f546e1d8f6e4caf0003c9cbc1ac98157a8b | ||||
| 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.15-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.15-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.12 | ||||
| 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=5547699cbbb80530ba1aef04afe744d11c036ebabbe4363cf44c8dcff644a3ca | ||||
| 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 | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.17-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.17-zen-dbg
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.17-zen | ||||
							
								
								
									
										1
									
								
								linux-gcc/linux6.17-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								linux-gcc/linux6.17-zen-headers
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| linux6.17-zen | ||||
							
								
								
									
										7
									
								
								linux-gcc/linux6.17-zen/files/mv-debug
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								linux-gcc/linux6.17-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 | ||||
							
								
								
									
										11835
									
								
								linux-gcc/linux6.17-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11835
									
								
								linux-gcc/linux6.17-zen/files/x86_64-dotconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								linux-gcc/linux6.17-zen/patches/gpl_patch.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								linux-gcc/linux6.17-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.17-zen/template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										283
									
								
								linux-gcc/linux6.17-zen/template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,283 @@ | ||||
| pkgname=linux6.17-zen | ||||
| version=6.17.5 | ||||
| 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=1014213b91c9f6148ce5e36da9933ace59fc43c32c12bf0994f6ab8ae1cc5f4d | ||||
| 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.17-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.17-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