tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Package split or package options?
Splitting stuff into separate packages is the most efficient way
to do things.
In OpenBSD, *all* of the complexity of flavors and multi-packages is
geared towards making this maximally useful.
Summary:
FLAVORS are options that are handled by a given port.
MULTI_PACKAGES are the different subpackages that will be built for a given
port.
If
DISTNAME = foo-1.0
MULTI_PACKAGES = -server -client -doc
then we will get the pkgnames from
PKGNAME-server
PKGNAME-client
for instance,
PKGNAME-server = foo-server-1.0
PKGNAME-client = foo-1.0
The FULLPKGNAME has flavors appended, by default, e.g.,
if FLAVORS=a b c
and FLAVOR=c
let's explicitly set
FULLPKGNAME-doc = foo-doc-1.0 (as it doesn't depend on the flavor in
that case).
then
FULLPKGNAME-server = foo-server-1.0-c
FULLPKGNAME-client = foo-1.0-c
FULLPKGNAME-doc = foo-doc-1.0
this works just fine.
One nifty additions is PSEUDO_FLAVORS, such as
PSEUDO_FLAVORS = no_server: these are flavors that only affect
the build, and that don't change the pkgnames.
e.g., if
FLAVOR=a b no_server, then I'll end up with
FULLPKGNAME-client = foo-1.0-a-b
FULLPKGNAME-doc = foo-doc-1.0
(and no server subpackage).
In the actual case of a full bulk build, we can uniquely identify each
binary packages easily...
By default, dependencies ignore flavors, unless we explicitly tell them
to require ONE specific flavor.
Home |
Main Index |
Thread Index |
Old Index