Skip to contentSkip to conversation

php: add PACKAGECONFIG options

PATCH Superseded Jack Mitchell 2 participants 5 messages Apr 17, 2013 – Apr 19, 2013

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 php: add PACKAGECONFIG options

From: Jack Mitchell <[email protected]>

This change is on top of Marcin's PHP 5.4.14 upgrade

v2

- Remove sqlite 3 from DEPENDS

Jack Mitchell (1):
php: add sqlite3 and mysql PACKAGECONFIG options

 meta-oe/recipes-devtools/php/php.inc | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)
Signature · 1 line
1.8.2
#1 lore raw

PATCH v2 1/1 php: add sqlite3 and mysql PACKAGECONFIG options

From: Jack Mitchell <[email protected]>

---
 meta-oe/recipes-devtools/php/php.inc | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)
meta-oe/recipes-devtools/php/php.inc +19 -9
index 225c3d7..639aa01 100644
@@ -3,11 +3,11 @@ HOMEPAGE = "http://www.php.net"
 SECTION = "console/network"
 LICENSE = "PHP-3.0"
 BBCLASSEXTEND = "native"
-DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native mysql5 \
-           libc-client openssl sqlite3"
+DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \
+           libc-client openssl"
 DEPENDS_virtclass-native = "zlib-native libxml2-native"
 
-INC_PR = "r4"
+INC_PR = "r5"
 
 SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2"
 
@@ -27,12 +27,7 @@ EXTRA_OECONF = "--enable-mbstring --enable-discard-path --enable-wddx \
                 --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
                 --with-iconv=${STAGING_LIBDIR}/.. \
                 --with-libxml-dir=${STAGING_BINDIR_CROSS} \
-                --disable-embedded-mysqli \
-                --with-mysql="${STAGING_DIR_TARGET}${prefix}" \
-                --with-mysqli="${STAGING_BINDIR_CROSS}/mysql_config" \
-        --with-sqlite3=${STAGING_LIBDIR}/.. --enable-sqlite-utf8 \
-                --with-pdo-mysql="${STAGING_BINDIR_CROSS}/mysql_config" \
-                --with-pdo-sqlite=${STAGING_LIBDIR}/.. ${COMMON_EXTRA_OECONF} \
+                ${COMMON_EXTRA_OECONF} \
 "
 EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                 --with-zlib --with-zlib-dir=${STAGING_LIBDIR_NATIVE}/.. \
@@ -40,6 +35,21 @@ EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                 ${COMMON_EXTRA_OECONF} \
 "
 
+PACKAGECONFIG ??= "mysql sqlite3"
+
+PACKAGECONFIG[mysql] = "--with-mysql=\"${STAGING_DIR_TARGET}${prefix}\" \
+                        --with-mysqli=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --with-pdo-mysql=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --disable-embedded-mysqli \
+                        , \
+                        ,mysql5"
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+                        --enable-sqlite-utf8 \
+                        --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+                        , \
+                        ,sqlite3"
+
 LIBS_virtclass-native = " -lxml2 "
 LIBS_pn-php =" -lpthread "
 export LIBS
Signature · 1 line
1.8.2
#2 lore raw

Re: [meta-oe][PATCHv2] php: add sqlite3 and mysql PACKAGECONFIG options

Quoted 52 lines · Jack Mitchell

From: Jack Mitchell <[email protected]>

---
 meta-oe/recipes-devtools/php/php.inc | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)
meta-oe/recipes-devtools/php/php.inc +12 -9
index 225c3d7..639aa01 100644
@@ -3,11 +3,11 @@ HOMEPAGE = "http://www.php.net"
 SECTION = "console/network"
 LICENSE = "PHP-3.0"
 BBCLASSEXTEND = "native"
-DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native mysql5 \
-           libc-client openssl sqlite3"
+DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \
+           libc-client openssl"
 DEPENDS_virtclass-native = "zlib-native libxml2-native"
 
-INC_PR = "r4"
+INC_PR = "r5"
 
 SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2"
 
@@ -27,12 +27,7 @@ EXTRA_OECONF = "--enable-mbstring --enable-discard-path --enable-wddx \
                 --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
                 --with-iconv=${STAGING_LIBDIR}/.. \
                 --with-libxml-dir=${STAGING_BINDIR_CROSS} \
-                --disable-embedded-mysqli \
-                --with-mysql="${STAGING_DIR_TARGET}${prefix}" \
-                --with-mysqli="${STAGING_BINDIR_CROSS}/mysql_config" \
-        --with-sqlite3=${STAGING_LIBDIR}/.. --enable-sqlite-utf8 \
-                --with-pdo-mysql="${STAGING_BINDIR_CROSS}/mysql_config" \
-                --with-pdo-sqlite=${STAGING_LIBDIR}/.. ${COMMON_EXTRA_OECONF} \
+                ${COMMON_EXTRA_OECONF} \
 "
 EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                 --with-zlib --with-zlib-dir=${STAGING_LIBDIR_NATIVE}/.. \
