Control: tags -1 + patch Control: found -1 2026-07-14.a+dfsg-2 Control: severity -1 important
Hi Daniel,
the error is still present in 2026-07-14.a+dfsg-2, and it has one cause
in each package.
libphp-simplepie 1.5.8+dfsg-1 predates the SimplePie\ namespace, which
upstream introduced in 1.7.0, so the class cannot exist with what is in
the archive today. I have uploaded libphp-simplepie 1.9.0+dfsg-1 to
unstable. That is the version DokuWiki 2026-07-14 is written against:
vendor/composer/installed.php records simplepie/simplepie 1.9.0 and
inc/Feed/FeedParserFile.php implements the SimplePie\HTTP\Response
interface, which only exists since 1.9.
On the dokuwiki side, vendor_simplepie.patch only redirects the PSR-0
"SimplePie" entry to /usr/share/php/simplepie/library. The PSR-4
"SimplePie\" entry in autoload_psr4.php and autoload_static.php still
points at vendor/simplepie/simplepie/src, which is stripped from the
package, so SimplePie\SimplePie is never found, whichever libphp-
simplepie is installed. This is also what #1111888 was about: inc_fix-
feedparser.patch turned the fatal error in inc/legacy.php into a
warning by aliasing a class that does not exist (\dokuwiki\FeedParser),
but the FeedParser alias is then never defined and every page embedding
{{rss>...}} still fails. The editor's "syntax" page embeds one, which
is how the reporter hit it without using feeds.
The attached debdiff does three things:
* extends vendor_simplepie.patch so that SimplePie\ maps to
/usr/share/php/simplepie/src (the php-constant-time and php-phpseclib3
patches are refreshed, context lines only);
* drops inc_fix-feedparser.patch, restoring upstream's alias to
\dokuwiki\Feed\FeedParser; * depends on libphp-simplepie (>=
1.9.0+dfsg).
I verified it by building the package with the debdiff applied and
rendering "{{rss>https://www.debian.org/News/news 3}}" through
p_render() with libphp-simplepie 1.9.0+dfsg-1 installed:
SimplePie\SimplePie is loaded from
/usr/share/php/simplepie/src/SimplePie.php and the three items come
out. The same test with the current 2026-07-14.a+dfsg-2 and the new
libphp-simplepie reproduces the error from the report, so the new
library alone is not enough.
Please wait for libphp-simplepie 1.9.0+dfsg-1 to be accepted before
uploading, otherwise the versioned dependency makes dokuwiki
uninstallable in unstable.
Cheers
diff -Nru dokuwiki-2026-07-14.a+dfsg/debian/changelog dokuwiki-2026-07-14.a+dfsg/debian/changelog --- dokuwiki-2026-07-14.a+dfsg/debian/changelog 2026-07-29 23:38:39.000000000 -0300 +++ dokuwiki-2026-07-14.a+dfsg/debian/changelog 2026-09-21 12:28:41.000000000 -0300 @@ -1,3 +1,17 @@ +dokuwiki (2026-07-14.a+dfsg-3) UNRELEASED; urgency=medium + + * Updating vendor_simplepie.patch to also map the SimplePie\ PSR-4 + namespace to the packaged /usr/share/php/simplepie/src, fixing + "Class SimplePie\SimplePie not found" on every page that embeds a + feed (Closes: #1123667). + * Removing inc_fix-feedparser.patch: the alias it introduced points to + a class that does not exist and only hid the missing SimplePie + namespace behind a warning. + * Depending on libphp-simplepie (>= 1.9.0+dfsg), the first version + shipping the namespaced SimplePie\ classes. + + -- Marcelo Jorge Vieira <[email protected]> Mon, 21 Sep 2026 12:30:00 -0300 + dokuwiki (2026-07-14.a+dfsg-2) sid; urgency=medium * Taking over debconf handling for plugins from dokuwiki-templates- diff -Nru dokuwiki-2026-07-14.a+dfsg/debian/control dokuwiki-2026-07-14.a+dfsg/debian/control --- dokuwiki-2026-07-14.a+dfsg/debian/control 2026-07-29 17:36:12.000000000 -0300 +++ dokuwiki-2026-07-14.a+dfsg/debian/control 2026-09-21 12:28:41.000000000 -0300 @@ -19,7 +19,7 @@ libjs-jquery, libjs-jquery-cookie, libjs-jquery-ui, - libphp-simplepie, + libphp-simplepie (>= 1.9.0+dfsg), php, php-constant-time, php-geshi, diff -Nru dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0004-vendor_simplepie.patch dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0004-vendor_simplepie.patch --- dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0004-vendor_simplepie.patch 2026-07-29 16:22:38.000000000 -0300 +++ dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0004-vendor_simplepie.patch 2026-09-21 12:28:40.000000000 -0300 @@ -1,5 +1,11 @@ Author: Mohammed Adnène Trojette <[email protected]> +Author: Marcelo Jorge Vieira <[email protected]> Description: Use packaged version of SimplePie instead of an embedded one. + SimplePie 1.7 and later ship the namespaced SimplePie\ classes under src/ + and keep library/ only as compatibility shims for the old SimplePie_* + names, so both composer mappings have to point at the packaged copy. + With only the PSR-0 entry rewritten, every page that embeds a feed fails + with "Class SimplePie\SimplePie not found" (Closes: #1123667). diff -Naurp dokuwiki.orig/vendor/composer/autoload_namespaces.php dokuwiki/vendor/composer/autoload_namespaces.php --- dokuwiki.orig/vendor/composer/autoload_namespaces.php @@ -12,9 +18,30 @@ + 'SimplePie' => array('/usr/share/php/simplepie/library'), 'EmailAddressValidator' => array($vendorDir . '/aziraphale/email-address-validator'), ); +diff -Naurp dokuwiki.orig/vendor/composer/autoload_psr4.php dokuwiki/vendor/composer/autoload_psr4.php +--- dokuwiki.orig/vendor/composer/autoload_psr4.php ++++ dokuwiki/vendor/composer/autoload_psr4.php +@@ -13,7 +13,7 @@ return array( + 'splitbrain\\JSStrip\\tests\\' => array($vendorDir . '/splitbrain/php-jsstrip/tests'), + 'splitbrain\\JSStrip\\' => array($vendorDir . '/splitbrain/php-jsstrip/src'), + 'phpseclib3\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'), +- 'SimplePie\\' => array($vendorDir . '/simplepie/simplepie/src'), ++ 'SimplePie\\' => array('/usr/share/php/simplepie/src'), + 'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'), + 'PHP81_BC\\strftime\\' => array($vendorDir . '/php81_bc/strftime/src'), + 'LesserPHP\\tests\\' => array($vendorDir . '/splitbrain/lesserphp/tests'), diff -Naurp dokuwiki.orig/vendor/composer/autoload_static.php dokuwiki/vendor/composer/autoload_static.php --- dokuwiki.orig/vendor/composer/autoload_static.php +++ dokuwiki/vendor/composer/autoload_static.php +@@ -78,7 +78,7 @@ class ComposerStaticInita19a915ee98347a0 + ), + 'SimplePie\\' => + array ( +- 0 => __DIR__ . '/..' . '/simplepie/simplepie/src', ++ 0 => '/usr/share/php/simplepie/src', + ), + 'ParagonIE\\ConstantTime\\' => + array ( @@ -111,7 +111,7 @@ class ComposerStaticInita19a915ee98347a0 array ( 'SimplePie' => diff -Nru dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0005-vendor_php-constant-time.patch dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0005-vendor_php-constant-time.patch --- dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0005-vendor_php-constant-time.patch 2026-07-29 16:22:38.000000000 -0300 +++ dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0005-vendor_php-constant-time.patch 2026-09-21 12:28:41.000000000 -0300 @@ -7,7 +7,7 @@ @@ -14,7 +14,7 @@ return array( 'splitbrain\\JSStrip\\' => array($vendorDir . '/splitbrain/php-jsstrip/src'), 'phpseclib3\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'), - 'SimplePie\\' => array($vendorDir . '/simplepie/simplepie/src'), + 'SimplePie\\' => array('/usr/share/php/simplepie/src'), - 'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'), + 'ParagonIE\\ConstantTime\\' => array('/usr/share/php/ParagonIE/ConstantTime'), 'PHP81_BC\\strftime\\' => array($vendorDir . '/php81_bc/strftime/src'), diff -Nru dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0008-vendor_php-phpseclib3.patch dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0008-vendor_php-phpseclib3.patch --- dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0008-vendor_php-phpseclib3.patch 2026-07-29 16:22:38.000000000 -0300 +++ dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0008-vendor_php-phpseclib3.patch 2026-09-21 12:28:41.000000000 -0300 @@ -20,7 +20,7 @@ 'splitbrain\\JSStrip\\' => array($vendorDir . '/splitbrain/php-jsstrip/src'), - 'phpseclib3\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'), + 'phpseclib3\\' => array('/usr/share/php/phpseclib3'), - 'SimplePie\\' => array($vendorDir . '/simplepie/simplepie/src'), + 'SimplePie\\' => array('/usr/share/php/simplepie/src'), 'ParagonIE\\ConstantTime\\' => array('/usr/share/php/ParagonIE/ConstantTime'), 'PHP81_BC\\strftime\\' => array($vendorDir . '/php81_bc/strftime/src'), diff -Naurp dokuwiki.orig/vendor/composer/autoload_static.php dokuwiki/vendor/composer/autoload_static.php diff -Nru dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0014-inc_fix-feedparser.patch dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0014-inc_fix-feedparser.patch --- dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0014-inc_fix-feedparser.patch 2026-07-29 16:22:38.000000000 -0300 +++ dokuwiki-2026-07-14.a+dfsg/debian/patches/debian/0014-inc_fix-feedparser.patch 1969-12-31 21:00:00.000000000 -0300 @@ -1,12 +0,0 @@ -Author: Daniel Baumann <[email protected]> -Description: Correcting internal FeedParser alias (Closes: #1111888). - -diff -Naurp dokuwiki.orig/inc/legacy.php dokuwiki/inc/legacy.php ---- dokuwiki.orig/inc/legacy.php -+++ dokuwiki/inc/legacy.php -@@ -23,4 +23,4 @@ class_alias('\dokuwiki\Extension\SyntaxP - class_alias('\dokuwiki\Parsing\Handler', 'Doku_Handler'); - class_alias('\dokuwiki\Parsing\Parser', 'Doku_Parser'); - --class_alias('\dokuwiki\Feed\FeedParser', 'FeedParser'); -+class_alias('\dokuwiki\FeedParser', 'FeedParser'); diff -Nru dokuwiki-2026-07-14.a+dfsg/debian/patches/series dokuwiki-2026-07-14.a+dfsg/debian/patches/series --- dokuwiki-2026-07-14.a+dfsg/debian/patches/series 2026-07-29 16:22:38.000000000 -0300 +++ dokuwiki-2026-07-14.a+dfsg/debian/patches/series 2026-09-21 12:28:40.000000000 -0300 @@ -11,4 +11,3 @@ debian/0011-conf_subscribers.patch debian/0012-tpl_tidy-footer.patch debian/0013-inc_tidy-init.patch -debian/0014-inc_fix-feedparser.patch
signature.asc
Description: This is a digitally signed message part

