FreeBSD/poudriere d507571src/share/poudriere common.sh

Revert "testport/bulk -t: Make stage-qa library dependencies check fatal."

This reverts commit 24aa0dda088c08aafd2f317c67dc4c271177157c.

The qa check needs more work. There are at least 2 cases:
1. A library happens to be installed by a dependency, _is needed_,
   and gets linked in without a `LIB_DEPENDS`.
2. A library happens to be installed by a dependency, _is not needed_,
   and is _overlinked_. The qa check suggests to add a `LIB_DEPENDS`
   which is not the right advice.

Update the shlib warnings to note the stage-qa failure is silent.
DeltaFile
+2-3src/share/poudriere/common.sh
+2-31 files

FreeBSD/poudriere 6089168src/share/poudriere jail.sh

jail -d: Don't try destroyfs if JAILMNT is not set
DeltaFile
+1-1src/share/poudriere/jail.sh
+1-11 files

FreeBSD/poudriere 44bba62src/share/poudriere/include pkgqueue.sh

Fix some utilities writing to stdout on SIGINFO where stdout is read.
DeltaFile
+3-3src/share/poudriere/include/pkgqueue.sh
+3-31 files

FreeBSD/poudriere efd3c8dsrc/share/poudriere common.sh, src/share/poudriere/include util.sh

siginfo_handler: Set +u as it may have been set before calling the trap.

Not everything is set -u safe; don't suddenly expose it in unexpected places.
DeltaFile
+3-2src/share/poudriere/common.sh
+1-1src/share/poudriere/include/util.sh
+4-32 files

FreeBSD/poudriere e4f2486src/share/poudriere jail.sh

jail -d: Don't try destroyfs if JAILMNT is not set

(cherry picked from commit d5e410697d0802f624e90267cec70c63613e9582)
DeltaFile
+1-1src/share/poudriere/jail.sh
+1-11 files

FreeBSD/poudriere 93a89c8src/share/poudriere testport.sh, test Makefile.in testport-build-custom-PREFIX.sh

testport: Fix testing of an IGNORE/BROKEN port.

- Also fixes old bulk bug with empty repo, on an IGNORED port, resulting in an
  error trying to build repo without pkg having been built yet.
- Also fixes old testport bug with -P leftover error of /prefix.
- Also fixes old testport bug of empty repo on BROKEN port not building pkg.
- Add several new tests covering these cases and more.
- testport on an IGNORED port no longer consider it as a "failure"
  for stats.

Fixes:  b95a9ee02 ("testport: Don't spin up a builder if not needed")
Fixes:  bac5acb8f ("build_port: Can fetch NEED_ROOT upfront.")
DeltaFile
+47-7test/Makefile.in
+46-0test/testport-build-custom-PREFIX.sh
+34-0test/bulk-build-broken.sh
+17-15test/common.bulk.sh
+28-0test/testport-build-ignored.sh
+24-4src/share/poudriere/testport.sh
+196-2611 files not shown
+285-4217 files

FreeBSD/poudriere cc10e39. Makefile.in Makefile.am

getpid: Don't build with --static

This isn't needed and breaks WITH_PIE in ports build.
DeltaFile
+7-26Makefile.in
+0-1Makefile.am
+7-272 files

FreeBSD/poudriere 1e1cd81src/share/poudriere/include asserts.sh

dev_assert: Fix alias for lines ending in \

`nop` is used rather than `:` so that `VAR=x dev_assert` keeps the
variable scope to that line only.
DeltaFile
+2-1src/share/poudriere/include/asserts.sh
+2-11 files

FreeBSD/poudriere d0e6e13src/share/poudriere jail.sh

jail -c -m pkgbase: Default URL has changed to pkg.freebsd.org

(cherry picked from commit 7849c70c61b1f302a1eb113aa3b86f21a7ec9e9e)
DeltaFile
+1-1src/share/poudriere/jail.sh
+1-11 files

FreeBSD/poudriere afeb06esrc/share/poudriere jail.sh

jail -c -m pkgbase: Default URL has changed to pkg.freebsd.org
DeltaFile
+1-1src/share/poudriere/jail.sh
+1-11 files

FreeBSD/poudriere befbb9csrc/share/poudriere common.sh

bulk/testport logger should be a protected job.
DeltaFile
+5-0src/share/poudriere/common.sh
+5-01 files

FreeBSD/poudriere 7816d1fsrc/share/poudriere/include hash.sh, test stack.sh

stack_size: Fix eargs error
DeltaFile
+13-0test/stack.sh
+1-1src/share/poudriere/include/hash.sh
+14-12 files

FreeBSD/poudriere e6e1891src/bin poudriere.in, test runtest.sh

poudriere / runtest: Allow MALLOC_CONF from environment
DeltaFile
+1-1src/bin/poudriere.in
+1-0test/runtest.sh
+2-12 files

FreeBSD/poudriere feec515src/share/poudriere/include parallel.sh

