From ae3e80b78298b0d890e35236b73488f47312f72c Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann Date: Fri, 24 Aug 2018 21:37:57 +0200 Subject: [PATCH] sys-firmware/intel-microcode: drop old Package-Manager: Portage-2.3.48, Repoman-2.3.10 --- licenses/intel-ucode-20180807 | 332 ------------------ sys-firmware/intel-microcode/Manifest | 1 - ...tel-microcode-20180807_p20180808-r2.ebuild | 214 ----------- ...tel-microcode-20180807_p20180808-r3.ebuild | 254 -------------- 4 files changed, 801 deletions(-) delete mode 100644 licenses/intel-ucode-20180807 delete mode 100644 sys-firmware/intel-microcode/intel-microcode-20180807_p20180808-r2.ebuild delete mode 100644 sys-firmware/intel-microcode/intel-microcode-20180807_p20180808-r3.ebuild diff --git a/licenses/intel-ucode-20180807 b/licenses/intel-ucode-20180807 deleted file mode 100644 index 9fe5d48fc570..000000000000 --- a/licenses/intel-ucode-20180807 +++ /dev/null @@ -1,332 +0,0 @@ -SOFTWARE LICENSE AGREEMENT - -DO NOT DOWNLOAD, INSTALL, ACCESS, COPY, OR USE ANY PORTION OF THE SOFTWARE -UNTIL YOU HAVE READ AND ACCEPTED THE TERMS AND CONDITIONS OF THIS AGREEMENT. BY -INSTALLING, COPYING, ACCESSING, OR USING THE SOFTWARE, YOU AGREE TO BE LEGALLY -BOUND BY THE TERMS AND CONDITIONS OF THIS AGREEMENT. If You do not agree to be -bound by, or the entity for whose benefit You act has not authorized You to -accept, these terms and conditions, do not install, access, copy, or use the -Software and destroy all copies of the Software in Your possession. - -This SOFTWARE LICENSE AGREEMENT (this "Agreement") is entered into between -Intel Corporation, a Delaware corporation ("Intel") and You. "You" refers to -you or your employer or other entity for whose benefit you act, as applicable. -If you are agreeing to the terms and conditions of this Agreement on behalf of -a company or other legal entity, you represent and warrant that you have the -legal authority to bind that legal entity to the Agreement, in which case, -"You" or "Your" shall be in reference to such entity. Intel and You are -referred to herein individually as a "Party" or, together, as the "Parties". -The Parties, in consideration of the mutual covenants contained in this -Agreement, and for other good and valuable consideration, the receipt and -sufficiency of which they acknowledge, and intending to be legally bound, agree -as follows: - -1. PURPOSE. You seek to obtain, and Intel desires to provide You, under the -terms of this Agreement, Software solely for Your efforts to develop and -distribute products integrating Intel hardware and Intel software. "Software" -refers to certain software or other collateral, including, but not limited to, -related components, operating system, application program interfaces, device -drivers, associated media, printed or electronic documentation and any updates, -upgrades or releases thereto associated with Intel product(s), software or -service(s). "Intel-based product" refers to a device that includes, -incorporates, or implements Intel product(s), software or service(s). - -2. LIMITED LICENSE. Conditioned on Your compliance with the terms and -conditions of this Agreement, Intel grants to You a limited, nonexclusive, -nontransferable, revocable, worldwide, fully paid-up license during the term of -this Agreement, without the right to sublicense, under Intel's copyrights -(subject to any third party licensing requirements), to (i) reproduce the -Software only for Your own internal evaluation, testing, validation, and -development of Intel-based products and any associated maintenance thereof; -(ii) reproduce, display, and publicly perform an object code representation of -the Software, only when integrated with and executed by an Intel-based product, -subject to any third party licensing requirements; and (iii) distribute an -object code representation of the Software, provided by Intel, through multiple -levels of distribution, solely as embedded in or for execution on an -Intel-based product and subject to these license terms, and if to an end user, -pursuant to a license agreement with terms and conditions at least as -restrictive as those contained in the Intel End User Software License Agreement -in Appendix A hereto. - -If You are not the final manufacturer or vendor of an Intel-based product -incorporating or designed to incorporate the Software, You may transfer a copy -of the Software to Your Original Equipment Manufacturer (OEM), Original Device -Manufacturer (ODM), distributors, or system integration partners ("Your -Partner") for use in accordance with the terms and conditions of this -Agreement, provided Your Partner agrees to be fully bound by the terms hereof -and provided that You will remain fully liable to Intel for the actions and -inactions of Your Partner(s). - -3. LICENSE RESTRICTIONS. All right, title and interest in and to the Software -and associated documentation are and will remain the exclusive property of -Intel and its licensors or suppliers. Unless expressly permitted under the -Agreement, You will not, and will not allow any third party to (i) use, copy, -distribute, sell or offer to sell the Software or associated documentation; -(ii) modify, adapt, enhance, disassemble, decompile, reverse engineer, change -or create derivative works from the Software except and only to the extent as -specifically required by mandatory applicable laws or any applicable third -party license terms accompanying the Software; (iii) use or make the Software -available for the use or benefit of third parties; or (iv) use the Software on -Your products other than those that include the Intel hardware product(s), -platform(s), or software identified in the Software; or (v) publish or provide -any Software benchmark or comparison test results. You acknowledge that an -essential basis of the bargain in this Agreement is that Intel grants You no -licenses or other rights including, but not limited to, patent, copyright, -trade secret, trademark, trade name, service mark or other intellectual -property licenses or rights with respect to the Software and associated -documentation, by implication, estoppel or otherwise, except for the licenses -expressly granted above. You acknowledge there are significant uses of the -Software in its original, unmodified and uncombined form. You may not remove -any copyright notices from the Software. - -4. LICENSE TO FEEDBACK. This Agreement does not obligate You to provide Intel -with materials, information, comments, suggestions, or other communication -regarding the features, functions, performance or use of the Software -("Feedback"). If any portion of the Software is provided or otherwise made -available by Intel in source code form, to the extent You provide Intel with -Feedback in a tangible form, You grant to Intel and its affiliates a -non-exclusive, perpetual, sublicenseable, irrevocable, worldwide, royalty-free, -fully paid-up and transferable license, to and under all of Your intellectual -property rights, whether perfected or not, to publicly perform, publicly -display, reproduce, use, make, have made, sell, offer for sale, distribute, -import, create derivative works of and otherwise exploit any comments, -suggestions, descriptions, ideas, Your Derivatives or other feedback regarding -the Software provided by You or on Your behalf. - -5. OPEN SOURCE STATEMENT. The Software may include Open Source Software (OSS) -licensed pursuant to OSS license agreement(s) identified in the OSS comments in -the applicable source code file(s) or file header(s) provided with or otherwise -associated with the Software. Neither You nor any OEM, ODM, customer, or -distributor may subject any proprietary portion of the Software to any OSS -license obligations including, without limitation, combining or distributing -the Software with OSS in a manner that subjects Intel, the Software or any -portion thereof to any OSS license obligation. Nothing in this Agreement limits -any rights under, or grants rights that supersede, the terms of any applicable -OSS license. - -6. THIRD PARTY SOFTWARE. Certain third party software provided with or within -the Software may only be used (a) upon securing a license directly from the -owner of the software or (b) in combination with hardware components purchased -from such third party and (c) subject to further license limitations by the -software owner. A listing of any such third party limitations is in one or more -text files accompanying the Software. You acknowledge Intel is not providing -You with a license to such third party software and further that it is Your -responsibility to obtain appropriate licenses from such third parties directly. - -7. CONFIDENTIALITY. The terms and conditions of this Agreement, exchanged -confidential information, as well as the Software are subject to the terms and -conditions of the Non-Disclosure Agreement(s) or Intel Pre-Release Loan -Agreement(s) (referred to herein collectively or individually as "NDA") entered -into by and in force between Intel and You, and in any case no less -confidentiality protection than You apply to Your information of similar -sensitivity. If You would like to have a contractor perform work on Your behalf -that requires any access to or use of Software, You must obtain a written -confidentiality agreement from the contractor which contains terms and -conditions with respect to access to or use of Software no less restrictive -than those set forth in this Agreement, excluding any distribution rights and -use for any other purpose, and You will remain fully liable to Intel for the -actions and inactions of those contractors. You may not use Intel's name in any -publications, advertisements, or other announcements without Intel's prior -written consent. - -8. NO OBLIGATION; NO AGENCY. Intel may make changes to the Software, or items -referenced therein, at any time without notice. Intel is not obligated to -support, update, provide training for, or develop any further version of the -Software or to grant any license thereto. No agency, franchise, partnership, -joint-venture, or employee-employer relationship is intended or created by this -Agreement. - -9. EXCLUSION OF WARRANTIES. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY -EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF -MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. Intel -does not warrant or assume responsibility for the accuracy or completeness of -any information, text, graphics, links or other items within the Software. - -10. LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL OR ITS AFFILIATES, -LICENSORS OR SUPPLIERS (INCLUDING THEIR RESPECTIVE DIRECTORS, OFFICERS, -EMPLOYEES, AND AGENTS) BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT -LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, OR LOST DATA) ARISING OUT OF -OR IN RELATION TO THIS AGREEMENT, INCLUDING THE USE OF OR INABILITY TO USE THE -SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -SOME JURISDICTIONS PROHIBIT EXCLUSION OR LIMITATION OF LIABILITY FOR IMPLIED -WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY -IN PART NOT APPLY TO YOU. THE SOFTWARE LICENSED HEREUNDER IS NOT DESIGNED OR -INTENDED FOR USE IN ANY MEDICAL, LIFE SAVING OR LIFE SUSTAINING SYSTEMS, -TRANSPORTATION SYSTEMS, NUCLEAR SYSTEMS, OR FOR ANY OTHER MISSION CRITICAL -APPLICATION IN WHICH THE FAILURE OF THE SOFTWARE COULD LEAD TO PERSONAL INJURY -OR DEATH. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO -JURISDICTION. THE LIMITED REMEDIES, WARRANTY DISCLAIMER AND LIMITED LIABILITY -ARE FUNDAMENTAL ELEMENTS OF THE BASIS OF THE BARGAIN BETWEEN INTEL AND YOU. YOU -ACKNOWLEDGE INTEL WOULD BE UNABLE TO PROVIDE THE SOFTWARE WITHOUT SUCH -LIMITATIONS. YOU WILL INDEMNIFY AND HOLD INTEL AND ITS AFFILIATES, LICENSORS -AND SUPPLIERS (INCLUDING THEIR RESPECTIVE DIRECTORS, OFFICERS, EMPLOYEES, AND -AGENTS) HARMLESS AGAINST ALL CLAIMS, LIABILITIES, LOSSES, COSTS, DAMAGES, AND -EXPENSES (INCLUDING REASONABLE ATTORNEY FEES), ARISING OUT OF, DIRECTLY OR -INDIRECTLY, THE DISTRIBUTION OF THE SOFTWARE AND ANY CLAIM OF PRODUCT -LIABILITY, PERSONAL INJURY OR DEATH ASSOCIATED WITH ANY UNINTENDED USE, EVEN IF -SUCH CLAIM ALLEGES THAT INTEL OR AN INTEL AFFILIATE, LICENSORS OR SUPPLIER WAS -NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE. - -11. TERMINATION AND SURVIVAL. Intel may terminate this Agreement for any reason -with thirty (30) days' notice and immediately if You or someone acting on Your -behalf or at Your behest violates any of its terms or conditions. Upon -termination, You will immediately destroy and ensure the destruction of the -Software or return all copies of the Software to Intel (including providing -certification of such destruction or return back to Intel). Upon termination of -this Agreement, all licenses granted to You hereunder terminate immediately. -All Sections of this Agreement, except Section 2, will survive termination. - -12. GOVERNING LAW AND JURISDICTION. This Agreement and any dispute arising out -of or relating to it will be governed by the laws of the U.S.A. and Delaware, -without regard to conflict of laws principles. The Parties exclude the -application of the United Nations Convention on Contracts for the International -Sale of Goods (1980). The state and federal courts sitting in Delaware, U.S.A. -will have exclusive jurisdiction over any dispute arising out of or relating to -this Agreement. The Parties consent to personal jurisdiction and venue in those -courts. A Party that obtains a judgment against the other Party in the courts -identified in this section may enforce that judgment in any court that has -jurisdiction over the Parties. - -13. EXPORT REGULATIONS/EXPORT CONTROL. You agree that neither You nor Your -subsidiaries will export/re-export the Software, directly or indirectly, to any -country for which the U.S. Department of Commerce or any other agency or -department of the U.S. Government or the foreign government from where it is -shipping requires an export license, or other governmental approval, without -first obtaining any such required license or approval. In the event the -Software is exported from the U.S.A. or re-exported from a foreign destination -by You or Your subsidiary, You will ensure that the distribution and -export/re-export or import of the Software complies with all laws, regulations, -orders, or other restrictions of the U.S. Export Administration Regulations and -the appropriate foreign government. - -14. GOVERNMENT RESTRICTED RIGHTS. The Software is a commercial item (as defined -in 48 C.F.R. 2.101) consisting of commercial computer software and commercial -computer software documentation (as those terms are used in 48 C.F.R. 12.212). -Consistent with 48 C.F.R. 12.212 and 48 C.F.R 227.7202-1 through 227.7202-4, -You will not provide the Software to the U.S. Government. Contractor or -Manufacturer is Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA -95054. - -15. ASSIGNMENT. You may not delegate, assign or transfer this Agreement, the -license(s) granted or any of Your rights or duties hereunder, expressly, by -implication, by operation of law, or otherwise and any attempt to do so, -without Intel's express prior written consent, will be null and void. Intel may -assign, delegate and transfer this Agreement, and its rights and obligations -hereunder, in its sole discretion. - -16. ENTIRE AGREEMENT; SEVERABILITY. The terms and conditions of this Agreement -and any NDA with Intel constitute the entire agreement between the parties with -respect to the subject matter hereof, and merge and supersede all prior or -contemporaneous agreements, understandings, negotiations and discussions. -Neither Party will be bound by any terms, conditions, definitions, warranties, -understandings, or representations with respect to the subject matter hereof -other than as expressly provided herein. In the event any provision of this -Agreement is unenforceable or invalid under any applicable law or applicable -court decision, such unenforceability or invalidity will not render this -Agreement unenforceable or invalid as a whole, instead such provision will be -changed and interpreted so as to best accomplish the objectives of such -provision within legal limits. - -17. WAIVER. The failure of a Party to require performance by the other Party of -any provision hereof will not affect the full right to require such performance -at any time thereafter; nor will waiver by a Party of a breach of any provision -hereof constitute a waiver of the provision itself. - -18. PRIVACY. YOUR PRIVACY RIGHTS ARE SET FORTH IN INTEL'S PRIVACY NOTICE, WHICH -FORMS A PART OF THIS AGREEMENT. PLEASE REVIEW THE PRIVACY NOTICE AT -HTTP://WWW.INTEL.COM/PRIVACY TO LEARN HOW INTEL COLLECTS, USES AND SHARES -INFORMATION ABOUT YOU. - -APPENDIX A -INTEL END USER SOFTWARE LICENSE AGREEMENT - -IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING. -THE FOLLOWING NOTICE, OR TERMS AND CONDITIONS SUBSTANTIALLY IDENTICAL IN NATURE -AND EFFECT, MUST APPEAR IN THE DOCUMENTATION ASSOCIATED WITH THE INTEL-BASED -PRODUCT INTO WHICH THE SOFTWARE IS INSTALLED. MINIMALLY, SUCH NOTICE MUST -APPEAR IN THE USER GUIDE FOR THE PRODUCT. THE TERM "LICENSEE" IN THIS TEXT -REFERS TO THE END USER OF THE PRODUCT. - -LICENSE. Licensee has a license under Intel's copyrights to reproduce Intel's -Software only in its unmodified and binary form, (with the accompanying -documentation, the "Software") for Licensee's personal use only, and not -commercial use, in connection with Intel-based products for which the Software -has been provided, subject to the following conditions: -(a) Licensee may not disclose, distribute or transfer any part of the -Software, and You agree to prevent unauthorized copying of the Software. -(b) Licensee may not reverse engineer, decompile, or disassemble the -Software. -(c) Licensee may not sublicense the Software. -(d) The Software may contain the software and other intellectual property -of third party suppliers, some of which may be identified in, and licensed in -accordance with, an enclosed license.txt file or other text or file. -(e) Intel has no obligation to provide any support, technical assistance or -updates for the Software. - -OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software -remains with Intel or its licensors or suppliers. The Software is copyrighted -and protected by the laws of the United States and other countries, and -international treaty provisions. Licensee may not remove any copyright notices -from the Software. Except as otherwise expressly provided above, Intel grants -no express or implied right under Intel patents, copyrights, trademarks, or -other intellectual property rights. Transfer of the license terminates -Licensee's right to use the Software. -DISCLAIMER OF WARRANTY. The Software is provided "AS IS" without warranty of -any kind, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, WARRANTIES -OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. - -LIMITATION OF LIABILITY. NEITHER INTEL NOR ITS LICENSORS OR SUPPLIERS WILL BE -LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, INTERRUPTION OF BUSINESS, OR -INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER -UNDER THIS AGREEMENT OR OTHERWISE, EVEN IF INTEL HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -LICENSE TO USE COMMENTS AND SUGGESTIONS. This Agreement does NOT obligate -Licensee to provide Intel with comments or suggestions regarding the Software. -However, if Licensee provides Intel with comments or suggestions for the -modification, correction, improvement or enhancement of (a) the Software or (b) -Intel products or processes that work with the Software, Licensee grants to -Intel a non-exclusive, worldwide, perpetual, irrevocable, transferable, -royalty-free license, with the right to sublicense, under Licensee's -intellectual property rights, to incorporate or otherwise utilize those -comments and suggestions. - -TERMINATION OF THIS LICENSE. Intel or the sublicensor may terminate this -license at any time if Licensee is in breach of any of its terms or conditions. -Upon termination, Licensee will immediately destroy or return to Intel all -copies of the Software. -THIRD PARTY BENEFICIARY. Intel is an intended beneficiary of the End User -License Agreement and has the right to enforce all of its terms. - -U.S. GOVERNMENT RESTRICTED RIGHTS. The Software is a commercial item (as -defined in 48 C.F.R. 2.101) consisting of commercial computer software and -commercial computer software documentation (as those terms are used in 48 -C.F.R. 12.212), consistent with 48 C.F.R. 12.212 and 48 C.F.R 227.7202-1 -through 227.7202-4. You will not provide the Software to the U.S. Government. -Contractor or Manufacturer is Intel Corporation, 2200 Mission College Blvd., -Santa Clara, CA 95054. - -EXPORT LAWS. Licensee agrees that neither Licensee nor Licensee's subsidiaries -will export/re-export the Software, directly or indirectly, to any country for -which the U.S. Department of Commerce or any other agency or department of the -U.S. Government or the foreign government from where it is shipping requires an -export license, or other governmental approval, without first obtaining any -such required license or approval. In the event the Software is exported from -the U.S.A. or re-exported from a foreign destination by Licensee, Licensee will -ensure that the distribution and export/re-export or import of the Software -complies with all laws, regulations, orders, or other restrictions of the U.S. -Export Administration Regulations and the appropriate foreign government. - -APPLICABLE LAWS. This Agreement and any dispute arising out of or relating to -it will be governed by the laws of the U.S.A. and Delaware, without regard to -conflict of laws principles. The Parties to this Agreement exclude the -application of the United Nations Convention on Contracts for the International -Sale of Goods (1980). The state and federal courts sitting in Delaware, U.S.A. -will have exclusive jurisdiction over any dispute arising out of or relating to -this Agreement. The Parties consent to personal jurisdiction and venue in those -courts. A Party that obtains a judgment against the other Party in the courts -identified in this section may enforce that judgment in any court that has -jurisdiction over the Parties. - -Licensee's specific rights may vary from country to country. - diff --git a/sys-firmware/intel-microcode/Manifest b/sys-firmware/intel-microcode/Manifest index 026eb2bfe9d3..242227288ea4 100644 --- a/sys-firmware/intel-microcode/Manifest +++ b/sys-firmware/intel-microcode/Manifest @@ -1,3 +1,2 @@ DIST intel-microcode-collection-20180808.tar.xz 4463768 BLAKE2B bf04d00db7e11b7ef6da9b4221aa2dfae1a20a39ab2f99ad78e735c9cf0f1d9a949b81ceba740238da98d34a934d8829b6882714ec21a1ffa3c1a7dfcfbfdcc6 SHA512 e5607127464c71e3ed413ca3b66cde0b5b994d837655208997841ec5358c32bb197f4ad0123b19bae4254aa35770cfec32cf2780f2cb5dd5f0a00d1ca14cf93c -DIST microcode-20180807.tgz 1629357 BLAKE2B ce60ef5a5ba794cb4a618739a6134e3b0a660d5e2a09c39ff1fcd7312a3d0b5e763674fb8f8cd39899544d1136253b98930a0160db9c937135effbb912823b58 SHA512 a69576afb6c8ec401e9e169ee208be7d57ee3292ec6689c783729d3fa624b1fdaa74803874c2afa09768c8ee955da913c2cbabeb3d7c7a1dc1f7965d950ccdfb DIST microcode-20180807a.tgz 1628061 BLAKE2B a6b5a07596a0b1687efb95c207b2194865b2f975cc0d761a687d5b9d8fea63e777eb73373113f356a18592fd53651cf37d044d4e98cdfe6b306393b54ac06129 SHA512 3cd6794a5ce26e86f7b644e523ba978699316046e593da215b73b17c4b43049ac4a81636e2ce3e727d06c2efbac98657764aa3ff355edb429127585bb49a9b10 diff --git a/sys-firmware/intel-microcode/intel-microcode-20180807_p20180808-r2.ebuild b/sys-firmware/intel-microcode/intel-microcode-20180807_p20180808-r2.ebuild deleted file mode 100644 index 5799e35a7cd0..000000000000 --- a/sys-firmware/intel-microcode/intel-microcode-20180807_p20180808-r2.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit linux-info toolchain-funcs mount-boot - -# Find updates by searching and clicking the first link (hopefully it's the one): -# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File - -COLLECTION_SNAPSHOT="${PV##*_p}" -INTEL_SNAPSHOT="${PV/_p*}" -NUM="28039" -DESCRIPTION="Intel IA32/IA64 microcode update data" -HOMEPAGE="http://inertiawar.com/microcode/ https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}" -SRC_URI="https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz - https://dev.gentoo.org/~whissi/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz" - -LICENSE="intel-ucode-20180807" -SLOT="0" -KEYWORDS="-* amd64 x86" -IUSE="hostonly initramfs +split-ucode vanilla" -REQUIRED_USE="|| ( initramfs split-ucode )" - -DEPEND="sys-apps/iucode_tool" - -# ! "${ED%/}/tmp/.blacklist_altered" || die "Failed to add marker that MICROCODE_BLACKLIST variable was used" - fi - - if [[ "${MICROCODE_SIGNATURES}" != "${MICROCODE_SIGNATURES_DEFAULT}" ]]; then - echo ${MICROCODE_SIGNATURES} > "${ED%/}/tmp/.signatures_altered" || die "Failed to add marker that MICROCODE_SIGNATURES variable was used" - fi -} - -pkg_preinst() { - if [[ -f "${ED%/}/tmp/.blacklist_altered" ]]; then - local _recorded_MICROCODE_BLACKLIST_value=$(cat "${ED%/}/tmp/.blacklist_altered") - ewarn "MICROCODE_BLACKLIST is set to \"${_recorded_MICROCODE_BLACKLIST_value}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!" - fi - - if [[ -f "${ED%/}/tmp/.signatures_altered" ]]; then - local _recorded_MICROCODE_SIGNATURES_value=$(cat "${ED%/}/tmp/.signatures_altered") - ewarn "Package was created using advanced options:" - ewarn "MICROCODE_SIGNATURES is set to \"${_recorded_MICROCODE_SIGNATURES_value}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!" - fi - - # Make sure /boot is available if needed. - use initramfs && mount-boot_pkg_preinst - - local _initramfs_file="${ED%/}/boot/intel-uc.img" - local _ucode_dir="${ED%/}/lib/firmware/intel-ucode" - - if use hostonly; then - # While this output looks redundant we do this check to detect - # rare cases where iucode_tool was unable to detect system's processor(s). - local _detected_processors=$(iucode_tool --scan-system 2>&1) - if [[ -z "${_detected_processors}" ]]; then - ewarn "Looks like iucode_tool was unable to detect any processor!" - else - einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..." - fi - - opts=( - --scan-system - # be strict about what we are doing - --overwrite - --strict-checks - --no-ignore-broken - # we want to install latest version - --no-downgrade - # 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 && opts+=( --write-earlyfw=${_initramfs_file} ) - # split location: - use split-ucode && dodir /lib/firmware/intel-ucode && opts+=( --write-firmware=${_ucode_dir} ) - - iucode_tool \ - "${opts[@]}" \ - "${ED%/}"/tmp/intel-ucode \ - || die "iucode_tool ${opts[@]} ${ED%/}/tmp/intel-ucode" - - else - if use split-ucode; then - # Temporary /tmp/intel-ucode will become final /lib/firmware/intel-ucode ... - dodir /lib/firmware - mv "${ED%/}/tmp/intel-ucode" "${ED%/}/lib/firmware" || die "Failed to install splitted ucodes!" - fi - fi - - # Because it is possible that this package will install not one single file - # due to user selection which is still somehow unexpected we add the following - # check to inform user so that the user has at least a chance to detect - # a problem/invalid select. - local _has_installed_something= - if use initramfs && [[ -s "${_initramfs_file}" ]]; then - _has_installed_something="yes" - elif use split-ucode; then - _has_installed_something=$(find "${_ucode_dir}" -maxdepth 0 -not -empty -exec echo yes \;) - fi - - if use hostonly && [[ -n "${_has_installed_something}" ]]; then - elog "You only installed ucode(s) for all currently available (=online)" - elog "processor(s). Remember to re-emerge this package whenever you" - elog "change the system's processor model." - elog "" - elif [[ -z "${_has_installed_something}" ]]; then - ewarn "WARNING:" - if [[ -f "${ED%/}/tmp/.signatures_altered" ]]; then - ewarn "No ucode was installed! Because you have created this package" - ewarn "using MICROCODE_SIGNATURES variable please double check if you" - ewarn "have an invalid select." - ewarn "It's rare but it is also possible that just no ucode update" - ewarn "is available for your processor(s). In this case it is safe" - ewarn "to ignore this warning." - else - ewarn "No ucode was installed! It's rare but it is also possible" - ewarn "that just no ucode update is available for your processor(s)." - ewarn "In this case it is safe to ignore this warning." - fi - - ewarn "" - - if use hostonly; then - ewarn "Unset \"hostonly\" USE flag to install all available ucodes." - ewarn "" - fi - fi - - # Cleanup any temporary leftovers so that we don't merge any - # unneeded files on disk. - rm -r "${ED%/}/tmp" || die "Failed to cleanup '${ED%/}/tmp'" -} - -pkg_prerm() { - # Make sure /boot is mounted so that we can remove /boot/intel-uc.img! - use initramfs && mount-boot_pkg_prerm -} - -pkg_postrm() { - # Don't forget to umount /boot if it was previously mounted by us. - use initramfs && mount-boot_pkg_postrm -} - -pkg_postinst() { - # Don't forget to umount /boot if it was previously mounted by us. - use initramfs && mount-boot_pkg_postinst - - # We cannot give detailed information if user is affected or not: - # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES - # to to force a specific, otherwise blacklisted, microcode. So we - # only show a generic warning based on running kernel version: - if kernel_is -lt 4 14 34; then - ewarn "${P} contains microcode updates which require" - ewarn "additional kernel patches which aren't yet included in kernel <4.14.34." - ewarn "Loading such a microcode through kernel interface from an unpatched kernel" - ewarn "can crash your system!" - ewarn "" - ewarn "Those microcodes are blacklisted per default. However, if you have altered" - ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally" - ewarn "re-enabled those microcodes...!" - ewarn "" - ewarn "Check \"${EROOT%/}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update" - ewarn "requires additional kernel patches or not." - fi -} -- 2.26.2