Improve readability of NEWS file when viewed raw.
This commit is contained in:
parent
1efb786140
commit
e466732bbf
1 changed files with 128 additions and 71 deletions
169
NEWS
169
NEWS
|
@ -1,54 +1,86 @@
|
||||||
News file for Stow.
|
News file for Stow.
|
||||||
|
|
||||||
* Changes in version 2.1.3
|
* Changes in version 2.1.3
|
||||||
|
|
||||||
** ./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
|
||||||
|
|
||||||
use lib "...";
|
use lib "...";
|
||||||
|
|
||||||
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,
|
||||||
e.g., we don't want to create a link that we will later remove in order to
|
e.g., we don't want to create a link that we will later remove in order to
|
||||||
create a directory. Benefits of this approach
|
create a directory. Benefits of this approach:
|
||||||
|
|
||||||
1. Get to see _all_ the conflicts that are blocking an installation:
|
1. Get to see _all_ the conflicts that are blocking an installation:
|
||||||
you don't have to deal with them one at a time.
|
you don't have to deal with them one at a time.
|
||||||
|
@ -75,70 +107,72 @@ create a directory. Benefits of this approach
|
||||||
|
|
||||||
** 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 the
|
Contents of these files are parsed as though they occurred first on
|
||||||
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
|
||||||
of emacs you can now do
|
of emacs you can now do
|
||||||
|
|
||||||
stow -D emacs-21.3 -S emacs-21.4a
|
stow -D emacs-21.3 -S emacs-21.4a
|
||||||
|
|
||||||
which will replace emacs-21.3 with emacs-21.4a.
|
which will replace emacs-21.3 with emacs-21.4a.
|
||||||
You can mix and match any number of actions, e.g.,
|
You can mix and match any number of actions, e.g.,
|
||||||
|
|
||||||
stow -S p1 p2 -D p3 p4 -S p5 -R p6
|
stow -S p1 p2 -D p3 p4 -S p5 -R p6
|
||||||
|
|
||||||
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), e.g.,
|
This suppresses operating on a file matching the regex (suffix),
|
||||||
|
e.g.
|
||||||
|
|
||||||
--ignore='~' --ignore='\.#.*'
|
--ignore='~' --ignore='\.#.*'
|
||||||
|
|
||||||
will ignore emacs and CVS backup files (suitable for ~/.stowrc file).
|
will ignore emacs and CVS backup files (suitable for ~/.stowrc file).
|
||||||
|
|
||||||
(I opted for Perl regular expressions because they are more powerful and
|
(I opted for Perl regular expressions because they are more
|
||||||
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 is
|
This defers stowing a file matching the regex (prefix) if that file
|
||||||
already stowed to a different package, e.g.,
|
is already stowed to a different package, e.g.,
|
||||||
|
|
||||||
--defer='man' --defer='info'
|
--defer='man' --defer='info'
|
||||||
|
|
||||||
will cause stow to skip over pre-existing man and info pages.
|
will cause stow to skip over pre-existing man and info pages.
|
||||||
|
|
||||||
Equivalently, you could use --defer='man|info' since the argument is just
|
Equivalently, you could use --defer='man|info' since the argument
|
||||||
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 the
|
This forces a file matching the regex (prefix) to be stowed even if
|
||||||
file is already stowed to a different package, e.g.,
|
the file is already stowed to a different package, e.g.
|
||||||
|
|
||||||
--override='man' --override='info'
|
--override='man' --override='info'
|
||||||
|
|
||||||
will unstow any pre-existing man and info pages that would conflict with
|
will unstow any pre-existing man and info pages that would conflict
|
||||||
the file we are trying to stow.
|
with the file we are trying to stow.
|
||||||
|
|
||||||
Equivalently, you could use --override='man|info' since the argument is
|
Equivalently, you could use --override='man|info' since the
|
||||||
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 packages.
|
For example, man pages that are shared by a number of CPAN
|
||||||
Using multiple stow directories and .stowrc files can also simplify
|
packages. Using multiple stow directories and .stowrc files can
|
||||||
things. In our setup we use the standard /usr/local/stow directory for
|
also simplify things. In our setup we use the standard
|
||||||
packages to be installed in /usr/local. Since we install a large number
|
/usr/local/stow directory for packages to be installed in
|
||||||
of extra Perl packages (currently about 300) we use an additional stow
|
/usr/local. Since we install a large number of extra Perl packages
|
||||||
directory: /usr/local/stow/perl-5.8.8-extras. Both stow directories
|
(currently about 300) we use an additional stow directory:
|
||||||
contain a '.stow' file so that they collaborate appropriately. I then use
|
/usr/local/stow/perl-5.8.8-extras. Both stow directories contain a
|
||||||
the following .stowrc file in /usr/local/stow/perl-5.8.8-extras
|
'.stow' file so that they collaborate appropriately. I then use
|
||||||
|
the following .stowrc file in /usr/local/stow/perl-5.8.8-extras
|
||||||
|
|
||||||
--dir=/usr/local/stow/perl-5.8.8-extras
|
--dir=/usr/local/stow/perl-5.8.8-extras
|
||||||
--target=/usr/local
|
--target=/usr/local
|
||||||
|
@ -148,54 +182,77 @@ the following .stowrc file in /usr/local/stow/perl-5.8.8-extras
|
||||||
--ignore='\.packlist'
|
--ignore='\.packlist'
|
||||||
--ignore='\.bs'
|
--ignore='\.bs'
|
||||||
|
|
||||||
When I stow packages from there, they automatically override any man pages
|
When I stow packages from there, they automatically override any
|
||||||
and binaries that may already have been stowed by another package or by
|
man pages and binaries that may already have been stowed by another
|
||||||
the core perl-5.8.8 installation. For example, if you want to upgrade the
|
package or by the core perl-5.8.8 installation. For example, if
|
||||||
Test-Simple package, you need to override all the man pages that would
|
you want to upgrade the Test-Simple package, you need to override
|
||||||
have been installed by the core package. If you are upgrading CPAN, you
|
all the man pages that would have been installed by the core
|
||||||
will also have to override the pre-existing cpan executable.
|
package. If you are upgrading CPAN, you will also have to override
|
||||||
|
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 explicitly
|
That is, we only search for bad symlinks in the directories
|
||||||
mentioned in the installation image, and do not dig down into other
|
explicitly mentioned in the installation image, and do not dig down
|
||||||
subdirs. Digging down into other directories can be very time consuming
|
into other subdirs. Digging down into other directories can be
|
||||||
if you have a really big tree (like with a couple of Oracle installations
|
very time consuming if you have a really big tree (like with a
|
||||||
lying around). In general the old behaviour is only necessary when you
|
couple of Oracle installations lying around). In general the old
|
||||||
have really stuffed up your installation by deleting a directory that has
|
behaviour is only necessary when you have really stuffed up your
|
||||||
already been stowed. Doing that on a live system is somewhat crazy and
|
installation by deleting a directory that has already been stowed.
|
||||||
hopefully rare. We provide an option '-p|--compat' to enable the old
|
Doing that on a live system is somewhat crazy and hopefully rare.
|
||||||
behaviour for those needing to patch up mistakes.
|
We provide an option '-p|--compat' to enable the old behaviour for
|
||||||
|
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 could
|
This was built before implementing any of the extra features so I
|
||||||
more easily check for equivalent functionality. The initial code base had
|
could more easily check for equivalent functionality. The initial
|
||||||
to be refactored substantially to allow for testing. The test suite is
|
code base had to be refactored substantially to allow for testing.
|
||||||
not exhaustive, but it should provide enough to check for regressions.
|
The test suite is not exhaustive, but it should provide enough to
|
||||||
|
check for regressions.
|
||||||
|
|
||||||
* 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
|
||||||
|
|
Loading…
Reference in a new issue