GNU Stow 2.3.0 released

Adam Spiers <[email protected]> Sat, 29 Jun 2019 01:46:28 +0100
Newsgroups gmane.comp.gnu.stow.announce,gmane.comp.gnu.stow.devel
Message-ID <[email protected]>
--===============0201774376507915209==
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="xxmyjppvtha7xizo"
Content-Disposition: inline


--xxmyjppvtha7xizo
Content-Type: text/plain; charset=us-ascii; boundary="TB36FDmn/VVEgNH/";
	protocol="application/pgp-signature"; micalg=pgp-sha1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi all,

GNU Stow 2.3.0 is now available for download from=20

     http://ftp.gnu.org/gnu/stow/

and also from the mirrors[1] as soon as they catch up.=20

Stow is a symlink farm manager program which takes distinct sets=20
of software and/or data located in separate directories on the=20
filesystem, and makes them all appear to be installed in a single=20
directory tree.=20

While Stow has often been used to manage system-wide software=20
installations, it also provides a clean mechanism for managing=20
software and configuration files in users' home directories:=20

     http://lists.gnu.org/archive/html/info-stow/2011-12/msg00000.html

More information is available at the homepage:=20

     http://www.gnu.org/software/stow/

[1] You can see a list of mirrors at http://www.gnu.org/prep/ftp.html
     or use http://ftpmirror.gnu.org/stow/ which will automatically
     redirect to a nearby mirror.

Here is a summary of the changes since the previous 2.2.2 release;=20
please see the ChangeLog for full details.=20

--------- 8< --------- 8< --------- 8< --------- 8< --------- 8< ---------

Table of Contents
_________________

1. New features / changes in behaviour
=2E. 1. New --dotfiles option
=2E. 2. Shell-like expansion in .stowrc files
=2E. 3. chkstow now honours the $STOW_DIR environment variable
=2E. 4. Stow now has a non-zero exit code if option parsing failed
2. License upgraded from GPL version 2 to version 3
3. Documentation fixes and enhancements
=2E. 1. Remove dependency on unmaintained texi2html
=2E. 2. Fixed naming of man page
=2E. 3. Convert README and INSTALL to Markdown
=2E. 4. Update documentation to reflect more modern use cases
=2E. 5. Miscellaneous documentation fixes
4. Fixes for bugs, tests, and other technical debt
=2E. 1. Add Docker files for convenient testing across multiple Perl versio=
ns
=2E. 2. Set up continuous testing via Travis CI
=2E. 3. Add Coveralls integration with GitHub
=2E. 4. Miscellaneous improvements to the test suite
=2E. 5. Fix for test suite on Cygwin
=2E. 6. aclocal.m4 was updated using aclocal 1.15.1.
=2E. 7. Miscellaneous fixes to the build and distribution process
=2E. 8. Improve handling of directories with unusual names


1 New features / changes in behaviour
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

1.1 New --dotfiles option
~~~~~~~~~~~~~~~~~~~~~~~~~

   Enable special handling for "dotfiles" (files or folders whose name
   begins with a period) in the package directory. If this option is
   enabled, Stow will add a preprocessing step for each file or folder
   whose name begins with "dot-", and replace the "dot-" prefix in the
   name by a period (".").  This is useful when Stow is used to manage
   collections of dotfiles, to avoid having a package directory full of
   hidden files.

   For example, suppose we have a package containing two files,
   stow/dot-bashrc and stow/dot-emacs.d/init.el.  With this option, Stow
   will create symlinks from .bashrc to stow/dot-bashrc and from
   .emacs.d/init.el to stow/dot-emacs.d/init.el.  Any other files, whose
   name does not begin with "dot-", will be processed as usual.

   Thanks to Joris Vankerschaver for this feature!


1.2 Shell-like expansion in .stowrc files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   For options within .stowrc files which describe file paths, "~" can be
   included to expand to the current value of $HOME, and environment
   variables can be referenced e.g. via "$FOO" or "${FOO}".  To prevent
   expansion, escape with a backslash.

   Thanks a lot to Charles LeDoux for his diligent work on this feature!


1.3 chkstow now honours the $STOW_DIR environment variable
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   The stow script already honoured the $STOW_DIR environment variable.
   Now chkstow does too, for consistency.


1.4 Stow now has a non-zero exit code if option parsing failed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Thanks to Brice Waegeneire for reporting this.


2 License upgraded from GPL version 2 to version 3
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

   Copyright and license notices were also added to the headers of
   various files in accordance with GNU guidelines.


3 Documentation fixes and enhancements
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

3.1 Remove dependency on unmaintained texi2html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   The dependency on the ancient and unmaintained texi2html for building
   the single-page HTML version of the manual has been removed, since it
   was difficult to get running on most distros other than openSUSE.

   Instead use the more modern "makeinfo --html --no-split" approach.
   Rules have been kept for posterity in the Makefile for the old
   approach and also an "in-between" approach based on texi2any; however
   these are not triggered by default.  Run

   make manual-single-html-all

   to compare the three versions.


