Merge branch 'master' into prefix-directives
authorJosh Triplett <josh@freedesktop.org>
Sun, 10 Feb 2008 07:02:52 +0000 (23:02 -0800)
committerJosh Triplett <josh@freedesktop.org>
Sun, 10 Feb 2008 07:02:52 +0000 (23:02 -0800)
Conflicts:

debian/changelog
templates/change.tmpl

12 files changed:
IkiWiki/Render.pm
debian/README.Debian
debian/changelog
doc/bugs/img_plugin_causes_taint_failure.mdwn [new file with mode: 0644]
doc/git.mdwn
doc/news/version_2.31.mdwn [new file with mode: 0644]
doc/todo/ctime_on_blog_post_pages_.mdwn
doc/todo/wikiwyg/discussion.mdwn
doc/users/Edward_Betts.mdwn
po/ikiwiki.pot
templates/change.tmpl
templates/page.tmpl

index 17b60ee941dc7b789f81871650c54c7279670d7c..2682e13ae5b6e76ac67df22c59319dba07fac51a 100644 (file)
@@ -126,6 +126,7 @@ sub genpage ($$) { #{{{
                backlinks => $backlinks,
                more_backlinks => $more_backlinks,
                mtime => displaytime($pagemtime{$page}),
+               ctime => displaytime($pagectime{$page}),
                baseurl => baseurl($page),
        );
 
@@ -327,9 +328,15 @@ sub refresh () { #{{{
                        }
                        $pagecase{lc $page}=$page;
                        if ($config{getctime} && -e "$config{srcdir}/$file") {
-                               $pagectime{$page}=rcs_getctime("$config{srcdir}/$file");
+                               eval {
+                                       my $time=rcs_getctime("$config{srcdir}/$file");
+                                       $pagectime{$page}=$time;
+                               };
+                               if ($@) {
+                                       print STDERR $@;
+                               }
                        }
-                       elsif (! exists $pagectime{$page}) {
+                       if (! exists $pagectime{$page}) {
                                $pagectime{$page}=mtime(srcfile($file));
                        }
                }
index 9301318123d5ea98d4df1dd78bf48eb4a357e946..cf8bca94e8d86bdb4e2286666222a3941f83bd70 100644 (file)
@@ -1,4 +1,4 @@
-It's a good idea, and in some cases a requirement, to rebuild your wiki
+It's a good idea, and in some cases a requirement, to rebuild your wikis
 when upgrading to a new version of ikiwiki. If you have a lot of different
 wikis on a system, this can be a pain to do by hand, and it's a good idea
 to automate it anyway.
@@ -9,5 +9,10 @@ will run ikiwiki-mass-rebuild if necessary when upgraded. The file
 as the user who owns the wiki. Edit this file and add any wikis you 
 set up.
 
+You can also allow users to maintain their own list of wikis to rebuild,
+by listing their usernames in /etc/ikiwiki/wikilist without corresponding
+setup files.  ikiwiki will then read their lists of wikis from
+.ikiwiki/wikilist in their home directories.
+
 
 The examples directory contains the source to some example wiki setups.
index 7a89ebf4bb87a4ea3dc09a7f544fb7e74bdff7e3..420cef5ad9e0e3a440936f756b4b78c9fc693fdd 100644 (file)
@@ -1,5 +1,18 @@
-ikiwiki (2.31) UNRELEASED; urgency=low
+ikiwiki (2.40) UNRELEASED; urgency=low
 
+  [ Josh Triplett ]
+  * Add new preprocessor directive syntax¸ using a '!' prefix.  Add a
+    prefix_directives option to the setup file to turn this syntax on;
+    currently defaults to false, for backward compatibility.  Support
+    optional '!' prefix even with prefix_directives off, and use that in
+    the underlay to support either setting of prefix_directives.  Add NEWS
+    entry with migration information.
+
+ -- Josh Triplett <josh@freedesktop.org>  Sat, 09 Feb 2008 23:01:19 -0800
+
+ikiwiki (2.31) unstable; urgency=low
+
+  [ Joey Hess ]
   * Revert preservation of input file modification times in output files,
     since this leads to too many problems with web caching, especially with
     inlined pages. Properly solving this would involve tracking every page
@@ -36,16 +49,15 @@ ikiwiki (2.31) UNRELEASED; urgency=low
   * inline: Add new `allowrss` and `allowatom` config options. These can be
     used if you want a wiki that doesn't default to generating rss or atom
     feeds, but that does allow them to be turned on for specific blogs.
