From 176d224b694b4f6ec2933fc9b8e3b76043659744 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 1 Mar 2024 23:26:43 +0300 Subject: Release version 8.0.15+13 Add mysql-client package. Minor cleanups of the libmysqlclient library. --- libmysqlclient/README-DEV | 8 +++++--- libmysqlclient/build/root.build | 5 ++++- libmysqlclient/manifest | 6 +++++- libmysqlclient/mysql/buildfile | 2 +- libmysqlclient/mysql/my_config.h | 36 ++++++++++++++++++++++-------------- libmysqlclient/mysql/version.h.in | 1 + 6 files changed, 38 insertions(+), 20 deletions(-) create mode 120000 libmysqlclient/mysql/version.h.in (limited to 'libmysqlclient') diff --git a/libmysqlclient/README-DEV b/libmysqlclient/README-DEV index 4d719ea..b69995c 100644 --- a/libmysqlclient/README-DEV +++ b/libmysqlclient/README-DEV @@ -8,6 +8,7 @@ for auto-generated headers: $ ln -s ../upstream/LICENSE $ ln -s ../../upstream/{vio,sql,mysys,mysys_ssl,libbinlogevents,libmysql} mysql $ ln -s ../../upstream/include mysql/mysql +$ ln -s mysql/mysql_version.h.in mysql/version.h.in Also make sure all source files are UTF-8-encoded: @@ -34,7 +35,7 @@ Note that we unable to generate mysql_version.h directly from the template as it is included as "mysql_version.h" in upstream's source code, which makes impossible using the header-generating machinery. That's why we create mysql/mysql_version.h that includes that we auto-generate -from upstream's mysql/mysql_version.h.in. +from upstream's mysql_version.h.in. $ ln -s libbinlogevents/binlog_config.h.cmake mysql/binlog_config.h.cmake.orig @@ -65,7 +66,8 @@ to, grepping for its usages, for example: grep -e CPU_LEVEL1_DCACHE_LINESIZE `find -L . -name '*.c*' -o -name '*.h*'` -And it may become obvious that the macro is not used in libmysqlclient. +And it may become obvious that the macro is not used in libmysqlclient and +mysql-client. Re-creating mysql/my_config.h from scratch every time we upgrade to a new upstream version would be a real pain. Instead we can only (un)define the @@ -74,7 +76,7 @@ macro sets: $ for m in `cat mysql/{config,binlog_config}.h.cmake.orig | \ sed -n 's/.*#\s*\(define\|cmakedefine\)\s\{1,\}\([_a-zA-Z0-9]\{1,\}\)\(\s.*\)\{0,1\}$/\2/p' | sort -u`; do - if grep -q -e "\b$m\b" `find -L . -name '*.h' -a ! -name my_config.h -a ! -name config.h -o -name '*.c' -o -name '*.cc' -a ! -name mysqld.cc -o -name '*.cpp' -o -name '*.hpp'`; then + if grep -q -e "\b$m\b" `find -L . ../mysql-client -name '*.h' -a ! -name my_config.h -a ! -name config.h -o -name '*.c' -o -name '*.cc' -a ! -name mysqld.cc -o -name '*.cpp' -o -name '*.hpp'`; then echo "$m" fi done >used-macros diff --git a/libmysqlclient/build/root.build b/libmysqlclient/build/root.build index 9c5eb0b..077c13f 100644 --- a/libmysqlclient/build/root.build +++ b/libmysqlclient/build/root.build @@ -8,7 +8,10 @@ using c h{*}: extension = h c{*}: extension = c -cxx.std = latest +# Note that the implementation uses C++14 internally, with some used +# constructs being deprecated/removed from the later versions of the standard. +# +cxx.std = 14 using cxx diff --git a/libmysqlclient/manifest b/libmysqlclient/manifest index 0707937..24a5640 100644 --- a/libmysqlclient/manifest +++ b/libmysqlclient/manifest @@ -3,7 +3,7 @@ name: libmysqlclient # Note: remember to update doc-url below! # -version: 8.0.15+12 +version: 8.0.15+13 project: mysql summary: MySQL C API client library @@ -26,3 +26,7 @@ depends: * bpkg >= 0.15.0 depends: libz ^1.2.1100 depends: libcrypto ^1.1.1 depends: libssl ^1.1.1 + +# System package mapping. +# +fedora-name: community-mysql-devel diff --git a/libmysqlclient/mysql/buildfile b/libmysqlclient/mysql/buildfile index a21aef2..37a627a 100644 --- a/libmysqlclient/mysql/buildfile +++ b/libmysqlclient/mysql/buildfile @@ -67,7 +67,7 @@ lib{mysqlclient}: strings/file{README} # Fedora/RHEL: /var/lib/mysql/mysql.sock # Source package: /tmp/mysql.sock # -h{version}: mysql/in{mysql_version} $src_root/manifest +h{version}: in{version} $src_root/manifest { dist = true clean = ($src_root != $out_root) diff --git a/libmysqlclient/mysql/my_config.h b/libmysqlclient/mysql/my_config.h index be16fe6..7914fcf 100644 --- a/libmysqlclient/mysql/my_config.h +++ b/libmysqlclient/mysql/my_config.h @@ -17,14 +17,15 @@ */ /* - * Auto-generated. Defines the following configuration macros: + * Includes auto-generated version.h. Defines the following configuration + * macros: #define PROTOCOL_VERSION * Keep all the macros listed (in this exact form) for the change tracking * (see README-DEV). */ -#include // PROTOCOL_VERSION, MYSQL_SERVER_VERSION +#include // PROTOCOL_VERSION, MYSQL_SERVER_VERSION /* * Auto-generated. Defines macros that depend on the version and build2 @@ -108,12 +109,9 @@ # define SIZEOF_CHARP SIZEOF_VOIDP #endif -#define HAVE_STRUCT_TIMESPEC - /* * Hard to even find any records of these types. */ -#undef HAVE_UINT #undef HAVE_ULONG /* @@ -180,7 +178,6 @@ #if defined(__FreeBSD__) || defined(__linux__) # define HAVE_CLOCK_GETTIME 1 # define HAVE_CUSERID 1 -# define HAVE_SIGEV_THREAD_ID 1 # define HAVE_POSIX_FALLOCATE 1 #endif @@ -221,8 +218,6 @@ # define HAVE_GETPWUID 1 # define HAVE_GETRLIMIT 1 # define HAVE_GETRUSAGE 1 -# define HAVE_READLINK 1 -# define HAVE_REALPATH 1 # define HAVE_STPCPY 1 # define HAVE_STPNCPY 1 # define HAVE_NL_LANGINFO 1 @@ -234,7 +229,6 @@ # define TIME_WITH_SYS_TIME 1 # define HAVE_ARPA_INET_H 1 # define HAVE_NETINET_IN_H 1 -# define HAVE_CHOWN 1 # define HAVE_FCHMOD 1 # define HAVE_MLOCKALL 1 # define HAVE_SYS_WAIT_H 1 @@ -258,6 +252,18 @@ # define HAVE_BUILTIN_STPCPY 1 /* + * Libedit. + */ +# define USE_LIBEDIT_INTERFACE 1 +# define USE_NEW_EDITLINE_INTERFACE 1 +# define HAVE_HIST_ENTRY 1 +# undef HAVE_TERM_H + +# define GWINSZ_IN_SYS_IOCTL 1 +# define HAVE_INDEX 1 +# define HAVE_INITGROUPS 1 + +/* * Specific for Windows. */ #else @@ -265,6 +271,7 @@ # define HAVE_TELL 1 # define NO_FCNTL_NONBLOCK 1 # define DEFAULT_TMPDIR "" +# define FN_NO_CASE_SENSE 1 #endif #ifdef _WIN32 @@ -278,10 +285,11 @@ /* * Common for all supported OSes/compilers. */ -#define HAVE_STRNLEN 1 -#define MAX_INDEXES 64U -#define HAVE_SYS_TYPES_H 1 -#define STACK_DIRECTION -1 +#define MAX_INDEXES 64U +#define HAVE_SYS_TYPES_H 1 +#define STACK_DIRECTION -1 +#define CPU_LEVEL1_DCACHE_LINESIZE 64 +#define DEFAULT_SECURE_FILE_PRIV_DIR "NULL" /* * Default character set and collation. @@ -318,8 +326,8 @@ #undef HAVE_PRINTSTACK #undef HAVE_GETHRTIME #undef HAVE_GETPASSPHRASE -#undef HAVE_SIGEV_PORT #undef HAVE_SOLARIS_ATOMIC +#undef LINUX_ALPINE /* * The upstream package undefines it for all supported compilers. diff --git a/libmysqlclient/mysql/version.h.in b/libmysqlclient/mysql/version.h.in new file mode 120000 index 0000000..9c69727 --- /dev/null +++ b/libmysqlclient/mysql/version.h.in @@ -0,0 +1 @@ +mysql/mysql_version.h.in \ No newline at end of file -- cgit v1.1