Page MenuHomeFreeBSD

sysutils/slurm-wlm: update to 25.05.3
Needs ReviewPublic

Authored by rikka.goering_outlook.de on Tue, Oct 7, 1:08 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Oct 13, 1:20 PM
Unknown Object (File)
Sat, Oct 11, 11:16 PM
Unknown Object (File)
Sat, Oct 11, 5:40 AM
Unknown Object (File)
Sat, Oct 11, 5:40 AM
Unknown Object (File)
Sat, Oct 11, 5:40 AM
Unknown Object (File)
Fri, Oct 10, 10:29 PM
Unknown Object (File)
Fri, Oct 10, 2:53 AM
Unknown Object (File)
Thu, Oct 9, 3:23 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 67630
Build 64513: 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.Tue, Oct 7, 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.

31

USES=gnome without USE_GNOME= - remove it.

41–50

Remove this.

54

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

57

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

59–60

You can use ${PORTNAME} for both.

86–87

But add here: GUI_USES= gettext gnome.

154–157
	@${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
57

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

sysutils/slurm-wlm/files/patch-src_plugins_acct__gather__profile_hdf5_Makefile.in
9

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
9

Build fine without this patch.

sysutils/slurm-wlm/files/patch-src_plugins_acct__gather__profile_hdf5_sh5util_Makefile.in
2

Build fine without this patch.

sysutils/slurm-wlm/Makefile
138–150

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
61–64
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
130–131

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

sysutils/slurm-wlm/Makefile
122

Why add this check?

sysutils/slurm-wlm/Makefile
152–153

Are you sure this is work?

155–160

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.