95 lines
2.8 KiB
Markdown
95 lines
2.8 KiB
Markdown
Hi,
|
|
|
|
some operating systems use PREFIX/man instead of PREFIX/share/man as the base
|
|
directory for man pages and PREFIX/libexec/ instead of PREFIX/lib/ for files
|
|
like CGI programs.
|
|
At the moment the location of the installed man pages and the w3m cgi wrapper
|
|
is hard-coded in Makefile.PL.
|
|
The patch below makes it possible to install those files to alternative directories
|
|
while the default stays as it is now.
|
|
|
|
> It should be possible to use the existing MakeMaker variables such as
|
|
> INSTALLMAN1DIR (though MakeMaker lacks one for man8). I'd prefer not
|
|
> adding new variables where MakeMaker already has them. --[[Joey]]
|
|
|
|
[[!tag patch]]
|
|
|
|
<pre>
|
|
|
|
- Introduce two variables, IKI_MANDIR and IKI_W3MCGIDIR, to be set from
|
|
the command line. This enables locations for man pages and the w3m
|
|
cgi wrapper other than the hard-coded defaults in Makefile.PL.
|
|
|
|
--- Makefile.PL.orig 2007-05-20 03:03:58.000000000 +0200
|
|
+++ Makefile.PL
|
|
@@ -3,9 +3,32 @@ use warnings;
|
|
use strict;
|
|
use ExtUtils::MakeMaker;
|
|
|
|
+my %params = ( 'IKI_MANDIR' => '$(PREFIX)/share/man',
|
|
+ 'IKI_W3MCGIDIR' => '$(PREFIX)/lib/w3m/cgi-bin'
|
|
+ );
|
|
+
|
|
+@ARGV = grep {
|
|
+ my ($key, $value) = split(/=/, $_, 2);
|
|
+ if ( exists $params{$key} ) {
|
|
+ $params{$key} = $value;
|
|
+ print "Using $params{$key} for $key.\n";
|
|
+ 0
|
|
+ } else {
|
|
+ 1
|
|
+ }
|
|
+} @ARGV;
|
|
+
|
|
+
|
|
# Add a few more targets.
|
|
sub MY::postamble {
|
|
-q{
|
|
+ package MY;
|
|
+
|
|
+ my $scriptvars = <<"EOSCRIPTVARS";
|
|
+IKI_MANDIR = $params{'IKI_MANDIR'}
|
|
+IKI_W3MCGIDIR = $params{'IKI_W3MCGIDIR'}
|
|
+EOSCRIPTVARS
|
|
+
|
|
+ my $script = q{
|
|
all:: extra_build
|
|
clean:: extra_clean
|
|
install:: extra_install
|
|
@@ -56,23 +79,24 @@ extra_install:
|
|
done; \
|
|
done
|
|
|
|
- install -d $(DESTDIR)$(PREFIX)/share/man/man1
|
|
- install -m 644 ikiwiki.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki.1
|
|
+ install -d $(DESTDIR)$(IKI_MANDIR)/man1
|
|
+ install -m 644 ikiwiki.man $(DESTDIR)$(IKI_MANDIR)/man1/ikiwiki.1
|
|
|
|
- install -d $(DESTDIR)$(PREFIX)/share/man/man8
|
|
- install -m 644 ikiwiki-mass-rebuild.man $(DESTDIR)$(PREFIX)/share/man/ma
|
|
n8/ikiwiki-mass-rebuild.8
|
|
+ install -d $(DESTDIR)$(IKI_MANDIR)/man8
|
|
+ install -m 644 ikiwiki-mass-rebuild.man $(DESTDIR)$(IKI_MANDIR)/man8/iki
|
|
wiki-mass-rebuild.8
|
|
|
|
install -d $(DESTDIR)$(PREFIX)/sbin
|
|
install ikiwiki-mass-rebuild $(DESTDIR)$(PREFIX)/sbin
|
|
|
|
- install -d $(DESTDIR)$(PREFIX)/lib/w3m/cgi-bin
|
|
- install ikiwiki-w3m.cgi $(DESTDIR)$(PREFIX)/lib/w3m/cgi-bin
|
|
+ install -d $(DESTDIR)$(IKI_W3MCGIDIR)
|
|
+ install ikiwiki-w3m.cgi $(DESTDIR)$(IKI_W3MCGIDIR)
|
|
|
|
install -d $(DESTDIR)$(PREFIX)/bin
|
|
install ikiwiki.out $(DESTDIR)$(PREFIX)/bin/ikiwiki
|
|
|
|
$(MAKE) -C po install PREFIX=$(PREFIX)
|
|
-}
|
|
+};
|
|
+ return $scriptvars.$script;
|
|
}
|
|
|
|
WriteMakefile(
|
|
|
|
</pre>
|