| 5105e1eb | 19-Aug-2025 |
Mark Johnston <markj@FreeBSD.org> |
krb5: Fix the installed compile_et
We now build compile_et from krb5/util/compile_et. The compile_et make target runs compile_et.sh through a preprocessor that does some substitution on the script,
krb5: Fix the installed compile_et
We now build compile_et from krb5/util/compile_et. The compile_et make target runs compile_et.sh through a preprocessor that does some substitution on the script, in particular it defines the directory where compile_et can find et_h.awk and et_c.awk.
We build compile_et as a bootstrap tool since it's used to build krb5. It also gets installed by installworld, presumably because we did that with Heimdal Kerberos too and there's some chance that third-party projects are using it.
There are two problems, both fixed by this patch:
First, we don't actually install those awk scripts anywhere, so /usr/sbin/compile_et isn't usable on an installed system. Let's simply install them to /usr/share/et, which is where upstream puts them.
Second, compile_et is a bootstrap tool and gets installed into WORLDTMP during the bootstrap phase of the build. At that point we preprocess it to set the directory where it can find those awk scripts. That directory is currently set with `KRB5_ETDIR?= ${DESTDIR}/usr/share/et`, but DESTDIR points into the object directory, so this value is bogus.
Since all build-time invocations of compile_et explicitly specify the script directory with the -d option, let's just update the path to point to the installed script directory. In particular, avoid fixing DESTDIR in the script, since we don't do that generally.
PR: 288929 Reviewed by: ivy, cy Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D52004
show more ...
|