xstow  1.1.0
About: XStow is a replacement for GNU Stow written in C++. XStow and GNU Stow are programs for managing the installation of software packages in its own directories while making it appear that all packages are installed in the same place.
  Fossies Dox: xstow-1.1.0.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

xstow Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies xstow-1.1.0.tar.bz2 contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
XStow is a replacement of GNU Stow (http://www.gnu.org/software/stow/)
written in C++. It supports all features of Stow with some extensions.

XStow as GNU Stow, are programs for managing the installation of
software packages, keeping them separate (/usr/local/stow/emacs
vs. /usr/local/stow/perl, for example) while making them appear to be
installed in the same place (/usr/local).

Stow requires Perl. But what's on systems where no Perl is available, or not
yet installed? I tried compiling Stow with perlcc, but it failed.

For compiling XStow a C++ compiler and a system with a couple of POSIX
functions are required. It does not depend on an interpreter. Static
compilation eg.: for resque disks are possible.

XStow installs packages in exact the same way like stow, so you
even can start a Linux From Scratch installation with XStow and when
Perl is running continue installation by using GNU Stow.

*) Name

The X in the name has nothing to do with X11 It simple stands for
Extended Stow (... I think).

*) Status:

It works fine.

*) Features:

  XStow generates Stow compatible symlinks. You can install a package
  with XStow and uninstall it with Stow.

  It also supports, the creation of symlinks with absolute path names,
  but this will brake compatibilty with Stow.

  *) automated stow directory detection
  *) automated traversable link detection (/usr/man is a link to /usr/share/man)

*) Planned Features:

  If you have any other ideas send a mail to kingleo@gmx.at, or the
  xstow mailing list: xstow-general@lists.sourceforge.net

*) Future

  * By default full Stow compatibilty should be obtained. But more
    features will be impemented.

*) Why

  * Stow requires Perl. But what's on systems where is no Perl available,
    or not yet installed? I tried compiling Stow with perlcc, but it
    failed. This was the initial reason.

  * Stow lacks some features and I'm not very common with perl... So I
    implemented them in XStow.

*) Static versions
  If you enable static compiling 3 binaries 'xstow', 'xstow-static' 
  and 'xstow-stow' will be created.

  The 'xstow-static' version has no ncurses support 
  and the binary is compiled statically.

  Some extensions in the 'xstow-stow' target are disabled. This 
  results in a static replacement of GNU Stow, with less extensions and
  the binary is smaller than the xstow-static binary.

  If you are heaviliy using xstow it is recomended compiling these static 
  versions, since you are using xstow like one of the base system tools.
  Upgrading the libc with a static xstow is no problem.

*) Libraries

  - ncurses

  For better --help screen support XStow uses the ncurses library.
  With the help of this library XStow uses the available width of the
  terminal it is running on.

  If you don't compile XStow with ncurses support, the terminal width
  will be guessed as 80 characters wide.

  So the ncurses support is absolutely not required.