HomeFreeBSD

etcupdate: Consolidate nobuild cases and make more robust

Description

etcupdate: Consolidate nobuild cases and make more robust

The distrib-dirs and distribution steps are shared between the two, the
only difference is whether MAKEOBJDIRPREFIX is in the environment for
the latter. Having in the environment for the former is currently not
needed but does no harm and will be needed in future, so we can just
export it up-front in the subshell. When we do distrib-dirs relative to
_obj and everything also doesn't matter, so move it next to distribution
where it makes more sense. Finally, to avoid complicated && chains, use
"|| exit 1" everywhere to make the subshell fail, and add an extra one
on to the cd $SRCDIR to handle that failing (otherwise we'd go on and
try to build the current directory after cd prints its error, which is
unhelpful).

These changes will make it easier to bundle these steps up into new
top-level targets to allow the build system to manage the steps rather
than etcupdate, which will also handle BUILD_WITH_STRICT_TMPPATH, which
currently does not work with etcupdate.

Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D41204

Details

Provenance
jrtc27Authored on Jul 27 2023, 4:10 AM
Reviewer
jhb
Differential Revision
D41204: etcupdate: Consolidate nobuild cases and make more robust
Parents
rG8fc3059b00c5: Makefile.inc1: Split _cleanworldtmp out from _worldtmp
Branches
Unknown
Tags
Unknown