1 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.
4 diff --git a/Makefile.PL b/Makefile.PL
5 index 5b0eb74..94adb0f 100755
8 @@ -194,7 +194,7 @@ coverage:
11 PREFIX => "/usr/local",
12 - PM_FILTER => './pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB)',
13 + PM_FILTER => './pm_filter $(DESTDIR)$(PREFIX) $(VER) $(PROBABLE_INST_LIB)',
19 > This change certainly looks plausible, but I maintain a package
20 > of ikiwiki in a build system that sets `DESTDIR`, and I've not
21 > noticed any problems there. Would you be willing to do one more
22 > build in your environment without this change, so that we can
23 > understand the problem it's trying to fix? --[[schmonz]]
24 >> 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]]
26 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)`.
29 diff --git a/po/Makefile b/po/Makefile
30 index 5ec4a15..4d1d33e 100644
33 @@ -84,7 +84,7 @@ underlays: ../ikiwiki.out underlays_copy_stamp
34 ../ikiwiki.out -libdir .. -setup underlay.setup -refresh
36 ../ikiwiki.out: ../Makefile
37 - make -C .. ikiwiki.out
38 + $(MAKE) -C .. ikiwiki.out
40 ../Makefile: ../Makefile.PL
41 cd .. && ./Makefile.PL
44 > This change looks more obviously correct, and I understand exactly
45 > I haven't encountered the problem you have (my build system ensures
46 > that `make` gets me `gmake` for ikiwiki). Cherry-picked, with amended
47 > commit message. --[[schmonz]]
49 Note following comments by [[Joey]] via github
51 > These are not mergeable in their current state.
53 > *Pull 'DESTDIR' update to 'Makefile.PL' from mixed-master.*
55 > This doesn't explain
57 > * what the problem was
58 > * how the change fixed it
59 > * why the change is correct
61 >> No, I suppose not; I won't explain. Hopefully the above clarifies. -- [[ttw]]
63 > *Re-merge from 'joeyh' to new, clean head.*
65 > I have no idea what the above commit is doing, but it somehow makes changes to 432 files?!
67 >> 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]]
69 > *Pull the 'po/Makefile' change from the mixed-master.*
71 > 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.
73 >> 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]]
75 > Also, please don't use github pull requests for ikiwiki. Post todo items on ikiwiki.info with a link to your git repository and branches to be merged.
77 >> NP. [[http://github.com/ttw/ikiwiki]]; `master` branch. -- [[ttw]]