Page MenuHomeFreeBSD

devel/apr1: support building DBM with BDB 1.85
Needs ReviewPublic

Authored by ngie on Jun 1 2023, 7:11 AM.
Tags
None
Referenced Files
F81360572: D40366.id122689.diff
Mon, Apr 15, 4:19 AM
F81360339: D40366.id122689.diff
Mon, Apr 15, 4:13 AM
Unknown Object (File)
Tue, Mar 19, 3:35 PM
Unknown Object (File)
Tue, Mar 19, 3:09 PM
Unknown Object (File)
Feb 13 2024, 8:32 PM
Unknown Object (File)
Feb 10 2024, 1:36 PM
Unknown Object (File)
Feb 9 2024, 11:49 AM
Unknown Object (File)
Feb 8 2024, 9:49 PM

Details

Reviewers
brnrd
Summary

This change modifies the libapr1 configure logic to search for db_open,
etc, in libc instead of in a standalone library.

Pass the appropriate arguments to configure to support this fact.

Add USES+=autoreconf to regenerate configure from configure.in/build_dbm.m4 .

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 51961
Build 48852: arc lint + arc unit

Event Timeline

ngie requested review of this revision.Jun 1 2023, 7:11 AM

libc/db in base is currently BSD-3-Clause. Advertising clause removed from FreeBSD source tree in 2007.

I'm not sure we need to mark it as dual licensed if using the BSD licensed db 1.85. The BSD license does not make requirements on derivative works like AGPLv3 does, just on distribution of the lib itself (in binary or source form). The base FreeBSD OS already takes care of those requirements since it is the distributor of db 1.85. I suppose clause 3 is a requirement on derived works (to not use the University's or contributors' names for endorsement of derived works). But other parts of libc are BSD licensed, and we typically don't mark every port that uses libc as dual licensed with the BSD license.

devel/apr1/Makefile
39

See comments regarding 3 clause vs 4 clause.

90–91

See comments about dual licensing.

devel/apr1/Makefile
92

Maybe this should be BDB1_CONFIGURE_ON=--with-dbm=db1 instead of adding a configure arg in BDB1_VARS.

ngie marked an inline comment as done.Jun 7 2023, 6:26 PM

@rfyu28uyeg_snkmail.com: thank you for the input about the licensing. You're right -- I'm updating the patch now.

devel/apr1/Makefile
92

This is an apr-util specific configure argument -- it shouldn't be passed to apr's configure script.

Respond to comments from @rfyu28uyeg_snkmail.com:

  • fix licensing (lib/libc/db is BSD 3-clause, not 4-clause).
  • remove unnecessary "dual licensing" logic for the BDB1 option.
ngie marked an inline comment as done.Jun 7 2023, 6:28 PM
ngie marked an inline comment as done.

I think this is good. I'd be inclined to switch BDB to BDB1 for the default. The AGPLv3 licensed BDB should probably not be the default.

See also https://bugs.freebsd.org/261523#c30 - other people are thinking along the same lines (to use bdb from base).