Skip to content

Commit

Permalink
sysutils/cpu-microcode-*: Reorganize CPU microcode ports
Browse files Browse the repository at this point in the history
Prior to this update, sysutils/devcpu-data, which only contained an RC
script, had run dependencies on the AMD and Intel microcode ports.  This
made it cumbersome to have just the AMD or just the Intel microcode
ports installed.  With this change, the microcode ports now depend on
the RC script.

Other changes:

- Use more intuitive port names: cpu-microcode, cpu-microcode-amd,
  cpu-microcode-intel, and cpu-microcode-rc.
- Add the metaport, cpu-microcode, which pulls in all related ports.
- Pet portclippy/portfmt

Reviewed by:	lwhsu, markj
Approved by:	sbruno (maintainer)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D41406
  • Loading branch information
Jehops committed Aug 16, 2023
1 parent 9d00475 commit bc78292
Show file tree
Hide file tree
Showing 26 changed files with 100 additions and 82 deletions.
3 changes: 3 additions & 0 deletions MOVED
Expand Up @@ -7781,3 +7781,6 @@ lang/go118||2023-08-04|Upstream support ended
devel/hhdate|devel/date|2023-08-05|Dedup library
x11-toolkits/wlinfo||2023-08-10|Redundant with wayland-info from graphics/wayland-utils
www/bareos18-webui|www/bareos19-webui|2023-08-16|Has expired
sysutils/devcpu-data-amd|sysutils/cpu-microcode-amd|2023-08-16|Reorganize CPU microcode ports
sysutils/devcpu-data-intel|sysutils/cpu-microcode-intel|2023-08-16|Reorganize CPU microcode ports
sysutils/devcpu-data|sysutils/cpu-microcode-rc|2023-08-16|Reorganize CPU microcode ports
7 changes: 4 additions & 3 deletions sysutils/Makefile
Expand Up @@ -234,6 +234,10 @@
SUBDIR += coreos-ct
SUBDIR += coreutils
SUBDIR += cpdup
SUBDIR += cpu-microcode
SUBDIR += cpu-microcode-amd
SUBDIR += cpu-microcode-intel
SUBDIR += cpu-microcode-rc
SUBDIR += cpu-x
SUBDIR += cpuburn
SUBDIR += cpufetch
Expand Down Expand Up @@ -275,9 +279,6 @@
SUBDIR += deltup
SUBDIR += desktop-installer
SUBDIR += detox
SUBDIR += devcpu-data
SUBDIR += devcpu-data-amd
SUBDIR += devcpu-data-intel
SUBDIR += devctl-jail-kmod
SUBDIR += devd-mount
SUBDIR += devedeng
Expand Down
@@ -1,8 +1,8 @@
PORTNAME= data
PORTNAME= microcode
PORTVERSION= 20230724
CATEGORIES= sysutils
MASTER_SITES= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/amd-ucode/
PKGNAMEPREFIX= devcpu-
PKGNAMEPREFIX= cpu-
PKGNAMESUFFIX= -amd
DISTFILES= microcode_amd.bin?id=${_REV} \
microcode_amd_fam15h.bin?id=${_REV} \
Expand All @@ -12,7 +12,7 @@ DISTFILES= microcode_amd.bin?id=${_REV} \
DIST_SUBDIR= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}

MAINTAINER= sbruno@FreeBSD.org
COMMENT= AMD CPUs microcode updates
COMMENT= AMD CPU microcode updates

LICENSE= EULA
LICENSE_NAME= Advanced Micro Devices License Agreement
Expand All @@ -21,13 +21,15 @@ LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

ONLY_FOR_ARCHS= amd64 i386

RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/microcode_update:sysutils/cpu-microcode-rc

DATADIR= ${PREFIX}/share/cpucontrol
EXTRACT_CMD= ${CP}
EXTRACT_BEFORE_ARGS= # empty
EXTRACT_AFTER_ARGS= .
NO_ARCH= yes
NO_BUILD= yes

