After 7 years since the last significant release the release of the package management system , which uses symbolic links to separate the contents of packages and associated data into distinct directories. The Stow code is written in Perl and starting from the current release is distributed under the GPLv3 license (previously the GPLv2 license was used).
Stow uses a simple and unconventional approach to package placement: all components related to a program are installed using standard utilities in a separate subdirectory under /usr/local/stow (e.g., /usr/local/stow/emacs). Stow's task is to set up symbolic links in the hierarchy of system directories /usr/local and to ensure their integrity.
When a package is removed, all associated symbolic links are deleted. Inside the /usr/local/stow directory, the files of installed programs always remain unchanged; Stow operates only on symbolic links.
In addition to managing system packages, it also allows for managing programs and configuration files (~/.bashrc, ~/.zshrc, etc.) in the user's home directory.
In preparing the new release, the focus was on simplifying installation, which led to the exclusion of some modules (texi2html) from the dependencies. A separate handler for files and directories beginning with a dot has been included, along with the associated option "--dotfiles" for automatically replacing the "dot-" prefix with a dot (for example, the file ~/.bashrc will be processed as the package stow/dot-bashrc). The configuration file .stowrc has been updated to handle the "~" as the home directory. The project infrastructure has established the use of the Travis CI continuous integration system during development.
Source: opennet.ru
