Page MenuHomeFreeBSD

Subpackages
AbandonedPublic

Authored by pizzamig on Jun 14 2023, 8:10 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Feb 26, 8:22 PM
Unknown Object (File)
Dec 10 2023, 9:40 PM
Unknown Object (File)
Nov 21 2023, 1:19 AM
Unknown Object (File)
Nov 7 2023, 1:53 AM
Unknown Object (File)
Oct 10 2023, 6:53 PM
Unknown Object (File)
Oct 6 2023, 12:51 AM
Unknown Object (File)
Sep 26 2023, 8:40 AM
Unknown Object (File)
Sep 6 2023, 4:39 AM

Details

Reviewers
None
Group Reviewers
portmgr
Summary

Initial implementation of subpackages.

Based on previous mat's implementation: https://reviews.freebsd.org/D16457
To add subpackages to a port, define:

SUBPACKAGES=  foo bar

and in the plist, prefix files to put in a subpackage with @@foo@@.

For each subpackage, some variables can be set, if needed.

  • DESCR.<subpkg> defaults to the pkg-descr if pkg-descr.<subpkg> does not exist (with a warning)
  • COMMENT.<subpkg> defaults to ${COMMENT} (subpkg: <subpkg>)
  • All the PKGMESSAGE/PKGINSTALL/... variable have .<subpkg> version, pointing to pkg-message.<subpkg>/pkg-install.<subpkg> files.
  • A few options helpers <opt>_SUBPACKAGES and <opt>_*_DEPENDS.<subpkg> can be used.
  • PLIST_FILES.<subpkg> and PLIST_DIRS.subpkg were added too.

Subpackages can depend on each other, a new variable has been introduced, SELF_DEPENDS, and a special subpackage name has been introduced to refer to the main package. For example:

If the foo subpackage depends on the main subpackage:

SUBPACKAGES=  foo
SELF_DEPENDS.foo= main

If the main package depends on the tools subpackage:

SUBPACKAGE=   tools
SELF_DEPENDS=  tools

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 52060
Build 48951: arc lint + arc unit