Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 342221 - dev-db/mysql: failure to understand userland_GNU != kernel_linux prevents this from being emerged
Summary: dev-db/mysql: failure to understand userland_GNU != kernel_linux prevents thi...
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All OS X
: High major (vote)
Assignee: Gentoo Prefix
Depends on:
Reported: 2010-10-22 17:39 UTC by Charles Davis
Modified: 2010-10-25 06:04 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 Charles Davis 2010-10-22 17:39:39 UTC
The mysql eclass declares that mysql depends on procps like so:

 userland_GNU? ( sys-process/procps )

The problem is that, on Darwin (Mac OS X), userland_GNU is set (because Portage pulls in the GNU utilities), but sys-process/procps is masked. This prevents mysql from being emerged.

The procps suite was really designed for Linux anyway, so the dependency should read:

 kernel_linux? ( sys-process/procps )

instead. Or does procps understand BSD procfs?

Reproducible: Always

Steps to Reproduce:
1. Attempt to emerge dev-db/mysql. Any version will do; the dependency was declared in the mysql eclass.

Actual Results:  
Portage will complain that mysql needs sys-process/procps, which is masked on Darwin (for good reason!).

Expected Results:  
Portage should be able to emerge mysql, and mysql should not depend on procps on Darwin.

Portage (prefix/darwin/macos/10.6/x86, gcc-4.2.1, unavailable, 10.4.0 i386)
System uname: Darwin-10.4.0-i386-32bit
Timestamp of tree: Fri, 22 Oct 2010 16:40:58 +0000
distcc 3.1-toolwhip.1 i386-apple-darwin10.0 [disabled]
app-shells/bash:     4.1_p7
dev-lang/python:     2.6.5-r2
dev-util/cmake:      2.8.1-r2
sys-devel/autoconf:  2.65-r1
sys-devel/automake:  1.9.6-r3, 1.11.1
sys-devel/gcc-config: 1.4.1-r00.2
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
CFLAGS="-O2 -pipe -march=core2"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=core2"
FEATURES="assume-digests collision-protect distlocks fixlafiles fixpackages news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="aqua bash-completion berkdb bzip2 coreaudio cracklib crypt curl cxx dbus exceptions expat extensions gdbm gnutls gpg gzip iconv icu ipv6 jbig jpeg libssh2 lzma lzo mmx mmxext mng modules mysql ncurses nls objc objc++ pch perl png prefix python qt3support readline ruby sql sqlite3 sse sse2 ssl subversion tcl threads tiff tk truetype unicode vim-syntax x86-macos xml zlib" APACHE2_MODULES="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" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="Darwin" 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" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-2" RUBY_TARGETS="ruby18" USERLAND="GNU" 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 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2010-10-22 17:45:15 UTC
Yea, I saw this diff and noted that it might not work as intended.

@mysql-bugs: Why did this change recently?
Comment 2 Fabian Groffen gentoo-dev 2010-10-22 18:30:50 UTC
(In reply to comment #0)
> The procps suite was really designed for Linux anyway, so the dependency should
> read:
>  kernel_linux? ( sys-process/procps )
> instead. Or does procps understand BSD procfs?

Gentoo/FreeBSD uses userland_BSD, so it incidentially works for them.
Comment 3 Fabian Groffen gentoo-dev 2010-10-23 16:53:30 UTC
this is a very nasty issue

@mysql-bugs, please allow us to revert, or explain us the intended logic
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-10-23 21:32:37 UTC
(In reply to comment #1)
> @mysql-bugs: Why did this change recently?
Err, what recently?

That line was introduced in March 2006, it's NOT recent in the slightest.
Comment 5 Fabian Groffen gentoo-dev 2010-10-24 19:20:08 UTC
@mysql-bugs: apologies, you have nothing to do with this.  It is a Prefix-local problem.  Sorry.
Comment 6 Fabian Groffen gentoo-dev 2010-10-24 19:25:06 UTC
the latest sync done to the eclass was not done with eupdate, and accidentially removed important prefix changes, such as this userland_GNU/kernel_linux thing

I redid the sync with eupdate now.
Comment 7 Charles Davis 2010-10-24 20:44:13 UTC
Yep, I can report it's fixed on my end.
Comment 8 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-10-25 05:54:57 UTC
grobian: what pending changes does prefix have for the MySQL eclass for me to merge back and avoid this problem next time?
Comment 9 Fabian Groffen gentoo-dev 2010-10-25 06:04:49 UTC
robbat2: it is a huge diff, that probably needs some thorough review.  I will open a new bug for it.