From 2415a9c0b31c1dc322c7a514a1e2e841610a91fe 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 55b96c79..3cd46075 100644 --- a/config.m4 +++ b/config.m4 @@ -314,6 +314,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) @@ -332,7 +333,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` @@ -340,13 +341,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 7ea3b89b..bf9e1286 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -2393,8 +2393,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 064c8a2e4ec7f05275396e88cdb88fae49bdad12 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 3cd46075..127f3e64 100644 --- a/config.m4 +++ b/config.m4 @@ -314,7 +314,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) @@ -348,7 +348,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 bf9e1286..d2e92a55 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -2393,14 +2393,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 efde19a1dea5576fe6298373b97fbb23c051bd01 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 d2e92a55..c97f2e07 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -1883,7 +1883,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 425e74f9..95763e3f 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 45c6479b..0d4ce1cc 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 4d04bd1a..039f9fbd 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 aeb2bc466916a0066b45a8ce995e7869680294c1 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 c97f2e07..bfae9e18 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -1883,7 +1883,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, @@ -1894,10 +1894,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 95763e3f..e1ac403d 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 0d4ce1cc..e80c2b06 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 039f9fbd..2ec2a2b4 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===