[Gluster-devel] [PATCH 15/15] build: make use of system libuuid

Jan Engelhardt jengelh at inai.de
Tue Sep 25 16:41:13 UTC 2012


Bundled libraries are considered harmful.
(http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries )
Therefore, make use of a system-installed libuuid if present.

Signed-off-by: Jan Engelhardt <jengelh at inai.de>
---
 api/src/Makefile.am                            |    2 +-
 configure.ac                                   |    8 +-
 libglusterfs/src/Makefile.am                   |   28 +++-
 libglusterfs/src/common-utils.h                |    2 +-
 libglusterfs/src/iatt.h                        |    2 +-
 libglusterfs/src/inode.h                       |    2 +-
 xlators/cluster/afr/src/Makefile.am            |    6 +-
 xlators/cluster/dht/src/Makefile.am            |    9 +-
 xlators/cluster/stripe/src/Makefile.am         |    3 +-
 xlators/debug/io-stats/src/Makefile.am         |    3 +-
 xlators/features/index/src/Makefile.am         |    3 +-
 xlators/features/marker/src/Makefile.am        |    3 +-
 xlators/features/marker/src/marker.h           |    2 +-
 xlators/features/marker/utils/src/gsyncd       |  210 ++++++++++++++++++++++++
 xlators/features/quota/src/Makefile.am         |    3 +-
 xlators/mgmt/glusterd/src/Makefile.am          |    2 +-
 xlators/mgmt/glusterd/src/glusterd-op-sm.c     |    2 +-
 xlators/mgmt/glusterd/src/glusterd-op-sm.h     |    2 +-
 xlators/mgmt/glusterd/src/glusterd-pmap.h      |    2 +-
 xlators/mgmt/glusterd/src/glusterd-sm.c        |    2 +-
 xlators/mgmt/glusterd/src/glusterd-sm.h        |    2 +-
 xlators/mgmt/glusterd/src/glusterd-store.h     |    2 +-
 xlators/mgmt/glusterd/src/glusterd-utils.h     |    2 +-
 xlators/mgmt/glusterd/src/glusterd.c           |    2 +-
 xlators/mgmt/glusterd/src/glusterd.h           |    2 +-
 xlators/mount/fuse/src/Makefile.am             |    2 +-
 xlators/nfs/server/src/Makefile.am             |    3 +-
 xlators/nfs/server/src/mount3.h                |    2 +-
 xlators/nfs/server/src/nfs-common.h            |    2 +-
 xlators/nfs/server/src/nfs3-fh.h               |    2 +-
 xlators/nfs/server/src/nlm4.h                  |    2 +-
 xlators/performance/md-cache/src/Makefile.am   |    3 +-
 xlators/performance/quick-read/src/Makefile.am |    3 +-
 xlators/protocol/client/src/Makefile.am        |    3 +-
 xlators/protocol/server/src/Makefile.am        |    3 +-
 xlators/storage/posix/src/Makefile.am          |    3 +-
 36 files changed, 288 insertions(+), 46 deletions(-)
 create mode 100755 xlators/features/marker/utils/src/gsyncd

diff --git a/api/src/Makefile.am b/api/src/Makefile.am
index 954a71f..3174744 100644
--- a/api/src/Makefile.am
+++ b/api/src/Makefile.am
@@ -7,7 +7,7 @@ libgfapi_la_SOURCES = glfs.c glfs-mgmt.c glfs-fops.c glfs-resolve.c
 libgfapi_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
 	$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
 	$(top_builddir)/rpc/xdr/src/libgfxdr.la \
-	$(GF_LDADD)
+	$(libuuid_LIBS) $(GF_LDADD)
 
 libgfapi_la_CPPFLAGS = $(GF_CPPFLAGS) -D__USE_FILE_OFFSET64 \
 	-I$(top_srcdir)/libglusterfs/src \
