svn commit: r541295 - in head/sysutils/cpupdate: . files
Eugene Grosbein
eugen at FreeBSD.org
Sun Jul 5 17:47:36 UTC 2020
Author: eugen
Date: Sun Jul 5 17:47:34 2020
New Revision: 541295
URL: https://svnweb.freebsd.org/changeset/ports/541295
Log:
sysutils/cpupdate: introduce "service cpupdate download"
New command "service cpupdate download" targeted
for package users is equivalent to "make install-microcodes"
already present for ports users. (*)
Also, sync with Intel pack microcode-20200616 available from Github.
Bump PORTREVISION.
PR: 247766
Suggested by: Walter von Entferndt (*)
Modified:
head/sysutils/cpupdate/Makefile
head/sysutils/cpupdate/distinfo
head/sysutils/cpupdate/files/cpupdate.in
head/sysutils/cpupdate/files/pkg-message.in
Modified: head/sysutils/cpupdate/Makefile
==============================================================================
--- head/sysutils/cpupdate/Makefile Sun Jul 5 17:43:47 2020 (r541294)
+++ head/sysutils/cpupdate/Makefile Sun Jul 5 17:47:34 2020 (r541295)
@@ -3,7 +3,7 @@
PORTNAME= cpupdate
DISTVERSION= g20180513
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= sysutils
MAINTAINER= eugen at FreeBSD.org
@@ -25,7 +25,10 @@ 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}
+SUB_LIST= CPM_DIR="${CPM_DIR}" INTEL_DIR="${INTEL_DIR}" \
+ CPM_DATADIR="${CPM_DATADIR}" INTEL_DATADIR="${INTEL_DATADIR}" \
+ FETCH_CMD="${FETCH_CMD}" MASTER_SITES="${MASTER_SITES}" \
+ DISTFILES="${DISTFILES}"
USE_GITHUB= yes
GH_ACCOUNT= kernschmelze
@@ -47,11 +50,12 @@ CPM_GH_TAGNAME= ${CPM_TAGNAME}:cpm
CPM_DIR= ${WRKDIR}/${CPM_PROJECT}-${CPM_TAGNAME}
CPM_DATADIR= ${DATADIR}/CPUMicrocodes/secondary/Intel
-INTEL_PACK= microcode-20180807.tgz
+INTEL_PACK= microcode-20200616
INTEL_DESC= Download Intel microcode pack ${INTEL_PACK}
-INTEL_MASTER_SITES= https://downloadmirror.intel.com/28039/eng/:intel
+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-ucode
+INTEL_DIR= ${WRKDIR}/${INTEL_PROJECT}-${INTEL_PACK}/intel-ucode
INTEL_DATADIR= ${DATADIR}/CPUMicrocodes/primary/Intel
post-patch:
@@ -73,7 +77,7 @@ install-microcodes:
.if ${PORT_OPTIONS:MCPM}
${RM} -rf ${CPM_DATADIR}
${MKDIR} ${CPM_DATADIR}
- cpupdate -IC -S ${CPM_DIR}/Intel -T ${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}}
Modified: head/sysutils/cpupdate/distinfo
==============================================================================
--- head/sysutils/cpupdate/distinfo Sun Jul 5 17:43:47 2020 (r541294)
+++ head/sysutils/cpupdate/distinfo Sun Jul 5 17:47:34 2020 (r541295)
@@ -1,6 +1,6 @@
-TIMESTAMP = 1593938356
-SHA256 (microcode-20180807.tgz) = 29f9e8dc27e6c9b6488cecd7fe2394030307799e511db2d197d9e6553a7f9e40
-SIZE (microcode-20180807.tgz) = 1629357
+TIMESTAMP = 1593962076
+SHA256 (microcode-20200616) = eb4f939421ac6cdea3c586c9d984ec518320f00c07eb2b3d6754309c83c93371
+SIZE (microcode-20200616) = 3036726
SHA256 (kernschmelze-cpupdate-g20180513-48e42d5_GH0.tar.gz) = d28582fe7edfb57da99fb2466417033ee619c32de9c6b5f1a5fae7d9be8253da
SIZE (kernschmelze-cpupdate-g20180513-48e42d5_GH0.tar.gz) = 4566722
SHA256 (platomav-CPUMicrocodes-0d2412f_GH0.tar.gz) = ed9aaf409a0a4831a164216536b0a372ffeeff297f65de4b244f0bd8536503fc
Modified: head/sysutils/cpupdate/files/cpupdate.in
==============================================================================
--- head/sysutils/cpupdate/files/cpupdate.in Sun Jul 5 17:43:47 2020 (r541294)
+++ head/sysutils/cpupdate/files/cpupdate.in Sun Jul 5 17:47:34 2020 (r541295)
@@ -27,11 +27,81 @@ start_postcmd="cpupdate_poststart"
load_rc_config $name
: ${cpupdate_enable:="NO"}
-: ${cpupdate_flags="-w -u"}
-: ${cpupdate_ibrs_enable="YES"}
+: ${cpupdate_flags:="-w -u"}
+: ${cpupdate_ibrs_enable:="YES"}
+: ${cpupdate_fetch:=%%FETCH_CMD%%}
+: ${cpupdate_sites:=%%MASTER_SITES%%}
+: ${cpupdate_distfiles:=%%DISTFILES%%}
+
command=%%PREFIX%%/sbin/${name}
+download_cmd="cpupdate_download"
resume_cmd="cpupdate_resume"
-extra_commands="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
+ ;;
+ 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
Modified: head/sysutils/cpupdate/files/pkg-message.in
==============================================================================
--- head/sysutils/cpupdate/files/pkg-message.in Sun Jul 5 17:43:47 2020 (r541294)
+++ head/sysutils/cpupdate/files/pkg-message.in Sun Jul 5 17:47:34 2020 (r541295)
@@ -9,8 +9,10 @@ NOTE: The following directories
contain Intel and/or platomav/CPUMicrocodes collections respectively
if you have just built the port with corresponding CPM/INTEL option(s) enabled.
In this case you can run "make install-microcodes" to install them to
-
%%DATADIR%%
+
+If you installed the package then you may download microcodes with following command:
+service cpupdate download
EOM
}
]
More information about the svn-ports-all
mailing list