Maintainer tweaks (#59)

Maintainer tweaks
This commit is contained in:
Adam Spiers 2019-06-29 13:03:11 +01:00 committed by GitHub
commit 7eb1a0c57b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 340 additions and 327 deletions

View file

@ -99,6 +99,7 @@ EXTRA_DIST = \
$(DEFAULT_IGNORE_LIST) \ $(DEFAULT_IGNORE_LIST) \
$(CPAN_FILES) $(CPAN_FILES)
CLEANFILES = $(bin_SCRIPTS) $(pm_DATA) $(pmstow_DATA) CLEANFILES = $(bin_SCRIPTS) $(pm_DATA) $(pmstow_DATA)
DISTCLEANFILES = Makefile.in configure Build MYMETA.*
MAINTAINERCLEANFILES = $(dist_man_MANS) $(HTML) $(PDF) ChangeLog MAINTAINERCLEANFILES = $(dist_man_MANS) $(HTML) $(PDF) ChangeLog
# clean up auto-generated files # clean up auto-generated files

209
NEWS
View file

@ -2,9 +2,9 @@ News file for Stow.
* Changes in version 2.3.0 * Changes in version 2.3.0
** New features / changes in behaviour *** New features / changes in behaviour
*** New --dotfiles option ***** New --dotfiles option
Enable special handling for "dotfiles" (files or folders whose name Enable special handling for "dotfiles" (files or folders whose name
begins with a period) in the package directory. If this option is begins with a period) in the package directory. If this option is
@ -22,7 +22,7 @@ News file for Stow.
Thanks to Joris Vankerschaver for this feature! Thanks to Joris Vankerschaver for this feature!
*** Shell-like expansion in .stowrc files ***** Shell-like expansion in .stowrc files
For options within .stowrc files which describe file paths, "~" can For options within .stowrc files which describe file paths, "~" can
be included to expand to the current value of $HOME, and be included to expand to the current value of $HOME, and
@ -32,18 +32,23 @@ News file for Stow.
Thanks a lot to Charles LeDoux for his diligent work on this Thanks a lot to Charles LeDoux for his diligent work on this
feature! feature!
*** chkstow now honours the $STOW_DIR environment variable ***** chkstow now honours the $STOW_DIR environment variable
The stow script already honoured the $STOW_DIR environment The stow script already honoured the $STOW_DIR environment
variable. Now chkstow does too, for consistency. variable. Now chkstow does too, for consistency.
*** Stow now has a non-zero exit code if option parsing failed ***** Stow now has a non-zero exit code if option parsing failed
Thanks to Brice Waegeneire for reporting this. Thanks to Brice Waegeneire for reporting this.
** Documentation fixes and enhancements *** License upgraded from GPL version 2 to version 3
*** Remove dependency on unmaintained texi2html Copyright and license notices were also added to the headers of
various files in accordance with GNU guidelines.
*** Documentation fixes and enhancements
***** Remove dependency on unmaintained texi2html
The dependency on the ancient and unmaintained texi2html for The dependency on the ancient and unmaintained texi2html for
building the single-page HTML version of the manual has been building the single-page HTML version of the manual has been
@ -59,7 +64,7 @@ News file for Stow.
to compare the three versions. to compare the three versions.
*** Fixed naming of man page ***** Fixed naming of man page
The title of the generated man page was previously ending up as The title of the generated man page was previously ending up as
something like: something like:
@ -69,12 +74,12 @@ News file for Stow.
Thanks to @Corin-EU on GitHub highlighting this and proposing a Thanks to @Corin-EU on GitHub highlighting this and proposing a
fix. fix.
*** Convert README and INSTALL to Markdown ***** Convert README and INSTALL to Markdown
They are now named README.md and INSTALL.md, and render nicely They are now named README.md and INSTALL.md, and render nicely
when viewed via git hosting services which support Markdown. when viewed via git hosting services which support Markdown.
*** Update documentation to reflect more modern use cases ***** Update documentation to reflect more modern use cases
The README.md, stow(8) man page, and info manual have been updated The README.md, stow(8) man page, and info manual have been updated
to de-emphasise the package management use, since these days almost to de-emphasise the package management use, since these days almost
@ -85,7 +90,7 @@ News file for Stow.
added, such as management of dotfiles and software compiled in the added, such as management of dotfiles and software compiled in the
user's $HOME directory. user's $HOME directory.
*** Miscellaneous documentation fixes ***** Miscellaneous documentation fixes
- Various typos were fixed. - Various typos were fixed.
@ -98,9 +103,9 @@ News file for Stow.
consistency. consistency.
- INSTALL.md now also documents how to build directly from git. - INSTALL.md now also documents how to build directly from git.
** Fixes for bugs, tests, and other technical debt *** Fixes for bugs, tests, and other technical debt
*** Add Docker files for convenient testing across multiple Perl versions ***** Add Docker files for convenient testing across multiple Perl versions
This is the first release which has been tested across 5 different This is the first release which has been tested across 5 different
versions of Perl prior to release! The versions are: versions of Perl prior to release! The versions are:
@ -113,31 +118,31 @@ News file for Stow.
Thanks to Charles LeDoux for this! Thanks to Charles LeDoux for this!
*** Set up continuous testing via Travis CI ***** Set up continuous testing via Travis CI
This means that the test suite will be automatically run on any This means that the test suite will be automatically run on any
pull requests submitted to GitHub, as well as "make distcheck" pull requests submitted to GitHub, as well as "make distcheck"
and "./Build distcheck". and "./Build distcheck".
*** Add Coveralls integration with GitHub ***** Add Coveralls integration with GitHub
This means that test coverage analysis will be automatically be run This means that test coverage analysis will be automatically be run
on any pull requests submitted to GitHub. on any pull requests submitted to GitHub.
*** Miscellaneous improvements to the test suite ***** Miscellaneous improvements to the test suite
These include proper testing of the distinct impact of ~/.stowrc These include proper testing of the distinct impact of ~/.stowrc
and .stowrc in the directory from which Stow is invoked. and .stowrc in the directory from which Stow is invoked.
*** Fix for test suite on Cygwin ***** Fix for test suite on Cygwin
Thanks to Lucas Theisen for this fix! Thanks to Lucas Theisen for this fix!
*** aclocal.m4 was updated using aclocal 1.15.1. ***** aclocal.m4 was updated using aclocal 1.15.1.
*** Miscellaneous fixes to the build and distribution process ***** Miscellaneous fixes to the build and distribution process
*** Improve handling of directories with unusual names ***** Improve handling of directories with unusual names
Various fixes for corner cases where directories are named "0" Various fixes for corner cases where directories are named "0"
or begin with a space character, or where STOW_DIR is empty. or begin with a space character, or where STOW_DIR is empty.
@ -147,24 +152,24 @@ News file for Stow.
* Changes in version 2.2.2 * Changes in version 2.2.2
** @VERSION@ substitution was set up for the Stow::Util module. *** @VERSION@ substitution was set up for the Stow::Util module.
* Changes in version 2.2.1 * Changes in version 2.2.1
Version 2.2.1 was not released since it was rejected by pause.perl.org Version 2.2.1 was not released since it was rejected by pause.perl.org
due to Stow::Util missing $VERSION. due to Stow::Util missing $VERSION.
** Small improvements to documentation *** Small improvements to documentation
*** The README has been revamped. ***** The README has been revamped.
*** Some index points have been added to the manual. ***** Some index points have been added to the manual.
*** Some typos were fixed. ***** Some typos were fixed.
*** @VERSION@ substitution was fixed in the stow(8) man page. ***** @VERSION@ substitution was fixed in the stow(8) man page.
** Fix Perl warnings *** Fix Perl warnings
Stow no longer emits "v-string in use/require non-portable" and Stow no longer emits "v-string in use/require non-portable" and
"Possible precedence issue with control flow operator" warnings "Possible precedence issue with control flow operator" warnings
@ -172,20 +177,20 @@ due to Stow::Util missing $VERSION.
and http://lists.gnu.org/archive/html/bug-stow/2014-06/msg00000.html and http://lists.gnu.org/archive/html/bug-stow/2014-06/msg00000.html
for full details. for full details.
** Fix "Undefined subroutine &main::error" error *** Fix "Undefined subroutine &main::error" error
See https://rt.cpan.org/Public/Bug/Display.html?id=75349 for details. See https://rt.cpan.org/Public/Bug/Display.html?id=75349 for details.
** Failed system calls now include error description *** Failed system calls now include error description
This should make errors easier to understand. This should make errors easier to understand.
** Default ignore list now ignores top-level README.*, LICENSE.*, and COPYING *** Default ignore list now ignores top-level README.*, LICENSE.*, and COPYING
These files are by definition specific to a given package, so if These files are by definition specific to a given package, so if
they exist in the top-level directory, they should not be stowed. they exist in the top-level directory, they should not be stowed.
** Correctly handle the stow/target directories as non-canonical paths *** Correctly handle the stow/target directories as non-canonical paths
Fix the case discovered by Hiroyuki Iwatsuki where stowing fails if Fix the case discovered by Hiroyuki Iwatsuki where stowing fails if
the stow / target directories are non-canonical paths. For the stow / target directories are non-canonical paths. For
@ -197,7 +202,7 @@ due to Stow::Util missing $VERSION.
See http://article.gmane.org/gmane.comp.gnu.stow.bugs/8820 for details. See http://article.gmane.org/gmane.comp.gnu.stow.bugs/8820 for details.
** Fix stowing of relative links when --no-folding is used. *** Fix stowing of relative links when --no-folding is used.
With a tree like this: With a tree like this:
@ -238,26 +243,26 @@ due to Stow::Util missing $VERSION.
http://thread.gmane.org/gmane.comp.gnu.stow.general/6676 http://thread.gmane.org/gmane.comp.gnu.stow.general/6676
** Internal code cleanups *** Internal code cleanups
*** aclocal was updated. ***** aclocal was updated.
*** automake files were removed. ***** automake files were removed.
*** Trailing whitespace was removed. ***** Trailing whitespace was removed.
*** Comments were added. ***** Comments were added.
*** Debug messages were improved. ***** Debug messages were improved.
* Changes in version 2.2.0 * Changes in version 2.2.0
** New --no-folding option *** New --no-folding option
Disables folding of newly stowed directories when stowing, and Disables folding of newly stowed directories when stowing, and
refolding of newly foldable directories when unstowing. refolding of newly foldable directories when unstowing.
** Remove -a option (--adopt still available) *** Remove -a option (--adopt still available)
As --adopt is the only option which allows stow to modify files, it As --adopt is the only option which allows stow to modify files, it
is considered potentially dangerous (especially for stow package is considered potentially dangerous (especially for stow package
@ -266,45 +271,45 @@ due to Stow::Util missing $VERSION.
user to enable this option, minimising the change of enabling it user to enable this option, minimising the change of enabling it
via a typo. via a typo.
** Improve error message when stow package is not found. *** Improve error message when stow package is not found.
The error message displayed a path to the missing stow package The error message displayed a path to the missing stow package
which was relative to the target directory rather than the cwd, which was relative to the target directory rather than the cwd,
which was confusing for the user. which was confusing for the user.
** Test suite improvements *** Test suite improvements
The test suite has been tightened up slightly. The test suite has been tightened up slightly.
** Documentation improvements *** Documentation improvements
Various fixes and cosmetic improvements have been made in the manual. Various fixes and cosmetic improvements have been made in the manual.
** Remove "There are no outstanding operations to perform" warning. *** Remove "There are no outstanding operations to perform" warning.
* Changes in version 2.1.3 * Changes in version 2.1.3
** New --adopt / -a option *** New --adopt / -a option
This allows plain files in the target to be "adopted" into the This allows plain files in the target to be "adopted" into the
package being stowed. See the manual has more details. package being stowed. See the manual has more details.
** ./configure now checks for Perl modules required by the test suite. *** ./configure now checks for Perl modules required by the test suite.
* Changes in version 2.1.2 * Changes in version 2.1.2
Many thanks to Stefano Lattarini for help with numerous autoconf and Many thanks to Stefano Lattarini for help with numerous autoconf and
automake issues which are addressed in this release. automake issues which are addressed in this release.
** Significantly improve the handling of --with-pmdir. *** Significantly improve the handling of --with-pmdir.
*** Calculation of the default value for --with-pmdir is now done safely in Perl. ***** Calculation of the default value for --with-pmdir is now done safely in Perl.
Previously non-POSIX-compliant shells could cause issues. Previously non-POSIX-compliant shells could cause issues.
*** The output of ./configure and make are now much more helpful. ***** The output of ./configure and make are now much more helpful.
*** The Makefile will now check whether pmdir is in Perl's built-in @INC. ***** The Makefile will now check whether pmdir is in Perl's built-in @INC.
If not, it will insert a If not, it will insert a
@ -313,56 +318,56 @@ due to Stow::Util missing $VERSION.
line into the generated stow script to ensure that it can always line into the generated stow script to ensure that it can always
locate the Perl modules without needing to manually set PERL5LIB. locate the Perl modules without needing to manually set PERL5LIB.
*** Updated INSTALL and HOWTO-RELEASE accordingly. ***** Updated INSTALL and HOWTO-RELEASE accordingly.
** ./configure now aborts if Perl isn't found. *** ./configure now aborts if Perl isn't found.
** Ensured the ChangeLog is up-to-date when making a new distribution. *** Ensured the ChangeLog is up-to-date when making a new distribution.
** Fixed bug with `make clean' removing files which the user may not be able to rebuild. *** Fixed bug with `make clean' removing files which the user may not be able to rebuild.
* Changes in version 2.1.1 * Changes in version 2.1.1
** Fixed bug where ./configure --with-pmdir=X was ineffectual. *** Fixed bug where ./configure --with-pmdir=X was ineffectual.
** Calculated the correct default value for pmdir based on the local Perl installation. *** Calculated the correct default value for pmdir based on the local Perl installation.
** Fixed some automake issues (thanks to Stefano Lattarini for spotting these!) *** Fixed some automake issues (thanks to Stefano Lattarini for spotting these!)
** Improved various bits of documentation. *** Improved various bits of documentation.
* Changes in version 2.1.0 * Changes in version 2.1.0
** Major refactoring of code into separate Stow and Stow::Util Perl modules. *** Major refactoring of code into separate Stow and Stow::Util Perl modules.
** Added support for ignore list files. *** Added support for ignore list files.
** Added support for CPAN-style installation and distribution via Module::Build. *** Added support for CPAN-style installation and distribution via Module::Build.
** Introduced `make test' target and significantly tightened up test suite. *** Introduced `make test' target and significantly tightened up test suite.
** Very large number of code and documentation fixes (over 80 commits since version 2.0.1). *** Very large number of code and documentation fixes (over 80 commits since version 2.0.1).
** The '--conflicts' option has been removed. *** The '--conflicts' option has been removed.
Stow will always show conflicts if they are found during the scanning Stow will always show conflicts if they are found during the scanning
phase. phase.
** Improved debugging output. *** Improved debugging output.
** Converted man page to POD format. *** Converted man page to POD format.
** Include PDF, and both split- and single-page HTML versions of manual in the distribution. *** Include PDF, and both split- and single-page HTML versions of manual in the distribution.
** Fixed code style consistency issues. *** Fixed code style consistency issues.
** Running configure from outside the source tree now works. *** Running configure from outside the source tree now works.
** `make distcheck' now works. *** `make distcheck' now works.
* Changes in version 2.0.1 * Changes in version 2.0.1
** Defer operations until all potential conflicts have been assessed. *** Defer operations until all potential conflicts have been assessed.
We do this by traversing the installation image(s) and recording the We do this by traversing the installation image(s) and recording the
actions that need to be performed. Redundant actions are factored out, actions that need to be performed. Redundant actions are factored out,
@ -380,24 +385,24 @@ due to Stow::Util missing $VERSION.
where you want to minimise the amount of time when the package is where you want to minimise the amount of time when the package is
unavailable. unavailable.
** The above fixes the false conflict problem mentioned in the info file. *** The above fixes the false conflict problem mentioned in the info file.
** It also fixes the two bugs mentioned in the man page. *** It also fixes the two bugs mentioned in the man page.
** Multiple stow directories will now cooperate in folding/unfolding. *** Multiple stow directories will now cooperate in folding/unfolding.
** Conflict messages are more uniform and informative. *** Conflict messages are more uniform and informative.
** Verbosity and tracing is more extensive and uniform. *** Verbosity and tracing is more extensive and uniform.
** Implemented option parsing via Getopt::Long. *** Implemented option parsing via Getopt::Long.
** Default command line arguments set via '.stowrc' and '~/.stowrc' files. *** Default command line arguments set via '.stowrc' and '~/.stowrc' files.
Contents of these files are parsed as though they occurred first on Contents of these files are parsed as though they occurred first on
the command line. the command line.
** Support multiple actions per invocation. *** Support multiple actions per invocation.
In order for this to work, we had to add a new (optional) command line arg In order for this to work, we had to add a new (optional) command line arg
(-S) to specify packages to stow. For example, to update an installation (-S) to specify packages to stow. For example, to update an installation
@ -412,7 +417,7 @@ due to Stow::Util missing $VERSION.
will unstow p3, p4 and p6, then stow p1, p2, p5 and p6. will unstow p3, p4 and p6, then stow p1, p2, p5 and p6.
** New (repeatable) command line arg: --ignore='<regex>' *** New (repeatable) command line arg: --ignore='<regex>'
This suppresses operating on a file matching the regex (suffix), This suppresses operating on a file matching the regex (suffix),
e.g. e.g.
@ -424,7 +429,7 @@ due to Stow::Util missing $VERSION.
(I opted for Perl regular expressions because they are more (I opted for Perl regular expressions because they are more
powerful and easier to implement). powerful and easier to implement).
** New (repeatable) command line arg: --defer='<regex>' *** New (repeatable) command line arg: --defer='<regex>'
This defers stowing a file matching the regex (prefix) if that file This defers stowing a file matching the regex (prefix) if that file
is already stowed to a different package, e.g., is already stowed to a different package, e.g.,
@ -436,7 +441,7 @@ due to Stow::Util missing $VERSION.
Equivalently, you could use --defer='man|info' since the argument Equivalently, you could use --defer='man|info' since the argument
is just a Perl regex. is just a Perl regex.
** New (repeatable) command line arg: --override='<regex>' *** New (repeatable) command line arg: --override='<regex>'
This forces a file matching the regex (prefix) to be stowed even if This forces a file matching the regex (prefix) to be stowed even if
the file is already stowed to a different package, e.g. the file is already stowed to a different package, e.g.
@ -449,7 +454,7 @@ due to Stow::Util missing $VERSION.
Equivalently, you could use --override='man|info' since the Equivalently, you could use --override='man|info' since the
argument is just a Perl regex. argument is just a Perl regex.
** The above gives the ability to manage packages with common content. *** The above gives the ability to manage packages with common content.
For example, man pages that are shared by a number of CPAN For example, man pages that are shared by a number of CPAN
packages. Using multiple stow directories and .stowrc files can packages. Using multiple stow directories and .stowrc files can
@ -477,7 +482,7 @@ due to Stow::Util missing $VERSION.
package. If you are upgrading CPAN, you will also have to override package. If you are upgrading CPAN, you will also have to override
the pre-existing cpan executable. the pre-existing cpan executable.
** By default, search less aggressively for invalid symlinks when unstowing. *** By default, search less aggressively for invalid symlinks when unstowing.
That is, we only search for bad symlinks in the directories That is, we only search for bad symlinks in the directories
explicitly mentioned in the installation image, and do not dig down explicitly mentioned in the installation image, and do not dig down
@ -490,9 +495,9 @@ due to Stow::Util missing $VERSION.
We provide an option '-p|--compat' to enable the old behaviour for We provide an option '-p|--compat' to enable the old behaviour for
those needing to patch up mistakes. those needing to patch up mistakes.
** New chkstow utility for checking the integrity of the target directory. *** New chkstow utility for checking the integrity of the target directory.
** Implement a test suite and support code. *** Implement a test suite and support code.
This was built before implementing any of the extra features so I This was built before implementing any of the extra features so I
could more easily check for equivalent functionality. The initial could more easily check for equivalent functionality. The initial
@ -502,45 +507,47 @@ due to Stow::Util missing $VERSION.
* Changes in version 1.3.3 * Changes in version 1.3.3
** Now requires Perl 5.005 or later *** Now requires Perl 5.005 or later
** Initially empty directories are not removed anymore *** Initially empty directories are not removed anymore
** Removed buggy fastcwd (we use POSIX::getcwd instead) *** Removed buggy fastcwd (we use POSIX::getcwd instead)
** Fixed bug when the common Parent of Target dir and Stow dir was "/" *** Fixed bug when the common Parent of Target dir and Stow dir was "/"
** Fixed bug when handling directories named "0" *** Fixed bug when handling directories named "0"
** Stow now only warns the user if a directory is unreadable during unstowing. *** Stow now only warns the user if a directory is unreadable during unstowing.
* Changes in version 1.3: * Changes in version 1.3:
** Added --restow option. *** Added --restow option.
** Fixed handling of slashes in package names. *** Fixed handling of slashes in package names.
** Expanded configure-time search for Perl binary. *** Expanded configure-time search for Perl binary.
* Changes in version 1.2: * Changes in version 1.2:
** Dependency on `pwd' removed. *** Dependency on `pwd' removed.
** Perl 4 compatibility fixes. *** Perl 4 compatibility fixes.
** Manual expanded even more. *** Manual expanded even more.
* Changes in version 1.1: * Changes in version 1.1:
** Long and short options now accepted. *** Long and short options now accepted.
** Manual expanded. *** Manual expanded.
** `make clean' removes stow (which is generated from stow.in). *** `make clean' removes stow (which is generated from stow.in).
* Initial public release (v1.0) of Stow. * Initial public release (v1.0) of Stow.
* emacs local variables * emacs local variables
Local Variables: Local Variables:
mode: org mode: org
org-export-with-toc: t
org-toc-odd-levels-only: t
End: End:

View file

@ -69,7 +69,7 @@ Release procedure
- At this point we have a release candidate. Tag the current git HEAD - At this point we have a release candidate. Tag the current git HEAD
with the new version number: with the new version number:
git tag -s $version -m "Release $version" git tag -s v$version -m "Release $version"
- Run ./Build dist - Run ./Build dist
@ -111,7 +111,7 @@ Release procedure
# Check that the changes look OK # Check that the changes look OK
cvs diff cvs diff
# Then commit # Then commit
cvs commit -m 'Update manual to v7.8.9' cvs commit -m "Update manual to v$version"
- Upload to ftp.gnu.org. This is easiest using gnupload: - Upload to ftp.gnu.org. This is easiest using gnupload:
@ -129,6 +129,11 @@ Release procedure
See http://www.gnu.org/prep/maintain/html_node/Announcements.html for See http://www.gnu.org/prep/maintain/html_node/Announcements.html for
more on making release announcements. more on making release announcements.
Excerpts of NEWS can be formatted for inclusion in the email by
selecting the relevant version subtree via M-x org-mark-element,
minus the "* Changes in version x.y.z", running M-x
org-export-dispatch, and exporting as plain text.
- Update the git repositories to the next expected version, so that anyone - Update the git repositories to the next expected version, so that anyone
who builds from git gets a version of Stow which is higher than the release who builds from git gets a version of Stow which is higher than the release
which was just cut: which was just cut: