Commit graph

48 commits

Author SHA1 Message Date
Adam Spiers
06fdfc185f merge unstow_orig.t into unstow.t and fix unstowing logic
There was a ton of duplication which is not maintainable, so refactor
everything into a single test which still covers the differences.

This in turn revealed some issues in the unstowing logic:

- We shouldn't conflict if we find a file which isn't a link or a
  directory; we can just skip over it.

- Unstowing with `--dotfiles` was using the wrong variable to obtain
  the package path, and as a result having to perform an unnecessary
  call to `adjust_dotfile()`.

So fix those at the same time.
2024-04-07 15:47:38 +01:00
Adam Spiers
7815bc8b44 Revert "Remove unnecessary AM_MAKEINFOFLAGS tweak"
This reverts commit 1a20a3f7ee.

It turns out that `texi2dvi` _does_ require `-I $(srcdir)` for
`@verbatiminclude default-ignore-list` to work after all.  It's needed
not for a normal docs build, but when `make distcheck` is run,
presumably because `distcheck` runs from a different directory.
2024-04-06 14:54:32 +01:00
Adam Spiers
c691b8fa6e Makefile.am: include DEFAULT_IGNORE_LIST in doc_deps 2024-04-06 14:39:16 +01:00
Adam Spiers
478c7b921d Add watch target to Makefile for easier hacking 2024-03-09 17:56:14 +00:00
Adam Spiers
1a20a3f7ee Remove unnecessary AM_MAKEINFOFLAGS tweak
We no longer need to ensure that texi2any (a.k.a. makeinfo) is called
with -I $(srcdir) in order to make the

    @verbatiminclude default-ignore-list

in the manual work, because texi2any includes the current working
directory by default anyway.  Presumably this behaviour was introduced
after this AM_MAKEINFOFLAGS was previously added, because it was
needed at some point in the past.
2021-04-15 15:11:30 +01:00
Adam Spiers
8cd6cadd3d Replace broken gmane links with links to lists.gnu.org
gmane has been dead for quite a while:

    https://lars.ingebrigtsen.no/2020/01/06/whatever-happened-to-news-gmane-org/
