Skip to content
Commits on Dec 24, 2011
  1. Some tidying in installman.

    Nicholas Clark committed
    Avoid the unnecessary lexicals $xnew and $xold.
    Use lexicals for file handles, and check the return of close.
    Why import mkpath() from File::Path and then comment its provenance at the
    point of use?
    Remove an exit(0) which is only 20 lines from the end of the script.
    Note why we can't re-use a file handle open on the Pod file we're currently
  2. Add x2p/a2p.pod to the 'master' array returned by get_pod_metadata().

    Nicholas Clark committed
    This makes installman install it correctly. Flagging it as 'toc_omit' means
    that everything else ignores it. This eliminates the last remaining use of the
    "pod =" feature of utils.lst, permitting related code to be removed from
    installperl and installman.
    This change has the possibly unfortunate cosmetic side effect of installman
    now installing a2p.1 first, before perl.1
  3. Avoid installman warning about "no documentation in pod/perldoc.pod"

    Nicholas Clark committed
    Since commit a2afbef in July 2011 moved perldoc.pod from pod/ to
    dist/Pod-Perldoc/lib/ installman will have been warning
    "no documentation in pod/perldoc.pod", having already installed the perldoc
    man page earlier in the process.
    However, the reference in utils.lst has actually been arguably erroneous
    since it was added in commit cd0cddc (July 2003) to stop installman
    installing an empty perldoc.1 manpage. (Which it had been doing since commit
    1a67fee (December 2002), as a side effect of overwriting the
    correct file (sourced from pod/perldoc.pod) with an incorrect file (sourced
    from scanning utils/perldoc for Pod). The fix "worked" by causing perldoc.1
    to be written correctly twice, both times sourced from pod/perldoc.pod :-)
    The best fix seems to be to remember the names of the manpages we install
    in man1, and automatically skip processing for any utility whose manpage
    has already been installed.
  4. Move the common Pod scanning code from installman and buildtoc to pod…

    Nicholas Clark committed
    The unified code to scan lib/ for Pod is now in pods_to_install().
    It returns found Pods partitioned into 'MODULE' and 'PRAGMA', as buildtoc
    needs this distinction. installman installs Pods in the same order as before,
    as 'PRAGMA' sort lexically after 'MODULE'.
  5. Refactor installman's use of File::Find::find() to converge with buil…

    Nicholas Clark committed
Commits on Dec 21, 2011
  1. In installman, move the call to File::Find::find() to the top level.

    Nicholas Clark committed
    The code to recursively scan a directory with File::File::find() is now only
    used by one caller of podset(), so move it to the call point, reducing the
    amount of conditional code within podset(). The first argument to podset()
    is now always a reference to a hash of "work to be done". Add an optional
    fourth argument to give the directory name for diagnostics.
  2. Re-order entries in the 'master' array returned by get_pod_metadata().

    Nicholas Clark committed
    Now it returns just the pod's name, its filename, and the flags (if any).
  3. Rationalise use of the Pod metadata structure returned by get_pod_met…

    Nicholas Clark committed
    Nothing uses the entries in the 'master' array for the for the elements
    flagged as 'aux', so don't generate them. Only buildtoc uses the the 'aux'
    hash, and only the keys in sorted order, so replace the hash with a sorted
    All entries in the 'master' array are now defined, and references to 5
    element arrays, so remove code that checks for this. Likewise, as the 'aux'
    flag is no longer used, remove code related to it.
    When generating the entries for README files in %our_pods in the consistency
    checking code in get_pod_metadata, $_->[4] and $_->[1] will always be equal,
    as no READMEs are copied from dual life modules. So use $_->[1] instead, as
    this permits a future simplification.
Commits on Dec 19, 2011
  1. installman should use the data in pod.lst to track dual-life pods in …

    Nicholas Clark committed
    This ensures that perlfaq*, perlglossary, perlxs, perlxstut and perldoc's
    man pages are installed in man1, not man3, along with any future dual-life
    pods. This is an improvement on commit 0beff06 which only dealt with
    perlfaq* and perlglossary, and had the unfortunate side effect of also
    causing these 11 files to be installed to bin/
  2. Various installman cleanups.

    Nicholas Clark committed
    Eliminate the C<use File::Copy> and various $Is_* vars, unneeded since
    commit 9e6fc21 moved the code that uses them into
    Move the filename-based skip code into the callback for File::Find::find(),
    as this saves ever storing them in %$modpods.
    Eliminate @to_process, which has been mostly redundant since commit
    a274383, and completely redundant since commits 02bc0c0^
    and 02bc0c0.
    Eliminate the batchlimit command line option, which has been redundant since
    commit a274383.
  3. In installman, pod2man() now takes a hashref instead of a list of scr…

    Nicholas Clark committed
    Avoid needless splitting and joining of paths when processing the "scripts"
    from utils.lst. Remove the unused lexical $where2. Remove an inaccurate
    comment about nochdir.
  4. In pod2man() in installman, transpose the keys and values of %modpods.

    Nicholas Clark committed
    This doesn't change the order of processing (Pod pathnames all in lib/ sort
    in the same order as module names), but will make future refactoring easier.
  5. Stop installing the manpage for XS::Typemap.

    Nicholas Clark committed
    Like XS::APItest, we don't install the module anyway, so there's no need
    to have confusing documentation installed. (See commit ae5391a,
    which made the analogous change for XS::APItest*)
  6. installman only needs match =head1 to identify files with Pod.

    Nicholas Clark committed
    Commit 63fae90 made installman skip files which contained no Pod.
    However, the regex used, /^=(?:head\d+|item|pod)\b/ is overly permissive.
    All files with Pod actually match /^=head1\b/. Moreover, a Pod file which
    does not start with a =head1 is not going to generate a well formed man
    page. Hence restrict the files processed to those which are well formed.
