From 6e4bc8d9c17a4fcc21ecc23f9f30994dbe55e0ff Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Thu, 2 Jan 2014 18:11:41 -0800 Subject: [PATCH] fix(sys-kernel/coreos-kernel): Don't install firmware to root filesystem In preparation for moving to using firmware provided by the linux-firmware repository instead of linux the kernel ebuild needs to stop installing the files to avoid conflicts. Also to better ensure that the firmware package gets rebuilt every time the kernel does bump to EAPI=5 and set the subslot to the ebuild version/revision. The firmware package can then depend on the kernel w/ a special slot operator to make sure it gets rebuilt when the kernel version changes. The firmware package can then scan the installed modules and only install the firmware that is required. (Portage automatic rebuild behavior often makes this sort of rebuild happen anyway but using subslots makes it a strict requirement.) --- .../third_party/coreos-overlay/eclass/cros-kernel2.eclass | 8 +++++--- ...el-3.11.7-r5.ebuild => coreos-kernel-3.11.7-r6.ebuild} | 2 +- ...ernel-3.12.6.ebuild => coreos-kernel-3.12.6-r1.ebuild} | 2 +- ..._64_defconfig-3.11.7-r5 => x86_64_defconfig-3.11.7-r6} | 0 4 files changed, 7 insertions(+), 5 deletions(-) rename sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/{coreos-kernel-3.11.7-r5.ebuild => coreos-kernel-3.11.7-r6.ebuild} (98%) rename sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/{coreos-kernel-3.12.6.ebuild => coreos-kernel-3.12.6-r1.ebuild} (98%) rename sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/files/{x86_64_defconfig-3.11.7-r5 => x86_64_defconfig-3.11.7-r6} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/cros-kernel2.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/cros-kernel2.eclass index b7f7f60419..0f0f6fcc22 100644 --- a/sdk_container/src/third_party/coreos-overlay/eclass/cros-kernel2.eclass +++ b/sdk_container/src/third_party/coreos-overlay/eclass/cros-kernel2.eclass @@ -1,13 +1,13 @@ # Copyright (c) 2012 The Chromium OS Authors. All rights reserved. # Distributed under the terms of the GNU General Public License v2 -[[ ${EAPI} != "4" ]] && die "Only EAPI=4 is supported" +[[ ${EAPI} != "5" ]] && die "Only EAPI=5 is supported" inherit cros-workon toolchain-funcs HOMEPAGE="http://www.chromium.org/" LICENSE="GPL-2" -SLOT="0" +SLOT="0/${PVR}" DEPEND="sys-apps/debianutils sys-devel/bc @@ -195,7 +195,9 @@ cros-kernel2_src_compile() { cros-kernel2_src_install() { dodir /boot kmake INSTALL_PATH="${D}/boot" install - kmake INSTALL_MOD_PATH="${D}" modules_install + # Install firmware to a temporary (bogus) location. + # The linux-firmware package will be used instead. + kmake INSTALL_MOD_PATH="${D}" INSTALL_FW_PATH="${T}/fw" modules_install local version=$(kernelversion) if [ ! -e "${D}/boot/vmlinuz" ]; then diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.11.7-r5.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.11.7-r6.ebuild similarity index 98% rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.11.7-r5.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.11.7-r6.ebuild index 8fa743afa5..09170be363 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.11.7-r5.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.11.7-r6.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-kernel/vanilla-sources/vanilla-sources-3.7.5.ebuild,v 1.1 2013/01/28 13:18:54 ago Exp $ -EAPI=4 +EAPI=5 CROS_WORKON_COMMIT="0507eb5ef5a83ab746677b7f19d6e3a19906c995" CROS_WORKON_REPO="git://github.com" CROS_WORKON_PROJECT="coreos/linux" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.12.6.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.12.6-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.12.6.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.12.6-r1.ebuild index 9970a2a76b..1b59841d00 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.12.6.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-3.12.6-r1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-kernel/vanilla-sources/vanilla-sources-3.7.5.ebuild,v 1.1 2013/01/28 13:18:54 ago Exp $ -EAPI=4 +EAPI=5 CROS_WORKON_COMMIT="2e8b6ebe08210cda2967c63320fc0052de903efa" CROS_WORKON_REPO="git://github.com" CROS_WORKON_PROJECT="coreos/linux" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/files/x86_64_defconfig-3.11.7-r5 b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/files/x86_64_defconfig-3.11.7-r6 similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/files/x86_64_defconfig-3.11.7-r5 rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/files/x86_64_defconfig-3.11.7-r6