Repository navigation
Fix order-only SRVPGM prerequisites never reaching BNDSRVPGM (path 1 of #566) - #569
Closed
saschollen-harris wants to merge 1 commit into
Closed
saschollen-harris wants to merge 1 commit into
saschollen-harris wants to merge 1 commit into
Conversation
IBM#566) MODULE_TO_PGM_RECIPE and BND_TO_SRVPGM_RECIPE both called PGM_VARIABLES/ SRVPGM_VARIABLES (which compute BNDSRVPGMPATH from $(externalsrvpgms)) before externalsrvpgms was actually assigned from the order-only prerequisite list ($|). So an order-only *SRVPGM prerequisite was always silently dropped, rendering bndsrvpgm(*NONE) regardless. Moving the externalsrvpgms assignment before the *_VARIABLES call fixes this -- the qualifying transform there was already correct, just unreachable. Path 2 of IBM#566 (regular prerequisites stripping the library qualifier via $(notdir $^)) is intentionally left untouched; it's a separate, higher-risk decision since it'd change existing output for locally-built service programs too. Fixes IBM#566 (partially -- path 1 only) Signed-off-by: Scott Schollenberger <89707936+Saschollen@users.noreply.github.com>
saschollen-harris
force-pushed
the
fix-bndsrvpgm-order-only-566
branch
from
October 12, 2026 21:08
fb6e97a to
53172c1
Compare
Collaborator
|
Thanks @saschollen-harris for the PR , We were unable to update the branch and change logs, so we created a new PR #587 with the same changes. We’ll proceed with merging the new PR and closing this one. |
1 similar comment
Collaborator
|
Thanks @saschollen-harris for the PR , We were unable to update the branch and change logs, so we created a new PR #587 with the same changes. We’ll proceed with merging the new PR and closing this one. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
MODULE_TO_PGM_RECIPEandBND_TO_SRVPGM_RECIPEinsrc/mk/def_rules.mkboth callPGM_VARIABLES/SRVPGM_VARIABLES(which computeBNDSRVPGMPATHfrom$(externalsrvpgms)) beforeexternalsrvpgmsis actually assigned from the order-only prerequisite list ($|). So an order-only*SRVPGMprerequisite like| /QSYS.LIB/QICSS.LIB/QYCDCUSG.SRVPGMwas always silently dropped, renderingbndsrvpgm(*NONE)regardless — even though the diagnosticecho_cmdline right above it reads$|directly and reports the service program as if it were included, so the build's own log contradicted the command it ran.$(eval externalsrvpgms := ...)assignment to before thePGM_VARIABLES/SRVPGM_VARIABLEScall in each recipe. The qualifying transform itself ($(subst .LIB,,$(subst /QSYS.LIB/,,$|)), which correctly turns/QSYS.LIB/QICSS.LIB/QYCDCUSG.SRVPGMinto qualifiedQICSS/QYCDCUSG.SRVPGM) was already right — it was just unreachable..PGM: the order-only prerequisite path is dead code, and the regular-prerequisite path strips the library qualifier #566. Path 2 (regular prerequisites losing their library qualifier via$(notdir $^)) is intentionally left untouched — fixing it would change existingBNDSRVPGM(...)output for locally-built service programs too, which the issue itself flags as a separate, higher-risk decision.Addresses part of #566 — path 1 only. Path 2 remains open and is intentionally not addressed by this PR; please don't auto-close #566 on merge.
Test plan
QICSS/QYCDCUSG) to a.PGMtarget. With the patcheddef_rules.mk, using:FTPSAUD.PGM: CERTINV.MODULE DCMAPIS.MODULE FTPSAUD.MODULE | /QSYS.LIB/QICSS.LIB/QYCDCUSG.SRVPGMPOSTCMDoverride producing the same qualifiedBNDSRVPGM; this fix makes that workaround unnecessary, and it's been removed from the project'sRules.mk.def_rules.mkmacro definitions (nothing in the repo invokes realmakeagainst these macros), so verification was manual, consistent withdocs/contributing/testing.md's existing approach formakei/build changes.See
agent-os/specs/2026-09-10-1942-fix-bndsrvpgm-order-only-566/in this PR for full shaping notes and references.cc @nehab7 @VyshnaviKB