2021-04-15 15:11:29 +01:00
Adam Spiers
69614059a8 Ditch texinfo.tex from distribution 2021-04-15 15:11:29 +01:00
Adam Spiers
8d0a46cc88 Set DISTCLEANFILES to clean up more
Docker generates a whole bunch of files as root.
2019-06-29 00:56:11 +01:00
Adam Spiers
089151c116 make maintainer-clean remove cover_db/ 2019-06-28 21:20:45 +01:00
Adam Spiers
27796720d5 Upgrade to GPL v3 and add headers to files (#44)
Following advice from maintainers@gnu.org, bring Stow in line with
other GNU projects by upgrading it from GPL v2 to v3

  https://www.gnu.org/prep/maintain/html_node/Licensing-of-GNU-Packages.html#Licensing-of-GNU-Packages

as obtained in plain text and texinfo formats from

  https://www.gnu.org/licenses/

and adding appropriate headers:

  https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Code.html#License-Notices-for-Code

Fixes #44: https://github.com/aspiers/stow/issues/44
2019-06-27 20:37:40 +01:00
Adam Spiers
22ca973d59 Switch to makeinfo --html --no-split for single-page HTML manual (#21)
Remove the dependency on the ancient and unmaintained texi2html, which
was difficult to get running on most distros other than openSUSE.

There are two more modern alternative approaches which can replace
this:

  - Use texi2any
  - Use makeinfo --html --no-split

The latter seems to be the standard way these days, so we switch to
that; however we keep Makefile rules for all three, and a phony
meta-rule 'manual-single-html-all' to allow quick comparison between
them.  Make tweaks accordingly to minimise the differences and improve
the output.

The rules for the older two approaches do not get triggered by
default.

Fixes #21: https://github.com/aspiers/stow/issues/21
2019-06-26 13:48:06 +01:00
Adam Spiers
7ede3c8df0 fix naming of man page
The title of the generated man page was ending up as something like

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

Also, with newer perls (e.g. v5.22.1), pod2man requires --name if
used within a pipeline.

Closes #18.

https://github.com/aspiers/stow/issues/18
2016-09-20 18:33:07 +01:00
Adam Spiers
cc0767597e another attempt to fix automake config
d527094b was not the right fix - Util.pm was being installed alongside
Stow.pm under $(PMDIR).  This should be the correct fix.
2015-11-17 17:27:39 +00:00
Adam Spiers
21ffd2dfec add make distcheck and Module::Build to Travis tests 2015-11-17 01:35:47 +00:00
Adam Spiers
d527094bb4 fix make distcheck
Stow/Util.pm was not being installed correctly
2015-11-17 01:35:47 +00:00
Adam Spiers
22139efe2b fix breakage caused by converting files to Markdown 2015-11-16 22:35:56 +00:00
Adam Spiers
b5dbc3b7b4 More fixes to "make distcheck"
As with dc6a141d, the dependency of distributed files on non-distributed
files was causing this error:

    ERROR: files left in build directory after distclean:

The automake FAQ explains why this happens:

    https://www.gnu.org/software/automake/manual/html_node/Errors-with-distclean.html

so change the dependency to Makefile.am which is distributed.
2015-11-09 12:38:39 +00:00
Adam Spiers
43333b8eca add Stow/Util.pm.in with @VERSION@ substitution
This is now necessary in order to prevent pause.perl.org from
complaining:

    Status: Decreasing version number
    =================================

         module : Stow::Util
         version: undef
         in file: lib/Stow/Util.pm
         status : Not indexed because lib/Stow/Util.pm in
                 A/AS/ASPIERS/Stow-v2.2.0.tar.gz has a higher version number
                 (0)
2015-11-09 12:36:51 +00:00
Adam Spiers
dc6a141da4 fix make distcheck
The dependency of the distributed file stow.8 on the non-distributed
file Makefile was causing this error:

    ERROR: files left in build directory after distclean:
    ./doc/stow.8

The automake FAQ explains why this happens:

    https://www.gnu.org/software/automake/manual/html_node/Errors-with-distclean.html

so change stow.8 to depend on Makefile.am which is distributed.
2015-11-09 10:08:31 +00:00
Adam Spiers
99b669968d substitute @VERSION@ in stow.8 man page
Thanks to Yue Du for spotting this issue and providing the fix.
2015-02-07 19:30:29 +00:00
Adam Spiers
195c80e9d7 Significantly improve the handling of --with-pmdir. 2011-12-07 20:48:50 +00:00
Adam Spiers
e7e0646db0 Ensure the ChangeLog is up-to-date when making a new distribution.
Thanks to Stefano Lattarini for this suggestion.
2011-12-07 01:23:41 +00:00
Adam Spiers
5eef9830c1 Use maintainer-clean-local rule, not maintainer-clean. 2011-12-07 01:22:56 +00:00
Adam Spiers
15f44a3275 `make clean' shouldn't remove files which the user may not be able to rebuild. 2011-12-06 20:33:08 +00:00
Adam Spiers
8fea1a8dbb Show when ChangeLog is rebuilt. 2011-12-06 17:24:50 +00:00
Adam Spiers
bbaace4d5a Fix automake issues (thanks to Stefano Lattarini for spotting these!) 2011-12-06 17:11:12 +00:00
Adam Spiers
d1073789d2 Add $(PDF) and $(HTML) variables. 2011-12-06 17:11:12 +00:00
Adam Spiers
d879bde678 Fixed bug where --with-pmdir was ineffectual. 2011-12-06 16:26:24 +00:00
Adam Spiers
a17537af3e Give up on automake's built-in rules for generating PDF and HTML and use our own.
Also include split version of the manual.
2011-12-03 14:42:41 +00:00
Adam Spiers
6682aa9caf Temporarily remove PDF from dist_doc_DATA due to automake issue.
http://article.gmane.org/gmane.comp.sysutils.automake.general/13192

This means that it is still included in the distribution and
installed, but is only automatically (re)built when making a
new distribution - if stow.texi changes during development, it
has to be rebuilt manually via 'make pdf'.
2011-12-03 01:36:23 +00:00
Adam Spiers
aeedec3a57 Add doc/version.texi to distribution. 2011-12-03 01:36:22 +00:00
Adam Spiers
e1e8175ea5 Switch to renaming to manual via install hook as suggested by Stefano Lattarini
http://article.gmane.org/gmane.comp.sysutils.automake.general/13191
2011-12-03 01:36:22 +00:00
Adam Spiers
aad96a0a44 Don't duplicate stow.texi to manual.texi. 2011-11-28 23:47:53 +00:00
Adam Spiers
00d4e68445 Auto-generate ChangeLog from git 2011-11-26 16:34:57 +00:00
Adam Spiers
c019af00a0 Distribute .tar.gz and .tar.bz2 but not .shar.gz 2011-11-26 16:34:57 +00:00
Adam Spiers
10ea9c6f4b Numerous fixes so that `make distcheck' succeeds.
Moves temporary test trees into a separate directory.
2011-11-26 16:34:57 +00:00
Adam Spiers
ad77ca6db7 Add HTML and PDF versions of manual to distribution. 2011-11-26 16:34:50 +00:00
Adam Spiers
ea82ef5b8b Add support for ignore lists. 2011-11-26 16:34:48 +00:00
Adam Spiers
a84ba4c16d Convert man page to POD format which is easier to maintain within stow.in. 2011-11-26 15:10:27 +00:00
Adam Spiers
58625800ee Reorganise more files into subdirectories and add CPAN support via Module::Build 2011-11-26 15:10:26 +00:00
Adam Spiers
dc61da22d4 Major refactoring of code into separate Stow and Stow::Util Perl modules 2011-11-24 16:56:11 +00:00
Adam Spiers
1365c4c4f1 Fix indentation in Makefile.am 2011-11-24 16:55:55 +00:00
Adam Spiers
8da4e15fbf Fix broken 'make install' due to man page being duplicated in install-man8 target 2011-11-24 16:55:53 +00:00
Adam Spiers
801446a5eb Use File::Spec->abs2rel() instead of home-grown relative_path
which actually gets some inputs wrong (e.g. "/" relative to "/")
2011-11-24 16:55:53 +00:00
Adam Spiers
f5e6bfddc2 Add test target to Makefile 2011-11-24 16:55:51 +00:00
Adam Spiers
0473d3f8ba Grafted root commit from savannah git master:
38dcdcb08c Initial Import
2011-11-16 14:04:03 +00:00
Guillaume Morin
c5884b080d imported Debian changes 2001-12-30 17:56:45 +00:00
Guillaume Morin
1b3b46907a Initial revision 2001-12-24 14:57:46 +00:00