Page MenuHomeFreeBSD

sysutils/slurm-wlm: update to 25.05.3
Needs ReviewPublic

Authored by rikka.goering_outlook.de on Oct 7 2025, 1:08 AM.
Tags
None
Referenced Files
F135385522: D52949.id163674.diff
Sun, Nov 9, 8:55 AM
Unknown Object (File)
Wed, Nov 5, 6:57 PM
Unknown Object (File)
Tue, Nov 4, 7:38 PM
Unknown Object (File)
Tue, Nov 4, 7:37 PM
Unknown Object (File)
Tue, Nov 4, 7:37 PM
Unknown Object (File)
Tue, Nov 4, 7:37 PM
Unknown Object (File)
Tue, Nov 4, 7:37 PM
Unknown Object (File)
Tue, Nov 4, 7:34 PM
Subscribers
None

Details

Summary
  • Track upstream 25.05.3.
  • Reduce patch surface; rely on REINPLACE_CMD and upstream fixes.
  • Preserve layout and sample config installation.
  • Verified via stage-qa, check-plist, and poudriere on 14.3 amd64.
  • Runtime smoke-tested (slurmd -C, srun, squeue); cgroups disabled via config.

PR: #289656
Signed-off-by: Rikka Göring <rikka.goering@outlook.de>

Test Plan

Build/QA:

  • stage, stage-qa, check-plist, package
  • poudriere testport on 14.3-RELEASE amd64
  • portfmt, portclippy, portlint

Runtime:

  • slurmd -C prints node config
  • srun --version, squeue run ok
  • CgroupPlugin=disabled mode tested

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 67755
Build 64638: arc lint + arc unit

Event Timeline

rikka.goering_outlook.de retitled this revision from ysutils/slurm-wlm: update to 25.05.3 to sysutils/slurm-wlm: update to 25.05.3.Oct 7 2025, 1:10 AM
rikka.goering_outlook.de edited the summary of this revision. (Show Details)
rikka.goering_outlook.de added a subscriber: vvd.
sysutils/slurm-wlm/Makefile
3

Remove this.

21–22

USES=gnome without USE_GNOME= - remove it.

37–47

Remove this.

50

-I${LOCALBASE}/include aleady added in USES=localbase.

53

LDFLAGS+= -lsysinfo -lprocstat -fcommon
USES= localbase:ldflags

55–56

You can use ${PORTNAME} for both.

81–83

But add here: GUI_USES= gettext gnome.

153–156
	@${MKDIR} ${STAGEDIR}/var/spool/slurmctld \
		  ${STAGEDIR}${ETCDIR}