+  * Don't die if running with --getctime and rcs_getctime throws an error.
+    There are several cases (recentchanges files, aggregated files)
+    where some source files are not in revision control.
+  * Page templates can now use CTIME to show when the page was created.
 
   [ Josh Triplett ]
-  * Add new preprocessor directive syntax¸ using a '!' prefix.  Add a
-    prefix_directives option to the setup file to turn this syntax on;
-    currently defaults to false, for backward compatibility.  Support
-    optional '!' prefix even with prefix_directives off, and use that in
-    the underlay to support either setting of prefix_directives.  Add NEWS
-    entry with migration information.
+  * README.Debian: Mention user wikilists.
 
- -- Joey Hess <joeyh@debian.org>  Sat, 02 Feb 2008 23:36:31 -0500
+ -- Joey Hess <joeyh@debian.org>  Sat, 09 Feb 2008 23:09:45 -0500
 
 ikiwiki (2.30) unstable; urgency=low
 
diff --git a/doc/bugs/img_plugin_causes_taint_failure.mdwn b/doc/bugs/img_plugin_causes_taint_failure.mdwn
new file mode 100644 (file)
index 0000000..f8def19
--- /dev/null
@@ -0,0 +1,15 @@
+The img plugin causes a taint failure if one tries to link a scaled image, e.g.
+
+    \[[img foo.png size=64x64]]
+
+    .ikiwiki.setup: Insecure dependency in mkdir while running with -T switch at /usr/lib/perl5/vendor_perl/5.8.8/IkiWiki.pm line 360.
+    BEGIN failed--compilation aborted at (eval 5) line 109.
+
+If one omits the size argument it works. And if it worked once the taint failure will not happen again unless one rm -r's the destdir.
+
+Seen with ikiwiki 2.30
+
+> And what version of perl? See [[Insecure_dependency_in_mkdir]] et al.
+> Also, the debian build of ikiwiki has taint checking disabled to avoid
+> this perl bug. Did you build your own? Set NOTAINT=1 when building..
+> --[[Joey]]
index 90f030ab4ab0555e42c9b08a0ef34dcff7da7ed5..6cbc1e489a491953753c9ea985fcb4da033de676 100644 (file)
@@ -21,11 +21,14 @@ own [[patches|patch]].
 Some of the branches included in the main repository include:
 
 * `gallery` contains the [[todo/Gallery]] plugin. It's not yet merged
-  die to license issues.
+  due to license issues.  Also some bits need to be tweaked to make it
+  work with the current *master* branch again.
 * `html` is an unfinished attempt at making ikiwiki output HTML 4.01
   instead of xhtml.
-* `prefix-directives` changes the preprocessor directive syntax. It
-  is approximately one failing test case away from merging.
+
+* `prefix-directives` changes the preprocessor directive syntax.
+  Passes all test cases; pending merge.
+
 * `wikiwyg` adds [[todo/wikiwyg]] support. It is unmerged pending some
   changes.
 * `pristine-tar` contains deltas that
