#!/bin/sh -x

wget -q --no-check-certificate https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.17.tar.xz
tar xpJf linux-4.17.tar.xz

wget --no-check-certificate https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.17.19.xz
wget ftp://plamo.linet.gr.jp/pub/Plamo-test/kernelsrc_patches/UNICON/vd_unicon-kernel-20180609-4.17.patch
wget ftp://plamo.linet.gr.jp/pub/Plamo-test/kernelsrc_patches/UNICON/vd_unicon-kernel-device_set_font_noarg.patch
wget http://vdlinux.sourceforge.jp/dists/UNICON/vd_unicon-kernel-fonts-20140614.patch.bz2
git clone https://github.com/sfjro/aufs4-standalone.git
( cd aufs4-standalone ; git checkout origin/aufs4.17 ; git reset --hard 4662af5 )
cat <<- "EOF" | patch aufs4-standalone/aufs4-mmap.patch
	304c304
	<  	kmem_cache_free(vm_area_cachep, vma);
	---
	>  	vm_area_free(vma);
	EOF
wget ftp://plamo.linet.gr.jp/pub/Plamo-test/kernelsrc_patches/mcp/4.17-panic_beep.patch
wget ftp://plamo.linet.gr.jp/pub/Plamo-test/kernelsrc_patches/mcp/4.17-morse_code_panics.patch
git clone https://gitlab.com/nigelcunningham/tuxonice-kernel.git
( cd tuxonice-kernel ; git checkout origin/tuxonice-4.17 ; git reset --hard 1967f50
    git diff 62134e7 | bzip2 > ../tuxonice-for-linux-4.17.19-2018-09-06.patch.bz2 )
git clone https://github.com/raspberrypi/linux.git
( cd linux ; git checkout origin/rpi-4.17.y ; git reset --hard b0b5a34
    git diff 62134e7 | xz > ../rpi-4.17.19-20180630-b0b5a34.patch.xz )
wget ftp://plamo.linet.gr.jp/pub/Plamo-test/kernelsrc_patches/ovlfs/overlayfs-allow_unprivileged_mounts.patch

cd linux-4.17
unxz -c ../patch-4.17.19.xz | patch -Np1 -i -
patch -Np1 -i ../vd_unicon-kernel-20180609-4.17.patch
patch -Np1 -i ../vd_unicon-kernel-device_set_font_noarg.patch
bunzip2 -c ../vd_unicon-kernel-fonts-20140614.patch.bz2 | patch -Np1 -i -
patch -Np1 -i ../aufs4-standalone/aufs4-kbuild.patch
patch -Np1 -i ../aufs4-standalone/aufs4-base.patch
patch -Np1 -i ../aufs4-standalone/aufs4-mmap.patch
patch -Np1 -i ../aufs4-standalone/aufs4-standalone.patch
cp -av ../aufs4-standalone/Documentation .
cp -av ../aufs4-standalone/fs .
cp -pv ../aufs4-standalone/include/uapi/linux/aufs_type.h include/uapi/linux
patch -Np1 -i ../4.17-panic_beep.patch
patch -Np1 -i ../4.17-morse_code_panics.patch
bunzip2 -c ../tuxonice-for-linux-4.17.19-2018-09-06.patch.bz2 | patch -Np1 -i -
unxz -c ../rpi-4.17.19-20180630-b0b5a34.patch.xz | patch -Np1 -i -
patch -Np1 -i ../overlayfs-allow_unprivileged_mounts.patch
find . -name "*.orig" -ls -exec rm {} \;
