FS#62151 - [mkvtoolnix-cli] broken man pages

Attached to Project: Arch Linux
Opened by Adam Fontenot (amfontenot) - Wednesday, 27 March 2019, 01:21 GMT
Last edited by Maxime Gauduin (Alucryd) - Saturday, 18 January 2020, 14:04 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Maxime Gauduin (Alucryd)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

Mkvtoolnix builds its man pages from the older Docbook 4.5 format instead of 5.0. xsltproc is building the manpages using the regular docbook.xsl, but it needs to use the -nons docbook.xsl from the docbook-xsl package instead.

Additional info:
* mkvtoolnix-cli 32.0.0-1
* docbook-xsl 1.79.2-5

Steps to reproduce:

Try `man mkvmerge` on a system with mkvtoolnix-cli installed and observe that it isn't processed correctly - macros are left visible, etc.

Rebuilding with this addition to ./configure solves the problem for me:

--with-docbook-xsl-root=$(ls -d /usr/share/xml/docbook/xsl-stylesheets-*-nons)

Incidentally I can't build the package with gtest installed, but I assume that's an upstream problem with the tests not building properly.
This task depends upon

Closed by  Maxime Gauduin (Alucryd)
Saturday, 18 January 2020, 14:04 GMT
Reason for closing:  Fixed
Additional comments about closing:  42.0.0-2
Comment by Moritz Bunkus (mbunkus) - Tuesday, 16 April 2019, 07:25 GMT
Upstream author here.

> Incidentally I can't build the package with gtest installed, but I assume that's an upstream problem with the tests not building properly.

My primary development platform is Arch, and I do have gtest installed all the time — MKVToolNix builds just fine with it. However, this isn't the right place to discuss this particular build error. Would you mind opening an issue for that over on Gitlab[1]? Please include configure.log, the output of "grep -i test build-config" and the actual error. Thanks!

[1] https://gitlab.com/mbunkus/mkvtoolnix/issues/
Comment by Moritz Bunkus (mbunkus) - Tuesday, 16 April 2019, 07:53 GMT
BTW, that the man page comes out buggered is new. It only happens since upgrading to docbook-xsl 1.79.2-5; it doesn't when downgrading to 1.79.2-4.

I'll see that configure auto-detects and prioritizes the -nons variant. Until then adding the configure parameter as suggested is the proper workaround.
Comment by Moritz Bunkus (mbunkus) - Tuesday, 16 April 2019, 09:00 GMT Comment by Moritz Bunkus (mbunkus) - Tuesday, 16 April 2019, 11:37 GMT
Adam and I have done a couple of tests over on the MKVToolNix bug tracker[1]. The problem turned out to be that `configure` is run with different arguments twice and no cleanup between the two builds, especially as pre-compiled headers are involved.

Even more important is that the need for two `configure` runs (one with Qt enabled, one with it disabled) isn't there anymore. Nowadays MKVToolNix' CLI programs are always built without linking against Qt, even if Qt is enabled in general and the GUI is built. That's been the case since mkvinfo's GUI component was moved over to MKVToolNix GUI.

I'll attach a new PKGBUILD that does a single `configure` & `rake` run, leaving the two installation functions to do the work required for separating the files into the corresponding packages. The file builds fine for both Adam and me.

[1] https://gitlab.com/mbunkus/mkvtoolnix/issues/2540
Comment by Moritz Bunkus (mbunkus) - Tuesday, 16 April 2019, 11:38 GMT
Updated PKGBUILD:

• `build()` only runs `configure` and `rake` once, with Qt enabled
• `package_mkvtoolnix-cli()` doesn't have to handle mkvinfo specially anymore.
   PKGBUILD (1.4 KiB)
Comment by Lukas (LukeLR) - Sunday, 12 May 2019, 16:11 GMT
man mkvmerge still gives me weird results on my up-to-date system. Is this known and / or expected?
Comment by Adam Fontenot (amfontenot) - Wednesday, 22 May 2019, 05:05 GMT
@LukeLR

Yes it's expected because @alucryd and @voidnull haven't fixed the PKGBUILD yet.

Edit: sorry, you're referring to the man issue, not the other one that got worked on in this bug report. I'm not sure what's going on. I'll look into it.
Comment by Adam Fontenot (amfontenot) - Wednesday, 22 May 2019, 05:57 GMT
OK, so that's weird. Building the program myself using the official PKGBUILD seems to generate the man pages just fine. Some kind of missing MAKEDEPENDS? Maybe @mbunkus could take a look at this.
Comment by Moritz Bunkus (mbunkus) - Wednesday, 22 May 2019, 07:13 GMT
Depending on the MKVToolNix version you're building and the version of docbook-xsl you have installed, you don't actually need to modify the PKGBUILD (anymore). Right after the release of MKVToolNix v33.1.0 I changed configure to look for the "-nons" variant of the stylesheets introduced with docbook-xsl 1.79.2-5. So if you're building the just-released MKVToolNix v34.0.0 with an unmodified PKGBUILD, your man pages should be fine. Same if you're building MKVToolNix v33.1.0 with docbook-xsl 1.79.2-4 installed.

Basically the only thing the package maintainers should need to do in order to fix this issue is bump to MKVToolNix v34.
Comment by Adam Fontenot (amfontenot) - Wednesday, 22 May 2019, 07:20 GMT
@mbunkus Oops, I think you're right. I think I hadn't updated to the newest version of the package. (They bumped it two days ago.)
Comment by Maxime Gauduin (Alucryd) - Saturday, 18 January 2020, 14:04 GMT
Apologies for the extremely late answer, this bug never actually got assigned until now. @mbunkus thanks a lot for the updated PKGBUILD, I just incorporated your changes and pushed a new package.

Loading...