diff --git a/doc/news/version_2.31.mdwn b/doc/news/version_2.31.mdwn
new file mode 100644 (file)
index 0000000..d81e443
--- /dev/null
@@ -0,0 +1,45 @@
+ikiwiki 2.31 released with [[toggle text="these changes"]]
+[[toggleable text="""
+ * [ Joey Hess ]
+   * Revert preservation of input file modification times in output files,
+     since this leads to too many problems with web caching, especially with
+     inlined pages. Properly solving this would involve tracking every page
+     that contributes to a page's content and using the youngest of them all,
+     as well as special cases for things like the version plugin, and it's just
+     too complex to do.
+   * aggregate: Forking a child broke the one state that mattered: Forcing
+     the aggregating page to be rebuilt. Fix this.
+   * cgi hooks are now run before ikiwiki state is loaded.
+   * This allows locking the wiki before loading state, which avoids some
+     tricky locking code when saving a web edit.
+   * poll: This plugin turns out to have edited pages w/o doing any locking.
+     Oops. Convert it from a cgi to a sessioncgi hook, which will work
+     much better.
+   * recentchanges: Improve handling of links on the very static changes pages
+     by thunking to the CGI, which can redirect to the page, or allow it to be
+     created if it doesn't exist.
+   * recentchanges: Exipre all *.\_change pages, even if the directory
+     they're in has changed.
+   * aggregate: Lots of changes; aggregation can now run without locking the
+     wiki, and there is a separate aggregatelock to prevent multiple concurrent
+     aggregation runs.
+   * monotone changes by Brian May:
+     - On commits, replace "mtn sync" bidirectional with "mtn push" single
+       direction. No need to pull changes when doing a commit. mtn sync
+       is still called in rcs\_update.
+     - Support for viewing differences via patches using viewmtn.
+   * inline: When previewing, still call will\_render on rss/atom files,
+     just avoid actually writing the files. This is necessary because ikiwiki
+     saves state after a preview (in case it actually *did* write files),
+     and if will\_render isn't called its security checks will get upset
+     when the page is saved. Thanks to Edward Betts for his help tracking this
+     tricky bug down.
+   * inline: Add new `allowrss` and `allowatom` config options. These can be
+     used if you want a wiki that doesn't default to generating rss or atom
+     feeds, but that does allow them to be turned on for specific blogs.
+   * Don't die if running with --getctime and rcs\_getctime throws an error.
+     There are several cases (recentchanges files, aggregated files)
+     where some source files are not in revision control.
+   * Page templates can now use CTIME to show when the page was created.
+ * [ Josh Triplett ]
+   * README.Debian: Mention user wikilists."""]]
\ No newline at end of file
index 4fd099d9d2ef4875de0f91e39922cb94726b0c5c..d75dcd93256ae597a74151003503fced116bec28 100644 (file)
@@ -3,3 +3,7 @@
 The user has to look at the history link to find when a blog item was posted.
 
 It would be nice if blog entry post pages could include the ctime. -- [[Edward_Betts]]