sysutils/slurm-wlm/ci/build-and-test.sh
1 ↗(On Diff #163674)

What is this file for?

rikka.goering_outlook.de marked 7 inline comments as done.

Adjusted differential according to review feedback.

rikka.goering_outlook.de marked 2 inline comments as done.

Further updated differential according to review feedback. Reordered Makefile according to portfmt.

sysutils/slurm-wlm/Makefile
53

Did you tested USES=localbase and USES=localbase:ldflags is unnecessary?

sysutils/slurm-wlm/files/patch-src_plugins_acct__gather__profile_hdf5_Makefile.in
8 ↗(On Diff #163732)

Are you sure port need this if Makefile have HDF5_LDFLAGS=-lhdf5_hl?

sysutils/slurm-wlm/Makefile
69

DOCS already default by ports framework.

configure: WARNING: unrecognized options: --with-plugin-dir, --with-rrdtool
Remove RRD option and --with-plugin-dir.

Also you break build without HDF5 option and with CURL, GUI and IPMI - check plist for %%CURL%%, %%GUI%% and %%IPMI%%.

sysutils/slurm-wlm/files/patch-src_plugins_acct__gather__profile_hdf5_Makefile.in
8 ↗(On Diff #163732)

Build fine without this patch.

sysutils/slurm-wlm/files/patch-src_plugins_acct__gather__profile_hdf5_sh5util_Makefile.in
1 ↗(On Diff #163732)

Build fine without this patch.

sysutils/slurm-wlm/Makefile
142–143

Add this before .include <bsd.port.options.mk>:
_ARCH= ${ARCH:S|aarch64|aarch64elf|:S|amd64|elf_amd64|:S|powerpc64|elf64ppc|:S|powerpc64le|elf64lppc|:S|riscv64|elf64lriscv|}
And replace "long" if with this:

${FIND} ${LLD2FIX:S|^|${WRKSRC}/src/|} -name Makefile.in | ${XARGS} \
        ${REINPLACE_CMD} -e 's|-r -o|-r -m ${_ARCH} -o|'
sysutils/slurm-wlm/pkg-plist
21

This place for @sample %%ETCDIR%%/slurm.conf.sample is better.

260

Why replace with line with @dir /var/spool/slurmctld and move it to begin?

In D52949#1210570, @vvd wrote:

configure: WARNING: unrecognized options: --with-plugin-dir, --with-rrdtool
Remove RRD option and --with-plugin-dir.

Also you break build without HDF5 option and with CURL, GUI and IPMI - check plist for %%CURL%%, %%GUI%% and %%IPMI%%.

Will recheck pkg-plist for option guarded entries and will recheck build for every optional build knob. Fixes will be included in the next revision.

sysutils/slurm-wlm/ci/build-and-test.sh
1 ↗(On Diff #163674)

The ci/ directory and build-and-test.sh were part of my internal GitLab CI setup (for poudriere and QA automation) and were added by mistake.
I’ll remove the entire ci/ subdirectory in the next revision.

sysutils/slurm-wlm/Makefile
57–60
PLIST_SUB=      PORTVERSION="${DISTVERSION}" \
                VER="${DISTVERSION:R}" \
                USERS=${USERS} \
                GROUPS=${GROUPS}
rikka.goering_outlook.de marked 4 inline comments as done.

sysutils/slurm-wlm: address review feedback

  • Correctly wired options (CURL, GUI, HDF5, HWLOC, IPMI) into pkg-plist
  • Verified clean build with all options enabled and with all options disabled
  • Removed obsolete or redundant CONFIGURE_ARGS and patches
  • Cleaned up Makefile per review (USES, LDFLAGS, user/group handling, etc.)
  • Updated Differential per vvd@'s feedback

Thanks a lot for the thorough review, @vvd!
I’ve gone through all the feedback and updated the Differential accordingly:

  • Correctly wired all optional components into the plist
  • Rechecked builds with all options enabled and with all options disabled
  • Cleaned up the Makefile, options, and patch set per your notes

I really appreciate the detailed guidance — I’ve learned a lot about FreeBSD porting and style conventions through this review.
Always happy to receive more feedback and adjust further if needed!

sysutils/slurm-wlm/pkg-plist
260

The move was caused by an automated sort I ran, which unintentionally reordered some entries. I’ll move the @dir /var/spool/slurmctld line (aswell as @sample %%ETCDIR%%/slurm.conf.sample) back to its original position and restore the permission settings. Thanks for catching that!

sysutils/slurm-wlm/Makefile
49

You can keep this instead of hundreds %%PORTDOCS%%%%DOCSDIR%%/html/* lines in plist.

sysutils/slurm-wlm/Makefile
176–177

Install config as sample is good idea.

rikka.goering_outlook.de marked 2 inline comments as done.

Adjusted differential according to review feedback

  • Makefile now installs /usr/local/etc/slurm/slurm.conf.sample
    • pkg-plist now tracks this file
  • Replaced portdocs lines in pkg-plist with PORTDOCS=* in Makefile
sysutils/slurm-wlm/Makefile
128–135

What is the purpose of these lines?
I can't find sched_setaffinity and %%LOCALBASE%% in ${WRKSRC}/configure.

sysutils/slurm-wlm/Makefile
116

Why add this check?

sysutils/slurm-wlm/Makefile
143–145

Are you sure this is work?

146–151

This doesn't work.
But this is work correctly:

${FIND} ${WRKSRC} -name Makefile.in | ${XARGS}  \
        ${REINPLACE_CMD} -e 's|htmldir = \$${datadir.*$$|htmldir = @htmldir@|'
rikka.goering_outlook.de marked 4 inline comments as done.

Updated differential according to review feedback.
Had to add patches for the utilities that were unblocked by the changes.
Applied an automated lld fix.

Hi vvd@, just returning from a short break for health reasons — I’m catching up now. Just wanted to check if you need any further info from my side for the review.

sysutils/slurm-wlm/Makefile
116

No longer needed with 25.05.3 (and the guard is redundant). I’ll remove the pre-configure-GUI-off target and the min_gtk_version reinplace altogether.

128–135

Leftovers from an older release; they don’t match 25.05.3’s configure anymore. I’ll drop both reinplaces entirely.

143–145

You’re right — this is unnecessary and risks being linker-specific. I’ll drop the entire LLD2FIX block and rely on upstream/ports defaults.

Edit: Confirmed — needed for FreeBSD’s lld, which otherwise errors with “target emulation unknown”.
Replaced with a scoped, automated fix that only touches --format=binary lines.

146–151

Ack — will replace my attempt with your working one-liner.

SchedMD just released version 25.11. I’ll go ahead and update the patch to target this new release.

EDIT: Upstream adopted a FreeBSD-reported linker crash workaround into 25.11.0, eliminating the need for several local patches.