Skip to content

Commit

Permalink
dev-lang/php: don't depend on versions of sys-libs/db that won't be d…
Browse files Browse the repository at this point in the history
…etected.

In bug #564824, Robert Förster noticed that there's an issue building
PHP with both sys-libs/db-5.3 and sys-libs/db-6.0 installed. The root
cause of the failure is that PHP attempts to autodetect sys-libs/db,
but doesn't specifically look for db-5.3. When db-5.3 is not found,
it falls back to /usr/include/db.h from version 6.0 and that version
is incompatible.

A similar issue exists with older 4.x versions, but not with db-4.5
through db-5.1. A fix has been sent upstream for db-5.3. In the
meantime, we remove that and the older 4.x versions from $DEPEND.

Gentoo-Bug: 564824

Package-Manager: portage-2.2.20.1
  • Loading branch information
orlitzky committed Nov 5, 2015
1 parent 2511819 commit 74ec204
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -81,21 +81,15 @@ DEPEND="
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )"

# This wacky berkdb dependency really means "any 4.x or 5.x version of
# sys-libs/db". The ./configure flag is called --with-db4, but this is a
# misnomer since db5 also works (bug #521222). We really want to say
# "any 4.x or 5.x slot", but that's not possible. The safest thing to
# do is list all 4.x and 5.x slots in order of preference.
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
DEPEND="${DEPEND}
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
berkdb? ( || ( sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5
sys-libs/db:4.4
sys-libs/db:4.3
sys-libs/db:4.2 ) )
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,21 +81,15 @@ DEPEND="
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )"

# This wacky berkdb dependency really means "any 4.x or 5.x version of
# sys-libs/db". The ./configure flag is called --with-db4, but this is a
# misnomer since db5 also works (bug #521222). We really want to say
# "any 4.x or 5.x slot", but that's not possible. The safest thing to
# do is list all 4.x and 5.x slots in order of preference.
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
DEPEND="${DEPEND}
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
berkdb? ( || ( sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5
sys-libs/db:4.4
sys-libs/db:4.3
sys-libs/db:4.2 ) )
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
Expand Down

0 comments on commit 74ec204

Please sign in to comment.