]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/install/discussion.mdwn
Merge remote-tracking branch 'schmonz/portability'
[git.ikiwiki.info.git] / doc / install / discussion.mdwn
index 28b1eafd7e445a6f86c2c94354e6710fff1133b4..b27cc4bacb13d011dc16aee6243265f0fe132fec 100644 (file)
@@ -250,4 +250,109 @@ Warning: prerequisite HTML::Template 0 not found.
 Warning: prerequisite Mail::Sendmail 0 not found.
 Warning: prerequisite Text::Markdown 0 not found.
 
 Warning: prerequisite Mail::Sendmail 0 not found.
 Warning: prerequisite Text::Markdown 0 not found.
 
-I've tried various combinations of PERL5LIB and PERL_MM_USE_DEFAULT to run this Makefile.PL but I'm not knowledgeable enough in Perl to get it to find the files in ~/.cpan. Thanks for any help!
+CORRECTION 1: I played around with CPAN and got the installation to the point of succeeding with >99% of tests in "make test".
+
+> What was the magic CPAN rune that worked for you? --[[Joey]] 
+
+An attempt of "make install" failed while trying to put files in /etc/IkiWiki but per the output's instructions, I reran "make install" and that seemed to work, until this error, which doesn't seem to be satisfiable:
+
+    Warning: You do not have permissions to install into /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi at /usr/lib/perl5/5.8.8/ExtUtils/Install.pm line 114.
+    Installing /usr/lib/perl5/site_perl/5.8.8/IkiWiki.pm
+    mkdir /usr/lib/perl5/site_perl/5.8.8/IkiWiki: Permission denied at /usr/lib/perl5/5.8.8/ExtUtils/Install.pm line 176
+
+Any suggestions? Whew!
+
+> When you build ikiwiki, try doing it like this to make it
+> install to your home directory. Then you can run `~/bin/ikiwiki`
+> --[[Joey]] 
+
+       perl Makefile.PL INSTALL_BASE=$HOME PREFIX=
+       make
+       make install
+
+---
+
+03 September 2010, Report on successful manual install in Debian 5 (Lenny) AMD64:
+
+note: Maybe much more easy using backports, but using this tools you get a plain user cpan  :)
+
+This where my steps:
+
+As root (#):
+
+        aptitude install build-essential curl perl
+
+
+As plain user ($), I use to install user perl modules using local::lib
+
+        mkdir -p "$HOME/downloads"
+        cd "$HOME/downloads/"
+        wget http://search.cpan.org/CPAN/authors/id/G/GE/GETTY/local-lib-1.006007.tar.gz
+        wget http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/ikiwiki_3.20100831.tar.gz
+        tar -zxf local-lib-1.006007.tar.gz 
+        cd local-lib-1.006007/
+        perl Makefile.PL --bootstrap=~/.perl5
+        make test && make install
+        echo 'eval $(perl -I$HOME/.perl5/lib/perl5 -Mlocal::lib=$HOME/.perl5)' >>~/.bashrc
+        . ~/.bashrc
+        curl -L http://cpanmin.us | perl - App::cpanminus
+        cpanm CGI::FormBuilder
+        cpanm CGI::Session
+        cpanm HTML::Parser
+        cpanm HTML::Template
+        cpanm HTML::Scrubber
+        cpanm Text::Markdown
+        cpanm URI
+        cd ..
+        tar -zxf ikiwiki_3.20100831.tar.gz
+        cd ikiwiki/
+        perl Makefile.PL INSTALL_BASE= PREFIX=/home/$USER/.perl5
+        make test    # All tests successful.
+        make install INSTALL_BASE=/home/$USER/.perl5
+        . ~/.bashrc
+
+Using cpan or cpanm with local::lib, you can install any other dependency, as plain user (in your home). XS modules may need -dev packages.
+
+After all, here it's:
+
+        ikiwiki -version
+        ikiwiki version 3.20100831
+
+It seems like this installation looses the /etc files (we're as plain user), but this can be used as a workaround:
+
+        ikiwiki -setup ~/downloads/ikiwiki/auto.setup
+
+I've not investigated more the /etc files ussage, but does not seems like a good idea to be as plain user...
+
+        /etc/ikiwiki/wikilist does not exist
+        ** Failed to add you to the system wikilist file.
+        ** (Probably ikiwiki-update-wikilist is not SUID root.)
+        ** Your wiki will not be automatically updated when ikiwiki is upgraded.
+
+
+IƱigo
+
+-----
+
+
+Portability fixes encountered while maintaining the pkgsrc package:
+
+* In `IkiWiki::Setup::Standard::gendump()`, generate a shebang
+  matching the current `perl`.
+* In `Makefile.PL`, provide overridable defaults for `SYSCONFDIR`
+  and `MANDIR`.
+* In `Makefile.PL`, use `perl` to bump `ikiwiki.spec` instead of
+  `sed -i`.
+* In `Makefile.PL`, specify more portable options to `cp`.
+
+I've attempted to mergeably patch these in my git, commit
+5c177c96ac98b24aaa0613ca241fb113f1b32c55.
+
+--[[schmonz]]
+
+-----
+
+[[!template id=gitbranch branch=schmonz/portability author="[[schmonz]]"]]
+
+My git was in a screwy state so I started over. These changes are
+now on a branch. --[[schmonz]]