[Module-build-general] [PATCH] manifypods
Status: Beta
Brought to you by:
kwilliams
|
From: Steve P. <sp...@ep...> - 2003-07-18 17:58:54
|
Hi,
I've attached the manifypods patch, as discussed. All tests pass on
darwin and linux. It would be good if someone could test it on other
platforms (esp. those where the manpage_separator differs - see below).
However, there's one problem with this patch:
% ./Build fakeinstall
...
Can't figure out where to install things of type 'bindoc' at
/.../lib/Module/Build/Base.pm line 1551.
I think it's a problem with which Config.pm vars we're using, but I'm
not sure. I'll post a follow-up on this in a sec.
Here's a summary of what's been done:
ok Move to Module::Build::Base
ok Bump up $VERSION to dev release.
ok Start using 'blib/libdoc' and 'blib/bindoc' (instead of man1 man3)
because that's what the rest of Module::Build uses.
ok In the manpage_name method, you can call File::Spec->canonpath on the
$file var before calling splitdir, and that should remove doubled
directory separators and other cruft.
ok Don't manify unless file contains pod.
ok Installation target - make sure it works
ok customizable $self->{properties}:
manify_bin_dirs => [qw( blib/scripts )]
manify_lib_dirs => [qw( blib/lib blib/arch )]
ok Add manifypods dependency to *install Actions.
ok Override manpage_separator() in OS-specific modules:
Default ::
Amiga ::
EBCDIC ::
MPEiX ::
MacOS ::
RiscOS ::
Unix ::
VMS __
VOS ::
Windows .
darwin ::
o I couldn't find Module::Build alternatives for these MakeMaker
modules:
MM_DOS __
MM_OS2 .
MM_UWIN .
Also, here's what I planned to do but didn't have time:
o Cache timestamps of files for each generated manpage, and check
them before re-generating to avoid unnecessary work.
o Don't generate man pages if installation dir is not set?
ala MakeMaker. Not sure if this is needed anymore - now the
user can set manify_*_dirs to an empty list. a 'no_manpages'
option would be a better bet at any rate...
o Refactor manify_lib|bin_pods() - they're pretty much the same.
hth,
-Steve
|