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

Reply via email to