+
+> I've committed a change that adds a CTIME variable to page.tmpl. I left
+> it commented out in the default template, since it seems like a bit of
+> clutter to me. Good enough? --[[Joey]]
index 78da75c3852867b38edeefd1fdf289c958bae97c..ef6f6cd59402280f0ca03f3a786b121fc14dbe48 100644 (file)
@@ -155,3 +155,12 @@ merge it into ikiwiki. --[[Joey]
 
 
 [Revision 3840]: http://ikiwiki.info/cgi-bin/viewvc.cgi?view=rev&root=ikiwiki&revision=3840
+
+
+None of the links for the WYSIWYG editor work anymore.  Does anyone have an up to date link?
+Thanks, [[Greg]]
+
+> There's a branch in [[git]] for the wikiwyg stuff, which includes
+> the latest version I sucked in from TaylorKillian's svn repository before
+> it went offline. Disapponted that nothing seems to be moving here.
+> --[[Joey]]
index 8653c33c25d946126f089b90a676a4b523f9d2a7..9b543562899d7ccad20508e2500a730ce90ddf40 100644 (file)
@@ -1,4 +1,4 @@
 My watchlist:
 
-[[inline pages="todo/allow_wiki_syntax_in_commit_messages" archive="yes" sort="mtime" atom="yes"]]
+[[inline pages="todo/allow_wiki_syntax_in_commit_messages todo/shortcut_with_different_link_text" archive="yes" sort="mtime" atom="yes"]]
 
index 62810a687c68546049d56ab983be6659f38b0ce2..5fc00d93aefbd67da13e89c3683b909dcad60b4f 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-02-03 16:05-0500\n"
+"POT-Creation-Date: 2008-02-09 23:08-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -45,89 +45,89 @@ msgstr ""
 msgid "%s is not an editable page"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:384 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:242 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:95
-#: ../IkiWiki/Render.pm:175
+#: ../IkiWiki/Render.pm:176
 msgid "discussion"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:429
+#: ../IkiWiki/CGI.pm:431
 #, perl-format
 msgid "creating %s"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
-#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:554
+#: ../IkiWiki/CGI.pm:449 ../IkiWiki/CGI.pm:467 ../IkiWiki/CGI.pm:477
+#: ../IkiWiki/CGI.pm:511 ../IkiWiki/CGI.pm:555
 #, perl-format
 msgid "editing %s"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:643
+#: ../IkiWiki/CGI.pm:644
 msgid "You are banned."
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:100
+#: ../IkiWiki/Plugin/aggregate.pm:101
 #, perl-format
 msgid "missing %s parameter"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:127
+#: ../IkiWiki/Plugin/aggregate.pm:128
 msgid "new feed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:141
+#: ../IkiWiki/Plugin/aggregate.pm:142
 msgid "posts"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:143
+#: ../IkiWiki/Plugin/aggregate.pm:144
 msgid "new"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:307
+#: ../IkiWiki/Plugin/aggregate.pm:309
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:314
+#: ../IkiWiki/Plugin/aggregate.pm:316
 #, perl-format
 msgid "expiring %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:343
+#: ../IkiWiki/Plugin/aggregate.pm:345
 #, perl-format
 msgid "processed ok at %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:347
+#: ../IkiWiki/Plugin/aggregate.pm:349
 #, perl-format
 msgid "checking feed %s ..."
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:352
+#: ../IkiWiki/Plugin/aggregate.pm:354
 #, perl-format
 msgid "could not find feed at %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:367
+#: ../IkiWiki/Plugin/aggregate.pm:369
 msgid "feed not found"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:378
+#: ../IkiWiki/Plugin/aggregate.pm:380
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:384
+#: ../IkiWiki/Plugin/aggregate.pm:386
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:390
+#: ../IkiWiki/Plugin/aggregate.pm:392
 msgid "feed crashed XML::Feed!"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:464
+#: ../IkiWiki/Plugin/aggregate.pm:466
 #, perl-format
 msgid "creating new page %s"
 msgstr ""
@@ -200,29 +200,29 @@ msgstr ""
 msgid "failed to determine size of image %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:42
+#: ../IkiWiki/Plugin/inline.pm:44
 msgid "Must specify url to wiki with --url when using --rss or --atom"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:135
+#: ../IkiWiki/Plugin/inline.pm:136
 #, perl-format
 msgid "unknown sort type %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:200
+#: ../IkiWiki/Plugin/inline.pm:201
 msgid "Add a new post titled:"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:216
+#: ../IkiWiki/Plugin/inline.pm:217
 #, perl-format
 msgid "nonexistant template %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:99
+#: ../IkiWiki/Plugin/inline.pm:250 ../IkiWiki/Render.pm:99
 msgid "Discussion"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:463
+#: ../IkiWiki/Plugin/inline.pm:468
 msgid "RPC::XML::Client not found, not pinging"
 msgstr ""
 
@@ -512,47 +512,47 @@ msgstr ""
 msgid "getctime not implemented"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:273 ../IkiWiki/Render.pm:294
+#: ../IkiWiki/Render.pm:274 ../IkiWiki/Render.pm:295
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:343
+#: ../IkiWiki/Render.pm:350
 #, perl-format
 msgid "removing old page %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:384
+#: ../IkiWiki/Render.pm:391
 #, perl-format
 msgid "scanning %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:389
+#: ../IkiWiki/Render.pm:396
 #, perl-format
 msgid "rendering %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:410
+#: ../IkiWiki/Render.pm:417
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:431
+#: ../IkiWiki/Render.pm:438
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:470
+#: ../IkiWiki/Render.pm:477
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:482
+#: ../IkiWiki/Render.pm:489
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:508
+#: ../IkiWiki/Render.pm:515
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr ""
@@ -620,11 +620,11 @@ msgstr ""
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:127
+#: ../IkiWiki.pm:129
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 
-#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
+#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
 msgid "Error"
 msgstr ""
 
@@ -632,7 +632,7 @@ msgstr ""
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:750
+#: ../IkiWiki.pm:752
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
index 184d8dc2d94f116b905bdb78e4cc5827db4ca08d..e476a7439b65c20e0ee37e6fb9ddccf3ee2f5b0c 100644 (file)
@@ -2,7 +2,7 @@
 <TMPL_IF AUTHORURL>
 [[!meta authorurl="""<TMPL_VAR AUTHORURL>"""]]
 </TMPL_IF>
-[[!meta title="""update of <TMPL_VAR WIKINAME>'s<TMPL_LOOP NAME="PAGES"> <TMPL_VAR PAGE></TMPL_LOOP>"""]]
+[[!meta title="""change to<TMPL_LOOP NAME="PAGES"> <TMPL_VAR PAGE></TMPL_LOOP> on <TMPL_VAR WIKINAME>"""]]
 <div class="metadata">
 <span class="desc"><br />Changed pages:</span>
 <span class="pagelinks">
index 3a1ac9ef882361a3aa7869fa27439642d0d0e5c5..249ee2efbd2d7f16da4b3140ce685c879bfc8730 100644 (file)
@@ -104,6 +104,7 @@ License: <TMPL_VAR LICENSE>
 
 <div class="pagedate">
 Last edited <TMPL_VAR NAME=MTIME>
+<!-- Created <TMPL_VAR NAME=CTIME> -->
 </div>
 
 </div>