Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 602296 - dev-qt/assistant-5.x should depend on dev-qt/qt-docs at least optionally
Summary: dev-qt/assistant-5.x should depend on dev-qt/qt-docs at least optionally
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Qt Bug Alias
Depends on:
Reported: 2016-12-10 20:16 UTC by Evan Teran
Modified: 2018-11-18 08:39 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Evan Teran 2016-12-10 20:16:38 UTC
For quite a while, I had been wondering why my system which has both Qt4 and Qt5 development environments installed always had no documentation for Qt5 installed when I would open up the Qt5 version of assistant.

Recently, I realized that I simply needed to install the dev-qt/qt-docs ebuild and it would work perfectly.

So I propose simply modifying the dev-qt/assistant/5.x ebuilds to have the following DEPEND line added:

doc ? ( ~dev-qt/qt-docs-${PV} )

Since it seems to me that if you install the assistant, there is a nearly 100% chance that you also want it to have documentation to display.

Reproducible: Always

Steps to Reproduce:
$ emerge dev-qt/assistant:5
$ /usr/lib64/qt5/bin/assistant
Actual Results:  
No documentation displayed unless dev-qt/qt-docs is also emerged

Expected Results:  
I would expect that dev-qt/assistant would pull in the documentation if not always, at least based on the doc USE flag.

# emerge --info
Portage 2.3.0 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-5.4.0, glibc-2.23-r3, 4.8.12-gentoo x86_64)
System uname: Linux-4.8.12-gentoo-x86_64-Intel-R-_Core-TM-_i7-4800MQ_CPU_@_2.70GHz-with-gentoo-2.2
KiB Mem:    16419436 total,   6320536 free
KiB Swap:   16777212 total,  16777212 free
Timestamp of repository gentoo: Sat, 10 Dec 2016 19:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.22.4::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.4.0::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.7::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo

    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://
    priority: -1000

    location: /var/lib/layman/vmware
    masters: gentoo
    priority: 0

    location: /home/eteran/projects/gentoo-overlay
    masters: gentoo
    priority: 1

CFLAGS="-march=native -O2 -finline-functions -ftree-loop-vectorize -ftree-slp-vectorize -funswitch-loops -ftree-loop-distribute-patterns -ftree-loop-distribution -pipe -ggdb"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -finline-functions -ftree-loop-vectorize -ftree-slp-vectorize -funswitch-loops -ftree-loop-distribute-patterns -ftree-loop-distribution -pipe -ggdb"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
USE="X a52 aac acl acpi aim alsa amd64 android apache2 berkdb bluetooth branding bzip2 cairo cdda cdr clang clangcodemodel clangstaticanalyzer cli cmake consolekit corefonts cracklib crypt cups curl cxx dbus declarative dri dts dvd dvdr eap emboss encode exif extra fam firefox flac fontconfig fuse gd gdbm gif git glamor gold gpg gpm graphics graphite graphviz gtk hangouts hidpi highlight iconv icu ipv6 jit jpeg json kde kipi lcms ldap libnotify lldb mad mmx mmxext mng modules mp3 mp4 mpeg mtp mudflap multilib mysql mysqli nat ncurses networkmanager nls nptl ntfs ogg opencl opengl openmp pam pango pci pcre pdf pdo phonon plasma png policykit postproc ppds pulseaudio python qml qt3support qt4 qt5 readline resolvconf samba script sdl seccomp semantic-desktop session smbclient spell sql sqlite sse sse2 ssh ssl startup-notification subversion svc svg tcpd threads thumbnail tiff tools truetype udev udisks unicode upower usb utils v4l v4l2 valgrind vmware-tools vmware_guest_linux vmware_guest_windows vorbis wallpapers webkit wext widgets wifi wxwidgets x264 xattr xcb xcomposite xinerama xml xnest xscreensaver xv xvid zenmap zeroconf zip zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="BPF NVPTX X86" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="x86_64 i386 arm" QEMU_USER_TARGETS="x86_64 i386 arm" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Comment 1 Andreas Sturmlechner gentoo-dev 2016-12-11 12:23:18 UTC
If there's a 100% chance then maybe it should be added unconditionally? But DEPEND is for build time deps which this is clearly not.

With USE flags not really supposed to be used for RDEPEND alone, especially for something trivial as docs, the best I can think of is some pkg_postinst information.
Comment 2 Evan Teran 2016-12-11 22:28:45 UTC
I see what you're saying. Clearly the program can "run" without having docs to display, it's just not very useful in that state.

However, I was just taking a cue from ebuilds such as dev-qt/qt-creator that have an optional dependency on the doc use flag in exactly this way. So I figured that is "the way" that gentoo likes to do it.

But it's really not that big of a deal, just having a notice would be a large improvement.
Comment 3 Davide Pesavento gentoo-dev 2016-12-13 02:23:30 UTC
I kind of disagree. Not everyone that uses Assistant needs it to read Qt documentation. qt-docs is also a very large package...
Comment 4 Evan Teran 2016-12-13 02:29:35 UTC
Sure, not everyone who installs assistant needs qt-docs. Which is why I was content to suggest it only he installed with the doc USE flag.
Comment 5 Davide Pesavento gentoo-dev 2016-12-13 03:41:18 UTC
USE=doc usually means "build/install documentation for this package". With your proposal, dev-qt/assistant[doc] would install the documentation for *all* of Qt.

It would be more consistent to add a USE=doc to each Qt package, but I find it silly that you'd have to rebuild everything if one day you wanted to uninstall the documentation.
Comment 6 Evan Teran 2016-12-13 14:30:06 UTC
Yea, I hear what you're saying about the rebuilds and an actual dependency, and it makes sense.

The Qt4 ebuilds never left me without the docs installed, assistant "just worked". So I just figured that the Qt5 ebuilds were broken in this regard for a LONG time. Only recently did I notice that there was a qt-docs ebuild and was pleased to find that it gave me the docs I was looking for. I suspect that I'm not the only user who has been wondering why assistant never was getting docs installed.

So perhaps a notice at the end of the install then? Suggesting that they may want qt-docs?

Either way, at this point I will leave it you guys to decide what actions, if any best addresses this.
Comment 7 Davide Pesavento gentoo-dev 2016-12-17 04:31:20 UTC
(In reply to Evan Teran from comment #6)
> So perhaps a notice at the end of the install then? Suggesting that they may
> want qt-docs?

I would be ok with adding an elog in postinst, sure. Would you mind providing some wording for the message?
Comment 8 Evan Teran 2016-12-18 07:18:06 UTC
Sure, off the cuff, something like this would probably do:

This ebuild installs Qt's tool for viewing on-line documentation in Qt help file format. If you would like Qt's developer documentation installed as well, please emerge dev-qt/qt-docs.
Comment 9 Franz Trischberger 2018-11-18 08:39:37 UTC
Just installed assistant and had no qt docs. Invested some time to search if qch files already were installed.

Please add that postinst message. Evans wording sounds OK, IMO.