diff --git a/sysutils/cpupdate/Makefile b/sysutils/cpupdate/Makefile index 8a93ce68e515..d58df90216c1 100644 --- a/sysutils/cpupdate/Makefile +++ b/sysutils/cpupdate/Makefile @@ -1,96 +1,95 @@ PORTNAME= cpupdate DISTVERSION= g20180513 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= sysutils MAINTAINER= eugen@FreeBSD.org COMMENT= CPU microcode update utility for x86 WWW= https://github.com/kernschmelze/cpupdate LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE # # The license of Intel's microcode binary files prohibits redistribution, # so they are no part of this port to not restrict packaging and redistribution # of the port itself. These binaries ought be downloaded and installed # separately from this package by default. There are non-default port options # and "make install-microcodes" command to download and install # the whole bunch of microcode binaries. USE_RC_SUBR= ${PORTNAME} ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= specific to x86 processors SUB_FILES= pkg-message SUB_LIST= CPM_DIR="${CPM_DIR}" INTEL_DIR="${INTEL_DIR}" \ CPM_DATADIR="${CPM_DATADIR}" INTEL_DATADIR="${INTEL_DATADIR}" \ FETCH_CMD="${FETCH_CMD}" CPUPDATE_SITES="${CPUPDATE_SITES}" \ CPUPDATE_DISTFILES="${CPUPDATE_DISTFILES}" USE_GITHUB= yes GH_ACCOUNT= kernschmelze -GH_PROJECT= ${PORTNAME} GH_TAGNAME= 48e42d5 PLIST_FILES= sbin/${PORTNAME} man/man8/${PORTNAME}.8.gz -# MCE DB r268 +# MCE DB r274 CPM_ACCOUNT= platomav CPM_PROJECT= CPUMicrocodes -CPM_TAGNAME= 246a49d +CPM_TAGNAME= 0a6abcd OPTIONS_DEFINE= CPM INTEL CPM_DESC= Download platomav/CPUMicrocodes collection CPM_GH_ACCOUNT= ${CPM_ACCOUNT}:cpm CPM_GH_PROJECT= ${CPM_PROJECT}:cpm CPM_GH_TAGNAME= ${CPM_TAGNAME}:cpm -CPM_PACK= ${CPM_ACCOUNT}-${CPM_PROJECT}-${CPM_TAGNAME}_GH0 -CPM_MASTER_SITES= https://codeload.github.com/platomav/${CPM_PROJECT}/tar.gz/${CPM_TAGNAME}?dummy=/${CPM_PACK}.tar.gz +CPM_PACK?= ${CPM_ACCOUNT}-${CPM_PROJECT}-${CPM_TAGNAME}_GH0.tar.gz CPM_DIR= ${WRKDIR}/${CPM_PROJECT}-${CPM_TAGNAME} CPM_DATADIR= ${DATADIR}/CPUMicrocodes/secondary/Intel -INTEL_PACK= microcode-20230613 +INTEL_PACK= microcode-20230808 INTEL_DESC= Download Intel microcode pack ${INTEL_PACK} INTEL_PROJECT= Intel-Linux-Processor-Microcode-Data-Files INTEL_MASTER_SITES= https://codeload.github.com/intel/${INTEL_PROJECT}/tar.gz/:intel INTEL_DISTFILES= ${INTEL_PACK}:intel INTEL_DIR= ${WRKDIR}/${INTEL_PROJECT}-${INTEL_PACK}/intel-ucode INTEL_DATADIR= ${DATADIR}/CPUMicrocodes/primary/Intel -CPUPDATE_SITES?= ${CPM_MASTER_SITES}:cpm ${INTEL_MASTER_SITES} -CPUPDATE_DISTFILES?= ${CPM_PACK}:cpm ${INTEL_PACK}:intel +CPUPDATE_SITES?= ${INTEL_MASTER_SITES} \ + https://codeload.github.com/platomav/${CPM_PROJECT}/tar.gz/${CPM_TAGNAME}?dummy=/:cpm +CPUPDATE_DISTFILES?= ${INTEL_PACK}:intel ${CPM_PACK}:cpm post-patch: ${REINPLACE_CMD} -e "s,/usr/local/share/cpupdate,${DATADIR},g" ${WRKSRC}/cpupdate.h do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/sbin ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.8 ${STAGEDIR}${MANPREFIX}/man/man8 .include install-microcodes: extract .if ${PORT_OPTIONS:MINTEL} ${RM} -r ${INTEL_DATADIR} ${MKDIR} ${INTEL_DATADIR} (cd ${INTEL_DIR} && ${COPYTREE_SHARE} . ${INTEL_DATADIR}) (cd ${INTEL_DIR}-with-caveats && ${COPYTREE_SHARE} . ${INTEL_DATADIR}) .endif .if ${PORT_OPTIONS:MCPM} ${RM} -r ${CPM_DATADIR} ${MKDIR} ${CPM_DATADIR} cpupdate -q -IC -S ${CPM_DIR}/Intel -T ${CPM_DATADIR} >/dev/null .endif .for _o in INTEL CPM .if ${PORT_OPTIONS:M${_o}} @${ECHO} '' @${ECHO} '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' @${ECHO} NOTE: you have to manually remove the directory @${ECHO} ${${_o}_DATADIR} @${ECHO} after deinstallation of ${PORTNAME}. @${ECHO} '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' .endif .endfor .include diff --git a/sysutils/cpupdate/distinfo b/sysutils/cpupdate/distinfo index 29fae8c8d2f9..1e2bacc0b143 100644 --- a/sysutils/cpupdate/distinfo +++ b/sysutils/cpupdate/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1687165633 -SHA256 (microcode-20230613) = 894d822d2347222a2595d4fc47d358e01d35a54780123100c317dfc31b1b0cc9 -SIZE (microcode-20230613) = 12338446 +TIMESTAMP = 1691636867 +SHA256 (microcode-20230808) = fe49bb719441f20335ed6004090ab38cdc374134d36d4f5d30be7ed93b820313 +SIZE (microcode-20230808) = 13011561 SHA256 (kernschmelze-cpupdate-g20180513-48e42d5_GH0.tar.gz) = d28582fe7edfb57da99fb2466417033ee619c32de9c6b5f1a5fae7d9be8253da SIZE (kernschmelze-cpupdate-g20180513-48e42d5_GH0.tar.gz) = 4566722 -SHA256 (platomav-CPUMicrocodes-246a49d_GH0.tar.gz) = 2f5d49aa504b5579395ce75cca6051877766fdf7843defb6441337ffa571b67a -SIZE (platomav-CPUMicrocodes-246a49d_GH0.tar.gz) = 21633497 +SHA256 (platomav-CPUMicrocodes-0a6abcd_GH0.tar.gz) = 362dc160df2c3363d81224195bdb22c812c37771349fe4e6f77e2dca7736e459 +SIZE (platomav-CPUMicrocodes-0a6abcd_GH0.tar.gz) = 22285749 diff --git a/sysutils/cpupdate/files/cpupdate.in b/sysutils/cpupdate/files/cpupdate.in index d9ce46c686f7..4a36f27f8e74 100644 --- a/sysutils/cpupdate/files/cpupdate.in +++ b/sysutils/cpupdate/files/cpupdate.in @@ -1,114 +1,114 @@ #!/bin/sh # PROVIDE: cpupdate # REQUIRE: FILESYSTEMS kldxref # BEFORE: netif # KEYWORD: nojail resume # Add these lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # cpupdate_enable (bool): Set to NO by default. # Set it to YES to enable cpupdate. # cpupdate_ibrs_enable (bool): Enable Indirect Branch Restricted # Speculation after start of cpupdate. # Default is YES. # cpupdate_flags (string): Command line flags for cpupdate. # Default is "-w -u". . /etc/rc.subr name=cpupdate rcvar=cpupdate_enable start_postcmd="cpupdate_poststart" load_rc_config $name : ${cpupdate_enable:="NO"} : ${cpupdate_flags:="-w -u"} : ${cpupdate_ibrs_enable:="YES"} : ${cpupdate_fetch:=%%FETCH_CMD%%} : ${cpupdate_sites:=%%CPUPDATE_SITES%%} : ${cpupdate_distfiles:=%%CPUPDATE_DISTFILES%%} command=%%PREFIX%%/sbin/${name} download_cmd="cpupdate_download" resume_cmd="cpupdate_resume" extra_commands="download resume" cpupdate_distfile() { local _distfile setvar $1 '' for _distfile in $cpupdate_distfiles do case $_distfile in *:$2) setvar $1 ${_distfile%:*}; return;; esac done } cpupdate_download() { local _d _dst _file _tmpdir _url local - set -e : ${TMPDIR:=/var/tmp} export TMPDIR trap 'rm -rf $_tmpdir' EXIT _tmpdir=$(mktemp -d -t ${name}) for _url in $cpupdate_sites do case "$_url" in *:cpm|*:intel) cpupdate_distfile _file ${_url##*:} _url=${_url%:*}${_file} - echo Downloading $_url - $cpupdate_fetch -o - $_url | tar -C $_tmpdir -xf - || exit + echo Downloading "$_url" + $cpupdate_fetch -o - "$_url" | tar -C $_tmpdir -xf - || exit ;; esac done echo -n Installing microcodes to %%DATADIR%% ... umask 022 _dst=%%INTEL_DATADIR%% _d=%%INTEL_DIR%% _d=$_tmpdir/Intel${_d##*/Intel} if [ -d $_d ]; then rm -rf $_dst || true mkdir -p $_dst cp -Rp $_d/ $_dst [ -d $_d-with-caveats ] && cp -Rp $_d-with-caveats/ $_dst chmod -R 644 $_dst chown -R root:wheel $_dst chmod 755 $_dst fi _dst=%%CPM_DATADIR%% _d=%%CPM_DIR%% _d=$_tmpdir/${_d##*/}/Intel if [ -d $_d ]; then rm -rf $_d/LICENSE $_dst || true mkdir -p $_dst %%PREFIX%%/sbin/${name} -q -IC -S $_d -T $_dst >/dev/null fi echo ' done.' echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' echo NOTE: you have to manually remove the directory echo %%DATADIR%% echo after deinstallation of ${name}. echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' } cpupdate_poststart() { checkyesno cpupdate_ibrs_enable && sysctl -i hw.ibrs_disable=0 return 0 } cpupdate_resume() { run_rc_command start _postcmd='' } run_rc_command "$1" diff --git a/sysutils/cpupdate/files/pkg-message.in b/sysutils/cpupdate/files/pkg-message.in index 5162d309f874..3bdf3c2aac12 100644 --- a/sysutils/cpupdate/files/pkg-message.in +++ b/sysutils/cpupdate/files/pkg-message.in @@ -1,18 +1,18 @@ [ { type: install message: <