_spawn_wrapper: Add comment about async lists
DeltaFile
+2-0src/share/poudriere/include/parallel.sh
+2-01 files

FreeBSD/poudriere 08f3238src/share/poudriere/include parallel.sh

_kill_job: Add debug output for pwait return
DeltaFile
+2-0src/share/poudriere/include/parallel.sh
+2-01 files

FreeBSD/poudriere 59a4387external/sh miscbltin.c

sh: Don't assume EINTR means SIGALRM

Taken from FreeBSD https://reviews.freebsd.org/D53761
DeltaFile
+57-26external/sh/miscbltin.c
+57-261 files

FreeBSD/poudriere 562e9a5test jobs.sh

test jobs.sh SH=/bin/sh: Improve racy test

commit 3085e8acd748dd tweaked this check to deal with Running
or Done, but needs to deal with the %- job being different
as well.
DeltaFile
+3-3test/jobs.sh
+3-31 files

FreeBSD/poudriere 9f0309csrc/share/poudriere/include pkg.sh

PKG_HASH: Fix pkg cache using wrong timestamp.

This affects build performance only.
DeltaFile
+1-1src/share/poudriere/include/pkg.sh
+1-11 files

FreeBSD/poudriere 24aa0ddsrc/share/poudriere common.sh

testport/bulk -t: Make stage-qa library dependencies check fatal.

This now forces PROXYDEPS_FATAL on for stage-qa when in test mode.
The PKG_NO_VERSION_FOR_DEPS feature depends on packages having proper
dependencies recorded. Pkg likely does too.
DeltaFile
+1-0src/share/poudriere/common.sh
+1-01 files

FreeBSD/poudriere 9de72d5external/patches/sh 020-vfork-child-setm.patch, external/sh eval.c

sh: Allow vfork in child with mflag set
DeltaFile
+19-0external/patches/sh/020-vfork-child-setm.patch
+1-1external/sh/eval.c
+20-12 files

FreeBSD/poudriere 5b76555src/share/poudriere common.sh, src/share/poudriere/include parallel.sh

Traps: avoid forking to carry along exit status to child handlers.

- Also allow signal handlers to modify return status.
- Add more tests.
DeltaFile
+52-0test/setup_traps.sh
+30-8src/share/poudriere/include/parallel.sh
+26-7test/runtest.sh
+1-3src/share/poudriere/common.sh
+109-184 files

FreeBSD/poudriere 87549dasrc/poudriere-sh mapfile.c, src/share/poudriere common.sh

mapfile/readlines/readlines_file: Deal with reads without EOL newline
DeltaFile
+50-0test/mapfile.sh
+33-0src/share/poudriere/include/util.sh
+19-1src/poudriere-sh/mapfile.c
+12-0test/readlines.sh
+0-2src/share/poudriere/common.sh
+114-35 files

FreeBSD/poudriere bd3f455test common.sh

tests cleanup: print jobs warning to stderr
DeltaFile
+1-1test/common.sh
+1-11 files

FreeBSD/poudriere 7bcf3d9src/share/poudriere common.sh

bulk: Fix ref jail not being unmounted when detecting a crashed builder
DeltaFile
+5-0src/share/poudriere/common.sh
+5-01 files

FreeBSD/poudriere c0aedb4src/share/poudriere/include parallel.sh

parallel_exec: Simplify; avoid a fork.

Like build_queue_runner() we can avoid needing to mess
with subshells or set -e by using an exit trap to write
back to the job pipe.
DeltaFile
+8-23src/share/poudriere/include/parallel.sh
+8-231 files

FreeBSD/poudriere c96809dsrc/share/poudriere/include parallel.sh, test jobs.sh

jobs_with_statuses: Avoid requiring a pipe to use this

This also avoids creating a giant multi-line string as the result
and instead returns 1 line at a time. This will allow an optimal
builtin.
DeltaFile
+128-75src/share/poudriere/include/parallel.sh
+38-25test/jobs.sh
+166-1002 files

FreeBSD/poudriere 5da0847src/share/poudriere/include shared_hash.sh

shash_remove_var: optimize to not need find(1)

Using shash_unset() allows using rm(builtin).
DeltaFile
+2-7src/share/poudriere/include/shared_hash.sh
+2-71 files

FreeBSD/poudriere 898b3dcsrc/share/poudriere common.sh

_build_queue_check_jobs: Use more efficient jobs_with_statuses()
DeltaFile
+27-23src/share/poudriere/common.sh
+27-231 files

FreeBSD/poudriere 79841d8test common.sh jobs.sh

tests expect_error_on_stderr: try to allow the child to error.

That is, before if the child threw an error we might never
see stderr. Now we should.

This requires disabling a few assertions that check for no job %1 which
now exists within here.
DeltaFile
+23-14test/common.sh
+10-10test/jobs.sh
+33-242 files

FreeBSD/poudriere 028c678src/share/poudriere common.sh

bulk: Avoid an injail ls: use builtin stat(1)
DeltaFile
+1-1src/share/poudriere/common.sh
+1-11 files