Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am experiencing another problem in synching podlators into Perl 5 blead. Let's start in a checkout of the
main
branch in the podlators repository.Inside
Makefile.PL
, we observe:Let's create and inspect a Makefile:
That
realclean
target at line 30 looks weird. Shouldn't we have been expecting an array (or reference to an array) of files?Let's see what files exist before we run
make
:Now let's call
make
:Let's see what files exist now:
Note that we now have
pod2man
andpod2text
in 2 locations. The only locations we need, however, are those inblib/script/
as that's the directory (INST_SCRIPT
) from which they will be installed. We're not going to be doing anything more withscripts/pod2man
orscripts/pod2text
-- but we have to make sure they get cleaned up!Let's call
make clean
:So
make clean
does not delete those two files. Let's trymake realclean
:Bummer! We no longer have a
Makefile
. (Why not? Should we? Subject for a different ticket.) Let's get back to where we were.So neither
make clean
normake realclean
removes the superfluous copies ofscripts/pod2man
andscripts/pod2text
.What If We Change Makefile.PL Line 30?
A diff of the change suggested in this pull request:
Let's try it, then re-inspect
Makefile
.That feels better. Let's try
make
and then see what files we've got.8 files, same as above. Since we only changed
realclean
, we'll skipclean
.We've deleted everything created during the build process and are back to just the two "executable-generator' files in the source code.
Now, I suspect, but I cannot (yet) prove that this problem in
Makefile.PL
is implicated in a Continuous Integration test failure I'm having when I try to sync podlators-6.0.1 into Perl 5 blead. See: https://github.com/Perl/perl5/actions/runs/9921736345/job/27413104765?pr=22402#step:11:7234. In this CI rig -- in which I am not an expert -- we have a target calleddistclean
which is not removing two files, and then we have a target calledmanicheck
that is announcing:... that there are two files not found in the core's
MANIFEST
which are still found in the build tree. Of course, those two files should not be inMANIFEST
, because they are generated duringmake
byscripts/pod2text.PL
andscripts/pod2man.PL
. But they should have been deleted during thedistclean
target -- and my hunch (as yet unproven) is that they are not deleted because of the current problem in podlator'sMakefile.PL
. (I do not yet know why the CI failure is only showing up on this pull request.)