diff --git a/configure.ac b/configure.ac
index db32fee..9a15d09 100644
--- a/configure.ac
+++ b/configure.ac
@@ -362,6 +362,12 @@ AC_SUBST(SYNCDAEMON_COMPILE)
 AC_SUBST(SYNCDAEMON_SUBDIR)
 # end SYNCDAEMON section
 
+PKG_CHECK_MODULES([libuuid], [uuid], [], [
+	libuuid_CFLAGS='-I$(CONTRIBDIR)/uuid'
+	with_bundled_libuuid=1
+])
+AM_CONDITIONAL([WITH_BUNDLED_LIBUUID], [test "$with_bundled_libuuid" = 1])
+
 #check if libxml is present if so enable HAVE_LIB_XML
 echo -n "checking if libxml2 is present... "
 
@@ -563,7 +569,7 @@ CONTRIBDIR='$(top_srcdir)/contrib'
 AC_SUBST(CONTRIBDIR)
 
 GF_CPPFLAGS='-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D$(GF_HOST_OS) \
-	-I$(top_srcdir)/libglusterfs/src -I$(CONTRIBDIR)/uuid'
+	-I$(top_srcdir)/libglusterfs/src $(libuuid_CFLAGS)'
 AC_SUBST([GF_CPPFLAGS])
 
 AM_CONDITIONAL([GF_DARWIN_HOST_OS], test "${GF_HOST_OS}" = "GF_DARWIN_HOST_OS")
diff --git a/libglusterfs/src/Makefile.am b/libglusterfs/src/Makefile.am
index eb102a4..0a8a7af 100644
--- a/libglusterfs/src/Makefile.am
+++ b/libglusterfs/src/Makefile.am
@@ -5,7 +5,7 @@ libglusterfs_la_CPPFLAGS = $(GF_CPPFLAGS) -D__USE_FILE_OFFSET64 \
 	-DXLATORDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator\" \
 	-I$(CONTRIBDIR)/rbtree
 
-libglusterfs_la_LIBADD = @LEXLIB@
+libglusterfs_la_LIBADD = @LEXLIB@ $(libuuid_LIBS)
 
 lib_LTLIBRARIES = libglusterfs.la
 
@@ -16,16 +16,21 @@ libglusterfs_la_SOURCES = dict.c xlator.c logging.c \
 	compat.c fd.c compat-errno.c event.c mem-pool.c gf-dirent.c syscall.c \
 	iobuf.c globals.c statedump.c stack.c checksum.c daemon.c \
 	$(CONTRIBDIR)/rbtree/rb.c rbthash.c latency.c \
-	graph.c $(CONTRIBDIR)/uuid/clear.c $(CONTRIBDIR)/uuid/copy.c \
-	$(CONTRIBDIR)/uuid/gen_uuid.c $(CONTRIBDIR)/uuid/pack.c \
-	$(CONTRIBDIR)/uuid/parse.c $(CONTRIBDIR)/uuid/unparse.c \
-	$(CONTRIBDIR)/uuid/uuid_time.c $(CONTRIBDIR)/uuid/compare.c \
-	$(CONTRIBDIR)/uuid/isnull.c $(CONTRIBDIR)/uuid/unpack.c syncop.c \
+	graph.c syncop.c \
 	graph-print.c trie.c run.c options.c fd-lk.c circ-buff.c \
 	event-history.c gidcache.c ctx.c \
 	$(CONTRIBDIR)/libgen/basename_r.c $(CONTRIBDIR)/libgen/dirname_r.c \
 	event-poll.c event-epoll.c
 
+if WITH_BUNDLED_LIBUUID
+libglusterfs_la_SOURCES +=
+	$(CONTRIBDIR)/uuid/clear.c $(CONTRIBDIR)/uuid/copy.c \
+	$(CONTRIBDIR)/uuid/gen_uuid.c $(CONTRIBDIR)/uuid/pack.c \
+	$(CONTRIBDIR)/uuid/parse.c $(CONTRIBDIR)/uuid/unparse.c \
+	$(CONTRIBDIR)/uuid/uuid_time.c $(CONTRIBDIR)/uuid/compare.c \
+	$(CONTRIBDIR)/uuid/isnull.c $(CONTRIBDIR)/uuid/unpack.c
+endif
+
 
 nodist_libglusterfs_la_SOURCES = y.tab.c graph.lex.c
 
