kde5.eclass: Relocate KDE_INSTALL_DOCBUNDLEDIR to /usr/share/help
authorAndreas Sturmlechner <asturm@gentoo.org>
Mon, 28 Jan 2019 19:29:12 +0000 (20:29 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Thu, 7 Feb 2019 12:59:56 +0000 (13:59 +0100)
These are handbook files installed by hundreds of packages to a
central location, to be accessed by KDE Helpcenter application,
with compressed index cache files.

This leads to the following QA issues on every package w/ USE handbook:
* The ebuild is installing to one or more unexpected paths
* One or more compressed files were found in docompress-ed directories

We'll use the EAPI-7 transition to move the location from previously
/usr/share/doc/HTML to /usr/share/help [1]. Transition for khelpcenter
will be seemless as kde-frameworks/kdoctools can be easily patched to
accept both locations, until eventually /usr/share/doc/HTML is empty.

As a side-effect, we will be able to drop the workaround for disabling
auto compression of files beneath /usr/share/doc together with EAPI-6.

[1] See also: https://www.freedesktop.org/wiki/Specifications/help-system/
    It is also the path upstream intends to migrate to in the future.

Bug: https://bugs.gentoo.org/667138
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
eclass/kde5.eclass

index 68bf7b6201b995a3938e6114190543989fcedcc0..e3c4bc9c9231d6d0c4304cb37f18e93f25d321c3 100644 (file)
@@ -636,6 +636,8 @@ kde5_src_configure() {
                        # install mkspecs in the same directory as qt stuff
                        -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
                )
+               # move handbook outside of doc dir for at least two QA warnings, bug 667138
+               [[ ${EAPI} != 6 ]] && cmakeargs+=( -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" )
        fi
 
        # allow the ebuild to override what we set here
@@ -704,10 +706,13 @@ kde5_src_install() {
                docompress -x /usr/share/doc/qt-${pv}
        fi
 
-       # We don't want /usr/share/doc/HTML to be compressed,
-       # because then khelpcenter can't find the docs
-       if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then
-               docompress -x /usr/share/doc/HTML
+       if [[ ${EAPI} = 6 ]]; then
+               # We don't want /usr/share/doc/HTML to be compressed,
+               # because then khelpcenter can't find the docs
+               #todo: clean up trailing slash check when EAPI <7 is removed
+               if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then
+                       docompress -x /usr/share/doc/HTML
+               fi
        fi
 }