Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 942896

Summary: net-mail/dovecot-2.3.21.1: disabling 'doc' USE flag installs documentation anyway
Product: Gentoo Linux Reporter: Gil Kloepfer <gbz>
Component: Current packagesAssignee: Eray Aslan <eras>
Status: UNCONFIRMED ---    
Severity: normal CC: gbz, nicolas.parlant
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Gil Kloepfer 2024-11-05 04:23:15 UTC
The doc USE flag in the ebuild for dovecot-2.3.21.1 does not do anything, although it is listed in the available USE flags.  Full documentation is always installed regardless of the state of the 'doc' USE flag.

Reproducible: Always

Steps to Reproduce:
1.  Disable the doc USE flag for dovecot (this is the default) in package.use
2.  emerge net-mail/dovecot
3.  Full documentation still in /usr/share/doc/dovecot-2.3.21.1/
Actual Results:  
Full documentation for dovecot is installed into /usr/share/doc/dovecot-2.3.21.1/ in spite of the 'doc' USE flag being disabled.

Expected Results:  
/usr/share/doc/dovecot-2.3.21.1 should probably not exist if the 'doc' USE flag is disabled.  If the documentation directory does exist, it should contain only minimal information (README, AUTHORS perhaps? - minimal required by upstream).  There should probably be separate USE flags for example configurations and documentation if this is going to remain, or simply remove the 'doc' USE flag from the ebuild if documentation/examples should always be installed (current behavior).

Portage 3.0.65 (python 3.12.6-final-0, default/linux/amd64/23.0, gcc-13, glibc-2.39-r6, 6.6.58-gentoo-r1-x86_64 x86_64)
=================================================================
System uname: Linux-6.6.58-gentoo-r1-x86_64-x86_64-AMD_Ryzen_9_5900HX_with_Radeon_Graphics-with-glibc2.39
KiB Mem:    32264436 total,  11516188 free
KiB Swap:   33554428 total,  33552380 free
Timestamp of repository gentoo: Thu, 31 Oct 2024 14:20:00 +0000
Head commit of repository gentoo: 4acd9dd4054c4b1ad03d7ed712b61c64df34bb47
Timestamp of repository kloepfer: Sat, 14 Sep 2024 14:09:24 +0000
sh bash 5.2_p37
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.71-r7::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.2::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.5.1::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.12.6_p4::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/openrc:           0.54.2::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.42-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             13.3.1_p20240614::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r6::gentoo
Repositories:

gentoo
    location: /sysbuild/portage
    sync-type: rsync
    sync-uri: http://do-not-sync-from-here/
    priority: -1000
    volatile: True
    sync-rsync-extra-opts: 
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 3

kloepfer
    location: /sysbuild/kloepfer-overlay
    masters: gentoo
    volatile: True

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=znver3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/init.d/ /etc/revdep-rebuild /etc/sandbox.d"
CXXFLAGS="-O2 -march=znver3 -pipe"
DISTDIR="/sysbuild/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=7"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -march=znver3 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=znver3 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j16"
PKGDIR="/sysbuild/packages"
PORTAGE_CONFIGROOT="/"
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"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="acl amd64 bzip2 cet crypt gdbm iconv ipv6 libtirpc multilib ncurses nls openmp pam pcre readline seccomp ssl test-rust unicode xattr zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en-US" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" SANE_BACKENDS="genesys net" VIDEO_CARDS="amdgpu radeonsi radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Nicolas PARLANT 2024-11-05 08:45:00 UTC
Nothing in the ebuild content matches to it. Seems that this useflag never done anything or is trace of a short period with sphinx required :
https://gitweb.gentoo.org/repo/gentoo.git/commit/net-mail/dovecot?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d

There is an option enabled by default in upstream :
https://github.com/dovecot/core/blob/main/configure.ac#L232

Without dep requirement, why not delete the useflag and add --with-docs in src_configure to be exhaustive.
Comment 2 Gil Kloepfer 2024-11-06 05:03:12 UTC
(In reply to Nicolas PARLANT from comment #1)
> Nothing in the ebuild content matches to it.

Agreed.  I also looked over some of the other ebuilds and it looks like the 'doc' flag is not necessarily what I said, but what you said in your response in that it was when documentation build dependencies exist (which don't seem to be the case here).
 
> Without dep requirement, why not delete the useflag and add --with-docs in
> src_configure to be exhaustive.

Since --with-docs is the default for the configure script, this could be done but probably not necessary.