@@ -36,11 +41,16 @@ noinst_HEADERS = common-utils.h defaults.h dict.h glusterfs.h hashfn.h \
 	fd.h revision.h compat-errno.h event.h mem-pool.h byte-order.h \
 	gf-dirent.h locking.h syscall.h iobuf.h globals.h statedump.h \
 	checksum.h daemon.h $(CONTRIBDIR)/rbtree/rb.h \
-	rbthash.h iatt.h latency.h mem-types.h $(CONTRIBDIR)/uuid/uuidd.h \
-	$(CONTRIBDIR)/uuid/uuid.h $(CONTRIBDIR)/uuid/uuidP.h \
-	$(CONTRIB_BUILDDIR)/uuid/uuid_types.h syncop.h graph-utils.h trie.h run.h \
+	rbthash.h iatt.h latency.h mem-types.h \
+	syncop.h graph-utils.h trie.h run.h \
 	options.h lkowner.h fd-lk.h circ-buff.h event-history.h gidcache.h
 
+if WITH_BUNDLED_LIBUUID
+noinst_HEADERS += $(CONTRIBDIR)/uuid/uuidd.h \
+	$(CONTRIBDIR)/uuid/uuid.h $(CONTRIBDIR)/uuid/uuidP.h \
+	$(CONTRIB_BUILDDIR)/uuid/uuid_types.h
+endif
+
 EXTRA_DIST = graph.l graph.y
 
 graph.lex.c: graph.l y.tab.h
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h
index 5968cd0..a0ff0bb 100644
--- a/libglusterfs/src/common-utils.h
+++ b/libglusterfs/src/common-utils.h
@@ -38,7 +38,7 @@ void trap (void);
 #include "glusterfs.h"
 #include "locking.h"
 #include "mem-pool.h"
-#include "uuid.h"
+#include <uuid.h>
 
 
 
diff --git a/libglusterfs/src/iatt.h b/libglusterfs/src/iatt.h
index 60ae590..54f7e63 100644
--- a/libglusterfs/src/iatt.h
+++ b/libglusterfs/src/iatt.h
@@ -22,7 +22,7 @@
 #include <unistd.h>
 
 #include "compat.h"
