Hello community,
here is the log from the commit of package opensuse-mariadb-image for
openSUSE:Factory checked in at 2020-03-01 21:27:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opensuse-mariadb-image (Old)
and /work/SRC/openSUSE:Factory/.opensuse-mariadb-image.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opensuse-mariadb-image"
Sun Mar 1 21:27:52 2020 rev:7 rq:780382 version:1.0.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/opensuse-mariadb-image/opensuse-mariadb-image.changes
2020-02-24 15:57:27.852128739 +0100
+++
/work/SRC/openSUSE:Factory/.opensuse-mariadb-image.new.26092/opensuse-mariadb-image.changes
2020-03-01 21:28:18.164591668 +0100
@@ -1,0 +2,11 @@
+Fri Feb 28 21:04:18 UTC 2020 - Thorsten Kukuk <[email protected]>
+
+- Fix parsing of default value output of mysqld
+- Fix init_db call to allow correct setup of database
+
+-------------------------------------------------------------------
+Thu Feb 27 17:59:40 UTC 2020 - Thorsten Kukuk <[email protected]>
+
+- Remove database if init failed
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opensuse-mariadb-image.kiwi ++++++
--- /var/tmp/diff_new_pack.EWu7ld/_old 2020-03-01 21:28:19.048593463 +0100
+++ /var/tmp/diff_new_pack.EWu7ld/_new 2020-03-01 21:28:19.052593472 +0100
@@ -50,8 +50,8 @@
<package name="mariadb"/>
<package name="mariadb-tools"/>
<package name="timezone"/>
- <package name="util-linux"/>
- <package name="pwgen"/>
+ <package name="util-linux"/><!-- su is needed for entrypoint.sh -->
+ <package name="pwgen"/><!-- pwgen is needed for entrypoint.sh -->
<archive name="entrypoint.tar.gz"/>
</packages>
</image>
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.EWu7ld/_old 2020-03-01 21:28:19.120593609 +0100
+++ /var/tmp/diff_new_pack.EWu7ld/_new 2020-03-01 21:28:19.120593609 +0100
@@ -9,6 +9,8 @@
echo "Configure image: [$kiwi_iname]..."
# Disable binding to localhost only, doesn't make sense in a container
-sed -i -e 's|\(bind-address.*\)|#\1|g' /etc/my.cnf
+sed -i -e 's|^\(bind-address.*\)|#\1|g' /etc/my.cnf
+# Disable log_error to log to stderr
+sed -i -e 's|^\(log-error.*\)|#\1|g' /etc/my.cnf
exit 0
++++++ entrypoint.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/usr/local/bin/entrypoint.sh
new/usr/local/bin/entrypoint.sh
--- old/usr/local/bin/entrypoint.sh 2019-10-30 14:37:04.959985381 +0100
+++ new/usr/local/bin/entrypoint.sh 2020-02-28 15:44:09.100510713 +0100
@@ -65,26 +65,9 @@
# latter only show values present in config files, and not server defaults
_get_config() {
local conf="$1"; shift
- "$@" --verbose --help --log-bin-index="$(mktemp -u)" 2>/dev/null | awk
'$1 == "'"$conf"'" { print $2; exit }'
+ "$@" --verbose --help --log-bin-index="$(mktemp -u)" 2>/dev/null | grep
^$conf | awk '$1 == "'"$conf"'" { print $2; exit }'
}
-# Read environment files, we may not be allowed to do that after
-# switching the user anymore
-if [ "$1" = 'mysqld' -a -z "$wantHelp" ]; then
- # still need to check config, container may have started with --user
- _check_config "$@"
- # Get config
- DATADIR="$(_get_config 'datadir' "$@")"
-
- if [ ! -d "$DATADIR/mysql" ]; then
- file_env 'MYSQL_ROOT_PASSWORD'
- file_env 'MYSQL_ROOT_HOST' '%'
- file_env 'MYSQL_DATABASE'
- file_env 'MYSQL_USER'
- file_env 'MYSQL_PASSWORD'
- fi
-fi
-
# allow the container to be started with `--user`
if [ "$1" = 'mysqld' -a -z "$wantHelp" -a "$(id -u)" = '0' ]; then
_check_config "$@"
@@ -103,6 +86,7 @@
DATADIR="$(_get_config 'datadir' "$@")"
if [ ! -d "$DATADIR/mysql" ]; then
+ file_env 'MYSQL_ROOT_PASSWORD'
if [ -z "$MYSQL_ROOT_PASSWORD" -a -z
"$MYSQL_ALLOW_EMPTY_PASSWORD" -a -z "$MYSQL_RANDOM_ROOT_PASSWORD" ]; then
echo >&2 'error: database is uninitialized and password
option is not specified '
echo >&2 ' You need to specify one of
MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD'
@@ -110,14 +94,16 @@
fi
mkdir -p "$DATADIR"
+
echo 'Initializing database'
- mysql_install_db --datadir="$DATADIR" --rpm
+ mysql_install_db --datadir="$DATADIR"
--auth-root-authentication-method=normal --rpm
echo -n `mysql --version | sed -e 's|.*Distrib
\(.*\)-MariaDB.*|\1|g' -e 's|\.[0-9]\+$||'` > "$DATADIR"/mysql_upgrade_info
chmod 640 "$DATADIR/mysql_upgrade_info"
echo 'Database initialized'
SOCKET="$(_get_config 'socket' "$@")"
- "$@" --skip-networking --socket="${SOCKET}" &
+ echo "Found socket: $SOCKET"
+ "$@" --verbose --skip-networking --socket="${SOCKET}" &
pid="$!"
mysql=( mysql --protocol=socket -uroot -hlocalhost
--socket="${SOCKET}" )
@@ -131,6 +117,7 @@
done
if [ "$i" = 0 ]; then
echo >&2 'MySQL init process failed.'
+ rm -rfv "$DATADIR/*"
exit 1
fi
@@ -146,6 +133,7 @@
rootCreate=
# default root to listen for connections from anywhere
+ file_env 'MYSQL_ROOT_HOST' '%'
if [ ! -z "$MYSQL_ROOT_HOST" -a "$MYSQL_ROOT_HOST" !=
'localhost' ]; then
# no, we don't care if read finds a terminating
character in this heredoc
#
https://unix.stackexchange.com/questions/265149/why-is-set-o-errexit-breaking-this-read-heredoc-expression/265151#265151
@@ -172,11 +160,14 @@
mysql+=( -p"${MYSQL_ROOT_PASSWORD}" )
fi
+ file_env 'MYSQL_DATABASE'
if [ "$MYSQL_DATABASE" ]; then
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\`
;" | "${mysql[@]}"
mysql+=( "$MYSQL_DATABASE" )
fi
+ file_env 'MYSQL_USER'
+ file_env 'MYSQL_PASSWORD'
if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then
echo "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY
'$MYSQL_PASSWORD' ;" | "${mysql[@]}"