summaryrefslogtreecommitdiff
path: root/IkiWiki/Wrapper.pm
AgeCommit message (Collapse)Author
2011-01-05Export three cgi env vars needed for CGI->url to work.Joey Hess
2010-09-26Propigate PATH into wrapper.Joey Hess
In the last version, the ikiwiki script stopped setting PATH. But that leads to gcc failing when run from websetup. See http://www.branchable.com/bugs/Crashes_when_rebuilding_wiki_after_setup_change/
2010-07-24move wrapper building loop into Wrapper.pmJoey Hess
2010-07-01git: Added git_wrapper_background_command option. Can be used to eg, make ↵Joey Hess
the git wrapper push to github in the background after ikiwiki runs.
2010-05-04note that tcc workaround is for bug fixed in tcc nowJoey Hess
2010-03-28use __TINYC__ define to avoid tinyc compat fixes breaking FreeBSDJoey Hess
To review, tcc does not really use environ, so you have to use clearenv there. But POSIX, in their wisdom, didn't standardise clearenv yet, so on FreeBSD, one still needs to manipulate environ on their own. (If you use tcc on FreeBSD, this may leave you unsatisfied.)
2010-03-18Allow wrappers to be built using tcc.Joey Hess
2010-03-18C warning cleanupJoey Hess
2009-10-21avoid -O default for CFLAGS, and documentJoey Hess
2009-10-21Pick up user specified CFLAGS when compiling the wrapper.Giulio Eulisse
(cherry picked from commit 13e9383b48857daa206387f3486eb00e3b171a68)
2009-09-10Merge commit 'schmonz/master' into cvsJoey Hess
2009-09-10Merge branch 'master' into cvsJoey Hess
2009-09-10clean up use of IkiWiki::ReceiveJoey Hess
Loading and use of IkiWiki::Receive can all be pushed into the git plugin, rather than scattered around. I had at first wanted to make a receive plugin and move it there, but a plugin was not a good fit; you don't want users to have to manually load it, and making the git plugin load the receive plugin at the right times would need more, and ugly code.
2009-09-10Catch up to the new genwrapper hook.Amitai Schlair
2009-09-10Merge branch 'master' of git://github.com/joeyh/ikiwikiAmitai Schlair
2009-09-10Add genwrapper hook, that can be used to add code into the C wrapper.Joey Hess
2009-09-09Abstract out CVS's involvement in the wrapper:Amitai Schlair
* In Wrapper.pm, add a new hook "wrapperargcheck" to examine argc/argv and return success or failure. In the failure case, the wrapper terminates. * In cvs.pm, implement the new hook to return failure if a directory is being cvs added.
2009-08-30Only examine argv if the VCS is cvs.Amitai Schlair
2009-08-30The string to match might not be "New directory" exactly, so match thatAmitai Schlair
substring instead.
2009-08-23Instead of passing the args through the wrapper so the CVS pluginAmitai Schlair
can evaluate them, check them in the wrapper right off the bat. This doesn't prevent the deadlock in web commits that need to cvs add directories, but I'm committing so Joey can take a look if he wants.
2009-08-22Pass along wrapper args to ikiwiki, then handle the "cvs add dir"Amitai Schlair
case with a getopt hook directly in my plugin. If the wrapper change is safe, we won't need a wrapper wrapper.
2009-02-09Create any missing directory necessary to put the wrapper file into. Closes: ↵Joey Hess
#514384
2009-02-04doubled semicolonJoey Hess
2009-01-31IkiWiki::Wrapper: allow REDIRECT_STATUS and REDIRECT_URL through from ↵Simon McVittie
environment This is useful to act as an Apache 404 ErrorDocument.
2008-12-17Coding style change: Remove explcit vim folding markers.Joey Hess
2008-11-11make unlockwiki drop the cgilockJoey Hess
This is necessary so that things that fork to the background, like pinger, and inline ping, don't block other cgis from running. Note that websetup also calls unlockwiki, before refreshing / rebuilding the wiki. It makes perfect sense for that not to block other cgis.
2008-11-11O_CREATE needs modeJoey Hess
2008-11-11avoid multiple ikiwiki cgi processes piling up, eating all memory, and thrashingJoey Hess
Fixed by making the cgi wrapper wait on a cgilock. If you had to set apache's MaxClients low to avoid ikiwiki thrashing your server, you can now turn it up to a high value. The downside to this is that a cgi call that doesn't need to call lockwiki will be serialised by this so only one can run at a time. (For example, do=search.) There are few such calls, and all of them call loadindex, so each still eats gobs of memory, so serialising them still seems ok.
2008-10-26do no-op post_commit test in wrapperJoey Hess
This speeds up web commits by 1/4th of a second or so, since perl does not have to start up for the post commit hook. perl's locking is completly FuBar, since it's impossible to tell what perl flock() really does, and thus difficult to write code in other languages that interoperates with perl's locking. (Let alone interoperating with existing fcntl locking from perl...) In this particular case, I think I was able to find a way to avoid the insanity, mostly. The C code does a true flock(2), and if perl is using an incompatable lock method that does not use the same locking primative at the kernel level, then the C code's test will fail, and it will go ahead and run the perl code. Then the perl code's test will test the right thing. On Debian, at least lately, perl's flock() does a true flock(2), so the optimisation does work.
2008-10-26move untrusted committer test into the wrapperJoey Hess
This saves around 1/4th second per trusted commit since ikiwiki doesn't need to start up.
2008-10-24remember how to write C codeJoey Hess
been a while!
2008-10-24export CALLER_UIDJoey Hess
2008-10-13Pass HTTPS variable through the wrapper so that CGI->https can be used by ↵Joey Hess
plugins. Closes: #502047
2008-07-21Avoid troublesome abs_path calls in wrapper setupJoey Hess
As documented in the forum post.
2008-07-11fix use orderingJoey Hess
The recent setup revamp exposed some latent bugs in use/package ordering that caused some symbols to not the exported into the correct scope.
2008-07-11whitespaceJoey Hess
2008-01-29* Removed support for sending commit notification mails. Along with it wentJoey Hess
the svnrepo and notify settings, though both will be ignored if left in setup files.
2008-01-07* Add a prereq on Data::Dumper 2.11 or better, needed to dump q// objects.Joey Hess
2008-01-01* Split error messages for failures to drop real uid and gid.Joey Hess
* Retry dropping uid and gid, possibly this will help with the "Resource temporarily unavailable" failures I've experienced under xen.
2007-11-25* Let CC be used to control what compiler is used to build wrappers.Joey Hess
* Use 'cc' instead of gcc as the default compiler.
2007-11-14* Add wrappergroup config option, which can be used to cause wrappersJoey Hess
to be created owned by some group other than the default. Useful then there's a shared repository with access controlled by a group, to let ikiwiki run setgid to that group. * ikiwiki-mass-rebuild: Run build with the user in all their groups.
2007-07-09 get confused. So it's best for ikiwiki to follow the compatabilityjoey
* Support building on systems that lack asprintf. * mercurial getctime is currently broken, apparently by some change in mercurial version 0.9.4. Turn the failing test case into a TODO test case.
2007-06-03* Fix wrapper generator and untaint code's handling of strings continingjoey
newlines.
2007-01-14fix formatjoey
2007-01-11remove \n from gettexed string, and unfuzzyjoey
2007-01-04added some comments for translatorsjoey
2006-12-29* Initial work on internationalization of the program code. po/ikiwiki.potjoey
is available for translation. * Export gettext() from IkiWiki module.
2006-10-02* Patch from Alec Berryman adding a http_auth config item that allowsjoey
using HTTP Authentication instead of ikiwiki's built in authentication. Useful for eg, large sites with their own previously existing user auth setup. Closes: #384534
2006-09-16* Numerous tla fixes from Clint.joey
2006-09-04man page says I need thisjoey