From 88bcf112a9d4d9d0e38d93626134c2377aad2b4a Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Jan 24 2014 19:48:34 +0000 Subject: import ctdb-2.5.1-2.el7.src.rpm --- diff --git a/.ctdb.metadata b/.ctdb.metadata index f8d6066..9814c63 100644 --- a/.ctdb.metadata +++ b/.ctdb.metadata @@ -1 +1 @@ -0d96aa24abc0e956e8e9972a9df417c0dc20adf8 SOURCES/ctdb-2.1.tar.gz +3b00ab1a7fb732a80099847800dc0ccd5161724d SOURCES/ctdb-2.5.1.tar.gz diff --git a/SOURCES/0001-Extract-some-init-functions-into-a-separate-file.patch b/SOURCES/0001-Extract-some-init-functions-into-a-separate-file.patch deleted file mode 100644 index 62a5b9b..0000000 --- a/SOURCES/0001-Extract-some-init-functions-into-a-separate-file.patch +++ /dev/null @@ -1,388 +0,0 @@ -From 2f50d3019580d98d3a7073d352c29c6541a4468e Mon Sep 17 00:00:00 2001 -From: Sumit Bose -Date: Tue, 10 Jan 2012 11:06:47 +0100 -Subject: [PATCH 1/3] Extract some init functions into a separate file - ---- - Makefile.in | 1 + - config/ctdb.init | 157 +------------------------------------------ - config/init_functions | 163 +++++++++++++++++++++++++++++++++++++++++++++ - packaging/RPM/ctdb.spec.in | 1 + - 4 Dateien geändert, 166 Zeilen hinzugefügt(+), 156 Zeilen entfernt(-) - create mode 100644 config/init_functions - -diff --git a/Makefile.in b/Makefile.in -index fef2e45..d8835f8 100755 ---- a/Makefile.in -+++ b/Makefile.in -@@ -326,6 +326,7 @@ install: all manpages $(PMDA_INSTALL) - ${INSTALLCMD} -m 644 include/ctdb_private.h $(DESTDIR)$(includedir) # for samba3 - ${INSTALLCMD} -m 644 include/ctdb_typesafe_cb.h $(DESTDIR)$(includedir) - ${INSTALLCMD} -m 644 config/functions $(DESTDIR)$(etcdir)/ctdb -+ ${INSTALLCMD} -m 644 config/init_functions $(DESTDIR)$(etcdir)/ctdb - ${INSTALLCMD} -m 755 config/statd-callout $(DESTDIR)$(etcdir)/ctdb - ${INSTALLCMD} -m 644 README $(DESTDIR)$(docdir)/ctdb/README - ${INSTALLCMD} -m 644 COPYING $(DESTDIR)$(docdir)/ctdb/COPYING -diff --git a/config/ctdb.init b/config/ctdb.init -index 9f9b686..804cb6a 100755 ---- a/config/ctdb.init -+++ b/config/ctdb.init -@@ -40,6 +40,7 @@ unset TMPDIR - } - - . $CTDB_BASE/functions -+. $CTDB_BASE/init_functions - loadconfig network - loadconfig ctdb - -@@ -57,166 +58,10 @@ else - init_style="$CTDB_INIT_STYLE" - fi - --build_ctdb_options () { -- -- maybe_set () { -- # If the 2nd arg is null then return - don't set anything. -- # Else if the 3rd arg is set and it doesn't match the 2nd arg -- # then return -- [ -z "$2" -o \( -n "$3" -a "$3" != "$2" \) ] && return -- -- val="'$2'" -- case "$1" in -- --*) sep="=" ;; -- -*) sep=" " ;; -- esac -- # For these options we're only passing a value-less flag. -- [ -n "$3" ] && { -- val="" -- sep="" -- } -- -- CTDB_OPTIONS="${CTDB_OPTIONS}${CTDB_OPTIONS:+ }${1}${sep}${val}" -- } -- -- [ -z "$CTDB_RECOVERY_LOCK" ] && { -- echo "No recovery lock specified. Starting CTDB without split brain prevention" -- } -- maybe_set "--reclock" "$CTDB_RECOVERY_LOCK" -- -- # build up CTDB_OPTIONS variable from optional parameters -- maybe_set "--logfile" "$CTDB_LOGFILE" -- maybe_set "--nlist" "$CTDB_NODES" -- maybe_set "--socket" "$CTDB_SOCKET" -- maybe_set "--public-addresses" "$CTDB_PUBLIC_ADDRESSES" -- maybe_set "--public-interface" "$CTDB_PUBLIC_INTERFACE" -- maybe_set "--dbdir" "$CTDB_DBDIR" -- maybe_set "--dbdir-persistent" "$CTDB_DBDIR_PERSISTENT" -- maybe_set "--event-script-dir" "$CTDB_EVENT_SCRIPT_DIR" -- maybe_set "--transport" "$CTDB_TRANSPORT" -- maybe_set "-d" "$CTDB_DEBUGLEVEL" -- maybe_set "--debug-hung-script" "$CTDB_DEBUG_HUNG_SCRIPT" -- maybe_set "--notification-script" "$CTDB_NOTIFY_SCRIPT" -- maybe_set "--start-as-disabled" "$CTDB_START_AS_DISABLED" "yes" -- maybe_set "--start-as-stopped " "$CTDB_START_AS_STOPPED" "yes" -- maybe_set "--no-recmaster" "$CTDB_CAPABILITY_RECMASTER" "no" -- maybe_set "--no-lmaster" "$CTDB_CAPABILITY_LMASTER" "no" -- maybe_set "--lvs --single-public-ip" "$CTDB_LVS_PUBLIC_IP" -- maybe_set "--script-log-level" "$CTDB_SCRIPT_LOG_LEVEL" -- maybe_set "--log-ringbuf-size" "$CTDB_LOG_RINGBUF_SIZE" -- maybe_set "--syslog" "$CTDB_SYSLOG" "yes" -- maybe_set "--max-persistent-check-errors" "$CTDB_MAX_PERSISTENT_CHECK_ERRORS" --} -- --# Log given message or stdin to either syslog or a CTDB log file --do_log () --{ -- script_log "ctdb.init" "$@" --} -- --select_tdb_checker () --{ -- # Find the best TDB consistency check available. -- use_tdb_tool_check=false -- if [ -x /usr/bin/tdbtool ] && \ -- echo "help" | /usr/bin/tdbtool | grep -q check ; then -- -- use_tdb_tool_check=true -- elif [ -x /usr/bin/tdbtool -a -x /usr/bin/tdbdump ] ; then -- do_log </dev/null | -- grep -q "Database integrity is OK" ; then -- return 0 -- else -- return 1 -- fi -- else -- tdbdump "$_db" >/dev/null 2>/dev/null -- return $? -- fi --} -- --check_persistent_databases () --{ -- _dir="${CTDB_DBDIR_PERSISTENT:-${CTDB_DBDIR:-/var/ctdb}/persistent}" -- mkdir -p "$_dir" 2>/dev/null -- -- [ "${CTDB_MAX_PERSISTENT_CHECK_ERRORS:-0}" = "0" ] || return 0 -- -- for _db in $(ls "$_dir/"*.tdb.*[0-9] 2>/dev/null) ; do -- check_tdb $_db || { -- do_log "Persistent database $_db is corrupted! CTDB will not start." -- return 1 -- } -- done --} -- --check_non_persistent_databases () --{ -- _dir="${CTDB_DBDIR:-/var/ctdb}" -- mkdir -p "$_dir" 2>/dev/null -- -- for _db in $(ls "${_dir}/"*.tdb.*[0-9] 2>/dev/null) ; do -- check_tdb $_db || { -- _backup="${_db}.$(date +'%Y%m%d.%H%M%S.%N').corrupt" -- do_log </dev/null 2>&1 ; do -- if [ $_count -ge $_timeout ] ; then -- return 1 -- fi -- sleep 1 -- _count=$(($_count + 1)) -- done --} -- - ctdbd=${CTDBD:-/usr/sbin/ctdbd} - - start() { -diff --git a/config/init_functions b/config/init_functions -new file mode 100644 -index 0000000..6d3e789 ---- /dev/null -+++ b/config/init_functions -@@ -0,0 +1,163 @@ -+# Shared init functions used by SysV and systemd init systems -+ -+build_ctdb_options () { -+ -+ maybe_set () { -+ # If the 2nd arg is null then return - don't set anything. -+ # Else if the 3rd arg is set and it doesn't match the 2nd arg -+ # then return -+ [ -z "$2" -o \( -n "$3" -a "$3" != "$2" \) ] && return -+ -+ val="'$2'" -+ case "$1" in -+ --*) sep="=" ;; -+ -*) sep=" " ;; -+ esac -+ # For these options we're only passing a value-less flag. -+ [ -n "$3" ] && { -+ val="" -+ sep="" -+ } -+ -+ CTDB_OPTIONS="${CTDB_OPTIONS}${CTDB_OPTIONS:+ }${1}${sep}${val}" -+ } -+ -+ [ -z "$CTDB_RECOVERY_LOCK" ] && { -+ echo "No recovery lock specified. Starting CTDB without split brain prevention" -+ } -+ maybe_set "--reclock" "$CTDB_RECOVERY_LOCK" -+ -+ # build up CTDB_OPTIONS variable from optional parameters -+ maybe_set "--logfile" "$CTDB_LOGFILE" -+ maybe_set "--nlist" "$CTDB_NODES" -+ maybe_set "--socket" "$CTDB_SOCKET" -+ maybe_set "--public-addresses" "$CTDB_PUBLIC_ADDRESSES" -+ maybe_set "--public-interface" "$CTDB_PUBLIC_INTERFACE" -+ maybe_set "--dbdir" "$CTDB_DBDIR" -+ maybe_set "--dbdir-persistent" "$CTDB_DBDIR_PERSISTENT" -+ maybe_set "--event-script-dir" "$CTDB_EVENT_SCRIPT_DIR" -+ maybe_set "--transport" "$CTDB_TRANSPORT" -+ maybe_set "-d" "$CTDB_DEBUGLEVEL" -+ maybe_set "--notification-script" "$CTDB_NOTIFY_SCRIPT" -+ maybe_set "--start-as-disabled" "$CTDB_START_AS_DISABLED" "yes" -+ maybe_set "--start-as-stopped " "$CTDB_START_AS_STOPPED" "yes" -+ maybe_set "--no-recmaster" "$CTDB_CAPABILITY_RECMASTER" "no" -+ maybe_set "--no-lmaster" "$CTDB_CAPABILITY_LMASTER" "no" -+ maybe_set "--lvs --single-public-ip" "$CTDB_LVS_PUBLIC_IP" -+ maybe_set "--script-log-level" "$CTDB_SCRIPT_LOG_LEVEL" -+ maybe_set "--log-ringbuf-size" "$CTDB_LOG_RINGBUF_SIZE" -+ maybe_set "--syslog" "$CTDB_SYSLOG" "yes" -+ maybe_set "--max-persistent-check-errors" "$CTDB_MAX_PERSISTENT_CHECK_ERRORS" -+} -+ -+check_tdb () { -+ local PDBASE=$1 -+ -+ test x"$TDBTOOL_HAS_CHECK" = x"1" && { -+ # -+ # Note tdbtool always exits with 0 -+ # -+ local OK=`/usr/bin/tdbtool $PDBASE check | grep "Database integrity is OK" | wc -l` -+ test x"$OK" = x"1" || { -+ return 1; -+ } -+ -+ return 0; -+ } -+ -+ /usr/bin/tdbdump $PDBASE >/dev/null 2>/dev/null || { -+ return $?; -+ } -+ -+ return 0; -+} -+ -+check_persistent_databases () { -+ PERSISTENT_DB_DIR="${CTDB_DBDIR:-/var/ctdb}/persistent" -+ mkdir -p $PERSISTENT_DB_DIR 2>/dev/null -+ local ERRCOUNT=$CTDB_MAX_PERSISTENT_CHECK_ERRORS -+ -+ test -z "$ERRCOUNT" && { -+ ERRCOUNT="0" -+ } -+ test x"$ERRCOUNT" != x"0" && { -+ return 0; -+ } -+ -+ if test -x /usr/bin/tdbtool ; then -+ HAVE_TDBTOOL=1 -+ else -+ HAVE_TDBTOOL=0 -+ fi -+ -+ if test x"$HAVE_TDBTOOL" = x"1" ; then -+ TDBTOOL_HAS_CHECK=`echo "help" | /usr/bin/tdbtool | grep check | wc -l` -+ else -+ TDBTOOL_HAS_CHECK=0 -+ fi -+ -+ if test -x /usr/bin/tdbdump ; then -+ HAVE_TDBDUMP=1 -+ else -+ HAVE_TDBDUMP=0 -+ fi -+ -+ if test x"$HAVE_TDBDUMP" = x"0" -a x"$TDBTOOL_HAS_CHECK" = x"0" ; then -+ echo "WARNING: Cannot check persistent databases since" -+ echo "neither 'tdbdump' nor 'tdbtool check' is available." -+ echo "Consider installing tdbtool or at least tdbdump!" -+ return 0 -+ fi -+ -+ if test x"$HAVE_TDBDUMP" = x"1" -a x"$TDBTOOL_HAS_CHECK" = x"0" ; then -+ if test x"$HAVE_TDBTOOL" = x"0"; then -+ echo "WARNING: 'tdbtool' is not available. Using 'tdbdump' to" -+ echo "check the persistent databases." -+ echo "Consider installing a recent 'tdbtool' for better checks!" -+ else -+ echo "WARNING: The installed 'tdbtool' does not offer the 'check'" -+ echo "subcommand. Using 'tdbdump' for persistent database checks." -+ echo "Consider updating 'tdbtool' for better checks!" -+ fi -+ fi -+ -+ for PDBASE in `ls $PERSISTENT_DB_DIR/*.tdb.[0-9] 2>/dev/null`; do -+ check_tdb $PDBASE || { -+ echo "Persistent database $PDBASE is corrupted! CTDB will not start." -+ return 1 -+ } -+ done -+} -+ -+set_ctdb_variables () { -+ # set any tunables from the config file -+ set | grep ^CTDB_SET_ | cut -d_ -f3- | -+ while read v; do -+ varname=`echo $v | cut -d= -f1` -+ value=`echo $v | cut -d= -f2` -+ ctdb setvar $varname $value || RETVAL=1 -+ done || exit 1 -+} -+ -+wait_until_ready () { -+ _timeout="${1:-10}" # default is 10 seconds -+ -+ _count=0 -+ while ! ctdb ping >/dev/null 2>&1 ; do -+ if [ $_count -ge $_timeout ] ; then -+ return 1 -+ fi -+ sleep 1 -+ _count=$(($_count + 1)) -+ done -+} -+ -+drop_all_public_ips() { -+ [ -z "$CTDB_PUBLIC_ADDRESSES" ] && { -+ return -+ } -+ -+ cat $CTDB_PUBLIC_ADDRESSES | while read IP IFACE REST; do -+ ip addr del $IP dev $IFACE >/dev/null 2>/dev/null -+ done -+} -diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in -index 50287ab..5bcf005 100644 ---- a/packaging/RPM/ctdb.spec.in -+++ b/packaging/RPM/ctdb.spec.in -@@ -155,6 +155,7 @@ rm -rf $RPM_BUILD_ROOT - %{_sysconfdir}/ctdb/events.d/70.iscsi - %{_sysconfdir}/ctdb/events.d/91.lvs - %{_sysconfdir}/ctdb/statd-callout -+%{_sysconfdir}/ctdb/init_functions - %{_sbindir}/ctdbd - %{_bindir}/ctdb - %{_bindir}/smnotify --- -1.7.11.7 - diff --git a/SOURCES/0001-Fix-for-tevent-autoconf-check.patch b/SOURCES/0001-Fix-for-tevent-autoconf-check.patch deleted file mode 100644 index a1ff0d8..0000000 --- a/SOURCES/0001-Fix-for-tevent-autoconf-check.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ccaaefc992543d37655867aea644d8d54dae26b6 Mon Sep 17 00:00:00 2001 -From: Sumit Bose -Date: Mon, 25 Mar 2013 12:28:31 +0100 -Subject: [PATCH] Fix for tevent autoconf check - -The list of include files is the 4th argument of AC_CHECK_DECL. ---- - lib/tevent/libtevent.m4 | 2 +- - 1 Datei geändert, 1 Zeile hinzugefügt(+), 1 Zeile entfernt(-) - -diff --git a/lib/tevent/libtevent.m4 b/lib/tevent/libtevent.m4 -index 2141af6..fc06a9d 100644 ---- a/lib/tevent/libtevent.m4 -+++ b/lib/tevent/libtevent.m4 -@@ -11,7 +11,7 @@ AC_SUBST(TEVENT_CFLAGS) - if test x"$INCLUDED_TEVENT" != x"yes" ; then - AC_CHECK_HEADERS(tevent.h) - AC_CHECK_LIB(tevent, tevent_context_init, [ TEVENT_LIBS="-ltevent" ]) -- AC_CHECK_DECLS([TEVENT_TRACE_BEFORE_WAIT], [[#include ]]) -+ AC_CHECK_DECLS([TEVENT_TRACE_BEFORE_WAIT],,, [[#include ]]) - if test x"$ac_cv_header_tevent_h" = x"no" -o \ - x"$ac_cv_lib_tevent_tevent_context_init" = x"no" -o \ - x"$ac_cv_have_decl_TEVENT_TRACE_BEFORE_WAIT" = x"no" ; then --- -1.7.11.7 - diff --git a/SOURCES/0001-Fixes-for-various-issues-found-by-Coverity.patch b/SOURCES/0001-Fixes-for-various-issues-found-by-Coverity.patch deleted file mode 100644 index e832098..0000000 --- a/SOURCES/0001-Fixes-for-various-issues-found-by-Coverity.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 0e46186db136744ee15c55c8792ab947f9baf455 Mon Sep 17 00:00:00 2001 -From: Sumit Bose -Date: Wed, 1 Feb 2012 12:31:59 +0100 -Subject: [PATCH] Fixes for various issues found by Coverity - ---- - client/ctdb_client.c | 2 +- - common/ctdb_logging.c | 13 +++++++++++-- - server/ctdb_banning.c | 2 +- - server/ctdb_daemon.c | 4 ++++ - server/ctdb_logging.c | 4 ++++ - server/ctdb_ltdb_server.c | 5 ++++- - server/ctdb_recoverd.c | 4 ++-- - server/eventscript.c | 4 +++- - tcp/tcp_connect.c | 10 +++++++++- - tests/src/ctdb_fetch.c | 5 +++++ - 10 Dateien geändert, 44 Zeilen hinzugefügt(+), 9 Zeilen entfernt(-) - -diff --git a/client/ctdb_client.c b/client/ctdb_client.c -index d7c3031..746b297 100644 ---- a/client/ctdb_client.c -+++ b/client/ctdb_client.c -@@ -3299,7 +3299,7 @@ static void async_callback(struct ctdb_client_control_state *state) - struct ctdb_context *ctdb = talloc_get_type(state->ctdb, struct ctdb_context); - int ret; - TDB_DATA outdata; -- int32_t res; -+ int32_t res = -1; - uint32_t destnode = state->c->hdr.destnode; - - /* one more node has responded with recmode data */ -diff --git a/common/ctdb_logging.c b/common/ctdb_logging.c -index 09b1df2..5ed7321 100644 ---- a/common/ctdb_logging.c -+++ b/common/ctdb_logging.c -@@ -123,7 +123,7 @@ void ctdb_collect_log(struct ctdb_context *ctdb, struct ctdb_get_log_addr *log_a - tm = localtime(&log_entries[tmp_entry].t.tv_sec); - strftime(tbuf, sizeof(tbuf)-1,"%Y/%m/%d %H:%M:%S", tm); - -- if (log_entries[tmp_entry].message) { -+ if (log_entries[tmp_entry].message[0] != '\0') { - count += fprintf(f, "%s:%s %s", tbuf, get_debug_by_level(log_entries[tmp_entry].level), log_entries[tmp_entry].message); - } - -@@ -134,9 +134,18 @@ void ctdb_collect_log(struct ctdb_context *ctdb, struct ctdb_get_log_addr *log_a - } - - fsize = ftell(f); -+ if (fsize < 0) { -+ fclose(f); -+ DEBUG(DEBUG_ERR,("Cannot get current file position\n")); -+ return; -+ } - rewind(f); - data.dptr = talloc_size(NULL, fsize); -- CTDB_NO_MEMORY_VOID(ctdb, data.dptr); -+ -+ if (data.dptr == NULL) { -+ fclose(f); -+ CTDB_NO_MEMORY_VOID(ctdb, data.dptr); -+ } - data.dsize = fread(data.dptr, 1, fsize, f); - fclose(f); - -diff --git a/server/ctdb_banning.c b/server/ctdb_banning.c -index 4e6db31..1892565 100644 ---- a/server/ctdb_banning.c -+++ b/server/ctdb_banning.c -@@ -73,7 +73,7 @@ int32_t ctdb_control_set_ban_state(struct ctdb_context *ctdb, TDB_DATA indata) - DEBUG(DEBUG_INFO,("SET BAN STATE\n")); - - if (bantime->pnn != ctdb->pnn) { -- if (bantime->pnn < 0 || bantime->pnn >= ctdb->num_nodes) { -+ if (bantime->pnn >= ctdb->num_nodes) { - DEBUG(DEBUG_ERR,(__location__ " ERROR: Invalid ban request. PNN:%d is invalid. Max nodes %d\n", bantime->pnn, ctdb->num_nodes)); - return -1; - } -diff --git a/server/ctdb_daemon.c b/server/ctdb_daemon.c -index fdfd5de..33e265a 100644 ---- a/server/ctdb_daemon.c -+++ b/server/ctdb_daemon.c -@@ -1240,6 +1240,10 @@ int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork, bool use_syslog, - fde = event_add_fd(ctdb->ev, ctdb, ctdb->daemon.sd, - EVENT_FD_READ, - ctdb_accept_client, ctdb); -+ if (fde == NULL) { -+ DEBUG(DEBUG_CRIT,("Failed to add daemon socket to event loop\n")); -+ exit(1); -+ } - tevent_fd_set_auto_close(fde); - - /* release any IPs we hold from previous runs of the daemon */ -diff --git a/server/ctdb_logging.c b/server/ctdb_logging.c -index 7cf8b9f..058a9bb 100644 ---- a/server/ctdb_logging.c -+++ b/server/ctdb_logging.c -@@ -520,6 +520,10 @@ int ctdb_set_child_logging(struct ctdb_context *ctdb) - /* We'll fail if stderr/stdout not already open; it's simpler. */ - old_stdout = dup(STDOUT_FILENO); - old_stderr = dup(STDERR_FILENO); -+ if (old_stdout < 0 || old_stderr < 0) { -+ DEBUG(DEBUG_ERR,(__location__ " Failed to copy files descriptors\n")); -+ return -1; -+ } - if (dup2(p[1], STDOUT_FILENO) < 0 || dup2(p[1], STDERR_FILENO) < 0) { - int saved_errno = errno; - dup2(old_stdout, STDOUT_FILENO); -diff --git a/server/ctdb_ltdb_server.c b/server/ctdb_ltdb_server.c -index 0432e49..4156a5d 100644 ---- a/server/ctdb_ltdb_server.c -+++ b/server/ctdb_ltdb_server.c -@@ -1180,7 +1180,10 @@ static int ctdb_attach_persistent(struct ctdb_context *ctdb, - int invalid_name = 0; - - s = talloc_strdup(ctdb, de->d_name); -- CTDB_NO_MEMORY(ctdb, s); -+ if (s == NULL) { -+ closedir(d); -+ CTDB_NO_MEMORY(ctdb, s); -+ } - - /* only accept names ending in .tdb */ - p = strstr(s, ".tdb."); -diff --git a/server/ctdb_recoverd.c b/server/ctdb_recoverd.c -index 0f8aa91..7c06efc 100644 ---- a/server/ctdb_recoverd.c -+++ b/server/ctdb_recoverd.c -@@ -1254,8 +1254,8 @@ static int traverse_recdb(struct tdb_context *tdb, TDB_DATA key, TDB_DATA data, - params->recdata = talloc_realloc_size(NULL, params->recdata, params->allocated_len); - } - if (params->recdata == NULL) { -- DEBUG(DEBUG_CRIT,(__location__ " Failed to expand recdata to %u (%u records)\n", -- rec->length + params->len, params->recdata->count)); -+ DEBUG(DEBUG_CRIT,(__location__ " Failed to expand recdata to %u\n", -+ rec->length + params->len)); - params->failed = true; - return -1; - } -diff --git a/server/eventscript.c b/server/eventscript.c -index 762f950..1e8583e 100644 ---- a/server/eventscript.c -+++ b/server/eventscript.c -@@ -211,6 +211,7 @@ static struct ctdb_scripts_wire *ctdb_get_script_list(struct ctdb_context *ctdb, - tree_item = talloc(tree, struct ctdb_script_tree_item); - if (tree_item == NULL) { - DEBUG(DEBUG_ERR, (__location__ " Failed to allocate new tree item\n")); -+ closedir(dir); - talloc_free(tmp_ctx); - return NULL; - } -@@ -223,6 +224,7 @@ static struct ctdb_scripts_wire *ctdb_get_script_list(struct ctdb_context *ctdb, - tree_item->name = talloc_strdup(tree_item, de->d_name); - if (tree_item->name == NULL) { - DEBUG(DEBUG_ERR,(__location__ " Failed to allocate script name.\n")); -+ closedir(dir); - talloc_free(tmp_ctx); - return NULL; - } -@@ -891,10 +893,10 @@ int ctdb_event_script_args(struct ctdb_context *ctdb, enum ctdb_eventscript_call - va_start(ap, fmt); - ret = ctdb_event_script_callback_v(ctdb, ctdb, - event_script_callback, &status, false, call, fmt, ap); -+ va_end(ap); - if (ret != 0) { - return ret; - } -- va_end(ap); - - status.status = -1; - status.done = false; -diff --git a/tcp/tcp_connect.c b/tcp/tcp_connect.c -index 93111f3..d3c7033 100644 ---- a/tcp/tcp_connect.c -+++ b/tcp/tcp_connect.c -@@ -154,6 +154,10 @@ void ctdb_tcp_node_connect(struct event_context *ev, struct timed_event *te, - } - - tnode->fd = socket(sock_out.sa.sa_family, SOCK_STREAM, IPPROTO_TCP); -+ if (tnode->fd == -1) { -+ DEBUG(DEBUG_ERR, (__location__ " Failed to create socket.\n")); -+ return; -+ } - set_nonblocking(tnode->fd); - set_close_on_exec(tnode->fd); - -@@ -196,7 +200,11 @@ void ctdb_tcp_node_connect(struct event_context *ev, struct timed_event *te, - sock_in.ip.sin_len = sockin_size; - sock_out.ip.sin_len = sockout_size; - #endif -- bind(tnode->fd, (struct sockaddr *)&sock_in, sockin_size); -+ if (bind(tnode->fd, (struct sockaddr *)&sock_in, sockin_size) != 0) { -+ DEBUG(DEBUG_ERR,(__location__ " Failed to bind() to socket. %s(%d)\n", strerror(errno), errno)); -+ close(tnode->fd); -+ return; -+ } - - if (connect(tnode->fd, (struct sockaddr *)&sock_out, sockout_size) != 0 && - errno != EINPROGRESS) { -diff --git a/tests/src/ctdb_fetch.c b/tests/src/ctdb_fetch.c -index db84f5d..b900efa 100644 ---- a/tests/src/ctdb_fetch.c -+++ b/tests/src/ctdb_fetch.c -@@ -83,6 +83,11 @@ static void bench_fetch_1node(struct ctdb_context *ctdb) - data.dptr = (uint8_t *)talloc_asprintf_append((char *)data.dptr, - "msg_count=%d on node %d\n", - msg_count, ctdb_get_pnn(ctdb)); -+ if (data.dptr == NULL) { -+ printf("Failed to create record\n"); -+ talloc_free(tmp_ctx); -+ return; -+ } - data.dsize = strlen((const char *)data.dptr)+1; - - ret = ctdb_record_store(h, data); --- -1.7.11.7 - diff --git a/SOURCES/0001-IPv6-neighbor-solicit-cleanup.patch b/SOURCES/0001-IPv6-neighbor-solicit-cleanup.patch deleted file mode 100644 index 7a72fa4..0000000 --- a/SOURCES/0001-IPv6-neighbor-solicit-cleanup.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7c17874971823ecc3d9da2c42ed0baa85621f659 Mon Sep 17 00:00:00 2001 -From: Sumit Bose -Date: Thu, 1 Sep 2011 15:18:46 +0200 -Subject: [PATCH] IPv6 neighbor solicit cleanup - ---- - common/system_linux.c | 15 ++++++++------- - 1 files changed, 8 insertions(+), 7 deletions(-) - -diff --git a/common/system_linux.c b/common/system_linux.c -index b8aace4..b36a78d 100644 ---- a/common/system_linux.c -+++ b/common/system_linux.c -@@ -75,7 +75,7 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) - struct ether_header *eh; - struct arphdr *ah; - struct ip6_hdr *ip6; -- struct icmp6_hdr *icmp6; -+ struct nd_neighbor_solicit *nd_ns; - struct ifreq if_hwaddr; - unsigned char buffer[78]; /* ipv6 neigh solicitation size */ - char *ptr; -@@ -223,17 +223,18 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) - - ip6 = (struct ip6_hdr *)(eh+1); - ip6->ip6_vfc = 0x60; -- ip6->ip6_plen = htons(24); -+ ip6->ip6_plen = htons(sizeof(*nd_ns)); - ip6->ip6_nxt = IPPROTO_ICMPV6; - ip6->ip6_hlim = 255; - ip6->ip6_dst = addr->ip6.sin6_addr; - -- icmp6 = (struct icmp6_hdr *)(ip6+1); -- icmp6->icmp6_type = ND_NEIGHBOR_SOLICIT; -- icmp6->icmp6_code = 0; -- memcpy(&icmp6->icmp6_data32[1], &addr->ip6.sin6_addr, 16); -+ nd_ns = (struct nd_neighbor_solicit *)(ip6+1); -+ nd_ns->nd_ns_type = ND_NEIGHBOR_SOLICIT; -+ nd_ns->nd_ns_code = 0; -+ nd_ns->nd_ns_reserved = 0; -+ nd_ns->nd_ns_target = addr->ip6.sin6_addr; - -- icmp6->icmp6_cksum = tcp_checksum6((uint16_t *)icmp6, ntohs(ip6->ip6_plen), ip6); -+ nd_ns->nd_ns_cksum = tcp_checksum6((uint16_t *)nd_ns, ntohs(ip6->ip6_plen), ip6); - - sall.sll_family = AF_PACKET; - sall.sll_halen = 6; --- -1.7.6 - diff --git a/SOURCES/0002-Add-systemd-support.patch b/SOURCES/0002-Add-systemd-support.patch deleted file mode 100644 index a810148..0000000 --- a/SOURCES/0002-Add-systemd-support.patch +++ /dev/null @@ -1,479 +0,0 @@ -From f632065bf22b3c057a478aac7b04b1904bad2993 Mon Sep 17 00:00:00 2001 -From: Sumit Bose -Date: Tue, 10 Jan 2012 10:20:35 +0100 -Subject: [PATCH 2/3] Add systemd support - ---- - config/ctdb.service | 19 ++ - config/init_functions | 209 +++++++++++---------- - config/systemd/ctdb.systemd | 32 ++++ - config/systemd/ctdb_check_persistent_databases.pre | 20 ++ - config/systemd/ctdb_drop_all_public_ips | 22 +++ - config/systemd/ctdb_set_ctdb_variables.post | 26 +++ - packaging/RPM/ctdb.spec.in | 22 ++- - 7 Dateien geändert, 247 Zeilen hinzugefügt(+), 103 Zeilen entfernt(-) - create mode 100644 config/ctdb.service - create mode 100755 config/systemd/ctdb.systemd - create mode 100755 config/systemd/ctdb_check_persistent_databases.pre - create mode 100644 config/systemd/ctdb_drop_all_public_ips - create mode 100644 config/systemd/ctdb_set_ctdb_variables.post - -diff --git a/config/ctdb.service b/config/ctdb.service -new file mode 100644 -index 0000000..c3423a6 ---- /dev/null -+++ b/config/ctdb.service -@@ -0,0 +1,19 @@ -+[Unit] -+Description=CTDB -+After=network.target -+ -+[Service] -+Type=forking -+LimitCORE=infinity -+PIDFile=/run/ctdbd/ctdbd.pid -+ExecStartPre=/etc/ctdb/systemd/ctdb_drop_all_public_ips -+ExecStartPre=/etc/ctdb/systemd/ctdb_check_persistent_databases.pre -+ExecStart=/etc/ctdb/systemd/ctdb.systemd -+ExecStartPost=/etc/ctdb/systemd/ctdb_set_ctdb_variables.post -+ExecStop=/usr/bin/ctdb shutdown -+ExecStopPost=-/etc/ctdb/systemd/ctdb_drop_all_public_ips -+KillMode=control-group -+Restart=no -+ -+[Install] -+WantedBy=multi-user.target -diff --git a/config/init_functions b/config/init_functions -index 6d3e789..db0646b 100644 ---- a/config/init_functions -+++ b/config/init_functions -@@ -3,23 +3,23 @@ - build_ctdb_options () { - - maybe_set () { -- # If the 2nd arg is null then return - don't set anything. -- # Else if the 3rd arg is set and it doesn't match the 2nd arg -- # then return -- [ -z "$2" -o \( -n "$3" -a "$3" != "$2" \) ] && return -- -- val="'$2'" -- case "$1" in -- --*) sep="=" ;; -- -*) sep=" " ;; -- esac -- # For these options we're only passing a value-less flag. -- [ -n "$3" ] && { -- val="" -- sep="" -- } -- -- CTDB_OPTIONS="${CTDB_OPTIONS}${CTDB_OPTIONS:+ }${1}${sep}${val}" -+ # If the 2nd arg is null then return - don't set anything. -+ # Else if the 3rd arg is set and it doesn't match the 2nd arg -+ # then return -+ [ -z "$2" -o \( -n "$3" -a "$3" != "$2" \) ] && return -+ -+ val="'$2'" -+ case "$1" in -+ --*) sep="=" ;; -+ -*) sep=" " ;; -+ esac -+ # For these options we're only passing a value-less flag. -+ [ -n "$3" ] && { -+ val="" -+ sep="" -+ } -+ -+ CTDB_OPTIONS="${CTDB_OPTIONS}${CTDB_OPTIONS:+ }${1}${sep}${val}" - } - - [ -z "$CTDB_RECOVERY_LOCK" ] && { -@@ -38,6 +38,7 @@ build_ctdb_options () { - maybe_set "--event-script-dir" "$CTDB_EVENT_SCRIPT_DIR" - maybe_set "--transport" "$CTDB_TRANSPORT" - maybe_set "-d" "$CTDB_DEBUGLEVEL" -+ maybe_set "--debug-hung-script" "$CTDB_DEBUG_HUNG_SCRIPT" - maybe_set "--notification-script" "$CTDB_NOTIFY_SCRIPT" - maybe_set "--start-as-disabled" "$CTDB_START_AS_DISABLED" "yes" - maybe_set "--start-as-stopped " "$CTDB_START_AS_STOPPED" "yes" -@@ -50,93 +51,107 @@ build_ctdb_options () { - maybe_set "--max-persistent-check-errors" "$CTDB_MAX_PERSISTENT_CHECK_ERRORS" - } - --check_tdb () { -- local PDBASE=$1 -- -- test x"$TDBTOOL_HAS_CHECK" = x"1" && { -- # -- # Note tdbtool always exits with 0 -- # -- local OK=`/usr/bin/tdbtool $PDBASE check | grep "Database integrity is OK" | wc -l` -- test x"$OK" = x"1" || { -- return 1; -- } -- -- return 0; -- } -- -- /usr/bin/tdbdump $PDBASE >/dev/null 2>/dev/null || { -- return $?; -- } -- -- return 0; -+# Log given message or stdin to either syslog or a CTDB log file -+do_log () -+{ -+ script_log "ctdb.init" "$@" - } - --check_persistent_databases () { -- PERSISTENT_DB_DIR="${CTDB_DBDIR:-/var/ctdb}/persistent" -- mkdir -p $PERSISTENT_DB_DIR 2>/dev/null -- local ERRCOUNT=$CTDB_MAX_PERSISTENT_CHECK_ERRORS -- -- test -z "$ERRCOUNT" && { -- ERRCOUNT="0" -- } -- test x"$ERRCOUNT" != x"0" && { -- return 0; -- } -- -- if test -x /usr/bin/tdbtool ; then -- HAVE_TDBTOOL=1 -+select_tdb_checker () -+{ -+ # Find the best TDB consistency check available. -+ use_tdb_tool_check=false -+ if [ -x /usr/bin/tdbtool ] && \ -+ echo "help" | /usr/bin/tdbtool | grep -q check ; then -+ -+ use_tdb_tool_check=true -+ elif [ -x /usr/bin/tdbtool -a -x /usr/bin/tdbdump ] ; then -+ do_log </dev/null | -+ grep -q "Database integrity is OK" ; then -+ return 0 -+ else -+ return 1 -+ fi - else -- TDBTOOL_HAS_CHECK=0 -+ tdbdump "$_db" >/dev/null 2>/dev/null -+ return $? - fi -+} - -- if test -x /usr/bin/tdbdump ; then -- HAVE_TDBDUMP=1 -- else -- HAVE_TDBDUMP=0 -- fi -+check_persistent_databases () -+{ -+ _dir="${CTDB_DBDIR_PERSISTENT:-${CTDB_DBDIR:-/var/ctdb}/persistent}" -+ mkdir -p "$_dir" 2>/dev/null - -- if test x"$HAVE_TDBDUMP" = x"0" -a x"$TDBTOOL_HAS_CHECK" = x"0" ; then -- echo "WARNING: Cannot check persistent databases since" -- echo "neither 'tdbdump' nor 'tdbtool check' is available." -- echo "Consider installing tdbtool or at least tdbdump!" -- return 0 -- fi -+ [ "${CTDB_MAX_PERSISTENT_CHECK_ERRORS:-0}" = "0" ] || return 0 - -- if test x"$HAVE_TDBDUMP" = x"1" -a x"$TDBTOOL_HAS_CHECK" = x"0" ; then -- if test x"$HAVE_TDBTOOL" = x"0"; then -- echo "WARNING: 'tdbtool' is not available. Using 'tdbdump' to" -- echo "check the persistent databases." -- echo "Consider installing a recent 'tdbtool' for better checks!" -- else -- echo "WARNING: The installed 'tdbtool' does not offer the 'check'" -- echo "subcommand. Using 'tdbdump' for persistent database checks." -- echo "Consider updating 'tdbtool' for better checks!" -- fi -- fi -+ for _db in $(ls "$_dir/"*.tdb.*[0-9] 2>/dev/null) ; do -+ check_tdb $_db || { -+ do_log "Persistent database $_db is corrupted! CTDB will not start." -+ return 1 -+ } -+ done -+} - -- for PDBASE in `ls $PERSISTENT_DB_DIR/*.tdb.[0-9] 2>/dev/null`; do -- check_tdb $PDBASE || { -- echo "Persistent database $PDBASE is corrupted! CTDB will not start." -- return 1 -- } -+check_non_persistent_databases () -+{ -+ _dir="${CTDB_DBDIR:-/var/ctdb}" -+ mkdir -p "$_dir" 2>/dev/null -+ -+ for _db in $(ls "${_dir}/"*.tdb.*[0-9] 2>/dev/null) ; do -+ check_tdb $_db || { -+ _backup="${_db}.$(date +'%Y%m%d.%H%M%S.%N').corrupt" -+ do_log </dev/null 2>&1 ; do -- if [ $_count -ge $_timeout ] ; then -- return 1 -- fi -- sleep 1 -- _count=$(($_count + 1)) -- done --} -- --drop_all_public_ips() { -- [ -z "$CTDB_PUBLIC_ADDRESSES" ] && { -- return -- } -- -- cat $CTDB_PUBLIC_ADDRESSES | while read IP IFACE REST; do -- ip addr del $IP dev $IFACE >/dev/null 2>/dev/null -+ if [ $_count -ge $_timeout ] ; then -+ return 1 -+ fi -+ sleep 1 -+ _count=$(($_count + 1)) - done - } -diff --git a/config/systemd/ctdb.systemd b/config/systemd/ctdb.systemd -new file mode 100755 -index 0000000..6f29e85 ---- /dev/null -+++ b/config/systemd/ctdb.systemd -@@ -0,0 +1,32 @@ -+#!/bin/sh -+# -+ -+# Avoid using root's TMPDIR -+unset TMPDIR -+ -+[ -z "$CTDB_BASE" ] && { -+ export CTDB_BASE="/etc/ctdb" -+} -+ -+[ -z "$CTDB_VARDIR" ] && { -+ export CTDB_VARDIR="/var/ctdb" -+} -+ -+. $CTDB_BASE/functions -+. $CTDB_BASE/init_functions -+ -+. /etc/sysconfig/ctdb -+ -+ctdbd=${CTDBD:-/usr/sbin/ctdbd} -+ -+if [ "$CTDB_SUPPRESS_COREFILE" = "yes" ]; then -+ ulimit -c 0 -+else -+ ulimit -c unlimited -+fi -+ -+build_ctdb_options -+ -+exec $ctdbd "$CTDB_OPTIONS" >/dev/null 2>&1 -Date: Wed, 22 Aug 2012 11:51:40 -0400 -Subject: [PATCH 3/3] ctdb: clean up systemd integration - -This fixes a number of problems: - -1) Removes extra quoting around $CTDB_OPTIONS. Adding quotes around it -makes the shell pass them as one giant argument. - -2) Removes the extraneous single quotes around the values in -build_ctdb_options(). ctdbd doesn't know how to strip those out, so -they shouldn't be added at all. - -3) removes the bogus PIDFile= line from ctdb.service. systemd expects -the daemon to create that file, but ctdb doesn't do so. - -Signed-off-by: Jeff Layton ---- - config/ctdb.service | 1 - - config/init_functions | 2 +- - config/systemd/ctdb.systemd | 2 +- - 3 Dateien geändert, 2 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-) - -diff --git a/config/ctdb.service b/config/ctdb.service -index c3423a6..d6a2c22 100644 ---- a/config/ctdb.service -+++ b/config/ctdb.service -@@ -5,7 +5,6 @@ After=network.target - [Service] - Type=forking - LimitCORE=infinity --PIDFile=/run/ctdbd/ctdbd.pid - ExecStartPre=/etc/ctdb/systemd/ctdb_drop_all_public_ips - ExecStartPre=/etc/ctdb/systemd/ctdb_check_persistent_databases.pre - ExecStart=/etc/ctdb/systemd/ctdb.systemd -diff --git a/config/init_functions b/config/init_functions -index db0646b..70784f0 100644 ---- a/config/init_functions -+++ b/config/init_functions -@@ -8,7 +8,7 @@ build_ctdb_options () { - # then return - [ -z "$2" -o \( -n "$3" -a "$3" != "$2" \) ] && return - -- val="'$2'" -+ val="$2" - case "$1" in - --*) sep="=" ;; - -*) sep=" " ;; -diff --git a/config/systemd/ctdb.systemd b/config/systemd/ctdb.systemd -index 6f29e85..5c1eb3f 100755 ---- a/config/systemd/ctdb.systemd -+++ b/config/systemd/ctdb.systemd -@@ -27,6 +27,6 @@ fi - - build_ctdb_options - --exec $ctdbd "$CTDB_OPTIONS" >/dev/null 2>&1 /dev/null 2>&1 = %{libtalloc_version} @@ -108,13 +90,6 @@ and use CTDB instead. %setup -q # setup the init script and sysconfig file %setup -T -D -n ctdb-%{version} -q -%patch1 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 %build @@ -134,7 +109,6 @@ CFLAGS="$(echo '%{optflags}') $EXTRA -D_GNU_SOURCE -DCTDB_VERS=\"%{version}-%{re --with-included-tevent %endif - make showflags make %{_smp_mflags} @@ -148,6 +122,7 @@ rm -rf %{buildroot} # Create the target build directory hierarchy mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +mkdir -p %{buildroot}%{_sysconfdir}/sudoers.d mkdir -p %{buildroot}%{initdir} make DESTDIR=%{buildroot} install @@ -157,11 +132,6 @@ make DESTDIR=%{buildroot} docdir=%{_docdir} install install_tests install -m644 config/ctdb.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/ctdb %if %{with_systemd} -mkdir -p %{buildroot}%{_sysconfdir}/ctdb/systemd -install -m 755 config/systemd/ctdb_check_persistent_databases.pre %{buildroot}%{_sysconfdir}/ctdb/systemd -install -m 755 config/systemd/ctdb_set_ctdb_variables.post %{buildroot}%{_sysconfdir}/ctdb/systemd -install -m 755 config/systemd/ctdb_drop_all_public_ips %{buildroot}%{_sysconfdir}/ctdb/systemd -install -m 755 config/systemd/ctdb.systemd %{buildroot}%{_sysconfdir}/ctdb/systemd mkdir -p %{buildroot}%{_unitdir} install -m 755 config/ctdb.service %{buildroot}%{_unitdir} %else @@ -169,6 +139,14 @@ mkdir -p %{buildroot}%{initdir} install -m755 config/ctdb.init %{buildroot}%{initdir}/ctdb %endif +# create /run/ctdbd +mkdir -p %{buildroot}%{_tmpfilesdir} +echo "d /run/ctdb 755 root root" >> %{buildroot}%{_tmpfilesdir}/%{name}.conf + +mkdir -p %{buildroot}/run +install -d -m 0755 %{buildroot}/run/ctdb/ + +install -d -m 0755 %{buildroot}%{_localstatedir}/lib/ctdb/ mkdir -p %{buildroot}%{_docdir}/ctdb/tests/bin install -m755 tests/bin/ctdb_transaction %{buildroot}%{_docdir}/ctdb/tests/bin @@ -177,9 +155,7 @@ install -m755 tests/bin/ctdb_transaction %{buildroot}%{_docdir}/ctdb/tests/bin # Remove "*.old" files find %{buildroot} -name "*.old" -exec rm -f {} \; -# fix doc path -mv %{buildroot}%{_docdir}/ctdb %{buildroot}%{_docdir}/ctdb-%{version} -cp -r COPYING web %{buildroot}%{_docdir}/ctdb-%{version} +cp -r COPYING web %{buildroot}%{_docdir}/ctdb %clean rm -rf %{buildroot} @@ -220,28 +196,38 @@ fi %config(noreplace) %{_sysconfdir}/ctdb/ctdb-crash-cleanup.sh %config(noreplace) %{_sysconfdir}/ctdb/gcore_trace.sh %config(noreplace) %{_sysconfdir}/ctdb/functions +%config(noreplace) %{_sysconfdir}/ctdb/debug_locks.sh +%dir /run/ctdb/ +%dir %{_localstatedir}/lib/ctdb/ +%{_tmpfilesdir}/%{name}.conf + %if %{with_systemd} -%{_sysconfdir}/ctdb/systemd/ctdb_check_persistent_databases.pre -%{_sysconfdir}/ctdb/systemd/ctdb_set_ctdb_variables.post -%{_sysconfdir}/ctdb/systemd/ctdb_drop_all_public_ips -%{_sysconfdir}/ctdb/systemd/ctdb.systemd %{_unitdir}/ctdb.service %else %attr(755,root,root) %{initdir}/ctdb %endif -%{_docdir}/ctdb-%{version} +%{_docdir}/ctdb %dir %{_sysconfdir}/ctdb %{_sysconfdir}/ctdb/statd-callout -%{_sysconfdir}/ctdb/init_functions +%dir %{_sysconfdir}/ctdb/nfs-rpc-checks.d +%{_sysconfdir}/ctdb/nfs-rpc-checks.d/10.statd.check +%{_sysconfdir}/ctdb/nfs-rpc-checks.d/20.nfsd.check +%{_sysconfdir}/ctdb/nfs-rpc-checks.d/30.lockd.check +%{_sysconfdir}/ctdb/nfs-rpc-checks.d/40.mountd.check +%{_sysconfdir}/ctdb/nfs-rpc-checks.d/50.rquotad.check +%{_sysconfdir}/sudoers.d/ctdb %{_sysconfdir}/ctdb/events.d/ %{_sbindir}/ctdbd +%{_sbindir}/ctdbd_wrapper %{_bindir}/ctdb %{_bindir}/smnotify %{_bindir}/ping_pong %{_bindir}/ltdbtool %{_bindir}/ctdb_diagnostics %{_bindir}/onnode +%{_bindir}/ctdb_lock_helper + %{_mandir}/man1/ctdb.1.gz %{_mandir}/man1/ctdbd.1.gz %{_mandir}/man1/onnode.1.gz @@ -255,7 +241,6 @@ fi %{_includedir}/ctdb_protocol.h %{_includedir}/ctdb_private.h %{_includedir}/ctdb_typesafe_cb.h -%{_libdir}/libctdb.a %{_libdir}/pkgconfig/ctdb.pc %files tests @@ -269,6 +254,16 @@ fi %doc tests/README %changelog +* Fri Jan 24 2014 Daniel Mach - 2.5.1-2 +- Mass rebuild 2014-01-24 + +* Mon Jan 13 2014 Sumit Bose - 2.5.1-1 +- Update to ctdb version 2.5.1 +- Resolves: rhbz#1040426 + +* Fri Dec 27 2013 Daniel Mach - 2.1-4 +- Mass rebuild 2013-12-27 + * Fri May 17 2013 Sumit Bose - 2.1-3 - added _hardened_build to spec file Resolves: rhbz#955324