The xstow.ini file contains some static informations about your
system. It's possible setting most necessary values by setting the
required command line option, but in some cases this won't make sense
if you are using xstow quite often.
XStow processes the config files one after another. Static
configuration options like the [debug]=>module option can be
overwritten by the next config file. List keys like
[traverse-links]=>link will be appended to the list.
If you wan't more informations about the current stow setup call XStow
like this:
xstow -s -dl 1 dummy-package | less
For getting information about which config files were processed you
will have to set some environment values (see xstow(1) for
details).
Eg.:
XSTOW_DEBUG_LEVEL=1 xstow -s -dl 1 dummy-package | less
In this section a number of links are listed, which xstow will
identify as links that are not part of an xstow managed package.
Eg.:
For conforming to the FHS it is common setting a link from /usr/share/man
to /usr/man. This will cause old applications installing theire
manpages in /usr/share/man, rather than in /usr/man.
But xstow is paranoid and believes that the link contains to something
else and it is not allowed writing data into the directory the link
points to.
The simple solution is telling xstow which links should be handled as
normal directories. These links can be listed in this section.
The value of this key must contain an absolute path to the link that
should be handled as a normal directory. The link itself can be an
absolute, or relativ link.
It is allowed that there are more than one link keys in this section.
Allowed values are 'true' and '1' (incasesensitive). Anything else
will be interpreted as false.
If keep-targets is set to true the target of the links in this section
will automatically added to the keep-dirs section. This avoids that
these targets will be removed and the links will become dead links.
Automatic add all links which targets match the pattern to the link
list. XStow will use this as the last chance for solving
dependencies. Only if all other tests failed the application will
try appling this test. This means that it is no problem setting
[links]=>absolute-links to true and using a pattern like /* here.
If keep-targets is set to true the applied links will added to the
keep-dirs list too.
Does the same as add-if-target, but support regular
expressions. XStow will always try matching the regular expressions
before the normal shell patterns, cause a regex can be much more exact
than a shell pattern.
In this section directories are listed that should not be remove. When
xstow removes a package and a directory becomes emty the directory
will be removed too.
The value of this key must contain an absolute path to the directory
that should be kept.
It is allowed that there are more than one dir keys in this
section. The value should not end with a '/'!!
Does the same as ignore, but support regular
expressions. XStow will always try matching the regular expressions
before the normal shell patterns, cause a regex can be much more exact
than a shell pattern.
Copy files or directories matching this pattern instead of linking it.
This makes sense in case of some global files that will be used by
more than one package and will be updated in the course of the
installation process. eg.: The directory index of the GNU info(1) files
is a file named 'dir'. Files that were installed this way won't be
removed in case of unstowing a package, since XStow can not handle
package dependencies and does not know if any other package requires
the file.
If a directory matches this expression the content of the directory
will be copied recoursively. This can be useful in case of some /etc
files, installed by the installation process.
It is allowed that there are more than one copy keys in this
section.
Does the same as copy, but support regular
expressions. XStow will always try matching the regular expressions
before the normal shell patterns, cause a regex can be much more exact
than a shell pattern.
The value of this key must contain an absolute path to the directory
that can be handled as it would be part of the own stow directory.
This means xstow is allowed to make changes in packages that are
related to this directory.
It is allowed that there are more than one dir keys in this
section. The value should not end with a '/'!!
Automatically add a directory if it matches this pattern. In Stow
directories, which were detected with this pattern, never will be
searched for configuration files.
It is allowed that there are more than one auto-add-dirs keys in
this section.
Does the same as auto-add-dirs, but support regular
expressions. XStow will always try matching the regular expressions
before the normal shell patterns, cause a regex can be much more exact
than a shell pattern.
The goal of this section is limiting the access within a legal target
directory. Eg.: If your stow directory is '/stow' and you installing
packages this way:
make install DESTDIR=/stow/package_name
But the 'prefix' is set to '/usr/local'. In this case target directory
will be '/', but the real target directory of package will be
'/usr/local'. The following keys withing this section allowing to
restrict the installation access within the valid target directory.
dir = DIR
The value of this key must contain an absolute path to the directory
that has not be changed. XStow is not allowed installing a package
there and withing the subdirectories, and will report an error,
if it would. It is allowed that there are more than one dir keys
in this section. The value should not end with a '/'!!
auto-add-dirs = PATTERN
Automatically add a directory if it matches this pattern.
It is allowed that there are more than one auto-add-dirs keys in
this section.
auto-add-dirs-regex = REGEX
Does the same as auto-add-dirs, but support regular
expressions. XStow will always try matching the regular expressions
before the normal shell patterns, cause a regex can be much more exact
than a shell pattern.
The value of this key must contain an absolute path to the directory
that is allowed to be changed. If this value is set, XStow will report
an error if it would touch any other, or upper directory within the tree.
It is allowed that there are more than one target keys in this
section. The value should not end with a '/'!!
Automatically add the targets of traversable links to the targets list.
This can be useful if you do not add manually all possible targets of
traversable links to the target list. By default this value is set to
false.