Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 339001 - mail-client/roundcube shouldn't depend on =dev-lang/php-5.2*[apache2]
Summary: mail-client/roundcube shouldn't depend on =dev-lang/php-5.2*[apache2]
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Web Application Packages Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-28 08:53 UTC by Marcin Mirosław
Modified: 2010-09-28 19:10 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 Marcin Mirosław 2010-09-28 08:53:23 UTC
a) Roundcube shouldn't force php to compile apache module, php can be run also as cgi or cgid ;)
b) roundcube shouldn't force php-5.2, it can run with php>5.2.1 (http://roundcube.net/about ), so it can be run on php-5.3.
c) at least roundcube can run on apache or lighttpd so it shouldn't force to install apache (url the same as above)

Reproducible: Always

Steps to Reproduce:
1. emerge -av1 roundcube

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

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "=dev-lang/php-5.2*[apache2]".
!!! One of the following packages is required to complete your request:
- dev-lang/php-5.2.14 (Change USE: +apache2)
(dependency required by "virtual/httpd-php-5.2" [ebuild])
(dependency required by "mail-client/roundcube-0.4" [ebuild])
(dependency required by "roundcube" [argument])




emerge --info
Portage 2.1.8.3 (hardened/linux/x86/10.0, gcc-4.4.4, glibc-2.11.2-r0, 2.6.34-hardened-r4 i686)
=================================================================
System uname: Linux-2.6.34-hardened-r4-i686-Pentium-R-_Dual-Core_CPU_E6300_@_2.80GHz-with-gentoo-1.12.13
Timestamp of tree: Tue, 28 Sep 2010 06:45:01 +0000
ccache version 3.0.1 [enabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/ccache:     3.0.1
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.65-r1
sys-devel/automake:  1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -mfpmath=sse -fpeel-loops -pipe -fprefetch-loop-arrays -fomit-frame-pointer -frename-registers -fpredictive-commoning -fweb -ftree-vectorize -floop-interchange -ftree-loop-distribution -fivopts -floop-block"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -mfpmath=sse -fpeel-loops -pipe -fprefetch-loop-arrays -fomit-frame-pointer -frename-registers -fpredictive-commoning -fweb -ftree-vectorize -floop-interchange -ftree-loop-distribution -fivopts -floop-block"
DISTDIR="/usr/portage/distfiles"
FEATURES="XXXnoclean XXnostrip assume-digests ccache collision-protect distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/"
LANG="pl"
LC_ALL="pl_PL.utf-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="pl"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="-6 -y"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/portage/local/layman/gnustep /usr/portage/local/layman/steev /usr/portage/local/layman/sping /usr/portage/local /usr/local/portage/miro/staging /usr/local/portage/miro/portage"
SYNC="rsync://trumpetti.atm.tut.fi/gentoo-portage/"
USE="acl acpi adns aio apache2 ares bash-completion bcmath bzip2 caps cgi chroot clamav clamdtop cli cracklib crypt curl custom-cflags cxx dkim dri dsn enscript exiscan exiscan-acl fam fastcgi force-cgi-redirect gnutls graphite hardened iconv idn imap iproute2 ipv6 logrotate lzo maildir mmap mmx modules mudflap ncurses network-cron nls nptl nptlonly objc objc++ objc-gc openmp openssl pam pcre perl pic pppd profiling python readline reflection sctp server session sharedmem slang spell srs sse sse2 sse3 ssl ssse3 subversion suhosin sysfs syslog threads threadsafe tools unicode urandom vhosts vim vim-pager vim-syntax x86 xattr xml xorg zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1  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="actions alias auth_basic authn_alias authn_anon auth_digest authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user cache cgid dav dav_fs dav_lock dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif status unique_id usertrack vhost_alias" APACHE2_MPMS="worker" 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" LINGUAS="pl" NGINX_MODULES_HTTP="access auth_basic browser charset fastcgi gzip limit_req limit_zone map proxy referer rewrite stub_status upstream_ip_hash userid" RUBY_TARGETS="ruby18" USERLAND="GNU" XTABLES_ADDONS="geoip ipset psd tarpit" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-09-28 09:20:49 UTC
None of the issues pointed by you seem to exist in the ebuild. I think it's mostly portage being unable to show more than a single (first) way around and/or the result of mixing complex dependencies of this ebuild.

Please paste the 'package information' part of 'emerge --info php' output.
Comment 2 Marcin Mirosław 2010-09-28 10:27:27 UTC
# emerge --info php
[...]
=================================================================
                        Package Settings
=================================================================

dev-lang/php-5.3.3-r1 was built with the following:
USE="bcmath bzip2 cgi cli crypt ctype curl exif fileinfo filter gd hash iconv imap ipv6 json mysql mysqli nls pdo phar pic posix postgres readline session simplexml snmp sockets spell sqlite ssl suhosin threads tokenizer unicode xml xmlreader xmlrpc xmlwriter zip zlib -adabas -apache2 -berkdb -birdstep -calendar -cdb -cjk -concurrentmodphp -curlwrappers -db2 -dbmaker -debug -doc -embed -empress -empress-bcs -enchant -esoob -firebird -flatfile -fpm -frontbase -ftp -gd-external -gdbm -gmp -inifile -interbase -intl -iodbc -kerberos -kolab -ldap -ldap-sasl -libedit -mssql -mysqlnd -oci8 -oci8-instant-client -odbc -pcntl -qdbm -recode -sapdb -sharedext -sharedmem -soap -solid -sqlite3 -sybase-ct -sysvipc -tidy -truetype -wddx -xpm -xsl"
Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2010-09-28 12:30:28 UTC
the php 5.2 vs. 5.3 issue is due to some use flag being on (always) in php 5.3 and hence not being present in IUSE anymore. Portage tries to satisfy the request USE flag in the dependencies on roundcube and can only find php 5.2. Removing the 2/3 flags that trigger this behavior allows to build with php5.3.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-09-28 16:52:36 UTC
Ok, that would explain one thing but doesn't explain why it complains about apache2 flag if cgi is already set (unless for some weird reason the flag wouldn't be set within 5.2).

