blob: cece624bcbacf4a4cc1e9d98f971336131f0d97c (
plain)
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
68
69
70
71
72
73
|
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
VER="${PV%-r*}"
REV="r${PV##*-r}"
DESCRIPTION="Linux kernel"
HOMEPAGE="http://kernel.org/"
SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/snapshot/linux-stable-${VER}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/linux-stable-${VER}"
LICENSE="GPLv2"
SLOT="${PV}"
KEYWORDS="amd64 ~x86"
IUSE=""
DEPEND=""
RDEPEND="${DEPEND}
sys-boot/myinitramfs"
src_configure() {
# Fix ARCH variable
[ "$ARCH" = "amd64" ] && ARCH="x86"
"${FILESDIR}"/config_prepare.sh || die "Configuration application failed"
}
src_install() {
emake modules_install INSTALL_MOD_PATH="${D}" INSTALL_FW_PATH="${D}/lib/firmware/${PV}"
dodir /boot
insinto /boot
newins "${S}/arch/$ARCH/boot/bzImage" "bzlinux-${PV}"
# Package source (kind of annoying because of some packages expecting it)
emake clean
dodir /usr/src
cp -a "${S}" "${D}/usr/src/linux-${PV}"
}
# Link /usr/src/linux to newest kernel
src_link() {
(
cd "${ROOT}/usr/src"
rm -f linux
ln -s $(ls | grep "linux-" | sort | tail -1) linux
)
}
pkg_postinst() {
# Add label to syslinux config if there is non yet
SYSLINUX="${ROOT}/boot/syslinux/syslinux.cfg"
if ! grep -q "^LABEL gentoo-${PV}$" "${SYSLINUX}"; then
ARGS="$(grep -E "^# ARGS: " "${SYSLINUX}" | sed 's/^# ARGS: //')"
if [ -n "$ARGS" ]; then
sed -i "/^## Dynamic labels ##$/a LABEL gentoo-${PV}\n\tMENU LABEL Gentoo ${PV}\n\tLINUX ../bzlinux-${PV}\n\tAPPEND ${ARGS}\n\tINITRD ../initramfs-gentoo\n" "${SYSLINUX}" || eerror "Adding label to syslinux configuration failed!"
else
eerror "Adding label to syslinux configuration failed as there are no arguments"
fi
fi
src_link
}
pkg_prerm() {
# Remove label from syslinux config
sed -i "/^LABEL gentoo-${PV}$/,/^$/d" /boot/syslinux/syslinux.cfg || eerror "Removing label from syslinux fonfiguration failed!"
}
pkg_postrm() {
src_link
}
|