Each subdirectory can contain the following files:
- bashrc
Evaluated by bash. For setting up build environment.
- options.conf
Mostly like the user options.conf. But there are a two special
suboptions, for declaring suboptions
and for hiding suboptions: SUBOPTIONS and HIDDEN_SUBOPTIONS.
Masking or forcing options on is done with parentheses. (-foo)
or (foo). Unmasking or unforcing an
option is done by listing it without parentheses. -foo or foo.
There has also been a suggestion to allow enabling, disabling,
masking or forcing all suboptions of a
kind through syntax like e.g.:
*/* PLATFORM: (-*)
- package_mask.conf
Same syntax as repository_mask.conf.
- system.conf
Same syntax as all other package sets.
One central profiles.conf that lists valid profiles with status and all
their parents.
Each parent can revert things in preceding parents. Every subdirectory
has .. as implicit parent.
Thus in the following example desktop automatically inherits from base
and x86 inherits from
platform etc.
Status can take the values stable, testing or deprecated.
Example profiles hierarchy with comments:
profiles/
repo_name
profiles.conf
# profile name: status: parents:
amd64-glibc-desktop stable base/desktop libc/glibc platform/amd64
amd64-glibc-server testing base/server libc/glibc platform/amd64
ppc64-glibc-desktop stable base/desktop libc/glibc platform/ppc64
ppc64-glibc-server testing base/server libc/glibc platform/ppc64
x86-glibc-desktop stable base/desktop libc/glibc platform/x86
x86-glibc-server testing base/server libc/glibc platform/x86
base/
bashrc
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d"
options.conf
*/* SUBOPTIONS: ENCODINGS EPIPHANY_EXTENSIONS
GSTREAMER_PLUGINS IM_PROTOCOLS \
INPUT_DRIVERS LINGUAS PLATFORM
PPC_CPU_FEATURES VIDEO_DRIVERS \
X86_CPU_FEATURES
*/* HIDDEN_SUBOPTIONS: PLATFORM
*/* INPUT_DRIVERS: keyboard mouse
*/* VIDEO_DRIVERS: vesa
*/* foo bar baz
system.conf
* sys-apps/paludis
* sys-apps/skeleton-filesystem-layout
desktop/
options.conf
*/* alsa cdr dbus unicode X
server/
options.conf
*/* apache2 ldap
libc/
glibc/
system.conf
* sys-libs/glibc
platform/
bashrc
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"
options.conf
*/* HIDDEN_SUBOPTIONS: PPC_CPU_FEATURES X86_CPU_FEATURES
*/* PLATFORM: (-amd64) (-ppc64) (-x86)
*/* PPC_CPU_FEATURES: (-altivec)
*/* X86_CPU_FEATURES: (-3dnow) (-mmx) (-sse) (-sse2)
amd64/
bashrc
ABI=amd64
CHOST="x86_64-pc-linux-gnu"
MULTILIB_ABS="amd64 x86"
...
options.conf
*/* PLATFORM: (amd64)
package_mask.conf
ppc64/
bashrc
options.conf
*/* HIDDEN_SUBOPTIONS: -PPC_CPU_FEATURES
*/* PLATFORM: (ppc64)
*/* PPC_CPU_FEATURES: -altivec
package_mask.conf
x86/
bashrc
CHOST="i686-pc-linux-gnu"
...
options.conf
*/* HIDDEN_SUBOPTIONS: -X86_CPU_FEATURES
*/* PLATFORM: (x86)
*/* X86_CPU_FEATURES: -3dnow -mmx -sse -sse2
package_mask.conf
_______________________________________________
Exherbo-dev mailing list
[email protected]
http://lists.exherbo.org/mailman/listinfo/exherbo-dev