From cf45f525df1fcb3583064ea2547192a479e208b3 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Fri, 3 Jan 2014 12:21:20 -0800 Subject: [PATCH] add(sys-kernel/coreos-firmware): Add firmware package. This provides firmware from linux-firmware but excludes everything not explicitly required by coreos-kernel. Note that firmware installed by this will only be available on the root filesystem, the initrd still uses the smaller set of firmware the linux repo provides. The current 3.12 kernel wants a few files missing in the July snapshot: * Missing firmware: ct2fw-3.2.1.1.bin (bna.ko) * Missing firmware: ctfw-3.2.1.1.bin (bna.ko) * Missing firmware: cxgb4/t5fw.bin (cxgb4.ko) These files have been added to the linux-firmware repo so a newer snapshot will be required but for now I'm sticking with what is already in Gentoo so I don't have to generate my own tarball or whatever. --- ...1-r214.ebuild => coreos-0.0.1-r215.ebuild} | 0 .../coreos-base/coreos/coreos-0.0.1.ebuild | 2 + .../coreos-firmware-20130728.ebuild | 1 + .../coreos-firmware-99999999.ebuild | 124 ++++++++++++++++++ 4 files changed, 127 insertions(+) rename sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/{coreos-0.0.1-r214.ebuild => coreos-0.0.1-r215.ebuild} (100%) create mode 120000 sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-20130728.ebuild create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r214.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r215.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r214.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r215.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild index c0d7ce7f88..0dd7d4036e 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild @@ -126,6 +126,8 @@ RDEPEND="${RDEPEND} sys-apps/util-linux sys-fs/e2fsprogs sys-fs/aufs-util + sys-kernel/coreos-firmware + sys-kernel/coreos-kernel sys-libs/timezone-data sys-process/lsof sys-process/procps diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-20130728.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-20130728.ebuild new file mode 120000 index 0000000000..bbf00cc122 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-20130728.ebuild @@ -0,0 +1 @@ +coreos-firmware-99999999.ebuild \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild new file mode 100644 index 0000000000..6b4ad6edc2 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild,v 1.30 2013/09/05 05:46:37 vapier Exp $ + +EAPI=5 + +if [[ ${PV} == 99999999* ]]; then + inherit git-2 + SRC_URI="" + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" + KEYWORDS="" +else + SRC_URI="mirror://gentoo/linux-firmware-${PV}.tar.xz" + KEYWORDS="amd64" +fi + +DESCRIPTION="Linux firmware files" +HOMEPAGE="http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git" + +LICENSE="GPL-1 GPL-2 GPL-3 BSD freedist" +SLOT="0" +IUSE="" + +DEPEND="sys-kernel/coreos-kernel:=" +RDEPEND="${DEPEND} + !=sys-kernel/coreos-kernel-3.12.6 + !<=sys-kernel/coreos-kernel-3.11.7-r5 + !sys-kernel/linux-firmware + !sys-firmware/alsa-firmware[alsa_cards_ca0132] + !sys-firmware/alsa-firmware[alsa_cards_korg1212] + !sys-firmware/alsa-firmware[alsa_cards_maestro3] + !sys-firmware/alsa-firmware[alsa_cards_sb16] + !sys-firmware/alsa-firmware[alsa_cards_ymfpci] + !media-tv/cx18-firmware + ! "${T}/firmware-scan" + local kofile fwfile + for kofile in $(find "${kernel_mods}" -name '*.ko'); do + for fwfile in $(modinfo --field firmware "${kofile}"); do + if [[ ! -e "${fwfile}" ]]; then + ewarn "Missing firmware: ${fwfile} (${kofile##*/})" + elif [[ -L "${fwfile}" ]]; then + echo "${fwfile}" >> "${T}/firmware-scan" + realpath --relative-to=. "${fwfile}" >> "${T}/firmware-scan" + else + echo "${fwfile}" >> "${T}/firmware-scan" + fi + done + done + + einfo "Pruning all unneeded firmware files..." + sort -u "${T}/firmware-scan" > "${T}/firmware" + find * -not -type d \ + | sort "${T}/firmware" "${T}/firmware" - \ + | uniq -u | xargs -r rm + assert + + # Prune empty directories + find -type d -empty -delete || die +} + +src_install() { + insinto /lib/firmware/ + doins -r * +}