Marcin, could you then paste as well:
$ emerge -pv '<php-5.3'
Comment 5 Marcin Mirosław 2010-09-28 16:57:24 UTC
Here you are:
emerge -pv '<php-5.3'

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

Calculating dependencies... done!
[ebuild     UD] dev-lang/php-5.2.14 [5.3.3-r1] USE="bcmath bzip2 cgi cli 
crypt ctype curl exif filter force-cgi-redirect%* gd hash iconv imap ipv6 
json mysql mysqli ncurses%* nls pcre%* pdo pic posix postgres readline 
reflection%* session simplexml snmp sockets spell spl%* sqlite ssl suhosin 
threads tokenizer unicode xml xmlreader xmlrpc xmlwriter zip zlib -adabas 
-apache2 -berkdb -birdstep -calendar -cdb -cjk -concurrentmodphp 
-curlwrappers -db2 -dbase% -dbmaker -debug -discard-path% -doc -embed 
-empress -empress-bcs -esoob -fdftk% -firebird -flatfile -frontbase -ftp 
-gd-external -gdbm -gmp -inifile -interbase -iodbc -kerberos -kolab -ldap 
-ldap-sasl -libedit -mcve% -mhash% -msql% -mssql -oci8 -oci8-instant-client 
-odbc -pcntl -qdbm -recode -sapdb -sharedext -sharedmem -soap -solid 
-sybase-ct -sysvipc -tidy -truetype -wddx -xpm -xsl -yaz% (-enchant%) 
(-fileinfo%*) (-fpm%) (-intl%) (-mysqlnd%) (-phar%*) (-sqlite3%)" 8,875 kB

Total: 1 package (1 downgrade), Size of downloads: 8,875 kB

Comment 6 Tim Harder gentoo-dev 2010-09-28 17:09:21 UTC
(In reply to comment #0)
> a) Roundcube shouldn't force php to compile apache module, php can be run also
> as cgi or cgid ;)
> b) roundcube shouldn't force php-5.2, it can run with php>5.2.1
> (http://roundcube.net/about ), so it can be run on php-5.3.
> c) at least roundcube can run on apache or lighttpd so it shouldn't force to
> install apache (url the same as above)
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1. emerge -av1 roundcube
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies... done!
> 
> emerge: there are no ebuilds built with USE flags to satisfy
> "=dev-lang/php-5.2*[apache2]".
> !!! One of the following packages is required to complete your request:
> - dev-lang/php-5.2.14 (Change USE: +apache2)
> (dependency required by "virtual/httpd-php-5.2" [ebuild])
> (dependency required by "mail-client/roundcube-0.4" [ebuild])
> (dependency required by "roundcube" [argument])

I also ran into this issue when installing php-5.3.3 and roundcube-0.4 on a stable machine.

You need to install the latest testing version of virtual/httpd-php (5.3) if you want to run the latest testing version of roundcube and php. Therefore, you'd have to add virtual/httpd-php to your keywords file.
Comment 7 Marcin Mirosław 2010-09-28 18:25:30 UTC
I don't agree with you. Imho, if i have installed php (which is newer than minimal - 5.2.1) ebuild should check if php has needed flag, respecting that php 5.3 has some funcionality enabled "automagically". 
Keywording virtual/httpd-php doesn't solves problem with USE flag [apache2], roundcube still wants this flag to be set, without any reason.


