]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-build: Install event scripts in CTDB_DATADIR
authorMartin Schwenke <martin@meltin.net>
Fri, 6 Jul 2018 06:38:43 +0000 (16:38 +1000)
committerAmitay Isaacs <amitay@samba.org>
Wed, 11 Jul 2018 09:48:38 +0000 (11:48 +0200)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Pair-programmed-with: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/packaging/RPM/ctdb.spec.in
ctdb/tests/eventscripts/scripts/local.sh
ctdb/tests/shellcheck/event_scripts.sh
ctdb/wscript

index b07401fc1b94e8af4e240ab01515736711d90f66..2aeb6c358eb161f1748692b2e7c7dfd53a859d1d 100644 (file)
@@ -128,10 +128,7 @@ mkdir -p $RPM_BUILD_ROOT%{initdir}
 install -m755 config/ctdb.init $RPM_BUILD_ROOT%{initdir}/ctdb
 %endif
 
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/events/notification
-
 # This is a hack. All documents should be installed in /usr/share/doc.
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/events/README
 cp config/events/README README.eventscripts
 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/nfs-checks.d/README
 cp config/nfs-checks.d/README README.nfs-checks.d
@@ -155,7 +152,6 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %{_sysconfdir}/ctdb/ctdb.tunables
 %config(noreplace) %{_sysconfdir}/ctdb/script.options
 %{_sysconfdir}/ctdb/notify.sh
-%dir %{_sysconfdir}/ctdb/events/notification
 %config(noreplace) %{_sysconfdir}/ctdb/debug-hung-script.sh
 %config(noreplace) %{_sysconfdir}/ctdb/ctdb-crash-cleanup.sh
 %config(noreplace) %{_sysconfdir}/ctdb/debug_locks.sh
@@ -199,6 +195,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_libexecdir}/ctdb/*
 %dir %{_libdir}
 %{_libdir}/ctdb/lib*
+%dir %{_datadir}/ctdb/events
+%{_datadir}/ctdb/events/*
 %{_mandir}/man1/ctdb.1.gz
 %{_mandir}/man1/ctdb_diagnostics.1.gz
 %{_mandir}/man1/ctdbd.1.gz
index 28fc2363a78e19032299239e431b411095e1180e..03df06860e91530713320a98d17b49142bbe5ef4 100644 (file)
@@ -40,7 +40,6 @@ else
 fi
 
 setup_ctdb_base "$EVENTSCRIPTS_TESTS_VAR_DIR" "etc-ctdb" \
-               events \
                functions \
                nfs-checks.d \
                nfs-linux-kernel-callout \
@@ -467,8 +466,16 @@ define_test ()
                        unset event
                        ;;
                esac
+               # "Enable" the script
                _subdir="events/legacy"
                script_dir="${CTDB_BASE}/${_subdir}"
+               # Symlink target needs to be absolute
+               case "$CTDB_SCRIPTS_DATA_DIR" in
+               /*) _data_dir="${CTDB_SCRIPTS_DATA_DIR}/${_subdir}" ;;
+               *)  _data_dir="${PWD}/${CTDB_SCRIPTS_DATA_DIR}/${_subdir}"
+               esac
+               mkdir -p "$script_dir"
+               ln -s "${_data_dir}/${script}" "$script_dir"
                ;;
        *)
                script="${_f%.*}"
index b64c93649c8480b41b249eae331ba93cdd8b1fae..dfb5ede4aba4053e29a0567e2a9da727e11bb2b0 100755 (executable)
@@ -4,4 +4,4 @@
 
 define_test "event scripts"
 
-shellcheck_test "${CTDB_SCRIPTS_BASE}/events/"*/[0-9][0-9].*
+shellcheck_test "${CTDB_SCRIPTS_DATA_DIR}/events/"*/[0-9][0-9].*
index 91fc001291965c478101b11fefafe086e670ccb6..d306cb67e787660622867d3a00991ef5b82b5893 100644 (file)
@@ -760,8 +760,11 @@ def build(bld):
         os.path.walk(path, SUBDIR_MODE_callback, pd)
         return pd['file_list']
 
-    etc_subdirs = [
+    event_script_subdirs = [
         'events/legacy',
+    ]
+
+    etc_subdirs = [
         'nfs-checks.d'
     ]
 
@@ -770,6 +773,13 @@ def build(bld):
     else:
         configdir = 'ctdb/config'
 
+    for t in event_script_subdirs:
+        bld.INSTALL_DIR(os.path.join(bld.env.CTDB_ETCDIR, t))
+        files = SUBDIR_MODE('%s/%s' % (configdir, t), trim_path=configdir)
+        for fmode in files:
+            bld.INSTALL_FILES(bld.env.CTDB_DATADIR, 'config/%s' % fmode[0],
+                              destname=fmode[0], chmod=fmode[1])
+
     for t in etc_subdirs:
         files = SUBDIR_MODE('%s/%s' % (configdir, t), trim_path=configdir)
         for fmode in files: