diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2018-02-07 04:18:40 +0100 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2018-02-07 04:24:55 +0100 |
commit | 51d07a0f5c5db7a9b8ea9a449e551c7f7408ad80 (patch) | |
tree | f8060b2fb2802b0dd20af6bdb8c75189caddad79 /sys-firmware | |
parent | dev-db/pgagent: remove "unused" pgagent-3.4.0-r1.ebuild. (diff) | |
download | gentoo-51d07a0f5c5db7a9b8ea9a449e551c7f7408ad80.tar.gz gentoo-51d07a0f5c5db7a9b8ea9a449e551c7f7408ad80.tar.bz2 gentoo-51d07a0f5c5db7a9b8ea9a449e551c7f7408ad80.zip |
sys-firmware/intel-microcode: Rev bump to update ebuild code
Ebuild uses microcodes from 2017-11-17 but ebuild code changes
from recent ebuilds were backported.
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'sys-firmware')
-rw-r--r-- | sys-firmware/intel-microcode/intel-microcode-20171117-r1.ebuild | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/sys-firmware/intel-microcode/intel-microcode-20171117-r1.ebuild b/sys-firmware/intel-microcode/intel-microcode-20171117-r1.ebuild new file mode 100644 index 000000000000..f58fcaea14a3 --- /dev/null +++ b/sys-firmware/intel-microcode/intel-microcode-20171117-r1.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit toolchain-funcs mount-boot + +# 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="27337" +DESCRIPTION="Intel IA32/IA64 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="initramfs +split-ucode" +REQUIRED_USE="|| ( initramfs split-ucode )" + +DEPEND="sys-apps/iucode_tool" +RDEPEND="!<sys-apps/microcode-ctl-1.17-r2" #268586 + +S=${WORKDIR} + +# TODO: +# Blacklist bad microcode here. +DEFAULT_MICROCODE_SIGNATURES="" + +# Advanced users only: +# merge with: +# only current CPU: MICROCODE_SIGNATURES="-S" +# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676" +# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686" +MICROCODE_SIGNATURES="${MICROCODE_SIGNATURES:=${DEFAULT_MICROCODE_SIGNATURES}}" + +pkg_pretend() { + if [[ "${MICROCODE_SIGNATURES}" != "${DEFAULT_MICROCODE_SIGNATURES}" ]]; then + ewarn "MICROCODE_SIGNATURES is set!" + ewarn "The user has decided to install only a SUBSET of microcode." + fi + use initramfs && mount-boot_pkg_pretend +} + +src_install() { + # This will take ALL of the upstream microcode sources: + # - microcode.dat + # - intel-ucode/ + # In some cases, they have not contained the same content (eg the directory has newer stuff). + MICROCODE_SRC=( + "${S}"/microcode.dat + "${S}"/intel-ucode/ + ) + opts=( + ${MICROCODE_SIGNATURES} + # be strict about what we are doing + --overwrite + --strict-checks + --no-ignore-broken + # show everything we find + --list-all + # show what we selected + --list + ) + + # The earlyfw cpio needs to be in /boot because it must be loaded before + # rootfs is mounted. + use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED%/}"/boot/intel-uc.img ) + # split location: + use split-ucode && dodir /lib/firmware/intel-ucode && opts+=( --write-firmware="${ED%/}"/lib/firmware/intel-ucode ) + + iucode_tool \ + "${opts[@]}" \ + "${MICROCODE_SRC[@]}" \ + || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}" + + dodoc releasenote +} + +pkg_preinst() { + use initramfs && mount-boot_pkg_preinst +} + +pkg_prerm() { + use initramfs && mount-boot_pkg_prerm +} + +pkg_postrm() { + use initramfs && mount-boot_pkg_postrm +} + +pkg_postinst() { + use initramfs && mount-boot_pkg_postinst +} |