USE="-apache2 sqlite" emerge -pv roundcube

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

Calculating dependencies... done!
[ebuild  NS   ] dev-db/sqlite-2.8.16-r4 [3.7.2] USE="nls -doc -tcl                                                                          " 0 kB
[ebuild   R   ] dev-lang/php-5.3.3-r1  USE="bcmath berkdb bzip2 cl                                                                          i crypt ctype curl exif fileinfo filter ftp gd gdbm gmp hash iconv                                                                           ipv6 json nls pdo phar posix postgres readline session simplexml                                                                           sockets spell sqlite* ssl threads tokenizer unicode xml xmlreader                                                                           xmlrpc xmlwriter xsl zip zlib -adabas -apache2* -birdstep -calenda                                                                          r -cdb -cgi -cjk -concurrentmodphp -curlwrappers -db2 -dbmaker -de                                                                          bug -doc -embed -empress -empress-bcs -enchant -esoob -firebird -f                                                                          latfile -fpm -frontbase -gd-external -imap -inifile -interbase -in                                                                          tl -iodbc -kerberos -kolab -ldap -ldap-sasl -libedit -mssql -mysql                                                                           -mysqli -mysqlnd -oci8 -oci8-instant-client -odbc -pcntl -pic -qd                                                                          bm -recode -sapdb -sharedext -sharedmem -snmp -soap -solid -sqlite                                                                          3 -suhosin -sybase-ct -sysvipc -tidy -truetype -wddx -xpm" 0 kB
[ebuild  N    ] app-admin/webapp-config-1.50.16-r3  102 kB
[ebuild  N    ] virtual/httpd-php-5.3  0 kB
[ebuild  N    ] virtual/httpd-cgi-0  0 kB
[ebuild  N    ] dev-php/PEAR-PEAR-1.9.1-r1  287 kB
[ebuild  N    ] mail-client/roundcube-0.4  USE="spell ssl vhosts -                                                                          ldap -mysql -postgres" 2,110 kB

Total: 7 packages (5 new, 1 in new slot, 1 reinstall), Size of dow                                                                          nloads: 2,497 kB

!!! Multiple package instances within a single package slot have b                                                                          een pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/php:5

  (dev-lang/php-5.3.3-r1, installed) pulled in by
    =dev-lang/php-5.3*[apache2] required by (virtual/httpd-php-5.3                                                                          , ebuild scheduled for merge)

  (dev-lang/php-5.3.3-r1, ebuild scheduled for merge) pulled in by
    dev-lang/php[sqlite] required by (mail-client/roundcube-0.4, e                                                                          build scheduled for merge)


It might be possible to solve this slot collision
by applying all of the following changes:
   - dev-lang/php-5.3.3-r1 (Change USE: +apache2)

Comment 8 Tim Harder gentoo-dev 2010-09-28 18:33:27 UTC
Ok, (In reply to comment #7)
> I don't agree with you. Imho, if i have installed php (which is newer than
> minimal - 5.2.1) ebuild should check if php has needed flag, respecting that
> php 5.3 has some funcionality enabled "automagically". 
> Keywording virtual/httpd-php doesn't solves problem with USE flag [apache2],
> roundcube still wants this flag to be set, without any reason.

Ok, I see. I'll try to reproduce this on my machine.
Comment 9 Tim Harder gentoo-dev 2010-09-28 18:45:13 UTC
(In reply to comment #7)
> I don't agree with you. Imho, if i have installed php (which is newer than
> minimal - 5.2.1) ebuild should check if php has needed flag, respecting that
> php 5.3 has some funcionality enabled "automagically". 
> Keywording virtual/httpd-php doesn't solves problem with USE flag [apache2],
> roundcube still wants this flag to be set, without any reason.

On another glance, you are probably hitting this problem since you don't have any of the USE flags apache2, cgi, or fpm enabled for php which is needed for virtual/httpd-php-5.3 that is a dependency of roundcube.

Since you don't specify any of the USE flags portage takes the first one in the list which is apache2 creating your problem. Therefore, you should either use the cgi or fpm USE flags if you don't want apache2 installed.

Trying running something like:

USE="-apache2 cgi sqlite" emerge -pv roundcube
Comment 10 Tim Harder gentoo-dev 2010-09-28 18:59:08 UTC
Also, note that you'll have to have a web server installed prior to installing roundcube or else portage will default to installing apache since it is first in the list for virtual/httpd-cgi that roundcube depends on.
Comment 11 Marcin Mirosław 2010-09-28 19:10:56 UTC
You are absolutely right. Last output from emerge was from diffrent host, with diffrent USE flag. All the problems with php-5.3, virtuals and mixing stable with ~ gives very strange effects which leaded me to wrong sequitur.