File obs-server-2.9-0043-api-fix-build-for-mariadb-10.4.patch of Package obs-server

From 357e79a2ee46fa46d1addfd5d423d92499e25ffd Mon Sep 17 00:00:00 2001
From: Ruediger Oertel <ro@suse.de>
Date: Wed, 11 Mar 2020 14:43:27 +0100
Subject: [PATCH] [api] fix build for mariadb-10.4

build using the current user and try not to break older mariadb
revisions in the process where socket auth was not loaded by default.
---
 src/api/script/api_test_in_spec.sh | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/api/script/api_test_in_spec.sh b/src/api/script/api_test_in_spec.sh
index 0d85e1462e..8ac1c94c5b 100755
--- a/src/api/script/api_test_in_spec.sh
+++ b/src/api/script/api_test_in_spec.sh
@@ -5,6 +5,7 @@ BASE_DIR=$PWD
 TEMP_DIR=$BASE_DIR/tmp
 MYSQL_BASEDIR=$TEMP_DIR/mysql/
 MYSQL_DATADIR=$MYSQL_BASEDIR/data
+MYSQL_EXTRA_CONF=$TEMP_DIR/my.cnf.add
 MEMCACHED_PID_FILE=$TEMP_DIR/memcached.pid
 MYSQL_SOCKET_DIR=`mktemp -d`
 MYSQL_SOCKET=$MYSQL_SOCKET_DIR/mysql.socket
@@ -21,6 +22,11 @@ if [ -z "$MYSQL_SERVER" ]; then
   exit 1
 fi
 
+cat << EOF > $MYSQL_EXTRA_CONF
+[mysqld]
+plugin-load-add = auth_socket.so
+EOF
+
 MEMCACHED_SERVER=
 for dir in /usr/bin /usr/sbin /usr/libexec; do
   if [ -x "$dir/memcached" ]; then
@@ -54,8 +60,8 @@ kill_memcached() {
 rm -rf $MYSQL_DATADIR $MYSQL_SOCKET
 mkdir -p $MYSQL_BASEDIR
 chown -R $MYSQLD_USER $MYSQL_BASEDIR
-mysql_install_db --user=$MYSQLD_USER --datadir=$MYSQL_DATADIR
-$MYSQL_SERVER --user=$MYSQLD_USER --datadir=$MYSQL_DATADIR --skip-networking --socket=$MYSQL_SOCKET --pid-file=$TEMP_DIR/mysqld.pid &
+mysql_install_db --user=$MYSQLD_USER --datadir=$MYSQL_DATADIR --auth-root-authentication-method=socket --auth-root-socket-user=$MYSQLD_USER --defaults-extra-file=$MYSQL_EXTRA_CONF
+$MYSQL_SERVER --defaults-extra-file=$MYSQL_EXTRA_CONF --user=$MYSQLD_USER --datadir=$MYSQL_DATADIR --skip-networking --socket=$MYSQL_SOCKET --pid-file=$TEMP_DIR/mysqld.pid &
 sleep 2
 
 ##################### api
@@ -69,14 +75,14 @@ development:
   adapter:  mysql2
   host:     localhost
   database: api_25
-  username: root
+  username: $MYSQLD_USER
   encoding: utf8
   socket:   $MYSQL_SOCKET
 test:
   adapter:  mysql2
   host:     localhost
   database: api_test
-  username: root
+  username: $MYSQLD_USER
   encoding: utf8
   socket:   $MYSQL_SOCKET
   # disable timeout, required on SLES 11 SP3 at least
@@ -90,7 +96,7 @@ $MEMCACHED_SERVER $MEMCACHED_USER -l 127.0.0.1 -d -P $MEMCACHED_PID_FILE || exit
 export RAILS_ENV=development
 bundle.ruby2.5 exec rake.ruby2.5 db:create || exit 1
 mv db/structure.sql db/structure.sql.git
-xzcat test/dump_2.5.sql.xz | mysql  -u root --socket=$MYSQL_SOCKET
+xzcat test/dump_2.5.sql.xz | mysql  -u $MYSQLD_USER --socket=$MYSQL_SOCKET
 bundle.ruby2.5 exec rake.ruby2.5 db:migrate:with_data db:structure:dump db:drop || exit 1
 ./script/compare_structure_sql.sh db/structure.sql.git db/structure.sql || exit 1
 
@@ -121,7 +127,7 @@ done
 kill_memcached
 
 #cleanup
-/usr/bin/mysqladmin -u root --socket=$MYSQL_SOCKET shutdown || true
+/usr/bin/mysqladmin -u $MYSQLD_USER --socket=$MYSQL_SOCKET shutdown || true
 rm -rf $MYSQL_DATADIR $MYSQL_SOCKET_DIR
 
 exit 0
-- 
2.25.3