Bug#1017109: issue building the /*/devel/website/stats/*.wml files with Debian 11's wml version
Laura Arjona Reina <[email protected]>
| Newsgroups | gmane.linux.debian.devel.www |
|---|---|
| Message-ID | <416e9a98-7fd5-ed57-3e30-6485443b5953__39483.9609436289$1660435772$gmane$org@debian.org> |
Package: www.debian.org User: [email protected] Usertag: scripts Severity: normal X-Debbugs-CC: [email protected] Hello all After upgrading www-master from Debian 10 buster (wml 2.12.2) to Debian 11 bullseye (wml 2.32.0), we're experiencing an issue when building the stats files for the website: make[4]: Entering directory '/srv/www.debian.org/webwml/english/devel/website/stats' wml -q -D CUR_YEAR=2022 -o UNDEFuEN:ar.en.html@g+w -D CUR_LANG=English -D CUR_ISO_LANG=en -D CUR_LOCALE=en_US.UTF-8 -D CHARSET=utf-8 \ ../../../../english/devel/website/stats/ar.wml ePerl:Error: Perl runtime error (interpreter rc=2) ---- Contents of STDERR channel: --------- couldn't open ./../../../../index.wml or /srv/www.debian.org/webwml/english/devel/website/stats/../../../../index.wml: No such file or directory Died at /tmp/kZRxwsy3aN/wml.tmp1 line 747. ------------------------------------------ ** WML:Break: Error in Pass 3 (rc=1). Died at /usr/share/wml/TheWML/Frontends/Wml/Runner.pm line 402. TheWML::Frontends::Wml::Runner::_run_pass(TheWML::Frontends::Wml::Runner=HASH(0x55c872bf8850), 3, SCALAR(0x55c8731471c8), REF(0x55c873147198), REF(0x55c8731471b0)) called at /usr/share/wml/TheWML/Frontends/Wml/Runner.pm line 440 TheWML::Frontends::Wml::Runner::_passes_loop(TheWML::Frontends::Wml::Runner=HASH(0x55c872bf8850)) called at /usr/share/wml/TheWML/Frontends/Wml/Runner.pm line 727 TheWML::Frontends::Wml::Runner::_output_and_cleanup(TheWML::Frontends::Wml::Runner=HASH(0x55c872bf8850)) called at /usr/share/wml/TheWML/Frontends/Wml/Runner.pm line 932 TheWML::Frontends::Wml::Runner::run_with_ARGV(TheWML::Frontends::Wml::Runner=HASH(0x55c872bf8850), HASH(0x55c872df9390)) called at /usr/bin/wml line 47 make[4]: *** [Makefile:33: ar.en.html] Error 2 make[4]: Leaving directory '/srv/www.debian.org/webwml/english/devel/website/stats' make[3]: [../../../Makefile.common:84: stats-install] Error 2 (ignored) make[3]: Leaving directory '/srv/www.debian.org/webwml/english/devel/website' The error happens with all the files in the "stats" folder, in all the languages. I have checked that the source wml files (created with the script stattrans.pl) are similar with buster and bullseye. It seems the problem is in how the file is referenced when passed to wml: if I try to build the file like this: wml -q -D CUR_YEAR=2022 -o UNDEFuEN:ar.en.html@g+w -D CUR_LANG=English -D CUR_ISO_LANG=en -D CUR_LOCALE=en_US.UTF-8 -D CHARSET=utf-8 ar.wml then it builds fine. If I try wml -q -D CUR_YEAR=2022 -o UNDEFuEN:ar.en.html@g+w -D CUR_LANG=English -D CUR_ISO_LANG=en -D CUR_LOCALE=en_US.UTF-8 -D CHARSET=utf-8 ../stats/ar.wml again it builds fine, the same with ../../../devel/website/stats/ar.wml but it fails when the file is referenced as "../../../../english/devel/website/stats/ar.wml" I am not sure if this happens because with that path are two .wmlrc files involved, or because the new wml version is buggy about how it handles long relative paths. For now, I suggest to workaround the issue changing the corresponding line in the english/devel/website/stats/Makefile: -%.$(LANGUAGE).html: $(ENGLISHDIR)/$(CUR_DIR)/%.wml $(LOCALEDIR)/stats.mo | $(VCSREVCACHE) +%.$(LANGUAGE).html: %.wml $(LOCALEDIR)/stats.mo | $(VCSREVCACHE) then the English folders builds fine, but we would need to create symbolic links in the other languages /devel/website/stats, in a similar way as it was done with the sitemap.wml in bug #924172, so they can be built too. I don't know how to do this, though, I've added this code to /english/devel/website/stats/Makefile: ifneq "$(LANGUAGE)" "en" %.wml: $(shell ln -s $(ENGLISHDIR)/$(CUR_DIR)/*.wml .) endif prior to the %.$(LANGUAGE).html recipe, and it seems it works for all languages except Chinese (variants): wml -q -D CUR_YEAR=2022 -O1 -o UNDEFuZH@uCNuCNHKuCNTW:ar.zh-cn.html.tmp@g+w -o UNDEFuZH@uHKuCNHKuHKTWuTWHK:ar.zh-hk.html.tmp@g+w -o UNDEFuZH@uTWuCNTWuHKTWuTWHK:ar.zh-t w.html.tmp@g+w --prolog=../../../bin/format_zh.pl --epilog=../../../bin/strip_initial_blank_line.sh -D CUR_LANG=Chinese -D CUR_ISO_LANG=zh -D CUR_LOCALE=zh_CN.UTF-8 -D CHARSET=UTF-8 \ ar.wml Can't call method "Clone" on an undefined value at /usr/share/wml/SliceTermParser.pm line 285. SliceTermParser::__ANON__(TheWML::Backends::Slice::Main=HASH(0x564e54d0cec8), HASH(0x564e54d0cf88)) called at /usr/share/wml/TheWML/Backends/Slice/Main.pm line 600 TheWML::Backends::Slice::Main::pass3(TheWML::Backends::Slice::Main=HASH(0x564e54d0cec8)) called at /usr/share/wml/TheWML/Backends/Slice/Main.pm line 650 TheWML::Backends::Slice::Main::main(TheWML::Backends::Slice::Main=HASH(0x564e54d0cec8)) called at /usr/share/wml/TheWML/Frontends/Wml/PassesManager.pm line 291 TheWML::Frontends::Wml::PassesManager::__ANON__("-o", "UNDEFuZH\@uCNuCNHKuCNTW:ar.zh-cn.html.tmp\@g+w", "-o", "UNDEFuZH\@uHKuCNHKuHKTWuTWHK:ar.zh-hk.html.tmp\@ g+w", "-o", "UNDEFuZH\@uTWuCNTWuHKTWuTWHK:ar.zh-tw.html.tmp\@g+w", "-o", "/tmp/yNBXp5m6Qz/wml.tmp2", ...) called at /usr/share/wml/TheWML/Frontends/Wml/PassObj.pm line 85 TheWML::Frontends::Wml::PassObj::dosource(TheWML::Frontends::Wml::PassObj=HASH(0x564e54622fb0), TheWML::Frontends::Wml::PassesManager=HASH(0x564e545526b8), "/u sr/share/wml/exec/wml_p9_slice", " -o 'UNDEFuZH\@uCNuCNHKuCNTW:ar.zh-cn.html.tmp\@g+w' -o 'UNDEF"..., CODE(0x564e54a34528)) called at /usr/share/wml/TheWML/Frontends/ Wml/PassesManager.pm line 148 TheWML::Frontends::Wml::PassesManager::_generic_do(TheWML::Frontends::Wml::PassesManager=HASH(0x564e545526b8), 9, "wml_p9_slice", " -o 'UNDEFuZH\@uCNuCNHKuCNT W:ar.zh-cn.html.tmp\@g+w' -o 'UNDEF"..., Path::Tiny=ARRAY(0x564e54a70b90), Path::Tiny=ARRAY(0x564e54bc8df0), CODE(0x564e54a34528)) called at /usr/share/wml/TheWML/Fron tends/Wml/PassesManager.pm line 293 TheWML::Frontends::Wml::PassesManager::pass9(TheWML::Frontends::Wml::PassesManager=HASH(0x564e545526b8), " -o 'UNDEFuZH\@uCNuCNHKuCNTW:ar.zh-cn.html.tmp\@g+w' -o 'UNDEF"..., Path::Tiny=ARRAY(0x564e54a70b90), Path::Tiny=ARRAY(0x564e54bc8df0), Path::Tiny=ARRAY(0x564e54bc89b8)) called at /usr/share/wml/TheWML/Frontends/Wml/Pas sesManager.pm line 86 TheWML::Frontends::Wml::PassesManager::__ANON__(TheWML::Frontends::Wml::PassesManager=HASH(0x564e545526b8), " -o 'UNDEFuZH\@uCNuCNHKuCNTW:ar.zh-cn.html.tmp\@g +w' -o 'UNDEF"..., Path::Tiny=ARRAY(0x564e54a70b90), Path::Tiny=ARRAY(0x564e54bc8df0), Path::Tiny=ARRAY(0x564e54bc89b8)) called at /usr/share/wml/TheWML/Frontends/Wml/ Runner.pm line 380 TheWML::Frontends::Wml::Runner::_run_pass(TheWML::Frontends::Wml::Runner=HASH(0x564e545524f0), 9, SCALAR(0x564e54a9f108), REF(0x564e54a9f0d8), REF(0x564e54a9f0 f0)) called at /usr/share/wml/TheWML/Frontends/Wml/Runner.pm line 440 TheWML::Frontends::Wml::Runner::_passes_loop(TheWML::Frontends::Wml::Runner=HASH(0x564e545524f0)) called at /usr/share/wml/TheWML/Frontends/Wml/Runner.pm line 727 TheWML::Frontends::Wml::Runner::_output_and_cleanup(TheWML::Frontends::Wml::Runner=HASH(0x564e545524f0)) called at /usr/share/wml/TheWML/Frontends/Wml/Runner.p m line 932 TheWML::Frontends::Wml::Runner::run_with_ARGV(TheWML::Frontends::Wml::Runner=HASH(0x564e545524f0), HASH(0x564e546cbf10)) called at /usr/bin/wml line 47 I'll leave things like this, I hope somebody can help to fix this issue, if not, I'll give a second thought/try in the following days. Kind regards, -- Laura Arjona Reina https://wiki.debian.org/LauraArjona