forked from ghazzor/Xanmod-Kernel-Builder
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPKGBUILD
More file actions
67 lines (61 loc) · 1.82 KB
/
Copy pathPKGBUILD
File metadata and controls
67 lines (61 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Maintainer: ghazzor <kartikhis8o@gmail.com>
download() {
OWNER="stufss"
REPO="Xanmod-Kernel-Builder"
RELEASE_JSON=$(curl -s "https://api.github.com/repos/${OWNER}/${REPO}/releases/latest")
ASSET_URL=$(echo "${RELEASE_JSON}" | jq -r '.assets[].browser_download_url' | grep omen16.tar.xz)
echo "$ASSET_URL"
echo $PWD
FILE=$(echo "$ASSET_URL" | cut -f9 -d'/')
if [[ ! -e $FILE ]]; then
rm -rf *.tar.xz
aria2c ${ASSET_URL}
fi
[[ ! -d tar-install ]] && tar -xvf *.tar.xz
export kver=$(basename tar-install/lib/modules/*xanmod1)
}
download
pkgname=linux-xanmod-omen16-bin
pkgver=$(echo $kver | cut -f1 -d'-')
pkgrel=1
pkgdesc='Pre-compiled Xanmod kernel with custom optimizations'
arch=('x86_64')
url="https://xanmod.org"
license=('GPL2')
depends=('coreutils' 'kmod' 'mkinitcpio')
optdepends=('linux-firmware: firmware for drivers'
'grub: bootloader integration')
touch xanmod.install
install=xanmod.install
package() {
cd ..
echo $kver
mkdir -p "${pkgdir}/usr/"
cp -r "tar-install/lib/" "${pkgdir}/usr/"
cp -r "tar-install/boot" "${pkgdir}/"
cat << EOF > xanmod.install
post_install() {
echo ">>> Generating initramfs for kernel: $kver"
mkinitcpio -k $kver -g "/boot/initramfs-$kver.img"
rm -f /boot/initramfs
rm -f /boot/vmlinuz
sudo ln -s /boot/initramfs-$kver-xanmod1.img /boot/initramfs
sudo ln -sf /boot/vmlinuz-$kver /boot/vmlinuz
sudo ln -sf /boot/initramfs-$kver.img /boot/initramfs
echo ">>> Updating GRUB configuration"
grub-mkconfig -o /boot/grub/grub.cfg
}
post_upgrade() {
post_install
}
post_remove() {
echo ">>> Removing initramfs and updating GRUB..."
rm -f /boot/initramfs-$kver.img
rm -f /boot/initramfs
grub-mkconfig -o /boot/grub/grub.cfg
}
EOF
rm -rf tar-install
rm -rf "${pkgdir}/usr/lib/modules/$kver/build"
rm -rf "${pkgdir}/boot/vmlinux-$kver"
}