Index: head/sysutils/cpupdate/Makefile =================================================================== --- head/sysutils/cpupdate/Makefile (revision 468695) +++ head/sysutils/cpupdate/Makefile (revision 468696) @@ -1,79 +1,80 @@ # Created by: Eugene Grosbein # $FreeBSD$ PORTNAME= cpupdate DISTVERSION= g20180324 +PORTREVISION= 1 CATEGORIES= sysutils MAINTAINER= eugen@FreeBSD.org COMMENT= CPU microcode update utility for x86 LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE 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} USE_GITHUB= yes GH_ACCOUNT= kernschmelze GH_PROJECT= ${PORTNAME} GH_TAGNAME= 82ec0b6 PLIST_FILES= sbin/${PORTNAME} man/man8/${PORTNAME}.8.gz CPM_ACCOUNT= platomav CPM_PROJECT= CPUMicrocodes CPM_TAGNAME= 869ad44 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_DIR= ${WRKDIR}/${CPM_PROJECT}-${CPM_TAGNAME} CPM_DATADIR= ${DATADIR}/CPUMicrocodes/secondary/Intel INTEL_PACK= microcode-20180312.tgz INTEL_DESC= Download Intel microcode pack ${INTEL_PACK} INTEL_MASTER_SITES= https://downloadmirror.intel.com/27591/eng/:intel INTEL_DISTFILES= ${INTEL_PACK}:intel INTEL_DIR= ${WRKDIR}/intel-ucode INTEL_DATADIR= ${DATADIR}/CPUMicrocodes/primary/Intel 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: .if ${PORT_OPTIONS:MINTEL} ${RM} -rf ${INTEL_DATADIR} ${MKDIR} ${INTEL_DATADIR} (cd ${INTEL_DIR} && ${COPYTREE_SHARE} . ${INTEL_DATADIR}) .endif .if ${PORT_OPTIONS:MCPM} ${RM} -rf ${CPM_DATADIR} ${MKDIR} ${CPM_DATADIR} cpupdate -IC -S ${CPM_DIR}/Intel -T ${CPM_DATADIR} .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 Index: head/sysutils/cpupdate/files/cpupdate.in =================================================================== --- head/sysutils/cpupdate/files/cpupdate.in (revision 468695) +++ head/sysutils/cpupdate/files/cpupdate.in (revision 468696) @@ -1,39 +1,46 @@ #!/bin/sh # $FreeBSD$ # # 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"} command=%%PREFIX%%/sbin/${name} +resume_cmd="cpupdate_resume" +extra_commands="resume" 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"