3.2 Fixed naming of man page
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   The title of the generated man page was previously ending up as
   something like:

   IO::FILE=3DIO(0XA719C0)(1)

   Thanks to @Corin-EU on GitHub highlighting this and proposing a fix.


3.3 Convert README and INSTALL to Markdown
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   They are now named README.md and INSTALL.md, and render nicely when
   viewed via git hosting services which support Markdown.


3.4 Update documentation to reflect more modern use cases
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   The README.md, stow(8) man page, and info manual have been updated to
   de-emphasise the package management use, since these days almost
   everyone prefers to use modern package managers such as rpm / dpkg /
   Nix for (system-wide) package management.

   To compensate, more popular modern use cases for Stow have been added,
   such as management of dotfiles and software compiled in the user's
   $HOME directory.


3.5 Miscellaneous documentation fixes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   - Various typos were fixed.

   - The documentation for --verbose was updated to indicate that
     verbosity levels now go up to 5.

   - Erroneous glob examples in the --ignore documentation were fixed.

   - The abbreviation "regex" was removed from the info manual for
     consistency.

   - INSTALL.md now also documents how to build directly from git.


4 Fixes for bugs, tests, and other technical debt
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

4.1 Add Docker files for convenient testing across multiple Perl versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   This is the first release which has been tested across 5 different
   versions of Perl prior to release!  The versions are:

   perl-5.22.2 perl-5.20.3 perl-5.18.4 perl-5.16.3 perl-5.14.4

   Thanks to Charles LeDoux for this!


4.2 Set up continuous testing via Travis CI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   This means that the test suite will be automatically run on any pull
   requests submitted to GitHub, as well as "make distcheck" and "./Build
   distcheck".


4.3 Add Coveralls integration with GitHub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   This means that test coverage analysis will be automatically be run on
   any pull requests submitted to GitHub.


4.4 Miscellaneous improvements to the test suite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   These include proper testing of the distinct impact of ~/.stowrc and
   .stowrc in the directory from which Stow is invoked.


4.5 Fix for test suite on Cygwin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Thanks to Lucas Theisen for this fix!


4.6 aclocal.m4 was updated using aclocal 1.15.1.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


4.7 Miscellaneous fixes to the build and distribution process
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


4.8 Improve handling of directories with unusual names
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Various fixes for corner cases where directories are named "0" or
   begin with a space character, or where STOW_DIR is empty.

   Thanks to Cuong Manh Le for highlighting some of the issues and
   proposing fixes!

--------- 8< --------- 8< --------- 8< --------- 8< --------- 8< ---------


Happy hacking,
Adam

--xxmyjppvtha7xizo
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEElCuQdazKBOkDfHP+0xtVY9rB1PoFAl0WtOMACgkQ0xtVY9rB
1Prm0A//UvUtyL+DGZZP36/8VvwQJDj2DPck5FidZ7DrmcYI16jM1LmLHbA7rNqO
Uw+SDfSwThfacIloLKNYyfmMcWIOqfJsNRsbooIkTjO5IfhPRcyEemjiph+o4/o7
asiP9z5o98Ib8e6HZTuRzw/T3IOVXpc2FpNhzwf1yDfb7Pkyi9ON3BPN5hRCCGmr
HdhA6NRR90HDggx/arEPBzN+sAreGKFCVGzvJR/6eN6A5EoAS3OWYIsDpQ98E9mr
SczC8F7rqzKvMHD9jjyzSmvRqDP2BRAXNvh5f9iqDGirQj1swadKUCUfMPG5QmJs
Hdh95dRLx29Yr8Wpa/+9vediBOik/acfPHcyoNsRcI1nAdL63aVElJib5mqoNamb
wCv/JwQ1P01+ncRmpMchaM1bicWTU5ZfS170AFQ/gVTyXG5YXMZfOu4Ok2jCKvFW
C/1xTp3dUX2cwQ/Yv+K7AvtPg6Kw83H6xR/i53RIhthRLU1jGG0VvtrEb0pqxEpi
OsT8+12bj9zM3LVJ0JYMpo5s4IC+h+x5vPHPbKJfHh+QaATdGmy0oLuG7/9oskHl
Oeb3A/NLVwgHi9DlbuTNgbfe5YqH29O8SpC+fwWIKbnfFbOv6WykE+S4+OZ5GtEH
0OWnPrhuU5/QhXHGd4bLczUfiTxD2GS9LW3+p8R0lt8gvB5JP08=
=c10k
-----END PGP SIGNATURE-----

--xxmyjppvtha7xizo--


--===============0201774376507915209==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW5mby1zdG93
IG1haWxpbmcgbGlzdApJbmZvLXN0b3dAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFp
bG1hbi9saXN0aW5mby9pbmZvLXN0b3cK

--===============0201774376507915209==--