From nobody Sun Nov 07 21:18:53 2021 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id E9E9E184B190; Sun, 7 Nov 2021 21:18:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HnRv13NNxz59KT; Sun, 7 Nov 2021 21:18:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4174725524; Sun, 7 Nov 2021 21:18:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1A7LIr9V014220; Sun, 7 Nov 2021 21:18:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1A7LIrVG014219; Sun, 7 Nov 2021 21:18:53 GMT (envelope-from git) Date: Sun, 7 Nov 2021 21:18:53 GMT Message-Id: <202111072118.1A7LIrVG014219@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Joseph Mingrone Subject: git: 813905682ec4 - main - sysutils/devcpu-data: Split off two new ports for vendor data List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 813905682ec40c3323f0cb0b5dc86bb21bbf2f0d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/ports/commit/?id=813905682ec40c3323f0cb0b5dc86bb21bbf2f0d commit 813905682ec40c3323f0cb0b5dc86bb21bbf2f0d Author: Joseph Mingrone AuthorDate: 2021-10-06 21:23:53 +0000 Commit: Joseph Mingrone CommitDate: 2021-11-07 21:17:03 +0000 sysutils/devcpu-data: Split off two new ports for vendor data sysutils/devcpu-data is now just an RC script that optionally depends on two new ports, sysutils/devcpu-data-amd and sysutils/devcpu-data-intel. The two new ports each contain vendor microcode data. While here: - Set missing license information. The license was obtained from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/LICENSE.amd-ucode - Update varaible ordering per portclippy Reviewed by: decke, emaste, markj Approved by: sbruno (maintainer) Differential Revision: https://reviews.freebsd.org/D32349 --- sysutils/Makefile | 2 + sysutils/devcpu-data-amd/Makefile | 35 ++++++++++++ sysutils/devcpu-data-amd/distinfo | 3 + sysutils/devcpu-data-amd/files/LICENSE.amd-ucode | 64 ++++++++++++++++++++++ sysutils/devcpu-data-amd/pkg-descr | 2 + sysutils/devcpu-data-amd/pkg-message | 7 +++ sysutils/devcpu-data-amd/pkg-plist | 4 ++ sysutils/devcpu-data-intel/Makefile | 41 ++++++++++++++ sysutils/devcpu-data-intel/distinfo | 3 + .../files/LICENSE | 0 .../files/Makefile | 0 .../files/ucode-split.c | 0 sysutils/devcpu-data-intel/pkg-descr | 9 +++ sysutils/devcpu-data-intel/pkg-message | 7 +++ .../{devcpu-data => devcpu-data-intel}/pkg-plist | 4 -- sysutils/devcpu-data/Makefile | 51 +++++++---------- sysutils/devcpu-data/distinfo | 5 -- sysutils/devcpu-data/files/microcode_update.in | 20 +++++-- sysutils/devcpu-data/files/pkg-message.in | 46 ++++++++++++++++ sysutils/devcpu-data/pkg-descr | 6 +- sysutils/devcpu-data/pkg-message | 46 ---------------- 21 files changed, 262 insertions(+), 93 deletions(-) diff --git a/sysutils/Makefile b/sysutils/Makefile index 381a02c0b427..15ea58885094 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -255,6 +255,8 @@ SUBDIR += desktop-installer SUBDIR += detox SUBDIR += devcpu-data + SUBDIR += devcpu-data-amd + SUBDIR += devcpu-data-intel SUBDIR += devstat SUBDIR += dfc SUBDIR += di diff --git a/sysutils/devcpu-data-amd/Makefile b/sysutils/devcpu-data-amd/Makefile new file mode 100644 index 000000000000..834370e9545c --- /dev/null +++ b/sysutils/devcpu-data-amd/Makefile @@ -0,0 +1,35 @@ +PORTNAME= data +PORTVERSION= 20191228 +CATEGORIES= sysutils +MASTER_SITES= LOCAL/sbruno +PKGNAMEPREFIX= devcpu- +PKGNAMESUFFIX= -amd +DISTNAME= amd64-microcode.${PORTVERSION} + +MAINTAINER= sbruno@FreeBSD.org +COMMENT= AMD CPUs microcode updates + +LICENSE= EULA +LICENSE_NAME= Advanced Micro Devices License Agreement +LICENSE_FILE= ${FILESDIR}/LICENSE.amd-ucode +LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept + +ONLY_FOR_ARCHS= amd64 i386 + +USES= tar:xz + +NO_ARCH= yes +NO_BUILD= yes + +NO_WRKSUBDIR= yes + +DATADIR= ${PREFIX}/share/cpucontrol + +do-install: + ${MKDIR} ${STAGEDIR}${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/microcode_amd.bin ${STAGEDIR}${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam15h.bin ${STAGEDIR}${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam16h.bin ${STAGEDIR}${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam17h.bin ${STAGEDIR}${DATADIR}/ + +.include diff --git a/sysutils/devcpu-data-amd/distinfo b/sysutils/devcpu-data-amd/distinfo new file mode 100644 index 000000000000..5284697b3987 --- /dev/null +++ b/sysutils/devcpu-data-amd/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1633576196 +SHA256 (amd64-microcode.20191228.tar.xz) = 156eef8950f28436e045c1d5ac6e4738d99c07a6737d35bf966901f4b260abb3 +SIZE (amd64-microcode.20191228.tar.xz) = 28827 diff --git a/sysutils/devcpu-data-amd/files/LICENSE.amd-ucode b/sysutils/devcpu-data-amd/files/LICENSE.amd-ucode new file mode 100644 index 000000000000..de5b29c4e486 --- /dev/null +++ b/sysutils/devcpu-data-amd/files/LICENSE.amd-ucode @@ -0,0 +1,64 @@ +Copyright (C) 2010-2018 Advanced Micro Devices, Inc., All rights reserved. + +Permission is hereby granted by Advanced Micro Devices, Inc. ("AMD"), +free of any license fees, to any person obtaining a copy of this +microcode in binary form (the "Software") ("You"), to install, +reproduce, copy and distribute copies of the Software and to permit +persons to whom the Software is provided to do the same, subject to +the following terms and conditions. Your use of any portion of the +Software shall constitute Your acceptance of the following terms and +conditions. If You do not agree to the following terms and conditions, +do not use, retain or redistribute any portion of the Software. + +If You redistribute this Software, You must reproduce the above +copyright notice and this license with the Software. +Without specific, prior, written permission from AMD, You may not +reference AMD or AMD products in the promotion of any product derived +from or incorporating this Software in any manner that implies that +AMD endorses or has certified such product derived from or +incorporating this Software. + +You may not reverse engineer, decompile, or disassemble this Software +or any portion thereof. + +THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF +MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR +PURPOSE, OR WARRANTIES ARISING FROM CONDUCT, COURSE OF DEALING, OR +USAGE OF TRADE. IN NO EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR +ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR +LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF DATA OR +INFORMATION) ARISING OUT OF AMD'S NEGLIGENCE, GROSS NEGLIGENCE, THE +USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF AMD HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS +PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR +INCIDENTAL DAMAGES OR THE EXCLUSION OF IMPLIED WARRANTIES, THE ABOVE +LIMITATION MAY NOT APPLY TO YOU. + +Without limiting the foregoing, the Software may implement third party +technologies for which You must obtain licenses from parties other +than AMD. You agree that AMD has not obtained or conveyed to You, and +that You shall be responsible for obtaining the rights to use and/or +distribute the applicable underlying intellectual property rights +related to the third party technologies. These third party +technologies are not licensed hereunder. + +If You use the Software (in whole or in part), You shall adhere to all +applicable U.S., European, and other export laws, including but not +limited to the U.S. Export Administration Regulations ("EAR"), (15 +C.F.R. Sections 730 through 774), and E.U. Council Regulation (EC) No +1334/2000 of 22 June 2000. Further, pursuant to Section 740.6 of the +EAR, You hereby certify that, except pursuant to a license granted by +the United States Department of Commerce Bureau of Industry and +Security or as otherwise permitted pursuant to a License Exception +under the U.S. Export Administration Regulations ("EAR"), You will not +(1) export, re-export or release to a national of a country in Country +Groups D:1, E:1 or E:2 any restricted technology, software, or source +code You receive hereunder, or (2) export to Country Groups D:1, E:1 +or E:2 the direct product of such technology or software, if such +foreign produced direct product is subject to national security +controls as identified on the Commerce Control List (currently found +in Supplement 1 to Part 774 of EAR). For the most current Country +Group listings, or for additional information about the EAR or Your +obligations under those regulations, please refer to the U.S. Bureau +of Industry and Security?s website at ttp://www.bis.doc.gov/. diff --git a/sysutils/devcpu-data-amd/pkg-descr b/sysutils/devcpu-data-amd/pkg-descr new file mode 100644 index 000000000000..beb555e676c7 --- /dev/null +++ b/sysutils/devcpu-data-amd/pkg-descr @@ -0,0 +1,2 @@ +This port uses the cpuctl(4) microcode update facility to keep your AMD +processor's firmware up-to-date. diff --git a/sysutils/devcpu-data-amd/pkg-message b/sysutils/devcpu-data-amd/pkg-message new file mode 100644 index 000000000000..8d00883e6b4f --- /dev/null +++ b/sysutils/devcpu-data-amd/pkg-message @@ -0,0 +1,7 @@ +[ +{ type: install + message: < ${WRKSRC}/intel-ucode.bin + +do-install: + ${MKDIR} ${STAGEDIR}${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/mcodes/* ${STAGEDIR}${DATADIR}/ + ${MKDIR} ${STAGEDIR}${FWDIR} + ${INSTALL_DATA} ${WRKSRC}/intel-ucode.bin ${STAGEDIR}${FWDIR}/ + +.include diff --git a/sysutils/devcpu-data-intel/distinfo b/sysutils/devcpu-data-intel/distinfo new file mode 100644 index 000000000000..3b4ecbb7434a --- /dev/null +++ b/sysutils/devcpu-data-intel/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1633571846 +SHA256 (intel-Intel-Linux-Processor-Microcode-Data-Files-microcode-20210608_GH0.tar.gz) = fd85b6b769efd029dec6a2c07106fd18fb4dcb548b7bc4cde09295a8344ef6d7 +SIZE (intel-Intel-Linux-Processor-Microcode-Data-Files-microcode-20210608_GH0.tar.gz) = 4782451 diff --git a/sysutils/devcpu-data/files/LICENSE b/sysutils/devcpu-data-intel/files/LICENSE similarity index 100% rename from sysutils/devcpu-data/files/LICENSE rename to sysutils/devcpu-data-intel/files/LICENSE diff --git a/sysutils/devcpu-data/files/Makefile b/sysutils/devcpu-data-intel/files/Makefile similarity index 100% rename from sysutils/devcpu-data/files/Makefile rename to sysutils/devcpu-data-intel/files/Makefile diff --git a/sysutils/devcpu-data/files/ucode-split.c b/sysutils/devcpu-data-intel/files/ucode-split.c similarity index 100% rename from sysutils/devcpu-data/files/ucode-split.c rename to sysutils/devcpu-data-intel/files/ucode-split.c diff --git a/sysutils/devcpu-data-intel/pkg-descr b/sysutils/devcpu-data-intel/pkg-descr new file mode 100644 index 000000000000..8427801bce3b --- /dev/null +++ b/sysutils/devcpu-data-intel/pkg-descr @@ -0,0 +1,9 @@ +This port uses the cpuctl(4) microcode update facility to keep your Intel +processor's firmware up-to-date. + +Updating your microcode can help to mitigate certain potential security +vulnerabilities in CPUs as well as address certain functional issues that could, +for example, result in unpredictable system behavior such as hangs, crashes, +unexpected reboots, data errors, etc. + +WWW: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files diff --git a/sysutils/devcpu-data-intel/pkg-message b/sysutils/devcpu-data-intel/pkg-message new file mode 100644 index 000000000000..3c06c67759de --- /dev/null +++ b/sysutils/devcpu-data-intel/pkg-message @@ -0,0 +1,7 @@ +[ +{ type: install + message: < ${WRKSRC}/intel-ucode.bin - -do-install: - ${MKDIR} ${STAGEDIR}${DATADIR}/ - ${INSTALL_DATA} ${WRKSRC}/microcode_amd.bin ${STAGEDIR}${DATADIR}/ - ${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam15h.bin ${STAGEDIR}${DATADIR}/ - ${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam16h.bin ${STAGEDIR}${DATADIR}/ - ${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam17h.bin ${STAGEDIR}${DATADIR}/ - ${INSTALL_DATA} ${WRKSRC}/mcodes/* ${STAGEDIR}${DATADIR}/ - ${MKDIR} ${STAGEDIR}${FWDIR} - ${INSTALL_DATA} ${WRKSRC}/intel-ucode.bin ${STAGEDIR}${FWDIR}/ +AMD_RUN_DEPENDS= ${LOCALBASE}/share/cpucontrol/microcode_amd.bin:sysutils/devcpu-data-amd +INTEL_RUN_DEPENDS= /boot/firmware/intel-ucode.bin:sysutils/devcpu-data-intel .include diff --git a/sysutils/devcpu-data/distinfo b/sysutils/devcpu-data/distinfo deleted file mode 100644 index 06b3847dded6..000000000000 --- a/sysutils/devcpu-data/distinfo +++ /dev/null @@ -1,5 +0,0 @@ -TIMESTAMP = 1623192235 -SHA256 (amd64-microcode.20191228.tar.xz) = 156eef8950f28436e045c1d5ac6e4738d99c07a6737d35bf966901f4b260abb3 -SIZE (amd64-microcode.20191228.tar.xz) = 28827 -SHA256 (intel-Intel-Linux-Processor-Microcode-Data-Files-1.39-microcode-20210608_GH0.tar.gz) = fd85b6b769efd029dec6a2c07106fd18fb4dcb548b7bc4cde09295a8344ef6d7 -SIZE (intel-Intel-Linux-Processor-Microcode-Data-Files-1.39-microcode-20210608_GH0.tar.gz) = 4782451 diff --git a/sysutils/devcpu-data/files/microcode_update.in b/sysutils/devcpu-data/files/microcode_update.in index 005845df4f56..b06b21d6f903 100644 --- a/sysutils/devcpu-data/files/microcode_update.in +++ b/sysutils/devcpu-data/files/microcode_update.in @@ -12,7 +12,7 @@ # microcode_update_datadir (str): Directory, microcode updates stored in. # Default is "%%DATADIR%%" # microcode_update_cpus (str): A list of cpus to update on startup, or "ALL" for all. -# Example: microcode_update_cpus_cpus="0 CPU0" +# Example: microcode_update_cpus="0 1" # Set to "ALL" by default. # microcode_update_flags (str): Flags for cpucontrol(8). @@ -40,11 +40,11 @@ microcode_update_prepare() microcode_update_start() { echo "Updating CPU Microcode..." - if [ "${microcode_cpus}" = "ALL" ]; then + if [ "${microcode_update_cpus}" = "ALL" ]; then ncpu=`/sbin/sysctl -n hw.ncpu` cpus=`jot ${ncpu} 0`; else - cpus=${microcode_cpus} + cpus=${microcode_update_cpus} fi for i in ${cpus}; do ${CMT} -u ${microcode_update_flags} \ @@ -52,7 +52,7 @@ microcode_update_start() logger -p daemon.notice -t microcode_update || \ (echo "Microcode Update Failed." && exit 1) done - if [ "${microcode_cpus}" = "ALL" ]; then + if [ "${microcode_update_cpus}" = "ALL" ]; then CPUCONTROL_UPDATED=$(cpucontrol -h 2>&1 | grep -q -- -e; echo $?) if [ ${CPUCONTROL_UPDATED} -ne 0 ]; then echo "Please update your system in order to update CPU microcode." @@ -70,9 +70,19 @@ microcode_update_start() load_rc_config $name # Set default values +if [ -n "${microcode_cpus}" ]; then + if [ -n "${microcode_update_cpus}" ]; then + echo "Warning: Ignoring deprecated rc variable, microcode_cpus." + else + echo "Warning: rc variable microcode_cpus is deprecated. +Warning: Set microcode_udpate_cpus instead." + microcode_update_cpus="${microcode_cpus}" + fi +fi + : ${microcode_update_enable="NO"} : ${microcode_update_datadir="%%DATADIR%%"} -: ${microcode_cpus="ALL"} +: ${microcode_update_cpus="ALL"} : ${microcode_update_flags=""} run_rc_command "$1" diff --git a/sysutils/devcpu-data/files/pkg-message.in b/sysutils/devcpu-data/files/pkg-message.in new file mode 100644 index 000000000000..c2860f035372 --- /dev/null +++ b/sysutils/devcpu-data/files/pkg-message.in @@ -0,0 +1,46 @@ +[ +{ type: install + message: <