2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-11-11 18:52:20 +00:00
Files
Daniel Hilst bdebb7d4cf fix(xcat-core): --nproc=0 exits 127 before any package work
Parallel::ForkManager does not fork when max_procs is 0: start()
returns 0 in the original process. start_build_worker took that 0 as a
forked worker. It closed the only writer of the gate pipe, read
end-of-file and exited 127, so both worker loops in buildrpms.pl
stopped before they built a package or updated a repository.

start_build_worker now compares $$ before and after the fork callback.
When the callback returned 0 in the same process, it closes the gate and
returns 0, and the caller runs the work under the locks it already
holds. Both loops call start_build_worker, so both are covered.
build_worker_nofork.t passes with this change.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-11-06 16:26:07 -03:00
..
2024-05-07 16:31:30 +02:00

Shared FIPS shell policy

Edit fips-policy.sh, then run:

perl build-utils/sync-fips-policy --write
perl build-utils/sync-fips-policy --check

Commit the source and both updated runtime libraries together. The generated blocks in Genesis usr/lib/xcat/fips.sh and postscripts xcatlib.sh stay tracked so source-checkout callers and standalone packages need no generation step. The RPM and Debian builders reject stale blocks before building either package.

Keep caller-specific helpers outside the generated block. The policy source must remain POSIX shell. It must not depend on the other package at runtime.