@@ -40,6 +35,21 @@ EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                 ${COMMON_EXTRA_OECONF} \
 "
 
+PACKAGECONFIG ??= "mysql sqlite3"
+
+PACKAGECONFIG[mysql] = "--with-mysql=\"${STAGING_DIR_TARGET}${prefix}\" \
+                        --with-mysqli=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --with-pdo-mysql=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --disable-embedded-mysqli \
+                        , \
+                        ,mysql5"

meta-oe/recipes-devtools/php/php.inc EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \ · line 55

Quoted 10 lines
meta-oe/recipes-devtools/php/php.inc +7 -0
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+                        --enable-sqlite-utf8 \
+                        --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+                        , \
+                        ,sqlite3"
+
 LIBS_virtclass-native = " -lxml2 "
 LIBS_pn-php =" -lpthread "
 export LIBS

php-native fails on jenkins with:

| configure:59644: result: no
| configure:60451: checking for MSSQL support via FreeTDS
| configure:60487: result: no
| configure:61111: checking for MySQL support
| configure:61147: result: yes
| configure:61156: checking for specified location of the MySQL UNIX socket
| configure:61171: result: no
| configure:61221: error: Cannot find MySQL header files under "/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr".
| Note that the MySQL client library is not bundled anymore!

I guess you should force both disabled for native.

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#3 lore raw

Re: [meta-oe][PATCHv2] php: add sqlite3 and mysql PACKAGECONFIG options

Quoted 74 lines · Martin Jansa
Quoted 52 lines · Jack Mitchell

From: Jack Mitchell <[email protected]>

---
  meta-oe/recipes-devtools/php/php.inc | 28 +++++++++++++++++++---------
  1 file changed, 19 insertions(+), 9 deletions(-)
meta-oe/recipes-devtools/php/php.inc +12 -9
index 225c3d7..639aa01 100644
@@ -3,11 +3,11 @@ HOMEPAGE = "http://www.php.net"
  SECTION = "console/network"
  LICENSE = "PHP-3.0"
  BBCLASSEXTEND = "native"
-DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native mysql5 \
-           libc-client openssl sqlite3"
+DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \
+           libc-client openssl"
  DEPENDS_virtclass-native = "zlib-native libxml2-native"
 
-INC_PR = "r4"
+INC_PR = "r5"
 
  SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2"
 
@@ -27,12 +27,7 @@ EXTRA_OECONF = "--enable-mbstring --enable-discard-path --enable-wddx \
                  --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
                  --with-iconv=${STAGING_LIBDIR}/.. \
                  --with-libxml-dir=${STAGING_BINDIR_CROSS} \
-                --disable-embedded-mysqli \
-                --with-mysql="${STAGING_DIR_TARGET}${prefix}" \
-                --with-mysqli="${STAGING_BINDIR_CROSS}/mysql_config" \
-        --with-sqlite3=${STAGING_LIBDIR}/.. --enable-sqlite-utf8 \
-                --with-pdo-mysql="${STAGING_BINDIR_CROSS}/mysql_config" \
-                --with-pdo-sqlite=${STAGING_LIBDIR}/.. ${COMMON_EXTRA_OECONF} \
+                ${COMMON_EXTRA_OECONF} \
  "
  EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                  --with-zlib --with-zlib-dir=${STAGING_LIBDIR_NATIVE}/.. \
@@ -40,6 +35,21 @@ EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                  ${COMMON_EXTRA_OECONF} \
  "
 
+PACKAGECONFIG ??= "mysql sqlite3"
+
+PACKAGECONFIG[mysql] = "--with-mysql=\"${STAGING_DIR_TARGET}${prefix}\" \
+                        --with-mysqli=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --with-pdo-mysql=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --disable-embedded-mysqli \
+                        , \
+                        ,mysql5"

meta-oe/recipes-devtools/php/php.inc EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \ · line 55

Quoted 10 lines
meta-oe/recipes-devtools/php/php.inc +7 -0
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+                        --enable-sqlite-utf8 \
+                        --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+                        , \
+                        ,sqlite3"
+
  LIBS_virtclass-native = " -lxml2 "
  LIBS_pn-php =" -lpthread "
  export LIBS

php-native fails on jenkins with:

| configure:59644: result: no
| configure:60451: checking for MSSQL support via FreeTDS
| configure:60487: result: no
| configure:61111: checking for MySQL support
| configure:61147: result: yes
| configure:61156: checking for specified location of the MySQL UNIX socket
| configure:61171: result: no
| configure:61221: error: Cannot find MySQL header files under "/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr".
| Note that the MySQL client library is not bundled anymore!
Quoted 1 line

I guess you should force both disabled for native.

I'm no make/configure guru here, so I may need a little bit of input but as PHP has no explicit --disable-mysql support, is there a way to force a configure variable? This is the snippet that deals with mysql:

php_with_mysql=no