DATADIR= ${PREFIX}/share/cpucontrol
NO_WRKSUBDIR= yes
PLIST_FILES= ${DISTFILES:S/^/${DATADIR}\//g:C/\?.*//}

Expand Down
11 changes: 11 additions & 0 deletions sysutils/cpu-microcode-amd/distinfo
@@ -0,0 +1,11 @@
TIMESTAMP = 1691693284
SHA256 (cpu-microcode-amd/microcode_amd.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 8a9d9e8b788e31e61cddc03cb1eeab5db99e0f667128943ff0780e6437d2e43e
SIZE (cpu-microcode-amd/microcode_amd.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 12684
SHA256 (cpu-microcode-amd/microcode_amd_fam15h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 9d4a668410e72a4bdb86dc23e4261eca04daa83456ada02504115223f356981a
SIZE (cpu-microcode-amd/microcode_amd_fam15h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 7876
SHA256 (cpu-microcode-amd/microcode_amd_fam16h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = e02ad653b39c975d6c52674b50f23727bb6706bab7b4e5b391a4ce229e7ff121
SIZE (cpu-microcode-amd/microcode_amd_fam16h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 3510
SHA256 (cpu-microcode-amd/microcode_amd_fam17h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 1eeaf4c86fb72a0f0e9d4ff28d3213d264ecb47a8dce8bcbd85addd0cfd999bb
SIZE (cpu-microcode-amd/microcode_amd_fam17h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 12924
SHA256 (cpu-microcode-amd/microcode_amd_fam19h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 2e503e1381154297e30f7fdc83a639d81b02196ff965f63427652709423fdcc4
SIZE (cpu-microcode-amd/microcode_amd_fam19h.bin?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f) = 16804
File renamed without changes.
8 changes: 8 additions & 0 deletions sysutils/cpu-microcode-amd/pkg-message
@@ -0,0 +1,8 @@
[
{ type: install
message: <<EOM
Refer to the cpu-microcode-rc installation notes to enable AMD microcode
updates.
EOM
}
]
@@ -1,8 +1,8 @@
PORTNAME= data
PORTNAME= microcode
DISTVERSIONPREFIX= microcode-
DISTVERSION= 20230808
CATEGORIES= sysutils
PKGNAMEPREFIX= devcpu-
PKGNAMEPREFIX= cpu-
PKGNAMESUFFIX= -intel

MAINTAINER= sbruno@FreeBSD.org
Expand All @@ -16,6 +16,8 @@ LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

ONLY_FOR_ARCHS= amd64 i386

RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/microcode_update:sysutils/cpu-microcode-rc

USES= cpe
CPE_PART= o
CPE_VENDOR= intel
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
8 changes: 8 additions & 0 deletions sysutils/cpu-microcode-intel/pkg-message
@@ -0,0 +1,8 @@
[
{ type: install
message: <<EOM
Refer to the cpu-microcode-rc installation notes to enable Intel
microcode updates.
EOM
}
]
File renamed without changes.
27 changes: 27 additions & 0 deletions sysutils/cpu-microcode-rc/Makefile
@@ -0,0 +1,27 @@
PORTNAME= microcode
PORTVERSION= 1.0
CATEGORIES= sysutils
PKGNAMEPREFIX= cpu-
PKGNAMESUFFIX= -rc
MASTER_SITES= # none
DISTFILES= # none
EXTRACT_ONLY= # none

MAINTAINER= sbruno@FreeBSD.org
COMMENT= RC script for CPU microcode updates

LICENSE= BSD2CLAUSE

ONLY_FOR_ARCHS= amd64 i386

USE_RC_SUBR= microcode_update

DATADIR= ${PREFIX}/share/cpucontrol
NO_ARCH= yes
NO_BUILD= yes
NO_INSTALL= yes
SUB_FILES= pkg-message

NO_WRKSUBDIR= yes

.include <bsd.port.mk>
@@ -1,15 +1,14 @@
[
{ type: install
message: <<EOM
This port includes an RC script, which is one of two methods to update the
CPU microcode on a FreeBSD system.
This port includes an RC script, which is one of two methods to update
the CPU microcode on a FreeBSD system.

1. The first method, which does not require the RC script included in this
port is currently only supported on FreeBSD 12.0 or later and Intel i386
and amd64 processors. It is the preferred method when available because
it ensures that any CPU features introduced by a microcode update are
visible to the kernel by applying the update before the kernel performs
CPU feature detection.
1. The first method does not require the RC script included here and is
only supported with Intel processors. It is the preferred method,
because it ensures that any CPU features introduced by a microcode
update are visible to the kernel by applying the update before the
kernel performs CPU feature detection.

To enable updates using the first method, add the following lines to
/boot/loader.conf:
Expand All @@ -20,8 +19,8 @@ CPU microcode on a FreeBSD system.
The microcode update will be loaded when the system is rebooted.


2. The second method, which uses the RC script included in this port can
be enabled by adding the following line to /etc/rc.conf:
2. The second method, which uses the RC script included here, can be
enabled by adding the following line to /etc/rc.conf:

microcode_update_enable="YES"

Expand Down
File renamed without changes.
16 changes: 16 additions & 0 deletions sysutils/cpu-microcode/Makefile
@@ -0,0 +1,16 @@
PORTNAME= microcode
PORTVERSION= 1.0
CATEGORIES= sysutils
PKGNAMEPREFIX= cpu-

MAINTAINER= sbruno@FreeBSD.org
COMMENT= Meta-package for CPU microcode updates

ONLY_FOR_ARCHS= amd64 i386

RUN_DEPENDS= ${LOCALBASE}/share/cpucontrol/microcode_amd.bin:sysutils/cpu-microcode-amd \
/boot/firmware/intel-ucode.bin:sysutils/cpu-microcode-intel

USES= metaport

.include <bsd.port.mk>
4 changes: 4 additions & 0 deletions sysutils/cpu-microcode/pkg-descr
@@ -0,0 +1,4 @@
The cpu-microcode meta-package depends on microcode update packages
available for all CPU vendors. Users who wish to install CPU microcode
updates from a specific vendor can directly install cpu-microcode-amd or
cpu-microcode-intel.
11 changes: 0 additions & 11 deletions sysutils/devcpu-data-amd/distinfo

This file was deleted.

7 changes: 0 additions & 7 deletions sysutils/devcpu-data-amd/pkg-message

This file was deleted.

7 changes: 0 additions & 7 deletions sysutils/devcpu-data-intel/pkg-message

This file was deleted.

37 changes: 0 additions & 37 deletions sysutils/devcpu-data/Makefile

This file was deleted.

1 change: 0 additions & 1 deletion sysutils/devcpu-data/distinfo

This file was deleted.

0 comments on commit bc78292

Please sign in to comment.