]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
Hammer: Make sure we account for the case when hammer is called on another Kea source...
authorAndrei Pavel <andrei@isc.org>
Wed, 7 May 2025 09:10:47 +0000 (12:10 +0300)
committerAndrei Pavel <andrei@isc.org>
Wed, 7 May 2025 09:11:09 +0000 (12:11 +0300)
hammer.py

index db3f3b87ea085f6019a426b66352a5583e457c60..417b6b178c71d334abcfc2019ad1f13dfdb6e6f4 100755 (executable)
--- a/hammer.py
+++ b/hammer.py
@@ -1311,12 +1311,17 @@ def _configure_mysql(system, revision, features):
     if 'tls' in features:
         if not os.path.isdir(cert_dir):
             execute('sudo mkdir -p {}'.format(cert_dir))
+        # Parent dir of hammer.py.
+        p = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0])))
+        if not os.path.isdir(f'{p}/src/lib/asiolink/testutils/ca'):
+            # Sometimes we call a standalone hammer.py on another Kea source tree. Let's use cwd in that case.
+            p = '.'
         for file in [
-            './src/lib/asiolink/testutils/ca/kea-ca.crt',
-            './src/lib/asiolink/testutils/ca/kea-client.crt',
-            './src/lib/asiolink/testutils/ca/kea-client.key',
-            './src/lib/asiolink/testutils/ca/kea-server.crt',
-            './src/lib/asiolink/testutils/ca/kea-server.key',
+            f'{p}/src/lib/asiolink/testutils/ca/kea-ca.crt',
+            f'{p}/src/lib/asiolink/testutils/ca/kea-client.crt',
+            f'{p}/src/lib/asiolink/testutils/ca/kea-client.key',
+            f'{p}/src/lib/asiolink/testutils/ca/kea-server.crt',
+            f'{p}/src/lib/asiolink/testutils/ca/kea-server.key',
         ]:
             if not os.path.exists(file):
                 print('ERROR: File {} is needed to prepare TLS.'.format(file), file=sys.stderr)