Package: ikiwiki
Version: 3.20140613
Severity: important
Tags: patch
For the benefit of users not following the ikiwiki bug tracker, I'm
reporting
http://ikiwiki.info/bugs/Please_update_highlight_plugin_for_highlight_3.18/
here.
To be more precise with highlight 3.18, ikiwiki stops during the
initial configuration phase:
╭─ maritornes:~/software/debian/highlight
╰─ (git)-[master]-% ikiwiki --setup ~/config/ikiwiki/client.setup
Use of the encoding pragma is deprecated at /usr/share/perl5/Convert/YText.pm
line 11.
Can't locate object method "getConfDir" via package "highlight::DataDir" at
/usr/share/perl5/IkiWiki/Plugin/highlight.pm line 63.
I confirmed with highlight upstream that the API change will need to
be worked around; since libhighlight-perl is just a swig-generated
wrapper for the highlight routines, it isn't really feasible to do it
there.
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.14-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages ikiwiki depends on:
ii libhtml-parser-perl 3.71-1+b1
ii libhtml-scrubber-perl 0.11-1
ii libhtml-template-perl 2.95-1
ii libjson-perl 2.61-1
ii libtext-markdown-discount-perl 0.11-1
ii liburi-perl 1.60-1
ii libyaml-libyaml-perl 0.41-5
ii perl 5.18.2-7
Versions of packages ikiwiki recommends:
ii bzr 2.6.0+bzr6595-1
ii darcs 2.8.4-3+b2
ii gcc [c-compiler] 4:4.9.0-4
ii gcc-4.6 [c-compiler] 4.6.4-7
ii gcc-4.9 [c-compiler] 4.9.0-7
ii git [git-core] 1:2.0.1-1
ii git-core 1:2.0.1-1
ii libauthen-passphrase-perl 0.008-1
ii libc6-dev [libc-dev] 2.19-7
ii libcgi-formbuilder-perl 3.08-2
ii libcgi-session-perl 4.48-1
ii libcrypt-ssleay-perl 0.58-1+b1
ii libgravatar-url-perl 1.06-1
ii liblwpx-paranoidagent-perl 1.10-3
ii libmail-sendmail-perl 0.79.16-1
ii libnet-openid-consumer-perl 1.15-1
ii librpc-xml-perl 0.78-1
ii libterm-readline-gnu-perl 1.24-2
ii libtimedate-perl 2.3000-2
ii libxml-simple-perl 2.20-1
ii mercurial 3.0.1-1
ii subversion 1.8.9-1
Versions of packages ikiwiki suggests:
ii dvipng 1.14-2
ii file 1:5.19-1
ii gettext 0.18.3.2-3
ii graphviz 2.26.3-17.1
ii libfile-mimeinfo-perl 0.26-1
ii libhighlight-perl 3.18-2
ii libhtml-tree-perl 5.03-1
ii liblocale-gettext-perl 1.05-8
ii libmailtools-perl 2.12-1
pn libnet-amazon-s3-perl <none>
pn libnet-inet6glue-perl <none>
pn libsearch-xapian-perl <none>
ii libsort-naturally-perl 1.03-1
pn libsparkline-php <none>
ii libtext-csv-perl 1.32-1
pn libtext-multimarkdown-perl <none>
pn libtext-textile-perl <none>
pn libtext-typography-perl <none>
pn libtext-wikicreole-perl <none>
pn libtext-wikiformat-perl <none>
pn libxml-feed-perl <none>
ii libxml-writer-perl 0.625-1
ii perlmagick 8:6.7.7.10+dfsg-4
pn po4a <none>
pn polygen <none>
ii python 2.7.6-2
ii python-docutils 0.11-3
ii texlive 2014.20140626-1
pn tidy <none>
pn viewvc | gitweb | viewcvs <none>
pn xapian-omega <none>
-- no debconf information
>From a55a20f5f879b11ce1ac2e7c72ca7c3f7dea6a9b Mon Sep 17 00:00:00 2001
From: David Bremner <[email protected]>
Date: Mon, 4 Aug 2014 11:35:03 -0300
Subject: [PATCH 1/2] cope with missing getConfDir in 3.18+ of highlight.
Unfortunately we have to try a couple things since the API changed
between 3.9 and 3.18
---
IkiWiki/Plugin/highlight.pm | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/IkiWiki/Plugin/highlight.pm b/IkiWiki/Plugin/highlight.pm
index fbe7ddf..0aa7386 100644
--- a/IkiWiki/Plugin/highlight.pm
+++ b/IkiWiki/Plugin/highlight.pm
@@ -60,9 +60,17 @@ sub checkconfig () {
}
if (! exists $config{filetypes_conf}) {
- $config{filetypes_conf}=
- ($data_dir ? $data_dir->getConfDir() : "/etc/highlight/")
- . "filetypes.conf";
+ if (! $data_dir ) {
+ $config{filetypes_conf}= "/etc/highlight/filetypes.conf";
+ } elsif ( $data_dir -> can('searchFile') ) {
+ # 3.18 +
+ $config{filetypes_conf}=
+ $data_dir -> searchFile("filetypes.conf");
+ } else {
+ # 3.9 +
+ $config{filetypes_conf}=
+ $data_dir -> getConfDir() . "/filetypes.conf";
+ }
}
if (! exists $config{langdefdir}) {
$config{langdefdir}=
--
2.0.1