]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Makefile.inc1: Fix -DNO_ROOT distributeworld certctl usage
authorJessica Clarke <jrtc27@FreeBSD.org>
Thu, 14 Jul 2022 00:25:50 +0000 (01:25 +0100)
committerJessica Clarke <jrtc27@FreeBSD.org>
Thu, 14 Jul 2022 00:25:50 +0000 (01:25 +0100)
commit7e45839aca7157a73b0309e8cf4cb811d2cb5512
treec4cbc83189006977f2c55877568fe64834aae5d7
parent232cf6be4bc493412f1c8b80a4cdc00fe53075c6
Makefile.inc1: Fix -DNO_ROOT distributeworld certctl usage

Currently for distributeworld we pass DESTDIR to certctl.sh as an
environment variable, which sets the default value in the script.
However, for -DNO_ROOT builds, CERTCTLFLAGS has METALOG_INSTALLFLAGS
which includes -D ${DESTDIR}, overriding the custom DESTDIR pointing at
the base dist directory.

Moreover, in order to ensure that the METALOG includes the base/ prefix
for all the files, we need to have certctl call install with -D set to
DESTDIR/DISTDIR without the /base suffix but also ensure the files get
installed to DESTDIR/DISTDIR/base.

Fix these by passing the custom DESTDIR to certctl via -D rather than in
the environment and to pass the /base suffix in the distributeworld case
via the newly-added -d option.

We also need to run certctl rehash before we generate the .meta files
from the METALOG, not after, otherwise they won't include the METALOG
additions, so move the certctl rehash call.

Finally, add a missing semicolon that results in no message being
printed in the missing openssl case. By not including the semicolon,
else echo "..." is treated as extra arguments to certctl, which is lax
in its argument parsing and ignores additional arguments, and the
semicolon and fi after the intended echo terminate the if statement as
normal so there's no syntax error at the shell level. This is harmless
as we weren't trying to do anything other than echo anyway, all that
happens is the echo doesn't actually get run.

Reported by: markj (missing semicolon)
Reviewed by: brooks, kevans
Obtained from: CheriBSD
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D35809
Makefile.inc1