e674bb1445
Cleanly fixed case where destdir file failed to be written because there was a directory with the same name. This can be detected with no extra system calls, and dealt with by finding all pages that wrote files inside the directory, and removing them and the directory. The other, inverse case would be expensive to detect in will_render, since it would need to check each parent directory of the file to see if the directory is really a conflicting file. But prep_writefile already does a similar scan for symlinks in the path, so I added code there to remove the conflicting file. This fix assumes that the file is written using writefile, and not some other means (but using other means would be a security hole too, so hopefully nothing does). |
||
---|---|---|
Bundle | ||
IkiWiki | ||
cpan | ||
debian | ||
doc | ||
plugins | ||
po | ||
t | ||
templates | ||
themes | ||
underlays | ||
.gitattributes | ||
.gitignore | ||
.perlcriticrc | ||
CHANGELOG | ||
IkiWiki.pm | ||
Makefile.PL | ||
NEWS | ||
README | ||
auto-blog.setup | ||
auto.setup | ||
docwiki.setup | ||
gitremotes | ||
ikiwiki-calendar.in | ||
ikiwiki-makerepo | ||
ikiwiki-mass-rebuild | ||
ikiwiki-transition.in | ||
ikiwiki-update-wikilist | ||
ikiwiki-w3m.cgi | ||
ikiwiki.in | ||
ikiwiki.spec | ||
mdwn2man | ||
pm_filter | ||
wikilist |
README
Use ./Makefile.PL to generate a Makefile, "make" will build the documentation wiki and a man page, and "make install" will install ikiwiki. All other documentation is in the ikiwiki documentation wiki, which is also available online at <http://ikiwiki.info/> A few special variables you can set while using the Makefile.PL: PROFILE=1 turns on profiling for the build of the doc wiki. (Uses Devel::NYTProf) NOTAINT=0 turns on the taint flag in the ikiwiki program. (Not recommended unless your perl is less buggy than mine -- see http://bugs.debian.org/411786) There are also other variables supported by MakeMaker, including PREFIX, INSTALL_BASE, and DESTDIR. See ExtUtils::MakeMaker(3). In particular, INSTALL_BASE is very useful if you want to install ikiwiki to some other location, as it configures it to see the perl libraries there. See `doc/tips/nearlyfreespeech.mdwn` for an example of using this to install ikiwiki and its dependencies in a home directory.