Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 461300 - virtual/httpd-php-5.4-r1 demands unnecessary USE flag changes on dev-lang/php
Summary: virtual/httpd-php-5.4-r1 demands unnecessary USE flag changes on dev-lang/php
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Web-apps project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-10 19:05 UTC by Christopher Head
Modified: 2023-05-16 19:30 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher Head 2013-03-10 19:05:15 UTC
Behaviour differs between "emerge -uatvDN @world" and asking to emerge a specific package individually. Example:

# emerge -uatvDN @world

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  NS    ] www-apps/mediawiki-1.20.3:1.20.3 [1.20.2:1.20.2] USE="postgres vhosts -imagemagick -mysql -sqlite" 17,981 kB
[ebuild   R    ]  dev-lang/php-5.4.8:5.4  USE="apache2* berkdb bzip2 cdb cgi cli ctype curl fileinfo filter gd gmp hash iconv json nls pdo phar posix postgres readline session simplexml sockets ssl threads tokenizer truetype unicode xml xmlreader zlib -bcmath -calendar -cjk -crypt -curlwrappers -debug -doc -embed -enchant -exif -firebird -flatfile -fpm (-frontbase) -ftp -gdbm -imap -inifile -intl -iodbc -ipv6 -kerberos (-kolab) -ldap -ldap-sasl -libedit -mhash -mssql -mysql -mysqli -mysqlnd -oci8-instant-client -odbc -pcntl -pic -qdbm -recode (-selinux) -sharedmem -snmp -soap -spell -sqlite3 (-sybase-ct) -sysvipc -tidy -wddx -xmlrpc -xmlwriter -xpm -xsl -zip" 10,803 kB
[nomerge       ] www-apps/trac-1.0  USE="postgres sqlite subversion vhosts -cgi -fastcgi -i18n -mysql" 
[nomerge       ]  dev-python/psycopg-2.4.6-r1:2  USE="-debug -doc -examples" PYTHON_TARGETS="python2_7 python3_2 -python2_5 -python2_6 -python3_1" 
[ebuild   R    ]   dev-python/python-exec-0.2  PYTHON_TARGETS="(jython2_5) (jython2_7%*) (python2_5) (python2_6) (python2_7) (python3_1) (python3_2) (-pypy1_9) (-pypy2_0) (-python3_3)" 64 kB

Total: 3 packages (1 in new slot, 2 reinstalls), Size of downloads: 28,847 kB

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
#required by virtual/httpd-php-5.4-r1, required by www-apps/mediawiki-1.20.3, required by @selected, required by @world (argument)
=dev-lang/php-5.4.8 apache2

(observe that I have dev-lang/php installed with the cgi USE flag but not the apache2 USE flag, and that virtual/httpd-php-5.4-r1.ebuild depends on the OR of php[apache2], php[cgi], and php[fpm]).

Now when I try to emerge just www-apps/mediawiki on its own, it doesn't complain; rather, it lets me go ahead and update it!
Comment 1 Christopher Head 2013-03-10 19:10:13 UTC
Info for various potentially relevant packages:

# emerge --info www-apps/mediawiki
Portage 2.1.11.52 (default/linux/amd64/13.0, gcc-4.6.3, glibc-2.15-r3, 3.7.10-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.7.10-gentoo-x86_64-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-gentoo-2.1
KiB Mem:     2045284 total,   1091952 free
KiB Swap:    8387580 total,   8374500 free
Timestamp of tree: Sun, 10 Mar 2013 17:45:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.69
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y --complete-graph y -1"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://gentoo.arcticnetwork.ca/pub/gentoo ftp://mirror.csclub.uwaterloo.ca/gentoo-distfiles http://gentoo.osuosl.org/"
LANG="en_CA.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/cache"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.ca.gentoo.org/gentoo-portage"
USE="amd64 bzip2 caps cdb cli ctype curl cxx dri gd gmp iconv idn mmx mmxext modules mudflap multilib ncurses nls nptl openmp pam pcre posix readline session sockets sse sse2 symlink threads truetype udev unicode vhosts vim-syntax xattr 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="auth_digest authn_file authz_host authz_user dav deflate dir filter mime" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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 ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_CA" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

www-apps/mediawiki-1.20.2 was built with the following:
USE="postgres vhosts -imagemagick -mysql -sqlite"


www-apps/mediawiki-1.20.3 was built with the following:
USE="postgres vhosts -imagemagick -mysql -sqlite"


# emerge --info virtual/httpd-php
[snip common]
=================================================================
                        Package Settings
=================================================================

virtual/httpd-php-5.4-r1 was built with the following:
USE="(multilib)" ABI_X86="64"
CHOST=""


# emerge --info dev-lang/php
[snip common]
=================================================================
                        Package Settings
=================================================================

dev-lang/php-5.3.18 was built with the following:
USE="berkdb bzip2 cdb cgi cli ctype curl fileinfo filter gd gmp hash iconv json (multilib) nls pdo phar posix postgres readline session simplexml sockets ssl threads tokenizer truetype unicode xml xmlreader zlib -apache2 -bcmath -calendar -cjk -crypt -curlwrappers -debug -doc -embed -enchant -exif -firebird -flatfile -fpm (-frontbase) -ftp -gdbm -imap -inifile -intl -iodbc -ipv6 -kerberos (-kolab) -ldap -ldap-sasl -libedit -mhash -mssql -mysql -mysqli -mysqlnd -oci8-instant-client -odbc -pcntl -pic -qdbm -recode (-selinux) -sharedmem -snmp -soap -spell -sqlite2 -sqlite3 (-sybase-ct) -sysvipc -tidy -wddx -xmlrpc -xmlwriter -xpm -xsl -zip"


dev-lang/php-5.4.8 was built with the following:
USE="berkdb bzip2 cdb cgi cli ctype curl fileinfo filter gd gmp hash iconv json (multilib) nls pdo phar posix postgres readline session simplexml sockets ssl threads tokenizer truetype unicode xml xmlreader zlib -apache2 -bcmath -calendar -cjk -crypt -curlwrappers -debug -doc -embed -enchant -exif -firebird -flatfile -fpm (-frontbase) -ftp -gdbm -imap -inifile -intl -iodbc -ipv6 -kerberos (-kolab) -ldap -ldap-sasl -libedit -mhash -mssql -mysql -mysqli -mysqlnd -oci8-instant-client -odbc -pcntl -pic -qdbm -recode (-selinux) -sharedmem -snmp -soap -spell -sqlite3 (-sybase-ct) -sysvipc -tidy -wddx -xmlrpc -xmlwriter -xpm -xsl -zip"
Comment 2 Christopher Head 2013-03-10 19:12:57 UTC
In fact, even when all the depending packages are up to date, "emerge -uatvDN @world" still complains, though it changes to complaining about virtual/httpd-php being depended upon by www-apps/drupal instead of www-apps/mediawiki (I have both installed).
Comment 3 Christopher Head 2013-03-10 19:23:06 UTC
Interestingly, after adding dev-php/pecl-uploadprogress to package.provided (it would otherwise depend on dev-lang/php[apache2], and I have absolutely no use for it since it doesn't work in Lighttpd Drupal anyway), the problem goes away. Yet emerge never printed any message about dev-php/pecl-uploadprogress when complaining about the needed USE flag changes; it insisted that virtual/httpd-php was at fault even though that virtual's dependencies were very happily satisfied with dev-lang/php[cgi].
Comment 4 Ole Markus With (RETIRED) gentoo-dev 2013-03-10 20:12:02 UTC
(In reply to comment #3)
> Interestingly, after adding dev-php/pecl-uploadprogress to package.provided
> (it would otherwise depend on dev-lang/php[apache2], and I have absolutely
> no use for it since it doesn't work in Lighttpd Drupal anyway), the problem
> goes away. Yet emerge never printed any message about
> dev-php/pecl-uploadprogress when complaining about the needed USE flag
> changes; it insisted that virtual/httpd-php was at fault even though that
> virtual's dependencies were very happily satisfied with dev-lang/php[cgi].

This sounds like an issue with the dependency calculation of Portage. There is nothing wrong with the virtual, as it blindly depends on any web-related SAPI of PHP. Pecl-uploadprogressbar however strictly depends on apache2 since it does not work without it.

My suggestion is that drupal only conditionally depends on pecl-uploadprogressbar.
Comment 5 Christopher Head 2013-03-11 07:03:27 UTC
I suspect this is indeed a bug in Portage (in the output printing, not in the actual dependency enforcement, note—it stopped asking for the php[apache2] once pecl-uploadprogress was package.provided, the issue is that it’s printing out that it needs it due to www-apps/mediawiki via virtual/httpd-php, which is false).
Comment 6 Michael Orlitzky gentoo-dev 2023-05-16 19:30:30 UTC
I think this was correctly diagnosed as a misleading portage message rather than a real dependency issue.