Skip to content

Commit

Permalink
microcode-data: add USE flags to control install of file sets #403119
Browse files Browse the repository at this point in the history
With newer kernels, there's no need to install the microcode.dat file
as they can automatically load the ucode files themselves.  Add USE
flags so people can avoid installing the parts they don't need.
  • Loading branch information
vapier committed Aug 11, 2015
1 parent 549f70f commit df93bef
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
4 changes: 4 additions & 0 deletions sys-apps/microcode-data/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>base-system</herd>
<use>
<flag name='monolithic'>install the large text microcode.dat (used by older kernels via microcode_ctl)</flag>
<flag name='split-ucode'>install the split binary ucode files (used by the kernel directly)</flag>
</use>
</pkgmetadata>
49 changes: 49 additions & 0 deletions sys-apps/microcode-data/microcode-data-20150121-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="4"

inherit toolchain-funcs

# Find updates by searching and clicking the first link (hopefully it's the one):
# http://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File

NUM="24661"
DESCRIPTION="Intel IA32 microcode update data"
HOMEPAGE="http://inertiawar.com/microcode/ https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}"
SRC_URI="http://downloadmirror.intel.com/${NUM}/eng/microcode-${PV}.tgz"

LICENSE="intel-ucode"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE="monolithic +split-ucode"
REQUIRED_USE="|| ( monolithic split-ucode )"

RDEPEND="!<sys-apps/microcode-ctl-1.17-r2" #268586

S=${WORKDIR}

src_unpack() {
default
cp "${FILESDIR}"/intel-microcode2ucode.c ./ || die
}

src_compile() {
if use split-ucode ; then
tc-env_build emake intel-microcode2ucode
./intel-microcode2ucode microcode.dat || die
fi
}

src_install() {
insinto /lib/firmware
use monolithic && doins microcode.dat
use split-ucode && doins -r intel-ucode
}

pkg_postinst() {
elog "The microcode available for Intel CPUs has been updated. You'll need"
elog "to reload the code into your processor. If you're using the init.d:"
elog "/etc/init.d/microcode_ctl restart"
}

0 comments on commit df93bef

Please sign in to comment.