The PM_FILTER doesn't include the DESTDIR variable. This means that, if you use it with your build, it's incoherent to the rest of the build; i.e. the INSTALLDIR_AUTOREPLACE doesn't include it. Honestly I can't recall what the final effect of that was but the following patch fixed it.

diff --git a/Makefile.PL b/Makefile.PL
index 5b0eb74..94adb0f 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -194,7 +194,7 @@ coverage:
        NAME            => 'IkiWiki',
        PREFIX          => "/usr/local",
-       PM_FILTER       => './pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB)',
+       PM_FILTER       => './pm_filter $(DESTDIR)$(PREFIX) $(VER) $(PROBABLE_INST_LIB)',
        MAN1PODS        => {},
        PREREQ_PM       => {
                'XML::Simple'           => "0",

This change certainly looks plausible, but I maintain a package of ikiwiki in a build system that sets DESTDIR, and I've not noticed any problems there. Would you be willing to do one more build in your environment without this change, so that we can understand the problem it's trying to fix? --schmonz

Thinking about this more and perhaps this is incorrect? Or more accurately, I may have been using DESTDIR incorrectly. I'm unsure. I don't currently have access to the correct build environment but my best recollection is that I was using the DESTDIR to set base install directory for multiple working copies. Of course, the DESTDIR is normally a staging install for the root directory (i.e. not normally visible during runtime). I'm not 100% on the use of DESTDIR but perhaps you are? Otherwise, leave this, and I'll adjust that build environment to rework the PREFIX variable instead. -- ttw

Maybe one of these explanations from GNU or pkgsrc clarifies DESTDIR for you. If you can narrow down a specific, reproducible problem that setting DESTDIR helps solve, please do report it here. Until then, marking this done. --schmonz

Also, the po/Makefile presumes the use of make, explicitly. If you use another build tool it fails (ironically I was actually using gmake in non-gnu environment so it wasn't aliased to make). Switch from the explicit call to the generic recall variable $(MAKE).

diff --git a/po/Makefile b/po/Makefile
index 5ec4a15..4d1d33e 100644
--- a/po/Makefile
+++ b/po/Makefile
@@ -84,7 +84,7 @@ underlays: ../ikiwiki.out underlays_copy_stamp
        ../ikiwiki.out -libdir .. -setup underlay.setup -refresh
 ../ikiwiki.out: ../Makefile
-       make -C .. ikiwiki.out
+       $(MAKE) -C .. ikiwiki.out
 ../Makefile: ../Makefile.PL
        cd .. && ./Makefile.PL

This change looks more obviously correct, and I understand exactly I haven't encountered the problem you have (my build system ensures that make gets me gmake for ikiwiki). Cherry-picked, with amended commit message. --schmonz

Note following comments by Joey via github

These are not mergeable in their current state.

Pull 'DESTDIR' update to 'Makefile.PL' from mixed-master.

This doesn't explain

  • what the problem was
  • how the change fixed it
  • why the change is correct

No, I suppose not; I won't explain. Hopefully the above clarifies. -- ttw

Re-merge from 'joeyh' to new, clean head.

I have no idea what the above commit is doing, but it somehow makes changes to 432 files?!

Yeah, sort of. I'm not very good with computers ... specifically, with git and stuff. The diff between my master and your master is only two files so hopefully it is actually doing what's intended (that is, those changes are from your repository into my own -- I "rebased" my own in an attempt to simplify things). Anyway. -- ttw

Pull the 'po/Makefile' change from the mixed-master.

This one is adding a $(MAKE) where there was a make. Which is fine, but the commit message is again, horrible. What is the mixed-master? Describe the change you are making, not your internal process for making it.

Note to others, graft from hg doesn't pull original commit messages the way you wish it did (or I did something wrong ... more likely). -- ttw

Also, please don't use github pull requests for ikiwiki. Post todo items on with a link to your git repository and branches to be merged.

NP.; master branch. -- ttw