-#include "uuid.h"
+#include <uuid.h>
 
 typedef enum {
         IA_INVAL = 0,
diff --git a/libglusterfs/src/inode.h b/libglusterfs/src/inode.h
index 20e28f6..2f54a5d 100644
--- a/libglusterfs/src/inode.h
+++ b/libglusterfs/src/inode.h
@@ -33,7 +33,7 @@ typedef struct _dentry dentry_t;
 #include "list.h"
 #include "xlator.h"
 #include "iatt.h"
-#include "uuid.h"
+#include <uuid.h>
 
 
 struct _inode_table {
diff --git a/xlators/cluster/afr/src/Makefile.am b/xlators/cluster/afr/src/Makefile.am
index ef6bf97..0a67f8b 100644
--- a/xlators/cluster/afr/src/Makefile.am
+++ b/xlators/cluster/afr/src/Makefile.am
@@ -9,11 +9,13 @@ afr_common_source = afr-dir-read.c afr-dir-write.c afr-inode-read.c \
 
 afr_la_LDFLAGS = -module -avoidversion
 afr_la_SOURCES = $(afr_common_source) afr.c
-afr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+afr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 pump_la_LDFLAGS = -module -avoidversion
 pump_la_SOURCES =  $(afr_common_source) pump.c
-pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = afr.h afr-transaction.h afr-inode-write.h afr-inode-read.h \
 	afr-dir-read.h afr-dir-write.h afr-self-heal.h afr-self-heal-common.h \
diff --git a/xlators/cluster/dht/src/Makefile.am b/xlators/cluster/dht/src/Makefile.am
index b78af1f..8edf746 100644
--- a/xlators/cluster/dht/src/Makefile.am
+++ b/xlators/cluster/dht/src/Makefile.am
@@ -13,13 +13,16 @@ nufa_la_SOURCES = $(dht_common_source) nufa.c
 switch_la_SOURCES = $(dht_common_source) switch.c
 
 dht_la_LDFLAGS = -module -avoidversion
-dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 nufa_la_LDFLAGS = -module -avoidversion
-nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 switch_la_LDFLAGS = -module -avoidversion
-switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = dht-common.h dht-mem-types.h \
 	$(top_builddir)/xlators/lib/src/libxlator.h
diff --git a/xlators/cluster/stripe/src/Makefile.am b/xlators/cluster/stripe/src/Makefile.am
index 42846df..d343c8e 100644
--- a/xlators/cluster/stripe/src/Makefile.am
+++ b/xlators/cluster/stripe/src/Makefile.am
@@ -7,7 +7,8 @@ stripe_la_LDFLAGS = -module -avoidversion
 stripe_la_SOURCES = stripe.c stripe-helpers.c \
 	$(top_builddir)/xlators/lib/src/libxlator.c
 
-stripe_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+stripe_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = stripe.h stripe-mem-types.h $(top_builddir)/xlators/lib/src/libxlator.h
 
diff --git a/xlators/debug/io-stats/src/Makefile.am b/xlators/debug/io-stats/src/Makefile.am
index 08d2611..c885ddc 100644
--- a/xlators/debug/io-stats/src/Makefile.am
+++ b/xlators/debug/io-stats/src/Makefile.am
@@ -5,7 +5,8 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
 io_stats_la_LDFLAGS = -module -avoidversion
 
 io_stats_la_SOURCES = io-stats.c
-io_stats_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+io_stats_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = io-stats-mem-types.h
 
diff --git a/xlators/features/index/src/Makefile.am b/xlators/features/index/src/Makefile.am
index a550c1f..1bdd860 100644
--- a/xlators/features/index/src/Makefile.am
+++ b/xlators/features/index/src/Makefile.am
@@ -4,7 +4,8 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
 index_la_LDFLAGS = -module -avoidversion
 
 index_la_SOURCES = index.c
-index_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+index_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = index.h index-mem-types.h
 
diff --git a/xlators/features/marker/src/Makefile.am b/xlators/features/marker/src/Makefile.am
index 5c350b6..2400c0b 100644
--- a/xlators/features/marker/src/Makefile.am
+++ b/xlators/features/marker/src/Makefile.am
@@ -4,7 +4,8 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
 marker_la_LDFLAGS = -module -avoidversion
 
 marker_la_SOURCES = marker.c marker-quota.c marker-quota-helper.c marker-common.c
-marker_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+marker_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = marker-mem-types.h marker.h marker-quota.h marker-quota-helper.h marker-common.h $(top_builddir)/xlators/lib/src/libxlator.h
 
diff --git a/xlators/features/marker/src/marker.h b/xlators/features/marker/src/marker.h
index 63491ab..a090169 100644
--- a/xlators/features/marker/src/marker.h
+++ b/xlators/features/marker/src/marker.h
@@ -18,7 +18,7 @@
 #include "marker-quota.h"
 #include "xlator.h"
 #include "defaults.h"
-#include "uuid.h"
+#include <uuid.h>
 #include "call-stub.h"
 
 #define MARKER_XATTR_PREFIX "trusted.glusterfs"
diff --git a/xlators/features/marker/utils/src/gsyncd b/xlators/features/marker/utils/src/gsyncd
new file mode 100755
index 0000000..e737030
--- /dev/null
+++ b/xlators/features/marker/utils/src/gsyncd
@@ -0,0 +1,210 @@
+#! /bin/sh
+
+# gsyncd - temporary wrapper script for .libs/gsyncd
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# The gsyncd program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=""
+
+# This environment variable determines our operation mode.
+if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='2.4.2'
+  notinst_deplibs=' ../../../../../libglusterfs/src/libglusterfs.la'
+else
+  # When we are sourced in execute mode, $file and $ECHO are already set.
+  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+    file="$0"
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+    ECHO="printf %s\\n"
+  fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string --lt-
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's ../../../../../libtool value, followed by no.
+lt_option_debug=
+func_parse_lt_options ()
+{
+  lt_script_arg0=$0
+  shift
+  for lt_opt
+  do
+    case "$lt_opt" in
+    --lt-debug) lt_option_debug=1 ;;
+    --lt-dump-script)
+        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
+        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
+        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
+        cat "$lt_dump_D/$lt_dump_F"
+        exit 0
+      ;;
+    --lt-*)
+        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
+        exit 1
+      ;;
+    esac
+  done
+
+  # Print the debug banner immediately:
+  if test -n "$lt_option_debug"; then
+    echo "gsyncd:gsyncd:${LINENO}: libtool wrapper (GNU libtool) 2.4.2" 1>&2
+  fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+  lt_dump_args_N=1;
+  for lt_arg
+  do
+    $ECHO "gsyncd:gsyncd:${LINENO}: newargv[$lt_dump_args_N]: $lt_arg"
+    lt_dump_args_N=`expr $lt_dump_args_N + 1`
+  done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+
+      if test -n "$lt_option_debug"; then
+        $ECHO "gsyncd:gsyncd:${LINENO}: newargv[0]: $progdir/$program" 1>&2
+        func_lt_dump_args ${1+"$@"} 1>&2
+      fi
+      exec "$progdir/$program" ${1+"$@"}
+
+      $ECHO "$0: cannot exec $program $*" 1>&2
+      exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from $@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+  case " $* " in
+  *\ --lt-*)
+    for lt_wr_arg
+    do
+      case $lt_wr_arg in
+      --lt-*) ;;
+      *) set x "$@" "$lt_wr_arg"; shift;;
+      esac
+      shift
+    done ;;
+  esac
+  func_exec_program_core ${1+"$@"}
+}
+
+  # Parse options
+  func_parse_lt_options "$0" ${1+"$@"}
+
+  # Find the directory that this script lives in.
+  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
+  test "x$thisdir" = "x$file" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
+  while test -n "$file"; do
+    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
+
+    # If there was a directory component, then change thisdir.
+    if test "x$destdir" != "x$file"; then
+      case "$destdir" in
+      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
+      *) thisdir="$thisdir/$destdir" ;;
+      esac
+    fi
+
+    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
+    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
+  done
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
+  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
+    # special case for '.'
+    if test "$thisdir" = "."; then
+      thisdir=`pwd`
+    fi
+    # remove .libs from thisdir
+    case "$thisdir" in
+    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
+    .libs )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=`cd "$thisdir" && pwd`
+  test -n "$absdir" && thisdir="$absdir"
+
+  program='gsyncd'
+  progdir="$thisdir/.libs"
+
+
+  if test -f "$progdir/$program"; then
+    # Add our own library path to LD_LIBRARY_PATH
+    LD_LIBRARY_PATH="/home/jengelh/obs/zu/filesystems/glusterfs/glusterfs/libglusterfs/src/.libs:$LD_LIBRARY_PATH"
+
+    # Some systems cannot cope with colon-terminated LD_LIBRARY_PATH
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    LD_LIBRARY_PATH=`$ECHO "$LD_LIBRARY_PATH" | /usr/bin/sed 's/::*$//'`
+
+    export LD_LIBRARY_PATH
+
+    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+      # Run the actual program with our arguments.
+      func_exec_program ${1+"$@"}
+    fi
+  else
+    # The program doesn't exist.
+    $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2
+    $ECHO "This script is just a wrapper for $program." 1>&2
+    $ECHO "See the libtool documentation for more information." 1>&2
+    exit 1
+  fi
+fi
diff --git a/xlators/features/quota/src/Makefile.am b/xlators/features/quota/src/Makefile.am
index 6c97e75..48d25c9 100644
--- a/xlators/features/quota/src/Makefile.am
+++ b/xlators/features/quota/src/Makefile.am
@@ -4,7 +4,8 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
 quota_la_LDFLAGS = -module -avoidversion
 
 quota_la_SOURCES = quota.c
-quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = quota-mem-types.h quota.h
 
diff --git a/xlators/mgmt/glusterd/src/Makefile.am b/xlators/mgmt/glusterd/src/Makefile.am
index 95d2aba..3d7fdb1 100644
--- a/xlators/mgmt/glusterd/src/Makefile.am
+++ b/xlators/mgmt/glusterd/src/Makefile.am
@@ -13,7 +13,7 @@ glusterd_la_SOURCES = glusterd.c glusterd-handler.c glusterd-sm.c \
 glusterd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
 		     $(top_builddir)/rpc/xdr/src/libgfxdr.la \
 		     $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
-		     $(LIBXML2_LIBS) -lcrypto
+		     $(LIBXML2_LIBS) -lcrypto $(libuuid_LIBS)
 
 noinst_HEADERS = glusterd.h glusterd-utils.h glusterd-op-sm.h \
 	glusterd-sm.h glusterd-store.h glusterd-mem-types.h \
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
index f85ed81..4a21f17 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
@@ -18,7 +18,7 @@
 #include <sys/mount.h>
 
 #include <libgen.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "fnmatch.h"
 #include "xlator.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.h b/xlators/mgmt/glusterd/src/glusterd-op-sm.h
index 62ebcba..5da22bc 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.h
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.h
@@ -20,7 +20,7 @@
 #endif
 
 #include <pthread.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "glusterfs.h"
 #include "xlator.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd-pmap.h b/xlators/mgmt/glusterd/src/glusterd-pmap.h
