doc/manual.txt: added 32bit pkgs, system accounts and notes sections.

This commit is contained in:
Juan RP 2014-03-17 10:02:14 +01:00
parent 5914e14c1e
commit 7a4af35a35

View file

@ -596,6 +596,72 @@ libfoo.so.1 foo-1.0_1
- The second field specified the package name and minimal version required.
- A third optional field specifies the architecture (rarely used).
Creating users/groups at runtime
--------------------------------
There's a trigger along with some variables that are specifically to create
**system users and groups** when the binary package is being configured.
The following variables can be used for this purpose:
*system_groups*::
This specifies the names of the new *system groups* to be created, separated
by blanks. Optionally the **gid** can be specified by delimiting it with a
colon, i.e `system_groups="mygroup:78"` or `system_groups="foo blah:8000"`.
*system_accounts*::
This specifies the names of the new **system users/groups** to be created,
separated by blanks, i.e `system_accounts="foo blah"`. Additional variables
for the **system accounts** can be specified to change its behavior:
- `<account>_homedir`: the home directory for the user. If unset defaults to
`/`.
- `<account>_shell`: the shell for the new user. If unset defaults to
`/sbin/nologin`.
- `<account>_descr`: the description for the new user. If unset defaults to
`<user> unprivileged user`.
- `<account>_groups`: additional groups to be added to for the new user.
The **system user** is created by using a dynamically allocated **uid/gid** in your system
and it's created as a `system account`. A new group will be created for the
specified `system account` and used exclusived for this purpose.
32bit packages
--------------
32bit packages are built automatically when the builder is x86 (32bit), but
there are some variables that can change the behavior:
*lib32depends*::
If this variable is set, dependencies listed here will be used rather than
those detected automatically by xbps-src and **depends**. Please note that
dependencies must be specified with version comparators, i.e
`lib32depends="foo>=0 blah<2.0"`.
*lib32disabled*::
If this variable is set, no 32bit package will be built. Please note that
this variable if used in the global scope it will disable 32bit packages for
the **main package and its subpackages**.
*lib32files*::
Additional files to be added to the **32bit** package. This expect absolute
paths separated by blanks, i.e `lib32files="/usr/bin/blah
/usr/include/blah."`.
*lib32mode*::
If unset, only shared libraries and pkg-config files will be copied to the
**32bit** package. If set to `full` all files will be copied as is.
Notes
-----
- Make sure that all software is configured to use the `/usr` prefix.
- Binaries should always be installed at `/usr/bin` and `/usr/sbin`.
- Manual pages should always be installed at `/usr/share/man` and
uncompressed.
- If a software provides **shared libraries** and headers, probably you should
create a `development package` that contains `headers`, `static libraries`
and other files required for development (not required at runtime).
Contributing via git
--------------------
You can fork the `xbps-packages` git repository on github and then set up