#!/bin/bash
set -x -e
KERNELVERSION=5.15.19
KERNEL=linux-$KERNELVERSION
AUFS=aufs5-standalone
CHECKOUT=origin/aufs5.15.5

mount /dev/sr0 /media/cdrom

installpkg /media/cdrom/slackware*/l/*.txz
removepkg qt5 gtk4 qt5-webkit opencv boost gtk+3
rm -Rf /usr/doc /usr/share/locale /usr/share/gtk-doc

installpkg /media/cdrom/slackware*/d/*.txz
removepkg rust llvm gcc-gnat gcc-gdc doxygen rubby
rm -Rf /usr/doc /usr/share/locale /usr/share/gtk-doc

installpkg /media/cdrom/slackware*/ap/*.txz
removepkg mariadb hplip ghostscript
rm -Rf /usr/doc /usr/share/locale /usr/share/gtk-doc

installpkg /media/cdrom/slackware*/n/*.txz
removepkg samba nmap php
rm -Rf /usr/doc /usr/share/locale /usr/share/gtk-doc

installpkg /media/cdrom/slackware*/k/kernel-source-*.txz

cd /usr/src

cd $KERNEL
zcat /proc/config.gz > .config

rm -Rf $AUFS
git -c http.sslVerify=false clone https://github.com/sfjro/$AUFS
cd $AUFS
git checkout $CHECKOUT
cd ..

cp -aR $AUFS/fs .
cp -a $AUFS/include/uapi/linux/aufs_type.h include/uapi/linux

patch -p1 < $AUFS/aufs5-kbuild.patch
patch -p1 < $AUFS/aufs5-base.patch
patch -p1 < $AUFS/aufs5-mmap.patch
patch -p1 < $AUFS/aufs5-standalone.patch
patch -p1 < $AUFS/aufs5-loopback.patch
patch -p1 < $AUFS/vfs-ino.patch
patch -p1 < $AUFS/tmpfs-idr.patch

echo "CONFIG_AUFS_FS=m
# CONFIG_AUFS_BRANCH_MAX_127 is not set
# CONFIG_AUFS_BRANCH_MAX_511 is not set
# CONFIG_AUFS_BRANCH_MAX_1023 is not set
CONFIG_AUFS_BRANCH_MAX_32767=y
CONFIG_AUFS_SBILIST=y
# CONFIG_AUFS_HNOTIFY is not set
CONFIG_AUFS_EXPORT=y
CONFIG_AUFS_INO_T_64=y
CONFIG_AUFS_XATTR=y
# CONFIG_AUFS_FHSM is not set
# CONFIG_AUFS_RDU is not set
CONFIG_AUFS_DIRREN=y
CONFIG_AUFS_SHWH=y
CONFIG_AUFS_BR_RAMFS=y
CONFIG_AUFS_BR_FUSE=y
CONFIG_AUFS_POLL=y
CONFIG_AUFS_BR_HFSPLUS=y
CONFIG_AUFS_BDEV_LOOP=y
# CONFIG_AUFS_DEBUG is not set" >>.config

make oldconfig
make -j8 modules
make -j8 bzImage
make modules_install INSTALL_MOD_STRIP=1

TMP=/aaa-kernel
mkdir -p $TMP/lib/modules
cp -aR /lib/modules/$KERNELVERSION $TMP/lib/modules
mkdir -p $TMP/boot
cp arch/x86/boot/bzImage $TMP/boot/vmlinuz-slax-$KERNELVERSION
cd $TMP
tar -c * | gzip -f >/$KERNEL.tar.gz