Commits on Dec 1, 2011
  1. @rgs
Commits on Nov 23, 2011
  1. @jkeenan

    [RT #36079] Convert ` to '.

    jkeenan committed with Father Chrysostomos
Commits on Sep 26, 2010
  1. @rafl

    merge XS-APItest-KeywordRPN into XS-APItest

    Zefram committed with rafl
    XS-APItest-KeywordRPN has turned out to be less useful as an independent
    module than expected, and less strictly about RPN than it originally was.
Commits on Aug 21, 2010
  1. @rafl

    Stop installing manpages for XS::APItest*

    rafl committed
    We don't install the modules anyway, so there's no need to have confusing docs
    installed for them.
Commits on May 19, 2008
  1. A couple more installman tidy ups.

    Nicholas Clark committed
    p4raw-id: //depot/perl@33863
  2. Merge common code from installperl and installman into

    Nicholas Clark committed
    p4raw-id: //depot/perl@33862
  3. Converge some changes from installperl into installman. I have a

    Nicholas Clark committed
    suspicion that installman is only run on *nix and OS/2, not Win32 or
    VMS. Specifically
    sub unlink   - return scalar(@names) if $Is_VMS # from change 854
    sub link     - change warn to die               # from change 4774
    sub samepath - case insensitive name comparison # from change 311
    (in the ansiperl branch, merged via the win32 branch)
    p4raw-id: //depot/perl@33860
Commits on Nov 2, 2007
  1. @rgs

    Make installman work with -Duserelocatableinc and DESTDIR

    rgs committed
    p4raw-id: //depot/perl@32212
Commits on Jan 5, 2006
  1. @rgs

    Remove old Pod::Man parser creation.

    rgs committed
    Fix a run-time warning.
    p4raw-id: //depot/perl@26657
  2. @smpeters

    Change installman to instantiate a new Pod::Man instance for each

    smpeters committed
    file processed.  This is now required with podlators-2.0.
    p4raw-id: //depot/perl@26656
Commits on May 31, 2004
  1. @rgs

    [perl #29937] Entries missing from .packlist committed with rgs
    From: (via RT) <>
    Message-ID: <>
    p4raw-id: //depot/perl@22878
Commits on Aug 4, 2003
  1. @jhi

    Debian patch that skips podless modules

    Alexey Tourbin committed with jhi
    Message-ID: <>
    (plus Schwern's and Robert's nits)
    p4raw-id: //depot/perl@20466
Commits on Jul 31, 2003
  1. @jhi

    Make consistent with installperl (and working in MPE/iX)

    jhi committed
    (Mark Bixby)
    p4raw-id: //depot/perl@20386
Commits on Jul 29, 2003
  1. @jhi

    The --destdir option to installman should be made

    jhi committed
    optional so that it doesn't complain when passed
    an empty value (from Rafael)
    p4raw-id: //depot/perl@20308
  2. @jhi

    DESTDIR in perl-5.8.1 package?

    Michael Schroeder committed with jhi
    Date: Fri, 11 Jul 2003 14:48:41 +0200
    Message-ID: <>
    Subject: Re: DESTDIR in perl-5.8.1 package?
    From: Michael Schroeder <>
    Date: Mon, 14 Jul 2003 12:00:25 +0200
    Message-ID: <>
    (blindly prepending and s///ing away the $destdir does not work
     at least in VMS, but the --destdir should help rpm builders
     and the like)
    p4raw-id: //depot/perl@20302
Commits on Jul 7, 2002
  1. @jhi

    Don't install test pods.

    jhi committed
    p4raw-id: //depot/perl@17408
Commits on Nov 29, 2001
  1. @jhi

    Re: [ID 20011127.153] installman error

    Nicholas Clark committed with jhi
    Message-ID: <>
    p4raw-id: //depot/perl@13351
Commits on Nov 27, 2001
  1. @jhi

    Re: [PATCH] Re: [ID 20011118.128] installman chdir stuffs INC

    Nicholas Clark committed with jhi
    Message-ID: <>
    p4raw-id: //depot/perl@13293
Commits on Nov 25, 2001
  1. @jhi

    Skip the link= directives of utils.lst if no mandir

    jhi committed
    (if no manpages).
    p4raw-id: //depot/perl@13262
Commits on Nov 24, 2001
  1. @jhi

    Re: [ID 20011118.128] installman chdir stuffs INC

    Nicholas Clark committed with jhi
    Message-ID: <>
    p4raw-id: //depot/perl@13241
Commits on Nov 15, 2001
  1. @jhi

    "link =" from utils.lst was being processed oddly.

    jhi committed
    p4raw-id: //depot/perl@13015
Something went wrong with that request. Please try again.