index 6336ee9..63ed201 100644
--- a/xlators/mgmt/glusterd/src/glusterd-pmap.h
+++ b/xlators/mgmt/glusterd/src/glusterd-pmap.h
@@ -16,7 +16,7 @@
 #endif
 
 #include <pthread.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "glusterfs.h"
 #include "xlator.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.c b/xlators/mgmt/glusterd/src/glusterd-sm.c
index a60eb53..0731c08 100644
--- a/xlators/mgmt/glusterd/src/glusterd-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-sm.c
@@ -17,7 +17,7 @@
 #include <sys/resource.h>
 
 #include <libgen.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "fnmatch.h"
 #include "xlator.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.h b/xlators/mgmt/glusterd/src/glusterd-sm.h
index 011578d..a4288a0 100644
--- a/xlators/mgmt/glusterd/src/glusterd-sm.h
+++ b/xlators/mgmt/glusterd/src/glusterd-sm.h
@@ -16,7 +16,7 @@
 #endif
 
 #include <pthread.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "rpc-clnt.h"
 #include "glusterfs.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.h b/xlators/mgmt/glusterd/src/glusterd-store.h
index dd34250..f47577c 100644
--- a/xlators/mgmt/glusterd/src/glusterd-store.h
+++ b/xlators/mgmt/glusterd/src/glusterd-store.h
@@ -16,7 +16,7 @@
 #endif
 
 #include <pthread.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "glusterfs.h"
 #include "xlator.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h
index 167bffa..e1d2d79 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.h
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.h
@@ -16,7 +16,7 @@
 #endif
 
 #include <pthread.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "glusterfs.h"
 #include "xlator.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c
index fdcc38d..d5e1d81 100644
--- a/xlators/mgmt/glusterd/src/glusterd.c
+++ b/xlators/mgmt/glusterd/src/glusterd.c
@@ -18,7 +18,7 @@
 #include <sys/resource.h>
 
 #include <libgen.h>
