]> sipb.mit.edu Git - ikiwiki.git/blob - doc/todo/Add_DESTDIR_to_the___39__pm__95__filter__39___and_use_MAKE_in___39__po__47__Makefile__39__.mdwn
Create new TODO for minor makefile patches
[ikiwiki.git] / doc / todo / Add_DESTDIR_to_the___39__pm__95__filter__39___and_use_MAKE_in___39__po__47__Makefile__39__.mdwn
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.
2
3 [[!format diff """
4 diff --git a/Makefile.PL b/Makefile.PL
5 index 5b0eb74..94adb0f 100755
6 --- a/Makefile.PL
7 +++ b/Makefile.PL
8 @@ -194,7 +194,7 @@ coverage:
9  WriteMakefile(
10         NAME            => 'IkiWiki',
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)',
14         MAN1PODS        => {},
15         PREREQ_PM       => {
16                 'XML::Simple'           => "0",
17 """]]
18
19 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)`.
20
21 [[!format diff """
22 diff --git a/po/Makefile b/po/Makefile
23 index 5ec4a15..4d1d33e 100644
24 --- a/po/Makefile
25 +++ b/po/Makefile
26 @@ -84,7 +84,7 @@ underlays: ../ikiwiki.out underlays_copy_stamp
27         ../ikiwiki.out -libdir .. -setup underlay.setup -refresh
28  
29  ../ikiwiki.out: ../Makefile
30 -       make -C .. ikiwiki.out
31 +       $(MAKE) -C .. ikiwiki.out
32  
33  ../Makefile: ../Makefile.PL
34         cd .. && ./Makefile.PL
35 """]]
36
37 Note following comments by [[Joey]] via github
38
39 > These are not mergeable in their current state.
40 >
41 > *Pull 'DESTDIR' update to 'Makefile.PL' from mixed-master.*
42 >
43 > This doesn't explain
44 >
45 > * what the problem was
46 > * how the change fixed it
47 > * why the change is correct
48
49 >> No, I suppose not; I won't explain.  Hopefully the above clarifies.  -- [[ttw]]
50
51 > *Re-merge from 'joeyh' to new, clean head.*
52 >
53 > I have no idea what the above commit is doing, but it somehow makes changes to 432 files?!
54
55 >> 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]]
56
57 > *Pull the 'po/Makefile' change from the mixed-master.*
58 >
59 > 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.
60
61 >> 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]]
62
63 > 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.
64
65 >> NP.  [[http://github.com/ttw/ikiwiki]]; `master` branch. -- [[ttw]]