Page MenuHomeFreeBSD

packages: Improve handling of -lib packages
Needs ReviewPublic

Authored by ivy on Fri, Aug 15, 8:00 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Aug 19, 11:59 PM
Unknown Object (File)
Sat, Aug 16, 2:09 PM

Details

Reviewers
des
Group Reviewers
pkgbase
Summary

For some packages (OpenSSL, Kerberos) we want to ship runtime libraries
in a separate package, e.g. openssl and openssl-lib. Currently this is
done using PACKAGE=openssl-lib, but that creates packages with strange
names like openssl-lib-lib32.

Instead, add a new LIB_PACKAGE option to bsd.lib.mk that causes runtime
libraries to be placed in a new -lib subpackage. This significantly
improves the set of packages we create; for example, OpenSSL goes from:

FreeBSD-openssl
FreeBSD-openssl-dbg
FreeBSD-openssl-lib
FreeBSD-openssl-lib-dbg
FreeBSD-openssl-lib-dbg-lib32
FreeBSD-openssl-lib-dev
FreeBSD-openssl-lib-dev-lib32
FreeBSD-openssl-lib-lib32
FreeBSD-openssl-lib-man
FreeBSD-openssl-man

to:

FreeBSD-openssl
FreeBSD-openssl-dbg
FreeBSD-openssl-dbg-lib32
FreeBSD-openssl-dev
FreeBSD-openssl-dev-lib32
FreeBSD-openssl-lib
FreeBSD-openssl-lib32
FreeBSD-openssl-man

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 66275
Build 63158: arc lint + arc unit

Event Timeline

ivy requested review of this revision.Fri, Aug 15, 8:00 PM

fix generate-ucl to not create a dependency from -lib to the base package

des requested changes to this revision.Sat, Aug 16, 10:31 AM
des added inline comments.
krb5/include/Makefile
10

drop this

krb5/include/Makefile.inc
10

move this to ../Makefile.inc

krb5/lib/Makefile.inc
12–13

drop this

krb5/libdata/Makefile
9–10

drop this

krb5/util/build-tools/Makefile
10

drop this

krb5/util/et/Makefile
10–11

drop this

krb5/util/profile/Makefile
10–11

drop this

krb5/util/ss/Makefile
10–11

drop this

krb5/util/support/Makefile
10–11

drop this

krb5/util/verto/Makefile
10–11

drop this

secure/lib/libcrypto/Makefile
9–10

move this to Makefile.inc

secure/lib/libcrypto/engines/Makefile.inc
1–2

drop this

secure/lib/libcrypto/modules/Makefile.inc
1–2

drop this

secure/lib/libssl/Makefile
6–7

drop this

This revision now requires changes to proceed.Sat, Aug 16, 10:31 AM

address review feedback

for Kerberos, we can set PACKAGE in krb5/Makefile.inc as everything eventually
includes this, but set LIB_PACKAGE in krb5/{lib,util}/Makefile.inc to avoid
creating a kerberos-kdc-lib package.

for OpenSSL, as suggested, except we can't drop {LIB_,}PACKAGE from
secure/lib/libcrypto/{modules,engines}/Makefile.inc because
libcrypto/Makefile.inc isn't included in these subdirs.

In D51925#1187576, @ivy wrote:

address review feedback
for Kerberos, we can set PACKAGE in krb5/Makefile.inc as everything eventually
includes this, but set LIB_PACKAGE in krb5/{lib,util}/Makefile.inc to avoid
creating a kerberos-kdc-lib package.

for OpenSSL, as suggested, except we can't drop {LIB_,}PACKAGE from
secure/lib/libcrypto/{modules,engines}/Makefile.inc because
libcrypto/Makefile.inc isn't included in these subdirs.

I never asked you to move or drop any of the LIB_PACKAGE lines...

This revision is now accepted and ready to land.Mon, Aug 18, 10:09 AM
In D51925#1187710, @des wrote:

I never asked you to move or drop any of the LIB_PACKAGE lines...

no, but since i was cleaning up anyway i thought it was neater this way.

rebase, and also move compile_et (+ its awk scripts) to kerberos-dev

This revision now requires review to proceed.Tue, Aug 19, 4:24 PM