-#include "uuid.h"
+#include <uuid.h>
 
 #include "glusterd.h"
 #include "rpcsvc.h"
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h
index 0abe80e..400b5c7 100644
--- a/xlators/mgmt/glusterd/src/glusterd.h
+++ b/xlators/mgmt/glusterd/src/glusterd.h
@@ -20,7 +20,7 @@
 #include <pthread.h>
 #include <libgen.h>
 
-#include "uuid.h"
+#include <uuid.h>
 
 #include "rpc-clnt.h"
 #include "glusterfs.h"
diff --git a/xlators/mount/fuse/src/Makefile.am b/xlators/mount/fuse/src/Makefile.am
index 4e92870..12764af 100644
--- a/xlators/mount/fuse/src/Makefile.am
+++ b/xlators/mount/fuse/src/Makefile.am
@@ -25,7 +25,7 @@ fuse_la_SOURCES = fuse-helpers.c fuse-resolve.c fuse-bridge.c \
 	$(CONTRIBDIR)/fuse-lib/misc.c $(mount_source)
 
 fuse_la_LDFLAGS = -module -avoidversion
-fuse_la_LIBADD = @GF_FUSE_LDADD@
+fuse_la_LIBADD = @GF_FUSE_LDADD@ $(libuuid_LIBS)
 
 AM_CPPFLAGS = $(GF_CPPFLAGS) \
 	-I$(top_srcdir)/libglusterfs/src -I$(CONTRIBDIR)/fuse-include \
diff --git a/xlators/nfs/server/src/Makefile.am b/xlators/nfs/server/src/Makefile.am
index e224896..499bfc4 100644
--- a/xlators/nfs/server/src/Makefile.am
+++ b/xlators/nfs/server/src/Makefile.am
@@ -5,7 +5,8 @@ server_la_LDFLAGS = -module -avoidversion
 server_la_SOURCES = nfs.c nfs-common.c nfs-fops.c nfs-inodes.c \
 	nfs-generics.c mount3.c nfs3-fh.c nfs3.c nfs3-helpers.c nlm4.c \
 	nlmcbk_svc.c mount3udp_svc.c
-server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = nfs.h nfs-common.h nfs-fops.h nfs-inodes.h nfs-generics.h \
 	mount3.h nfs3-fh.h nfs3.h nfs3-helpers.h nfs-mem-types.h nlm4.h
diff --git a/xlators/nfs/server/src/mount3.h b/xlators/nfs/server/src/mount3.h
index c0eae36..eee18a4 100644
--- a/xlators/nfs/server/src/mount3.h
+++ b/xlators/nfs/server/src/mount3.h
@@ -34,7 +34,7 @@
 #include "xdr-nfs3.h"
 #include "locking.h"
 #include "nfs3-fh.h"
-#include "uuid.h"
+#include <uuid.h>
 
 /* Registered with portmap */
 #define GF_MOUNTV3_PORT         38465
diff --git a/xlators/nfs/server/src/nfs-common.h b/xlators/nfs/server/src/nfs-common.h
index 88fc149..8a4e5e4 100644
--- a/xlators/nfs/server/src/nfs-common.h
+++ b/xlators/nfs/server/src/nfs-common.h
@@ -30,7 +30,7 @@
 #include "xlator.h"
 #include "rpcsvc.h"
 #include "iatt.h"
-#include "uuid.h"
+#include <uuid.h>
 
 //NFS_PATH_MAX hard-coded to 4096 as a work around for bug 2476.
 //nfs server crashes when path received is longer than PATH_MAX
diff --git a/xlators/nfs/server/src/nfs3-fh.h b/xlators/nfs/server/src/nfs3-fh.h
index a9002af..1a5891d 100644
--- a/xlators/nfs/server/src/nfs3-fh.h
+++ b/xlators/nfs/server/src/nfs3-fh.h
@@ -29,7 +29,7 @@
 #include "xdr-nfs3.h"
 #include "iatt.h"
 #include <sys/types.h>
