diff --git a/.gitignore b/.gitignore index 591b7bd..617de12 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ archiso/ build.log .claude /.env +/repos diff --git a/cfg/repo.sh b/cfg/repo.sh index b670a60..602c0c7 100755 --- a/cfg/repo.sh +++ b/cfg/repo.sh @@ -64,13 +64,32 @@ if [[ "$BUILD_KERNEL" == "true" ]]; then ssh "$HOST_KERNEL" zsh -s <<'KERNEL_REMOTE' set -e +REPOS="${HOME}/repos" WORK="${HOME}/aios-kernel" + +# Clone or update upstream Arch linux PKGBUILD +mkdir -p "$REPOS" +if [ -d "$REPOS/archlinux" ]; then + cd "$REPOS/archlinux" + git pull +else + git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/linux.git "$REPOS/archlinux" +fi + +# Prepare workspace rm -rf "$WORK" -mkdir -p "$WORK" +mkdir -p "$WORK/linux-aios" +cp "$REPOS/archlinux/PKGBUILD" "$WORK/linux-aios/" +cp "$REPOS/archlinux/config.x86_64" "$WORK/linux-aios/" + +# Clone aios repo for patch cd "$WORK" git clone --depth 1 https://git.syui.ai/ai/os.git -cp -r "$WORK/os/pkg/linux-aios" "$WORK/linux-aios" + +# Apply aios patch cd "$WORK/linux-aios" +patch -p1 < "$WORK/os/pkg/linux-aios/aios.patch" + makepkg -sf --noconfirm --skippgpcheck echo "=== Kernel built ===" KERNEL_REMOTE diff --git a/pkg/linux-aios/PKGBUILD b/pkg/linux-aios/PKGBUILD deleted file mode 100644 index 9ca70cf..0000000 --- a/pkg/linux-aios/PKGBUILD +++ /dev/null @@ -1,249 +0,0 @@ -# Maintainer: syui -# Based on: Arch Linux linux package by Jan Alexander Steffens (heftig) - -pkgbase=linux-aios -pkgver=6.19.8.arch1 -pkgrel=1 -pkgdesc='Linux (aios)' -url='https://github.com/archlinux/linux' -arch=( - x86_64 -) -license=(GPL-2.0-only) -makedepends=( - bc - cpio - gettext - libelf - pahole - perl - python - rust - rust-bindgen - rust-src - tar - xz - -) -options=( - !debug - !strip -) -_srcname=linux-${pkgver%.*} -_srctag=v${pkgver%.*}-${pkgver##*.} -source=( - https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} - $url/releases/download/$_srctag/linux-$_srctag.patch.zst{,.sig} -) -source_x86_64=(config.x86_64) -validpgpkeys=( - ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds - 647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman - 83BC8889351B5DEBBB68416EB8AC08600F108CDF # Jan Alexander Steffens (heftig) -) -b2sums=('1bb4591dd0adb2472f31adbaaa5eae03743edf6e7a970173afb1ea1c659677102832d69e6ce692deee9ee757b36cba3d63b116a5eee81a7e5226462c40ae5ca0' - 'SKIP' - '7e6a8cbbb3e9c9d9544f87f490534e68f2a7a7714d857649bc4c6ec60c024e5488641fedee664f7eb8e1cb743c738834fdf665b2660477bf223ca8273c2f38a4' - 'SKIP') -b2sums_x86_64=('900786808bcfb20403ebc49d0dfa7793f5975288238258c3edeff1d1fc293a404844f26e56d7afbb3a14a504ce9fa9c939d444431de67017a612b7b99bb2fa4e') - -# https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc -sha256sums=('aada4722db8bcfa0b9732851856d405082b6a4fa2e3ab067be8db17cdd115b38' - 'SKIP' - '4d02c253bc7f02101942d073b3b855c2a7f965db442ffb375c6259dddca240a4' - 'SKIP') - -export KBUILD_BUILD_HOST=archlinux -export KBUILD_BUILD_USER=$pkgbase -export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" - -prepare() { - cd $_srcname - - local src - for src in "${source[@]}"; do - src="${src%%::*}" - src="${src##*/}" - src="${src%.zst}" - [[ $src = *.patch ]] || continue - echo "Applying patch $src..." - patch -Np1 < "../$src" - done - - echo "Setting version..." - sed -i "s/^EXTRAVERSION = .*/EXTRAVERSION =/" Makefile - echo "" > localversion.10-pkgrel - echo "-aios" > localversion.20-pkgname - - echo "Setting config..." - cp ../config.$CARCH .config - make olddefconfig - diff -u ../config.$CARCH .config || : - - make -s kernelrelease > version - echo "Prepared $pkgbase version $( ++# Maintainer: syui ++# Based on: Arch Linux linux package by Jan Alexander Steffens (heftig) + +-pkgbase=linux ++pkgbase=linux-aios + pkgver=6.19.8.arch1 + pkgrel=1 +-pkgdesc='Linux' ++pkgdesc='Linux (aios)' + url='https://github.com/archlinux/linux' + arch=( + x86_64 +@@ -23,12 +24,6 @@ + tar + xz + +- # htmldocs +- graphviz +- imagemagick +- python-sphinx +- python-yaml +- texlive-latexextra + ) + options=( + !debug +@@ -65,10 +60,6 @@ + prepare() { + cd $_srcname + +- echo "Setting version..." +- echo "-$pkgrel" > localversion.10-pkgrel +- echo "${pkgbase#linux}" > localversion.20-pkgname +- + local src + for src in "${source[@]}"; do + src="${src%%::*}" +@@ -79,6 +70,11 @@ + patch -Np1 < "../$src" + done + ++ echo "Setting version..." ++ sed -i "s/^EXTRAVERSION = .*/EXTRAVERSION =/" Makefile ++ echo "" > localversion.10-pkgrel ++ echo "-aios" > localversion.20-pkgname ++ + echo "Setting config..." + cp ../config.$CARCH .config + make olddefconfig +@@ -92,7 +88,6 @@ + cd $_srcname + make all + make -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1 +- make htmldocs SPHINXOPTS=-QT + } + + _package() { +@@ -240,29 +235,9 @@ + ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" + } + +-_package-docs() { +- pkgdesc="Documentation for the $pkgdesc kernel" +- +- cd $_srcname +- local builddir="$pkgdir/usr/lib/modules/$(