Bug 9812

Summary: qtdoc5 just builds a small subset of the qt API documentation
Product: Mageia Reporter: Michael Riss <Michael.Riss>
Component: RPM PackagesAssignee: KDE maintainers <kde>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: Michael.Riss, geiger.david68210, olegbosis
Version: CauldronKeywords: PATCH, Triaged
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: qtdoc5-5.0.2-1.mga3.src.rpm CVE:
Status comment:
Attachments: qtbase5.spec patch to build and package QCH doc files
qtscript5.spec patch to build and package QCH doc files
qttools5.spec patch to build and package QCH doc files

Description Michael Riss 2013-04-20 22:56:04 CEST
Description of problem:

The qtdoc5 package is missing large parts of the API documentation.
This is because the qtdoc5 package just contains the program to
generate the documentation from the rest of the source code. As with qt5 the
source code has been split into separate packages, the source code of all the
other modules is missing => almost no API docs
See also: http://qt-project.org/wiki/Building_Qt_5_Documentation

Solutions that I can think of:
1. include the full source code in the qtdoc5 src rpm
2. - provide packages that are required to build qtdoc5 in 
     binary and *-devel flavors, e.g. qtbase5, qtbase5-devel 
   - then build qtdoc5 with it
   - provide additional src packages for the requirements above with the same
     sources but this time building the documentation with "qdoc", generating
     *-doc packages, e.g. qtbase5-doc
   - provide the rest of the qt5 src packages with a dependency to "qdoc" 
     from qtdoc5 so that they can build binary, *-devel and *-doc packages


Version-Release number of selected component (if applicable):

qtdoc5-5.0.2-1.mga3.src.rpm


How reproducible:

Always.


Steps to Reproduce:
1. install or rebuild+install qtdoc5-5.0.2-1.mga3(.src).rpm
2. install qttools5-assistant-5.0.2-1.mga3
3. start assistant 

=> API documentation is (almost) empty


Reproducible: 

Steps to Reproduce:
Michael Riss 2013-04-20 22:56:19 CEST

CC: (none) => Michael.Riss

Manuel Hiebel 2013-04-21 15:47:11 CEST

Keywords: (none) => Triaged
Assignee: bugsquad => nicolas.lecureuil

Comment 1 Oleg Bosis 2013-12-15 13:39:16 CET
Created attachment 4619 [details]
qtbase5.spec patch to build and package QCH doc files

To build docs in every splitted qt5-sources package there should be 'make docs' command in the specs. Then the docs should be copied to appropriate dir and packaged. But this would only build html docs.
To build QCH doc files it is required to add dependency on qttools5-assistant package that contains qhelpgenerator utility.

I've made changes for three qt5 packages: qtbase, qttools and qtscript.

CC: (none) => olegbosis

Comment 2 Oleg Bosis 2013-12-15 13:40:06 CET
Created attachment 4620 [details]
qtscript5.spec patch to build and package QCH doc files
Comment 3 Oleg Bosis 2013-12-15 13:40:30 CET
Created attachment 4621 [details]
qttools5.spec patch to build and package QCH doc files
Comment 4 Samuel Verschelde 2015-04-23 14:00:32 CEST
Thanks for the patches, sorry it was overlooked. Can you confirm this issue is still valid in Mageia 4 and cauldron?

Keywords: (none) => NEEDINFO, PATCH
CC: (none) => lmenut

Comment 5 Michael Riss 2015-04-23 15:39:06 CEST
I'm looking at Cauldron and it looks like the bug is still valid.
Samuel Verschelde 2015-04-23 15:46:23 CEST

Keywords: NEEDINFO => (none)

Samuel Verschelde 2016-08-25 16:22:56 CEST

Assignee: mageia => kde

Luc Menut 2016-08-25 16:42:31 CEST

CC: lmenut => (none)

Comment 6 David GEIGER 2016-08-31 20:06:33 CEST
So after more than 3 years we can close this bug as it is now fixed :)

http://svnweb.mageia.org/packages?view=revision&revision=1049621

