| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
Although our source code (including this file) is supposed to have only Unix
line endings, cloning, etc., can result in particular users having DOS line
endings. Let's allow '\r\n' to avoid spurious testing or installation
problems.
For: RT #130088, as recommended by Mark E Renzulli (UTRC).
|
|
|
|
|
|
| |
This means that the MANIFEST.srt target in the Makefile no longer needs
to load a library that depends on Cwd (and other potentially-dynamic
modules). That in turn fixes a missing-dependency bug in the Makefile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dictionary sort order on filenames is very counter-intuitive, and
produces surprising sort orders.
What this patch does is sort things so that the following should
always be true:
1. Case insensitive textual order
Eg: Foo and foo and FOO should sort together in ascibetical order
2. Shorter dirs go before longer dirs with a common prefix
Eg: lib/Foo/ should go before lib/Foo-Thing/
3. Base filename goes before dir of the same name
Eg: lib/Foo.pm should sort before lib/Foo/Bar.pm
This also refactors the MANIFEST sort code in Porting/manisort and
Porting/pod_rules.pm files into Porting/pod_lib.pl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An empty cpan/.dir-locals.el stops Emacs using the core defaults for
code imported from CPAN.
Committer's work:
To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed
to be incremented in many files, including throughout dist/PathTools.
perldelta entry for module updates.
Add two Emacs control files to MANIFEST; re-sort MANIFEST.
For: RT #124119.
|
| |
|
|
|
|
|
| |
This is to allow cross-compilation builds to run installperl using a
host miniperl instead of the built Perl binary.
|
|
|
|
| |
And document it.
|
|
|
|
| |
And document it.
|
| |
|
|
|
|
|
|
|
| |
Incorporate Nicholas Clark's suggestions.
Correct pod formatting errors.
For: RT #117003
|
|
|
|
|
|
| |
The stub manpages (perlboot, perltoot, etc.) are listed in perl.pod,
so they don't need to be ignored by buildtoc. They weren't ignored
anyway, since the %ignoredpods hash was, well, ignored.
|
|
|
|
| |
(like the other obsolete manpage placeholders)
|
|
|
|
|
|
|
| |
Reported by Reini Urban in RT #110078, installperl generated a warning and
failed to install CORE.pod, because is_duplicate_pod() modified $_
is_duplicate_pod() and get_pod_metadata() now both localise $_, to ensure
that they don't corrupt any caller's state.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
We don't want to install anything within a t/ directory. Previously the code
was determining this based on pattern matching the path. Instead of rejecting
what we find, it's more efficient to avoid scanning the directory tree in the
first place.
|
|
|
|
|
|
|
| |
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'.
|
|
|
|
| |
Now it returns just the pod's name, its filename, and the flags (if any).
|
|
|
|
|
|
|
|
|
|
|
| |
The description is only used to generate MANIFEST entries now from 'readmes'
and 'pods'. now that perl.pod is the master and is no longer generated from
pod.lst
The leafname/podname distinction is only used by is_duplicate_pod(), so can
be replaced by simple flag, 'dual'.
Replace the now-unused entries with undef to preserve the indices.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
array.
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.
|
|
|
|
|
|
|
|
| |
perl.pod already contained virtually all the information in pod.lst. Add
the remainder as =begin and =for Pod blocks.
As perl.pod no longer needs to be regenerated, remove the redundant code from
Porting/pod_rules.pl. Update (nearly) all references to pod.lst.
|
|
|
|
|
| |
Eliminate the file-scoped lexical %Readmepods. Use slurp_or_die() instead of
coding it longhand.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously it was primed when get_pod_metadata() was called. This removes the
undocumented assumption that is_duplicate_pod() will only be called after
get_pod_metadata(), and avoids reading 14 Pod files to calculate their MD5s
unless actually necessary.
This change means that the array references in @{$state{master}} are being
accessed much later during runtime. This reveals that podset() in buildtoc
had been clobbering its callers $_, which happened to be an alias to the
current element of @{$state{master}}.
|
|
|
|
| |
It's now extracted from get_pod_metadata() into __prime_state().
|
|
|
|
|
|
| |
Using the callback to report errors instead of passing the 'inconsistent'
arrayref back in the state means that get_pod_metadata() doesn't even need
to calculate this information if it's not going to be used.
|
|
|
|
|
| |
is_duplicate_pod() moves. register_duplicate_pod() can be inlined into
get_pod_metadata().
|
|
|
|
|
| |
Previously it would generate warnings about inconsistencies in files, even if
it was about to rewrite the file to be consistent.
|
|
|
|
|
|
| |
Strictly, "mostly automates", as it doesn't run `git add`, or test that the
build is clean. However, it simplifies a gnarly step in the release manager's
guide, so it's progress.
|
|
|
|
|
| |
This permits Porting/pod_rules.pl to be run from a clean checkout without
warning, which simplifies updating perl's version.
|
|
|
|
|
|
|
|
| |
The intermediate array @cpanpods can be avoided by generating the lookup
hashes directly.
Rename %cpanpods_short to %cpanpods_leaf and $shortname to $leafname, as this
makes it clearer that each deals with leafnames.
|
|
|
|
|
|
|
|
|
|
| |
Previously the code was structured to build arrays for various categories of
files, then generate hashes from those arrays. However, the arrays had no
other purpose, and the values in the hashes were only needed for truth tests,
so it's better to generate the lookup hashes directly.
@disk_pods hasn't actually been used since commit d5e2eea989a69524 refactored
pod/buildtoc to no longer chdir to the pod/ directory.
|
|
This will permit splitting pod/buildtoc into two - one script used during
the build process to build pod/perltoc.pod, and used by maintainers to
regenerate sections of various Makefiles.
|