Page MenuHomeFreeBSD

Build options etc for libbearssl and libve
ClosedPublic

Authored by sjg on Jul 19 2018, 12:30 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Mar 19, 9:00 AM
Unknown Object (File)
Mar 11 2024, 8:27 AM
Unknown Object (File)
Jan 6 2024, 12:50 PM
Unknown Object (File)
Dec 22 2023, 9:20 PM
Unknown Object (File)
Dec 13 2023, 10:25 PM
Unknown Object (File)
Dec 11 2023, 1:01 AM
Unknown Object (File)
Nov 26 2023, 9:49 AM
Unknown Object (File)
Nov 26 2023, 7:16 AM

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 19428
Build 19025: arc lint + arc unit

Event Timeline

bdrewery requested changes to this revision.Sep 5 2018, 9:44 PM

Can't evaluate lib/Makefile changes without the rest of the changes. I.e., does it require dependency changes in Makefile.inc1's make libraries handling? Can't tell from this.

share/mk/src.libnames.mk
216–223

These should be something like ${LIBBEARSSLDIR}/libbearssl.a rather than ${DESTDIR}${LIBDIR} since internallibs never get installed.
The FOODIR var does get defaulted to lib/libfoo later on.

This revision now requires changes to proceed.Sep 5 2018, 9:44 PM

Sorry, should make all these reviews xref each other.
we have

D16336 for changes to stand/
D16335 for libve
D16334 for libbearssl

sjg marked an inline comment as done.Sep 5 2018, 10:12 PM
This revision is now accepted and ready to land.Sep 6 2018, 12:04 AM
lib/Makefile
168–169

This can use SUBDIR.${MK_BEARSSL}+=libbearssl libve style, no?

tools/build/options/WITH_BEARSSL
2

Options files typically start with a one-sentence description and I think that improves the flow of the generated man page. (They also typically start with Set to build or Set to not build, which I don't think improves readability.)

E.g., just start with "Build the BearSSL library."

4

Is there specific markup for URLs?

6–10

This out-of-tree bearssl src should go.

tools/build/options/WITH_BEARSSL
6–10

The intent was that it would eventually end up in contrib/ but didn't think that should be a gating factor?

tools/build/options/WITH_BEARSSL
6–10

If we're ready to start adding the build goop we should just put it in contrib

tools/build/options/WITH_BEARSSL
6–10

We should just import it, even if it isn't in the default built, I agree. Having out-of-tree support for it I think slows the adoption of it for the base.

This revision now requires review to proceed.Jan 14 2019, 9:56 PM
share/mk/src.libnames.mk
217

This should probably be

LIBSECUREBOOT?= ${LIBSECUREBOOTDIR}/libsecureboot.a

share/mk/src.opts.mk
218

Since the verification library is now called "libsecureboot" perhaps we should rename this to "LOADER_SECUREBOOT" or something similar.

Overall looks good to me now, modulo the couple of outstanding comments.

tools/build/options/WITH_BEARSSL
4

Found it, .Lk

share/mk/src.libnames.mk
217

Thanks

share/mk/src.opts.mk
218

That depends a bit on your plans.
LOADER_VERIEXEC is a reasonable description of what my patches currently do
LOADER_SECUREBOOT could also be valid but you might want a separate knob to select different behavior - with LUA in loader there is not a lot of headroom.

tools/build/options/WITH_BEARSSL
4

Where?

Is the syntax

.Lk http://www.BearSSL.org/

?

tools/build/options/WITH_BEARSSL
4

from mdoc(7):

Lk
  Format a hyperlink.  Its syntax is as follows:

        .Lk uri [name]

  Examples:
        .Lk http://bsd.lv "The BSD.lv Project"
        .Lk http://bsd.lv

  See also Mt.

LGTM (with a few notes), let's commit and adjust further if necessary

share/mk/src.libnames.mk
217

and now libsecureboot${PIE_FLAG}.a

tools/build/options/WITH_BEARSSL
8–12

Yes, let's just build the in-tree one.

tools/build/options/WITH_VERIEXEC
8–10

If the dependencies are encoded in share/mk/* makeman will automatically add a sentence to this effect (something like, for WITHOUT_BEARSSL, When set, it enforces these options: WITHOUT_VERIEXEC).

In any case I think it'd be fine to commit as is, changing the wording later if it doesn't read well.

This revision is now accepted and ready to land.Feb 25 2019, 9:07 PM
This revision was automatically updated to reflect the committed changes.