]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#1811] hammer.py: set timezone in postgres
authorAndrei Pavel <andrei@isc.org>
Mon, 19 Apr 2021 12:41:40 +0000 (15:41 +0300)
committerAndrei Pavel <andrei@isc.org>
Mon, 19 Apr 2021 12:41:40 +0000 (15:41 +0300)
hammer.py

index 925c168d055e73d6169ce1a04b6ad802c89d92d1..c51423d86bdbec361698f9dd4d14b9c69cb49715 100755 (executable)
--- a/hammer.py
+++ b/hammer.py
@@ -289,7 +289,7 @@ def execute(cmd, timeout=60, cwd=None, env=None, raise_error=True, dry_run=False
             while p.poll() is None and (timeout is None or t1 - t0 < timeout):
                 line = p.stdout.readline()
                 if line:
-                    line_decoded = line.decode(encoding='ascii', errors='ignore').rstrip()
+                    line_decoded = line.decode(encoding='ascii', errors='ignore').rstrip() + '\r'
                     if not quiet:
                         print(line_decoded)
                     if capture:
@@ -959,7 +959,7 @@ def _install_gtest_sources():
         os.unlink('/tmp/gtest.tar.gz')
 
 
-def _local_timezone():
+def _get_local_timezone():
     _, output = execute('''
       # timedatectl
       if command -v timedatectl > /dev/null 2>&1; then
@@ -967,7 +967,7 @@ def _local_timezone():
         exit ${?}
       fi
 
-      # brute force
+      # brute force: for Alpine, FreeBSD
       for i in $(find /usr/share/zoneinfo | cut -d '/' -f 5- | grep -E '^[A-Z][a-z]+/[A-Z][a-z]+$' | sort -uV); do
         unset TZ
         if test "$(date)" = "$(TZ="${i}" date)"; then
@@ -976,7 +976,7 @@ def _local_timezone():
         fi
       done
     ''', capture=True, quiet=True)
-    return output
+    return output.rstrip()
 
 
 def _configure_mysql(system, revision, features):
@@ -1075,7 +1075,7 @@ def _configure_pgsql(system, features):
         CREATE USER keatest_readonly WITH PASSWORD 'keatest';
         CREATE DATABASE keatest;
         GRANT ALL PRIVILEGES ON DATABASE keatest TO keatest;
-        ALTER DATABASE keatest SET TIMEZONE='""" + _local_timezone() + "';\n"
+        ALTER DATABASE keatest SET TIMEZONE='{}';\n""".format(_get_local_timezone())
     cmd += 'EOF\n"'
     execute(cmd, cwd='/tmp')  # CWD to avoid: could not change as postgres user directory to "/home/jenkins": Permission denied