{ $as_echo "$as_me:$LINENO: checking for MySQL support" >&5 $as_echo_n "checking for MySQL support... " >&6; }

# Check whether --with-mysql was given.
if test "${with_mysql+set}" = set; then
withval=$with_mysql; PHP_MYSQL=$withval
else

  PHP_MYSQL=no
  test "$PHP_ENABLE_ALL" && PHP_MYSQL=$PHP_ENABLE_ALL

fi

Is there a way to force with_mysql to not set?

Alternatively is there a way to stop PACKAGECONFIG appending to -native?

Cheers,

Signature · 5 lines
  Jack Mitchell ([email protected])
  Embedded Systems Engineer
  http://www.embed.me.uk

--
#4 lore raw

Re: [meta-oe][PATCHv2] php: add sqlite3 and mysql PACKAGECONFIG options

Quoted 91 lines · Jack Mitchell
Quoted 74 lines · Martin Jansa
Quoted 52 lines · Jack Mitchell

From: Jack Mitchell <[email protected]>

---
  meta-oe/recipes-devtools/php/php.inc | 28 +++++++++++++++++++---------
  1 file changed, 19 insertions(+), 9 deletions(-)
meta-oe/recipes-devtools/php/php.inc +12 -9
index 225c3d7..639aa01 100644
@@ -3,11 +3,11 @@ HOMEPAGE = "http://www.php.net"
  SECTION = "console/network"
  LICENSE = "PHP-3.0"
  BBCLASSEXTEND = "native"
-DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native mysql5 \
-           libc-client openssl sqlite3"
+DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \
+           libc-client openssl"
  DEPENDS_virtclass-native = "zlib-native libxml2-native"
 
-INC_PR = "r4"
+INC_PR = "r5"
 
  SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2"
 
@@ -27,12 +27,7 @@ EXTRA_OECONF = "--enable-mbstring --enable-discard-path --enable-wddx \
                  --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
                  --with-iconv=${STAGING_LIBDIR}/.. \
                  --with-libxml-dir=${STAGING_BINDIR_CROSS} \
-                --disable-embedded-mysqli \
-                --with-mysql="${STAGING_DIR_TARGET}${prefix}" \
-                --with-mysqli="${STAGING_BINDIR_CROSS}/mysql_config" \
-        --with-sqlite3=${STAGING_LIBDIR}/.. --enable-sqlite-utf8 \
-                --with-pdo-mysql="${STAGING_BINDIR_CROSS}/mysql_config" \
-                --with-pdo-sqlite=${STAGING_LIBDIR}/.. ${COMMON_EXTRA_OECONF} \
+                ${COMMON_EXTRA_OECONF} \
  "
  EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                  --with-zlib --with-zlib-dir=${STAGING_LIBDIR_NATIVE}/.. \
@@ -40,6 +35,21 @@ EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
                  ${COMMON_EXTRA_OECONF} \
  "
 
+PACKAGECONFIG ??= "mysql sqlite3"
+
+PACKAGECONFIG[mysql] = "--with-mysql=\"${STAGING_DIR_TARGET}${prefix}\" \
+                        --with-mysqli=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --with-pdo-mysql=\"${STAGING_BINDIR_CROSS}/mysql_config\" \
+                        --disable-embedded-mysqli \
+                        , \
+                        ,mysql5"

meta-oe/recipes-devtools/php/php.inc EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \ · line 55

Quoted 10 lines
meta-oe/recipes-devtools/php/php.inc +7 -0
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+                        --enable-sqlite-utf8 \
+                        --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+                        , \
+                        ,sqlite3"
+
  LIBS_virtclass-native = " -lxml2 "
  LIBS_pn-php =" -lpthread "
  export LIBS

php-native fails on jenkins with:

| configure:59644: result: no
| configure:60451: checking for MSSQL support via FreeTDS
| configure:60487: result: no
| configure:61111: checking for MySQL support
| configure:61147: result: yes
| configure:61156: checking for specified location of the MySQL UNIX socket
| configure:61171: result: no
| configure:61221: error: Cannot find MySQL header files under "/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr".
| Note that the MySQL client library is not bundled anymore!
Quoted 1 line

I guess you should force both disabled for native.

I'm no make/configure guru here, so I may need a little bit of input but as PHP has no explicit --disable-mysql support, is there a way to force a configure variable? This is the snippet that deals with mysql:

php_with_mysql=no

{ $as_echo "$as_me:$LINENO: checking for MySQL support" >&5 $as_echo_n "checking for MySQL support... " >&6; }

# Check whether --with-mysql was given.
if test "${with_mysql+set}" = set; then
withval=$with_mysql; PHP_MYSQL=$withval
else

Quoted 8 lines
   PHP_MYSQL=no
   test "$PHP_ENABLE_ALL" && PHP_MYSQL=$PHP_ENABLE_ALL

fi

Is there a way to force with_mysql to not set?

Alternatively is there a way to stop PACKAGECONFIG appending to -native?

You can try PACKAGECONFIG_class-native ??= "".

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]