http://svnweb.mageia.org/packages?view=revision&revision=1049622

http://svnweb.mageia.org/packages?view=revision&revision=1049623

Status: NEW => RESOLVED
Resolution: (none) => FIXED
CC: (none) => geiger.david68210

Comment 7 Michael Riss 2016-08-31 20:38:56 CEST
I think I tear up a little bit. *sniff*

:)

Thanks for fixing it!
Comment 8 Oleg Bosis 2016-09-01 18:36:44 CEST
Sorry but I think you're too hasty to close the bug.

First of all I see only three packages fixed. The full list should include the following ones (not sure about qtdoc5 and qtwayland5):

qtbase5-5.6.1-11.mga6.src.rpm
qtcanvas3d5-5.6.1-2.mga6.src.rpm
qtconnectivity5-5.6.1-2.mga6.src.rpm
qtdeclarative5-5.6.1-2.mga6.src.rpm
qtdoc5-5.6.1-2.mga6.src.rpm
qtgraphicaleffects5-5.6.1-2.mga6.src.rpm
qtimageformats5-5.6.1-2.mga6.src.rpm
qtlocation5-5.6.1-2.mga6.src.rpm
qtmultimedia5-5.6.1-2.mga6.src.rpm
qtquick5-5.6.1-0.20160428.1.mga6.src.rpm
qtquickcontrols25-5.6.1-2.mga6.src.rpm
qtquickcontrols5-5.6.1-2.mga6.src.rpm
qtscript5-5.6.1-3.mga6.src.rpm
qtsensors5-5.6.1-2.mga6.src.rpm
qtserialport5-5.6.1-2.mga6.src.rpm
qtsingleapplication-2.6.1-16.mga6.src.rpm
qtsvg5-5.6.1-2.mga6.src.rpm
qttools5-5.6.1-3.mga6.src.rpm
qttranslations5-5.6.1-2.mga6.src.rpm
qtwayland5-5.6.1-2.mga6.src.rpm
qtwebchannel5-5.6.1-2.mga6.src.rpm
qtwebengine5-5.6.1-2.mga6.src.rpm
qtwebkit5-5.6.1-1.mga6.src.rpm
qtwebsockets5-5.6.1-3.mga6.src.rpm
qtx11extras5-5.6.1-2.mga6.src.rpm
qtxmlpatterns5-5.6.1-2.mga6.src.rpm

Second there is no need to *Requires* qt-assistant. QCH doc files are also accessible from Qt Creator (personally I do not use assistant at all) and HTML ones are readable with any web browser. I think Assistant should be *Recommends* instead.

And third I'm not sure but it seems to me that %__make html_docs is redundant because qch_docs also implies building html docs (qch format is just an sqlite database storing html pages and images).

Resolution: FIXED => (none)
Status: RESOLVED => REOPENED

Comment 9 David GEIGER 2016-09-03 13:23:55 CEST
So, should be really fixed now, all packages are done except for the following packages who don't provides docs in their source:

- qtquick5
- qttranslations5
- qtwayland5
- qdoc5 (is already a docs package)
Comment 10 Oleg Bosis 2016-09-03 23:20:57 CEST
Great! Thank you!

There is one more problem with qtbase5-doc.

All the files in /usr/share/doc/qt5/global directory are packaged twice in two different subpackages: qtbase5-doc and qtbase5-common. I do not know why these files are needed in qtbase5-common package but this causes files conflict on attempt to update these packages when both are installed.

Honestly I think qtbase5-common package is a very strange one: it contains both arch-dependent binary plugins in /usr/lib64/qt5/ directory and arch-independent (potentially) profile scripts in /etc directory. This mix makes installing 32-bit plugins on 64-bit system very difficult due to the same package name and even completely impossible due to file conflicts.
Comment 11 David GEIGER 2016-09-04 07:48:01 CEST
hmmmm! :(

Fixed now!
Comment 12 David GEIGER 2016-09-07 21:12:22 CEST
So closing of this bug as Fixed!

Status: REOPENED => RESOLVED
Resolution: (none) => FIXED