Bug 264575

Summary: databases/evolution-data-server: WITH_KRB5=/usr ignored if security/krb5 is installed
Product: Ports & Packages Reporter: John Hein <jcfyecrayz>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: New ---    
Severity: Affects Only Me CC: cy, gnome
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description John Hein 2022-06-09 17:18:15 UTC
If security/krb5 is installed, evolution-data-server's configure & build stages will find and use the kerberos package in /usr/local instead of the one in /usr.

It seems to build okay, but it reflects a hidden/untracked dependency.  All the .so files are linked with kerberos libraries in /usr/local/lib.  If the krb5 package is subsequently removed, this will break evolution-data-server due to the missing libraries.

I don't have a test to check if there is a functional difference between the base krb libs and the ports krb libs.  If anyone does, please mention it here.

If there is no functional difference, then the resolution to the untracked dependency problem is probably to investigate what cmake is doing (never anyone's favorite task to dig into cmake), and figure out how to correctly get it to link explicitly with the desired krb (base or ports).

Optionally, evolution-data-server could just be modified to depend on the security/krb5 port (if the KERBEROS option is on).  If the base krb libs work just fine for evolution-data-server's needs, the extra dependency on the port could be seen as just an unnecessary extra dependency (extends build/install times and uses extra disk space - although the krb5 package is not a big hog in either regard, build time or space).

If base is built without krb, of course, then things will likely break at build time (if no krb pkg is installed).  So it is an additional desirable update to support selecting krb from base or krb from ports as an enhancement to the KERBEROS option.

I don't have a patch to resolve any of the above at this time.