-#include "uuid.h"
+#include <uuid.h>
 
 /* BIG FAT WARNING: The file handle code is tightly coupled to NFSv3 file
  * handles for now. This will change if and when we need v4. */
diff --git a/xlators/nfs/server/src/nlm4.h b/xlators/nfs/server/src/nlm4.h
index 0cc82f1..1ec53cf 100644
--- a/xlators/nfs/server/src/nlm4.h
+++ b/xlators/nfs/server/src/nlm4.h
@@ -36,7 +36,7 @@
 #include "xdr-nfs3.h"
 #include "locking.h"
 #include "nfs3-fh.h"
-#include "uuid.h"
+#include <uuid.h>
 #include "nlm4-xdr.h"
 #include "lkowner.h"
 
diff --git a/xlators/performance/md-cache/src/Makefile.am b/xlators/performance/md-cache/src/Makefile.am
index bd09c15..deeb693 100644
--- a/xlators/performance/md-cache/src/Makefile.am
+++ b/xlators/performance/md-cache/src/Makefile.am
@@ -4,7 +4,8 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
 md_cache_la_LDFLAGS = -module -avoidversion
 
 md_cache_la_SOURCES = md-cache.c
-md_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+md_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = md-cache-mem-types.h
 
diff --git a/xlators/performance/quick-read/src/Makefile.am b/xlators/performance/quick-read/src/Makefile.am
index 790f1e9..93e0e6d 100644
--- a/xlators/performance/quick-read/src/Makefile.am
+++ b/xlators/performance/quick-read/src/Makefile.am
@@ -4,7 +4,8 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
 quick_read_la_LDFLAGS = -module -avoidversion 
 
 quick_read_la_SOURCES = quick-read.c
-quick_read_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+quick_read_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = quick-read.h quick-read-mem-types.h
 
diff --git a/xlators/protocol/client/src/Makefile.am b/xlators/protocol/client/src/Makefile.am
index 7eed689..0e1cbc8 100644
--- a/xlators/protocol/client/src/Makefile.am
+++ b/xlators/protocol/client/src/Makefile.am
@@ -6,7 +6,8 @@ client_la_LDFLAGS = -module -avoidversion
 
 client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
 	$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
-	$(top_builddir)/rpc/xdr/src/libgfxdr.la
+	$(top_builddir)/rpc/xdr/src/libgfxdr.la \
+	$(libuuid_LIBS)
 
 client_la_SOURCES = client.c client-helpers.c client-rpc-fops.c  \
 	client-handshake.c client-callback.c client-lk.c
diff --git a/xlators/protocol/server/src/Makefile.am b/xlators/protocol/server/src/Makefile.am
index c7ac381..698115a 100644
--- a/xlators/protocol/server/src/Makefile.am
+++ b/xlators/protocol/server/src/Makefile.am
@@ -5,7 +5,8 @@ server_la_LDFLAGS = -module -avoidversion
 
 server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
 	$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
-	$(top_builddir)/rpc/xdr/src/libgfxdr.la
+	$(top_builddir)/rpc/xdr/src/libgfxdr.la \
+	$(libuuid_LIBS)
 
 server_la_SOURCES = server.c server-resolve.c server-helpers.c  \
 	server-rpc-fops.c server-handshake.c authenticate.c
diff --git a/xlators/storage/posix/src/Makefile.am b/xlators/storage/posix/src/Makefile.am
index 03623cf..46b7c40 100644
--- a/xlators/storage/posix/src/Makefile.am
+++ b/xlators/storage/posix/src/Makefile.am
@@ -5,7 +5,8 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
 posix_la_LDFLAGS = -module -avoidversion
 
 posix_la_SOURCES = posix.c posix-helpers.c posix-handle.c posix-aio.c
-posix_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBAIO)
+posix_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBAIO) \
+	$(libuuid_LIBS)
 
 noinst_HEADERS = posix.h posix-mem-types.h posix-handle.h posix-aio.h
 
-- 
1.7.10.4





More information about the Gluster-devel mailing list