Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 616126 - dev-lang/php-5.6.30 USE=sqlite disables sqlite support?
Summary: dev-lang/php-5.6.30 USE=sqlite disables sqlite support?
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-20 14:58 UTC by Liam Dennehy
Modified: 2017-04-26 08:48 UTC (History)
0 users

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


Attachments
ebuild diff for sqlite3 flag: original on left, new on right (php-5.6.30-ebuild.diff,436 bytes, text/plain)
2017-04-20 14:58 UTC, Liam Dennehy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Liam Dennehy 2017-04-20 14:58:26 UTC
Created attachment 470472 [details]
ebuild diff for sqlite3 flag: original on left, new on right

Setting the "sqlite" USE flag for dev-lang/php-5.6.30 does not translate into sqlite3 being enabled during the configure phase.

The ebuild does contain the line:
> $(use_with sqlite sqlite3 "${EPREFIX}/usr")
... and the configure option defaults to "--without-sqlite3", so this seems to be the line that translates from the generic sqlite flag to sqlite3 in the configure phase. However, setting the "sqlite" flag still generates this "--without-sqlite3" option.

I am not familiar enough with ebuild files to properly debug, but a local overlay with each instance of "sqlite" replaced with "sqlite3" causes the correct flag to be set ("--with-sqlite3=/usr" in my instance) (diff attached).

Since there does not appear to be sqlite2 support, using the "sqlite3" USE flag doesn't seem appropriate, but again my ebuild foo is not strong enough for this challenge so I'm using a local "sqlite3" flag that matches the modified ebuild.
Comment 1 Liam Dennehy 2017-04-20 15:04:35 UTC
PHP Configure flags result with normal "sqlite" USE flag set, showing sqlite3 disabled:

> phpinfo()
> ---snip---
> './configure' '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--docdir=/usr/share/doc/php-5.6.30' '--htmldir=/usr/share/doc/php-5.6.30/html' '--prefix=/usr/lib64/php5.6' '--mandir=/usr/lib64/php5.6/man' '--infodir=/usr/lib64/php5.6/info' '--libdir=/usr/lib64/php5.6/lib' '--with-libdir=lib64' '--localstatedir=/var' '--without-pear' '--disable-maintainer-zts' '--with-fpm-acl' '--disable-bcmath' '--with-bz2=/usr' '--disable-calendar' '--disable-gcov' '--enable-ctype' '--with-curl=/usr' '--enable-dom' '--without-enchant' '--disable-exif' '--enable-fileinfo' '--enable-filter' '--disable-ftp' '--with-gettext=/usr' '--without-gmp' '--enable-hash' '--without-mhash' '--with-iconv' '--disable-intl' '--enable-ipv6' '--enable-json' '--without-kerberos' '--enable-libxml' '--with-libxml-dir=/usr' '--enable-mbstring' '--with-mcrypt=/usr' '--without-mssql' '--with-onig=/usr' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--disable-pcntl' '--enable-phar' '--enable-pdo' '--enable-opcache' '--without-pgsql' '--enable-posix' '--without-pspell' '--without-recode' '--enable-simplexml' '--disable-shmop' '--without-snmp' '--disable-soap' '--disable-sockets' '--without-sqlite3' '--without-sybase-ct' '--disable-sysvmsg' '--disable-sysvsem' '--disable-sysvshm' '--with-fpm-systemd' '--without-tidy' '--enable-tokenizer' '--disable-wddx' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' '--without-xmlrpc' '--with-xsl=/usr' '--enable-zip' '--with-zlib=/usr' '--disable-debug' '--enable-dba' '--without-cdb' '--with-db4=/usr' '--disable-flatfile' '--with-gdbm=/usr' '--disable-inifile' '--without-qdbm' '--without-freetype-dir' '--without-t1lib' '--disable-gd-jis-conv' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--without-xpm-dir' '--without-vpx-dir' '--with-gd' '--without-interbase' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--without-unixODBC' '--without-iodbc' '--without-oci8' '--without-pdo-dblib' '--with-pdo-mysql=mysqlnd' '--without-pdo-pgsql' '--without-pdo-sqlite' '--without-pdo-firebird' '--without-pdo-odbc' '--without-pdo-oci' '--with-readline=/usr' '--without-libedit' '--without-mm' '--with-pic' '--with-pcre-regex=/usr' '--with-pcre-dir=/usr' '--with-config-file-path=/etc/php/apache2-php5.6' '--with-config-file-scan-dir=/etc/php/apache2-php5.6/ext-active' '--disable-embed' '--disable-cli' '--disable-cgi' '--disable-fpm' '--with-apxs2=/usr/bin/apxs' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-O2 '-pipe'' 'LDFLAGS=-Wl,-O1 '-Wl,--as-needed'' 'CPPFLAGS=' 'CXXFLAGS=-O2 '-pipe'' 
> ---snip---

Partial output from "equery u" for the above build
> $ equery u
> ---snip---
> - - spell               : Add dictionary support
> + + sqlite              : Add support for sqlite - embedded sql database
> + + ssl                 : Add support for Secure Socket Layer connections
> ---snip---
Comment 2 Brian Evans (RETIRED) gentoo-dev 2017-04-20 15:12:45 UTC
Please show evidence by attaching the build.log from doing 'ebuild /usr/portage/dev-lang/php/php-5.6.30.ebuild clean configure'

It does not happen here.


FWIW.. $(use_with sqlite sqlite3 "${EPREFIX}/usr") means:
when sqlite USE is enabled, output --with-sqlite3="${EPREFIX}/usr"
when sqlite USE is disabled, output --without-sqlite3
Comment 3 Brian Evans (RETIRED) gentoo-dev 2017-04-20 16:09:54 UTC
Alternatively, providing 'emerge --info =dev-lang/php-5.6.30' may provide clues as well
Comment 4 Liam Dennehy 2017-04-26 08:48:45 UTC
After reverting my changes and re-emergeing I am unable to replicate the issue, and SQLite3 class is available in PHP with the original USE flag set.

Rather annoying, as far as I can tell this genuinely happened in the first instance. Am never satisfied when an issue "magically" resolves itself, especially when it's entirely possible PEBKAC.