From 62e0cf0cc782b1fd85bc2bc961b69bb6aae25e58 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 4 Oct 2015 09:17:03 +0200 Subject: [PATCH 1/4] report libraries runtime versions --- config.m4 | 6 ++++-- php_phongo.c | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/config.m4 b/config.m4 index 8ddb5e960..cee5b7be0 100644 --- a/config.m4 +++ b/config.m4 @@ -313,6 +313,7 @@ PHP_ARG_WITH(libbson, Use system libbson, fi PHP_EVAL_INCLINE($LIBBSON_INC) PHP_EVAL_LIBLINE($LIBBSON_LIB, MONGODB_SHARED_LIBADD) + AC_DEFINE(HAVE_LIBBSON, 1, [Use system libbson]) else PHP_ADD_SOURCES_X(PHP_EXT_DIR(mongodb)[src/libbson/src/yajl], $YAJL_SOURCES, [$STD_CFLAGS $MAINTAINER_CFLAGS], shared_objects_mongodb, yes) PHP_ADD_SOURCES_X(PHP_EXT_DIR(mongodb)[src/libbson/src/bson], $BSON_SOURCES, [$STD_CFLAGS $MAINTAINER_CFLAGS], shared_objects_mongodb, yes) @@ -331,7 +332,7 @@ PHP_ARG_WITH(libmongoc, Use system libmongoc, AC_PATH_PROG(PKG_CONFIG, pkg-config, no) AC_MSG_CHECKING(for libmongoc) if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libmongoc-1.0 && $PKG_CONFIG --exists libmongoc-priv; then - if $PKG_CONFIG libmongoc-1.0 --atleast-version 1.1.5; then + if $PKG_CONFIG libmongoc-1.0 --atleast-version 1.2.0; then LIBMONGOC_INC=`$PKG_CONFIG libmongoc-priv --cflags` LIBMONGOC_LIB=`$PKG_CONFIG libmongoc-priv --libs` LIBMONGOC_VER=`$PKG_CONFIG libmongoc-priv --modversion` @@ -339,13 +340,14 @@ PHP_ARG_WITH(libmongoc, Use system libmongoc, CFLAGS="$CFLAGS -DMONGOC_I_AM_A_DRIVER" else - AC_MSG_ERROR(system libmongoc must be upgraded to version >= 1.1.6) + AC_MSG_ERROR(system libmongoc must be upgraded to version >= 1.2.0) fi else AC_MSG_ERROR(pkgconfig and mongoc must be installed) fi PHP_EVAL_INCLINE($LIBMONGOC_INC) PHP_EVAL_LIBLINE($LIBMONGOC_LIB, MONGODB_SHARED_LIBADD) + AC_DEFINE(HAVE_LIBMONGOC, 1, [Use system libmongoc]) else CPPFLAGS="$CPPFLAGS -DBSON_COMPILATION -DMONGOC_COMPILATION -DMONGOC_TRACE" diff --git a/php_phongo.c b/php_phongo.c index bc2628e0b..01265386f 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -2375,8 +2375,19 @@ PHP_MINFO_FUNCTION(mongodb) php_info_print_table_header(2, "mongodb support", "enabled"); php_info_print_table_row(2, "mongodb version", MONGODB_VERSION_S); php_info_print_table_row(2, "mongodb stability", MONGODB_STABILITY_S); +#ifdef HAVE_LIBMONGOC + php_info_print_table_row(2, "libmongoc headers version", MONGOC_VERSION_S); + php_info_print_table_row(2, "libmongoc library version", mongoc_get_version()); +#else + /* Bundled libraries, buildtime = runtime */ php_info_print_table_row(2, "libmongoc version", MONGOC_VERSION_S); +#endif +#ifdef HAVE_LIBBSON + php_info_print_table_row(2, "libbson headers version", BSON_VERSION_S); + php_info_print_table_row(2, "libbson library version", bson_get_version()); +#else php_info_print_table_row(2, "libbson version", BSON_VERSION_S); +#endif php_info_print_table_end(); DISPLAY_INI_ENTRIES(); From 0608088055cb2e1178e070d8b65186525b6ac4f4 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 5 Oct 2015 16:22:27 +0200 Subject: [PATCH 2/4] rename macros --- config.m4 | 4 ++-- php_phongo.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config.m4 b/config.m4 index cee5b7be0..8b0868bf1 100644 --- a/config.m4 +++ b/config.m4 @@ -313,7 +313,7 @@ PHP_ARG_WITH(libbson, Use system libbson, fi PHP_EVAL_INCLINE($LIBBSON_INC) PHP_EVAL_LIBLINE($LIBBSON_LIB, MONGODB_SHARED_LIBADD) - AC_DEFINE(HAVE_LIBBSON, 1, [Use system libbson]) + AC_DEFINE(HAVE_SYSTEM_LIBBSON, 1, [Use system libbson]) else PHP_ADD_SOURCES_X(PHP_EXT_DIR(mongodb)[src/libbson/src/yajl], $YAJL_SOURCES, [$STD_CFLAGS $MAINTAINER_CFLAGS], shared_objects_mongodb, yes) PHP_ADD_SOURCES_X(PHP_EXT_DIR(mongodb)[src/libbson/src/bson], $BSON_SOURCES, [$STD_CFLAGS $MAINTAINER_CFLAGS], shared_objects_mongodb, yes) @@ -347,7 +347,7 @@ PHP_ARG_WITH(libmongoc, Use system libmongoc, fi PHP_EVAL_INCLINE($LIBMONGOC_INC) PHP_EVAL_LIBLINE($LIBMONGOC_LIB, MONGODB_SHARED_LIBADD) - AC_DEFINE(HAVE_LIBMONGOC, 1, [Use system libmongoc]) + AC_DEFINE(HAVE_SYSTEM_LIBMONGOC, 1, [Use system libmongoc]) else CPPFLAGS="$CPPFLAGS -DBSON_COMPILATION -DMONGOC_COMPILATION -DMONGOC_TRACE" diff --git a/php_phongo.c b/php_phongo.c index 01265386f..bf2b2d9b0 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -2375,14 +2375,14 @@ PHP_MINFO_FUNCTION(mongodb) php_info_print_table_header(2, "mongodb support", "enabled"); php_info_print_table_row(2, "mongodb version", MONGODB_VERSION_S); php_info_print_table_row(2, "mongodb stability", MONGODB_STABILITY_S); -#ifdef HAVE_LIBMONGOC +#ifdef HAVE_SYSTEM_LIBMONGOC php_info_print_table_row(2, "libmongoc headers version", MONGOC_VERSION_S); php_info_print_table_row(2, "libmongoc library version", mongoc_get_version()); #else /* Bundled libraries, buildtime = runtime */ php_info_print_table_row(2, "libmongoc version", MONGOC_VERSION_S); #endif -#ifdef HAVE_LIBBSON +#ifdef HAVE_SYSTEM_LIBBSON php_info_print_table_row(2, "libbson headers version", BSON_VERSION_S); php_info_print_table_row(2, "libbson library version", bson_get_version()); #else From 2f750b0c141a814a6455f666583c28601be1c29d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 5 Oct 2015 19:50:06 +0200 Subject: [PATCH 3/4] report runtime version in debug mode --- php_phongo.c | 17 ++++++++++++++++- tests/manager/manager-debug-001.phpt | 2 +- tests/manager/manager-debug-002.phpt | 2 +- tests/manager/manager-debug-003.phpt | 2 +- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/php_phongo.c b/php_phongo.c index bf2b2d9b0..40880be01 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -1870,7 +1870,22 @@ mongoc_client_t *php_phongo_make_mongo_client(const mongoc_uri_t *uri, zval *dri php_phongo_populate_default_ssl_ctx(ctx, driverOptions); } - MONGOC_DEBUG("Creating Manager, phongo-%s[%s] - mongoc-%s, libbson-%s", MONGODB_VERSION_S, MONGODB_STABILITY_S, MONGOC_VERSION_S, BSON_VERSION_S); + MONGOC_DEBUG("Creating Manager, phongo-%s[%s] - mongoc-%s(%s), libbson-%s(%s)", + MONGODB_VERSION_S, + MONGODB_STABILITY_S, + MONGOC_VERSION_S, +#ifdef HAVE_SYSTEM_LIBMONGOC + mongoc_get_version(), +#else + "bundled", +#endif + BSON_VERSION_S, +#ifdef HAVE_SYSTEM_LIBBSON + bson_get_version() +#else + "bundled" +#endif + ); client = mongoc_client_new_from_uri(uri); if (!client) { diff --git a/tests/manager/manager-debug-001.phpt b/tests/manager/manager-debug-001.phpt index 425e74f9f..95763e3f0 100644 --- a/tests/manager/manager-debug-001.phpt +++ b/tests/manager/manager-debug-001.phpt @@ -30,7 +30,7 @@ foreach($content as $line) { ===DONE=== --EXPECTF-- -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s, libbson-1.%s +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s) [%s] mongoc: TRACE > ENTRY: mongoc_bulk_operation_execute():%d [%s] mongoc: TRACE > EXIT: mongoc_bulk_operation_execute():%d ===DONE=== diff --git a/tests/manager/manager-debug-002.phpt b/tests/manager/manager-debug-002.phpt index 45c6479bb..0d4ce1cce 100644 --- a/tests/manager/manager-debug-002.phpt +++ b/tests/manager/manager-debug-002.phpt @@ -20,7 +20,7 @@ ini_set("mongodb.debug", "off"); --EXPECTF-- %a -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s, libbson-1.%s +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s) %a [%s] PHONGO: DEBUG > Connecting to '%s:%d[mongodb://%s:%d]' %a diff --git a/tests/manager/manager-debug-003.phpt b/tests/manager/manager-debug-003.phpt index 4d04bd1a0..039f9fbdb 100644 --- a/tests/manager/manager-debug-003.phpt +++ b/tests/manager/manager-debug-003.phpt @@ -21,6 +21,6 @@ ini_set("mongodb.debug", "off"); --EXPECTF-- %a [%s] PHONGO: TRACE > ENTRY: php_phongo_make_mongo_client():%d -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s, libbson-1.%s +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s) %a ===DONE=== From c27497b821b7c78ef230b63d47d1d2f8a494a807 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 5 Oct 2015 19:57:31 +0200 Subject: [PATCH 4/4] PHPC-442: report PHP version in debug info --- php_phongo.c | 7 ++++--- tests/manager/manager-debug-001.phpt | 2 +- tests/manager/manager-debug-002.phpt | 2 +- tests/manager/manager-debug-003.phpt | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/php_phongo.c b/php_phongo.c index 40880be01..80f9ce9e1 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -1870,7 +1870,7 @@ mongoc_client_t *php_phongo_make_mongo_client(const mongoc_uri_t *uri, zval *dri php_phongo_populate_default_ssl_ctx(ctx, driverOptions); } - MONGOC_DEBUG("Creating Manager, phongo-%s[%s] - mongoc-%s(%s), libbson-%s(%s)", + MONGOC_DEBUG("Creating Manager, phongo-%s[%s] - mongoc-%s(%s), libbson-%s(%s), php-%s", MONGODB_VERSION_S, MONGODB_STABILITY_S, MONGOC_VERSION_S, @@ -1881,10 +1881,11 @@ mongoc_client_t *php_phongo_make_mongo_client(const mongoc_uri_t *uri, zval *dri #endif BSON_VERSION_S, #ifdef HAVE_SYSTEM_LIBBSON - bson_get_version() + bson_get_version(), #else - "bundled" + "bundled", #endif + PHP_VERSION ); client = mongoc_client_new_from_uri(uri); diff --git a/tests/manager/manager-debug-001.phpt b/tests/manager/manager-debug-001.phpt index 95763e3f0..e1ac403d9 100644 --- a/tests/manager/manager-debug-001.phpt +++ b/tests/manager/manager-debug-001.phpt @@ -30,7 +30,7 @@ foreach($content as $line) { ===DONE=== --EXPECTF-- -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s) +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s), php-%s [%s] mongoc: TRACE > ENTRY: mongoc_bulk_operation_execute():%d [%s] mongoc: TRACE > EXIT: mongoc_bulk_operation_execute():%d ===DONE=== diff --git a/tests/manager/manager-debug-002.phpt b/tests/manager/manager-debug-002.phpt index 0d4ce1cce..e80c2b068 100644 --- a/tests/manager/manager-debug-002.phpt +++ b/tests/manager/manager-debug-002.phpt @@ -20,7 +20,7 @@ ini_set("mongodb.debug", "off"); --EXPECTF-- %a -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s) +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s), php-%s %a [%s] PHONGO: DEBUG > Connecting to '%s:%d[mongodb://%s:%d]' %a diff --git a/tests/manager/manager-debug-003.phpt b/tests/manager/manager-debug-003.phpt index 039f9fbdb..2ec2a2b4c 100644 --- a/tests/manager/manager-debug-003.phpt +++ b/tests/manager/manager-debug-003.phpt @@ -21,6 +21,6 @@ ini_set("mongodb.debug", "off"); --EXPECTF-- %a [%s] PHONGO: TRACE > ENTRY: php_phongo_make_mongo_client():%d -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s) +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s), php-%s %a ===DONE===