diff options
| author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2013-06-07 09:46:12 -0400 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-06-21 10:32:39 -0700 | 
| commit | 159938575b43ce9af503c74560e044ee69d1395c (patch) | |
| tree | 922c72dd749326a44698a141f247a375e10db2ad | |
| parent | cc477c7da1b543d51939aba919155a651099d4ba (diff) | |
build: sync glusterfs.spec.in with Fedora glusterfs.spec
(This is the release-3.4 branch.)
 * remove G4S/UFO from community packaging. The Fedora/EPEL packaging
   will follow suit once the glusterfs-openstack-swift packaging
   materializes from the G4S team. Note that for the time being 'make dist'
   still creates a UFO tarball from the .../ufo directory for use by
   fedora packaging.
 * add glusterfs-api and glusterfs-api-devel sub-packages
 * add extras/systemd/glusterd.service. Use it (or extras/init.d/glusterd)
   instead of the Fedora versions.
 * restores ability to build glusterfs RPMs from the dist tarball with
   'rpmbuild {-ts,-tb,-ta} glusterfs-XXX.tar.gz'
 * reverse {--with,--without}_fusermount in sync with fedora .spec and
   master branch
 * other minor cleanups mostly to sync with fedora .spec and to build
   from the dist tarball. Any differences will be resolved in the fedora
   .spec in the next release (i.e. beta4 or GA).
 * this is nominally for "the impending merge of .../api from master" but
   should be independent of that change.
(still deciding whether to add the fedora glusterfsd.{init,service) files
here or remove them from fedora.)
BUG: 819130
Change-Id: I90c7355ca02239995b1df7646e3cd10ec227bcc5
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/5179
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
| -rw-r--r-- | configure.ac | 311 | ||||
| -rw-r--r-- | extras/LinuxRPM/Makefile.am | 32 | ||||
| -rw-r--r-- | extras/Makefile.am | 4 | ||||
| -rw-r--r-- | extras/init.d/Makefile.am | 15 | ||||
| -rw-r--r-- | extras/systemd/Makefile.am | 11 | ||||
| -rw-r--r-- | extras/systemd/glusterd.service.in | 12 | ||||
| -rw-r--r-- | glusterfs.spec.in | 933 | 
7 files changed, 334 insertions, 984 deletions
diff --git a/configure.ac b/configure.ac index 2133045f9b5..6b10365d908 100644 --- a/configure.ac +++ b/configure.ac @@ -27,10 +27,10 @@ fi  AC_CONFIG_HEADERS([config.h])  AC_CONFIG_FILES([Makefile -		libglusterfs/Makefile -		libglusterfs/src/Makefile -		glusterfsd/Makefile -		glusterfsd/src/Makefile +                libglusterfs/Makefile +                libglusterfs/src/Makefile +                glusterfsd/Makefile +                glusterfsd/src/Makefile                  rpc/Makefile                  rpc/rpc-lib/Makefile                  rpc/rpc-lib/src/Makefile @@ -41,110 +41,112 @@ AC_CONFIG_FILES([Makefile                  rpc/rpc-transport/rdma/src/Makefile                  rpc/xdr/Makefile                  rpc/xdr/src/Makefile -		xlators/Makefile -		xlators/mount/Makefile -		xlators/mount/fuse/Makefile -		xlators/mount/fuse/src/Makefile -		xlators/mount/fuse/utils/mount.glusterfs -		xlators/mount/fuse/utils/mount_glusterfs -		xlators/mount/fuse/utils/Makefile -		xlators/storage/Makefile -		xlators/storage/posix/Makefile -		xlators/storage/posix/src/Makefile -		xlators/storage/bd_map/Makefile -		xlators/storage/bd_map/src/Makefile -		xlators/cluster/Makefile -		xlators/cluster/afr/Makefile -		xlators/cluster/afr/src/Makefile -		xlators/cluster/stripe/Makefile -		xlators/cluster/stripe/src/Makefile -		xlators/cluster/dht/Makefile -		xlators/cluster/dht/src/Makefile -		xlators/performance/Makefile -		xlators/performance/write-behind/Makefile -		xlators/performance/write-behind/src/Makefile -		xlators/performance/read-ahead/Makefile -		xlators/performance/read-ahead/src/Makefile -		xlators/performance/io-threads/Makefile -		xlators/performance/io-threads/src/Makefile -		xlators/performance/io-cache/Makefile -		xlators/performance/io-cache/src/Makefile -		xlators/performance/symlink-cache/Makefile -		xlators/performance/symlink-cache/src/Makefile -		xlators/performance/quick-read/Makefile -		xlators/performance/quick-read/src/Makefile -		xlators/performance/open-behind/Makefile -		xlators/performance/open-behind/src/Makefile +                xlators/Makefile +                xlators/mount/Makefile +                xlators/mount/fuse/Makefile +                xlators/mount/fuse/src/Makefile +                xlators/mount/fuse/utils/mount.glusterfs +                xlators/mount/fuse/utils/mount_glusterfs +                xlators/mount/fuse/utils/Makefile +                xlators/storage/Makefile +                xlators/storage/posix/Makefile +                xlators/storage/posix/src/Makefile +                xlators/storage/bd_map/Makefile +                xlators/storage/bd_map/src/Makefile +                xlators/cluster/Makefile +                xlators/cluster/afr/Makefile +                xlators/cluster/afr/src/Makefile +                xlators/cluster/stripe/Makefile +                xlators/cluster/stripe/src/Makefile +                xlators/cluster/dht/Makefile +                xlators/cluster/dht/src/Makefile +                xlators/performance/Makefile +                xlators/performance/write-behind/Makefile +                xlators/performance/write-behind/src/Makefile +                xlators/performance/read-ahead/Makefile +                xlators/performance/read-ahead/src/Makefile +                xlators/performance/io-threads/Makefile +                xlators/performance/io-threads/src/Makefile +                xlators/performance/io-cache/Makefile +                xlators/performance/io-cache/src/Makefile +                xlators/performance/symlink-cache/Makefile +                xlators/performance/symlink-cache/src/Makefile +                xlators/performance/quick-read/Makefile +                xlators/performance/quick-read/src/Makefile +                xlators/performance/open-behind/Makefile +                xlators/performance/open-behind/src/Makefile                  xlators/performance/md-cache/Makefile                  xlators/performance/md-cache/src/Makefile -		xlators/debug/Makefile -		xlators/debug/trace/Makefile -		xlators/debug/trace/src/Makefile -		xlators/debug/error-gen/Makefile -		xlators/debug/error-gen/src/Makefile -		xlators/debug/io-stats/Makefile -		xlators/debug/io-stats/src/Makefile -		xlators/protocol/Makefile -		xlators/protocol/auth/Makefile -		xlators/protocol/auth/addr/Makefile -		xlators/protocol/auth/addr/src/Makefile -		xlators/protocol/auth/login/Makefile -		xlators/protocol/auth/login/src/Makefile -		xlators/protocol/client/Makefile -		xlators/protocol/client/src/Makefile -		xlators/protocol/server/Makefile -		xlators/protocol/server/src/Makefile -		xlators/features/Makefile -		xlators/features/locks/Makefile -		xlators/features/locks/src/Makefile -		xlators/features/quota/Makefile -		xlators/features/quota/src/Makefile +                xlators/debug/Makefile +                xlators/debug/trace/Makefile +                xlators/debug/trace/src/Makefile +                xlators/debug/error-gen/Makefile +                xlators/debug/error-gen/src/Makefile +                xlators/debug/io-stats/Makefile +                xlators/debug/io-stats/src/Makefile +                xlators/protocol/Makefile +                xlators/protocol/auth/Makefile +                xlators/protocol/auth/addr/Makefile +                xlators/protocol/auth/addr/src/Makefile +                xlators/protocol/auth/login/Makefile +                xlators/protocol/auth/login/src/Makefile +                xlators/protocol/client/Makefile +                xlators/protocol/client/src/Makefile +                xlators/protocol/server/Makefile +                xlators/protocol/server/src/Makefile +                xlators/features/Makefile +                xlators/features/locks/Makefile +                xlators/features/locks/src/Makefile +                xlators/features/quota/Makefile +                xlators/features/quota/src/Makefile                  xlators/features/marker/Makefile                  xlators/features/marker/src/Makefile                  xlators/features/marker/utils/Makefile                  xlators/features/marker/utils/src/Makefile                  xlators/features/marker/utils/syncdaemon/Makefile -		xlators/features/read-only/Makefile -		xlators/features/read-only/src/Makefile -		xlators/features/mac-compat/Makefile -		xlators/features/mac-compat/src/Makefile -		xlators/features/quiesce/Makefile -		xlators/features/quiesce/src/Makefile +                xlators/features/read-only/Makefile +                xlators/features/read-only/src/Makefile +                xlators/features/mac-compat/Makefile +                xlators/features/mac-compat/src/Makefile +                xlators/features/quiesce/Makefile +                xlators/features/quiesce/src/Makefile                  xlators/features/index/Makefile                  xlators/features/index/src/Makefile -		xlators/encryption/Makefile -		xlators/encryption/rot-13/Makefile -		xlators/encryption/rot-13/src/Makefile +                xlators/encryption/Makefile +                xlators/encryption/rot-13/Makefile +                xlators/encryption/rot-13/src/Makefile                  xlators/system/Makefile                  xlators/system/posix-acl/Makefile                  xlators/system/posix-acl/src/Makefile                  cli/Makefile                  cli/src/Makefile -		doc/Makefile -		extras/Makefile -		extras/init.d/Makefile -		extras/init.d/glusterd.plist +                doc/Makefile +                extras/Makefile +                extras/init.d/Makefile +                extras/init.d/glusterd.plist                  extras/init.d/glusterd-Debian                  extras/init.d/glusterd-Redhat                  extras/init.d/glusterd-SuSE -		extras/benchmarking/Makefile +                extras/systemd/Makefile +                extras/systemd/glusterd.service +                extras/benchmarking/Makefile                  extras/hook-scripts/Makefile -		extras/ocf/Makefile -		extras/ocf/glusterd -		extras/ocf/volume -		extras/LinuxRPM/Makefile -		contrib/fuse-util/Makefile -		contrib/uuid/uuid_types.h +                extras/ocf/Makefile +                extras/ocf/glusterd +                extras/ocf/volume +                extras/LinuxRPM/Makefile +                contrib/fuse-util/Makefile +                contrib/uuid/uuid_types.h                  xlators/nfs/Makefile                  xlators/nfs/server/Makefile                  xlators/nfs/server/src/Makefile                  xlators/mgmt/Makefile                  xlators/mgmt/glusterd/Makefile                  xlators/mgmt/glusterd/src/Makefile -		glusterfs-api.pc -		api/Makefile -		api/src/Makefile -		glusterfs.spec]) +                glusterfs-api.pc +                api/Makefile +                api/src/Makefile +                glusterfs.spec])  AC_CANONICAL_HOST @@ -164,6 +166,12 @@ AC_ARG_WITH(mountutildir,              [mountutildir='/sbin'])  AC_SUBST(mountutildir) +AC_ARG_WITH(systemddir, +            [  --with-systemddir=DIR systemd service files in DIR @<:@/usr/lib/systemd/system@:>@], +            [systemddir=$withval], +            [systemddir='/usr/lib/systemd/system']) +AC_SUBST(systemddir) +  AC_ARG_WITH(initdir,              [  --with-initdir=DIR init.d scripts in DIR @<:@/etc/init.d@:>@],              [initdir=$withval], @@ -259,8 +267,8 @@ fi  # FUSE section  AC_ARG_ENABLE([fuse-client], -	      AC_HELP_STRING([--disable-fuse-client], -			     [Do not build the fuse client. NOTE: you cannot mount glusterfs without the client])) +              AC_HELP_STRING([--disable-fuse-client], +                             [Do not build the fuse client. NOTE: you cannot mount glusterfs without the client]))  BUILD_FUSE_CLIENT=no  if test "x$enable_fuse_client" != "xno"; then @@ -299,14 +307,15 @@ AC_SUBST(FUSE_CLIENT_SUBDIR)  # FUSERMOUNT section  AC_ARG_ENABLE([fusermount], -              AC_HELP_STRING([--enable-fusermount], -                             [Build fusermount])) +              AC_HELP_STRING([--disable-fusermount], +                             [Use system's fusermount])) -BUILD_FUSERMOUNT="no" -if test "x$enable_fusermount" = "xyes"; then -  FUSERMOUNT_SUBDIR="contrib/fuse-util" -  BUILD_FUSERMOUNT="yes" +BUILD_FUSERMOUNT="yes" +if test "x$enable_fusermount" = "xno"; then +  BUILD_FUSERMOUNT="no" +else    AC_DEFINE(GF_FUSERMOUNT, 1, [Use our own fusermount]) +  FUSERMOUNT_SUBDIR="contrib/fuse-util"  fi  AC_SUBST(FUSERMOUNT_SUBDIR) @@ -315,29 +324,29 @@ AC_SUBST(FUSERMOUNT_SUBDIR)  # EPOLL section  AC_ARG_ENABLE([epoll], -	      AC_HELP_STRING([--disable-epoll], -			     [Use poll instead of epoll.])) +              AC_HELP_STRING([--disable-epoll], +                             [Use poll instead of epoll.]))  BUILD_EPOLL=no  if test "x$enable_epoll" != "xno"; then     AC_CHECK_HEADERS([sys/epoll.h],                      [BUILD_EPOLL=yes], -		    [BUILD_EPOLL=no]) +                    [BUILD_EPOLL=no])  fi  # end EPOLL section  # IBVERBS section  AC_ARG_ENABLE([ibverbs], -	      AC_HELP_STRING([--disable-ibverbs], -			     [Do not build the ibverbs transport])) +              AC_HELP_STRING([--disable-ibverbs], +                             [Do not build the ibverbs transport]))  if test "x$enable_ibverbs" != "xno"; then    AC_CHECK_LIB([ibverbs],                 [ibv_get_device_list], -	       [HAVE_LIBIBVERBS="yes"], -	       [HAVE_LIBIBVERBS="no"]) -  AC_CHECK_LIB([rdmacm], [rdma_create_id], [HAVE_RDMACM="yes"], [HAVE_RDMACM="no"])  +               [HAVE_LIBIBVERBS="yes"], +               [HAVE_LIBIBVERBS="no"]) +  AC_CHECK_LIB([rdmacm], [rdma_create_id], [HAVE_RDMACM="yes"], [HAVE_RDMACM="no"])  fi  if test "x$enable_ibverbs" = "xyes"; then @@ -368,8 +377,8 @@ AC_SUBST(RDMA_SUBDIR)  # SYNCDAEMON section  AC_ARG_ENABLE([georeplication], -	      AC_HELP_STRING([--disable-georeplication], -			     [Do not install georeplication components])) +              AC_HELP_STRING([--disable-georeplication], +                             [Do not install georeplication components]))  BUILD_SYNCDAEMON=no  case $host_os in @@ -381,7 +390,7 @@ case $host_os in         ;;       *)  #disabling geo replication for non-linux platforms -	enable_georeplication=no +        enable_georeplication=no          ;;  esac  SYNCDAEMON_COMPILE=0 @@ -476,9 +485,9 @@ AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec])  dnl FreeBSD, NetBSD  AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec])  case $host_os in -	*netbsd*) -	CFLAGS=-D_INCOMPLETE_XOPEN_C063 -	;; +        *netbsd*) +        CFLAGS=-D_INCOMPLETE_XOPEN_C063 +        ;;  esac  AC_CHECK_FUNC([linkat], [have_linkat=yes])  if test "x${have_linkat}" = "xyes"; then @@ -490,7 +499,7 @@ dnl Check for argp  AC_CHECK_HEADER([argp.h], AC_DEFINE(HAVE_ARGP, 1, [have argp]))  AC_CONFIG_SUBDIRS(argp-standalone)  BUILD_ARGP_STANDALONE=no -if test "x${ac_cv_header_argp_h}" = "xno"; then  +if test "x${ac_cv_header_argp_h}" = "xno"; then     BUILD_ARGP_STANDALONE=yes     ARGP_STANDALONE_CPPFLAGS='-I${top_srcdir}/argp-standalone'     ARGP_STANDALONE_LDADD='${top_builddir}/argp-standalone/libargp.a' @@ -511,7 +520,7 @@ if test "x${have_fdatasync}" = "xyes"; then     AC_DEFINE(HAVE_FDATASYNC, 1, [define if fdatasync exists])  fi -# Check the distribution where you are compiling glusterfs on  +# Check the distribution where you are compiling glusterfs on  GF_DISTRIBUTION=  AC_CHECK_FILE([/etc/debian_version]) @@ -547,59 +556,59 @@ fi  case $host_os in       linux*) -     dnl	GF_LINUX_HOST_OS=1 +     dnl        GF_LINUX_HOST_OS=1          GF_HOST_OS="GF_LINUX_HOST_OS" -	GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -O0" -	GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" -	GF_LDADD="${ARGP_STANDALONE_LDADD}" -	GF_FUSE_CFLAGS="-DFUSERMOUNT_DIR=\\\"\$(bindir)\\\"" -	;; +        GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -O0" +        GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" +        GF_LDADD="${ARGP_STANDALONE_LDADD}" +        GF_FUSE_CFLAGS="-DFUSERMOUNT_DIR=\\\"\$(bindir)\\\"" +        ;;       solaris*)          GF_HOST_OS="GF_SOLARIS_HOST_OS" -	GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -O0 -m64" -	GF_LDFLAGS="" -	GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" -	GF_LDADD="${ARGP_STANDALONE_LDADD}" -	GF_GLUSTERFS_LIBS="-lnsl -lresolv -lsocket" +        GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -O0 -m64" +        GF_LDFLAGS="" +        GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" +        GF_LDADD="${ARGP_STANDALONE_LDADD}" +        GF_GLUSTERFS_LIBS="-lnsl -lresolv -lsocket"          BUILD_FUSE_CLIENT=no          FUSE_CLIENT_SUBDIR="" -	;; +        ;;       *netbsd*) -	GF_HOST_OS="GF_BSD_HOST_OS" -	GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_INCOMPLETE_XOPEN_C063" -	GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME" -	GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME" -	GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" -	GF_LDADD="${ARGP_STANDALONE_LDADD}" -	if test "x$ac_cv_header_execinfo_h" = "xyes"; then -	   GF_GLUSTERFS_LIBS="-lexecinfo" -	fi -	GF_FUSE_LDADD="-lperfuse" -	BUILD_FUSE_CLIENT=yes -	LEXLIB="" -	;; +        GF_HOST_OS="GF_BSD_HOST_OS" +        GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_INCOMPLETE_XOPEN_C063" +        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME" +        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME" +        GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" +        GF_LDADD="${ARGP_STANDALONE_LDADD}" +        if test "x$ac_cv_header_execinfo_h" = "xyes"; then +           GF_GLUSTERFS_LIBS="-lexecinfo" +        fi +        GF_FUSE_LDADD="-lperfuse" +        BUILD_FUSE_CLIENT=yes +        LEXLIB="" +        ;;       *bsd*)          GF_HOST_OS="GF_BSD_HOST_OS" -	GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -O0" -	GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME" -	GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME" -	GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" -	GF_LDADD="${ARGP_STANDALONE_LDADD}" -	if test "x$ac_cv_header_execinfo_h" = "xyes"; then -	   GF_GLUSTERFS_LIBS="-lexecinfo" -	fi -	BUILD_FUSE_CLIENT=no -	;; +        GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -O0" +        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME" +        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME" +        GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" +        GF_LDADD="${ARGP_STANDALONE_LDADD}" +        if test "x$ac_cv_header_execinfo_h" = "xyes"; then +           GF_GLUSTERFS_LIBS="-lexecinfo" +        fi +        BUILD_FUSE_CLIENT=no +        ;;       darwin*)          GF_HOST_OS="GF_DARWIN_HOST_OS" -	LIBTOOL=glibtool -	GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D__DARWIN_64_BIT_INO_T -bundle -undefined suppress -flat_namespace -D_XOPEN_SOURCE -O0" -	GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME" -	GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME" -	GF_GLUSTERFS_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D__DARWIN_64_BIT_INO_T -undefined suppress -flat_namespace -O0" -	GF_LDADD="${ARGP_STANDALONE_LDADD}" -	GF_FUSE_CFLAGS="-I\$(CONTRIBDIR)/macfuse" -	;; +        LIBTOOL=glibtool +        GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D__DARWIN_64_BIT_INO_T -bundle -undefined suppress -flat_namespace -D_XOPEN_SOURCE -O0" +        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME" +        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME" +        GF_GLUSTERFS_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D__DARWIN_64_BIT_INO_T -undefined suppress -flat_namespace -O0" +        GF_LDADD="${ARGP_STANDALONE_LDADD}" +        GF_FUSE_CFLAGS="-I\$(CONTRIBDIR)/macfuse" +        ;;  esac  # enable debug section diff --git a/extras/LinuxRPM/Makefile.am b/extras/LinuxRPM/Makefile.am index 3c867fe275e..cc020be94f7 100644 --- a/extras/LinuxRPM/Makefile.am +++ b/extras/LinuxRPM/Makefile.am @@ -1,7 +1,5 @@ -GFS_TAR = ../../glusterfs-*git.tar.gz -UFO_TAR = ../../gluster-swift-ufo-*git.tar.gz -GFS_SPEC = ../../glusterfs.spec +GFS_TAR = ../../glusterfs-${VERSION}.tar.gz  .PHONY: all @@ -13,12 +11,9 @@ all:  glusterrpms: prep srcrpm rpms  	-rm -rf rpmbuild -glusterrpmswithoutufo: prep srcrpm rpmswithoutufo -	-rm -rf rpmbuild - -prep:: -	if [ ! -e $(GFS_TAR) -a ! -e $(UFO_TAR) -a ! -e $(GFS_SPEC) ]; then \ -		$(MAKE) -c ../.. dist; \ +prep: +	if [ ! -e $(GFS_TAR) ]; then \ +		$(MAKE) -C ../.. dist; \  	fi  	-mkdir -p rpmbuild/SPECS  	-mkdir -p rpmbuild/RPMS @@ -38,21 +33,6 @@ prep::  	cp ../../*.tar.gz ./rpmbuild/SOURCES  	cp ../../glusterfs.spec ./rpmbuild/SPECS -GRIZZLY_TAR = swift-1.8.0.tar.gz -GRIZZLY_URL = https://launchpad.net/swift/grizzly/1.8.0/+download/$(GRIZZLY_TAR) - -prep:: -	@if [ -d /d/cache -a -f /d/cache/$(GRIZZLY_TAR) -a -d ./rpmbuild/SOURCES ]; then \ -		echo "copying swift source tarball from local cache..." ; \ -		cp /d/cache/$(GRIZZLY_TAR) ./rpmbuild/SOURCES/ ; \ -	elif [ -x /usr/bin/curl -a -d ./rpmbuild/SOURCES ]; then \ -		echo "fetching swift from launchpad.net..." ; \ -		cd ./rpmbuild/SOURCES && /usr/bin/curl -sOL $(GRIZZLY_URL) ; \ -	else \ -		echo "swift source not fetched, you don't have curl installed!" ; \ -		exit 1 ; \ -	fi -  srcrpm:  	rpmbuild --define '_topdir $(shell pwd)/rpmbuild' -bs rpmbuild/SPECS/glusterfs.spec  	mv rpmbuild/SRPMS/* . @@ -61,10 +41,6 @@ rpms:  	rpmbuild --define '_topdir $(shell pwd)/rpmbuild' -bb rpmbuild/SPECS/glusterfs.spec  	mv rpmbuild/RPMS/*/* . -rpmswithoutufo: -	rpmbuild --define '_topdir $(shell pwd)/rpmbuild' -bb rpmbuild/SPECS/glusterfs.spec --without ufo -	mv rpmbuild/RPMS/*/* . -  # EPEL-5 does not like new versions of rpmbuild and requires some  # _source_* defines diff --git a/extras/Makefile.am b/extras/Makefile.am index 7b55ef2ee7e..63ad7101655 100644 --- a/extras/Makefile.am +++ b/extras/Makefile.am @@ -2,7 +2,7 @@  EditorModedir = $(docdir)  EditorMode_DATA = glusterfs-mode.el glusterfs.vim -SUBDIRS = init.d benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM +SUBDIRS = init.d systemd benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM  confdir = $(sysconfdir)/glusterfs  conf_DATA = glusterfs-logrotate @@ -10,5 +10,5 @@ conf_DATA = glusterfs-logrotate  EXTRA_DIST = specgen.scm MacOSX/Portfile glusterfs-mode.el glusterfs.vim  \  	migrate-unify-to-distribute.sh backend-xattr-sanitize.sh          \  	backend-cleanup.sh disk_usage_sync.sh quota-remove-xattr.sh       \ -	quota-metadata-cleanup.sh glusterfs-logrotate clear_xattrs.sh	\ +	quota-metadata-cleanup.sh glusterfs-logrotate clear_xattrs.sh     \  	group-virt.example glusterd-sysconfig diff --git a/extras/init.d/Makefile.am b/extras/init.d/Makefile.am index 7c26a0e8e2b..38898fddd2e 100644 --- a/extras/init.d/Makefile.am +++ b/extras/init.d/Makefile.am @@ -3,17 +3,20 @@ EXTRA_DIST = glusterd-Debian glusterd-Redhat glusterd-SuSE glusterd.plist rhel5-  CLEANFILES =  -initdir = @initdir@ -launchddir = @launchddir@ +INIT_DIR = @initdir@ +SYSTEMD_DIR = @systemddir@ +LAUNCHD_DIR = @launchddir@  $(GF_DISTRIBUTION):  -	$(mkdir_p) $(DESTDIR)$(initdir)	 -	$(INSTALL_PROGRAM) glusterd-$(GF_DISTRIBUTION) $(DESTDIR)$(initdir)/glusterd +	@if [ ! -d $(SYSTEMD_DIR) ]; then \ +		$(mkdir_p) $(DESTDIR)$(INIT_DIR); \ +		$(INSTALL_PROGRAM) glusterd-$(GF_DISTRIBUTION) $(DESTDIR)$(INIT_DIR)/glusterd; \ +	fi  install-exec-local: $(GF_DISTRIBUTION)  install-data-local:   if GF_DARWIN_HOST_OS -	$(mkdir_p) $(DESTDIR)$(launchddir) -	$(INSTALL_PROGRAM) glusterd.plist $(DESTDIR)$(launchddir)/com.gluster.glusterd.plist +	$(mkdir_p) $(DESTDIR)$(LAUNCHD_DIR) +	$(INSTALL_PROGRAM) glusterd.plist $(DESTDIR)$(LAUNCHD_DIR)/com.gluster.glusterd.plist  endif diff --git a/extras/systemd/Makefile.am b/extras/systemd/Makefile.am new file mode 100644 index 00000000000..3fc656b8262 --- /dev/null +++ b/extras/systemd/Makefile.am @@ -0,0 +1,11 @@ + +CLEANFILES = + +SYSTEMD_DIR = @systemddir@ + +install-exec-local: +	@if [ -d $(SYSTEMD_DIR) ]; then \ +		$(mkdir_p) $(DESTDIR)$(SYSTEMD_DIR); \ +		$(INSTALL_PROGRAM) glusterd.service $(DESTDIR)$(SYSTEMD_DIR)/; \ +	fi + diff --git a/extras/systemd/glusterd.service.in b/extras/systemd/glusterd.service.in new file mode 100644 index 00000000000..0b24aea3bec --- /dev/null +++ b/extras/systemd/glusterd.service.in @@ -0,0 +1,12 @@ +[Unit] +Description=GlusterFS an clustered file-system server +After=network.target rpcbind.service + +[Service] +Type=forking +PIDFile=/run/glusterd.pid +LimitNOFILE=65536 +ExecStart=/usr/sbin/glusterd -p /run/glusterd.pid + +[Install] +WantedBy=multi-user.target diff --git a/glusterfs.spec.in b/glusterfs.spec.in index c54dcb50da2..4277a601230 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -1,6 +1,11 @@ +%global _hardened_build 1 +  %global _for_fedora_koji_builds 0 +# uncomment and add '%' to use the prereltag for pre-releases +# global prereltag beta2 +  # if you wish to compile an rpm without rdma support, compile like this...  # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma  %{?_without_rdma:%global _without_rdma --disable-ibverbs} @@ -14,9 +19,9 @@  # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without epoll  %{?_without_epoll:%global _without_epoll --disable-epoll} -# if you wish to compile an rpm with fusermount... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with fusermount -%{?_with_fusermount:%global _with_fusermount --enable-fusermount} +# if you wish to compile an rpm without fusermount... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without fusermount +%{?_without_fusermount:%global _without_fusermount --disable-fusermount}  # if you wish to compile an rpm without geo-replication support, compile like this...  # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication @@ -26,66 +31,45 @@  # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf  %{?_without_ocf:%global _without_ocf --without-ocf} -# if you wish to build rpms without UFO, compile like this -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@tar.gz --without ufo -%{?_without_ufo:%global _without_ufo true} - -%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) -%global           SWIFTVER 1.8.0 -%if 0%{_for_fedora_koji_builds} -%global           UFOVER 1.1 -%else -%global           UFOVER @PACKAGE_VERSION@ -%endif -%if ! 0%{?_without_ufo:1} -%global           _with_ufo true -%endif -%endif -  %if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )  %global           _with_systemd true  %endif  Summary:          Cluster File System -%if 0%{_for_fedora_koji_builds} +%if ( 0%{_for_fedora_koji_builds} )  Name:             glusterfs -Version:          3.3.1 -Release:          10%{?dist} +Version:          3.4.0 +Release:          0.5%{?prereltag:.%{prereltag}}%{?dist} +Vendor:           Fedora Project  %else  Name:             @PACKAGE_NAME@  Version:          @PACKAGE_VERSION@  Release:          1%{?dist} +Vendor:           glusterfs.org  %endif -License:          GPLv3+ and (GPLv2 or LGPLv3+) +License:          GPLv2 or LGPLv3+  Group:            System Environment/Base -%if 0%{_for_fedora_koji_builds} -Vendor:           Red Hat -%endif -URL:              http://www.gluster.org//docs/index.php/GlusterFS -%if 0%{_for_fedora_koji_builds} -Source0:          http://bits.gluster.com/pub/gluster/glusterfs/src/glusterfs-%{version}.tar.gz -%else -Source0:          @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz -%endif +URL:              http://www.gluster.org/docs/index.php/GlusterFS +%if ( 0%{_for_fedora_koji_builds} ) +Source0:          http://download.gluster.org/pub/gluster/glusterfs/qa-releases/%{PACKAGE_VERSION}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz  Source1:          glusterd.sysconfig  Source2:          glusterfsd.sysconfig  Source3:          umount.glusterfs  Source4:          glusterfs-fuse.logrotate  Source5:          glusterd.logrotate  Source6:          glusterfsd.logrotate +Source7:          rhel5-load-fuse-modules +Source11:         glusterfsd.service +Source13:         glusterfsd.init  Patch0:           %{name}-3.2.5.configure.ac.patch  Patch1:           %{name}-3.3.0.libglusterfs.Makefile.patch +%else +Source0:          @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz +%endif  BuildRoot:        %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -Source10:         glusterd.service -Source11:         glusterfsd.service -Source12:         glusterd.init -Source13:         glusterfsd.init - -%if 0%{?_with_systemd:1} -%global glusterd_service %{S:%{SOURCE10}} -%global glusterfsd_service %{S:%{SOURCE11}} +%if ( 0%{?_with_systemd:1} )  BuildRequires:    systemd-units  Requires(post):   systemd-units  Requires(preun):  systemd-units @@ -94,19 +78,10 @@ Requires(postun): systemd-units  %define _init_disable() /bin/systemctl disable %1.service ;  %define _init_restart() /bin/systemctl try-restart %1.service ;  %define _init_stop()    /bin/systemctl stop %1.service ; -%define _init_install() %{__install} -D -p -m 0644 %1 %{buildroot}%{_unitdir}/%2.service ;  # can't seem to make a generic macro that works  %define _init_glusterd   %{_unitdir}/glusterd.service  %define _init_glusterfsd %{_unitdir}/glusterfsd.service -%define _init_gluster_swift_account   %{_unitdir}/gluster-swift-account.service -%define _init_gluster_swift_container %{_unitdir}/gluster-swift-container.service -%define _init_gluster_swift_object    %{_unitdir}/gluster-swift-object.service -%define _init_gluster_swift_proxy     %{_unitdir}/gluster-swift-proxy.service  %else -%if 0%{_for_fedora_koji_builds} -%global glusterd_service %{S:%{SOURCE12}} -%global glusterfsd_service %{S:%{SOURCE13}} -%endif  Requires(post):   /sbin/chkconfig  Requires(preun):  /sbin/service  Requires(preun):  /sbin/chkconfig @@ -115,14 +90,9 @@ Requires(postun): /sbin/service  %define _init_disable() /sbin/chkconfig --del %1 ;  %define _init_restart() /sbin/service %1 condrestart &>/dev/null ;  %define _init_stop()    /sbin/service %1 stop &>/dev/null ; -%define _init_install() %{__install} -D -p -m 0755 %1 %{buildroot}%{_sysconfdir}/init.d/%2 ;  # can't seem to make a generic macro that works  %define _init_glusterd   %{_sysconfdir}/init.d/glusterd  %define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd -%define _init_gluster_swift_account   %{_sysconfdir}/init.d/gluster-swift-account -%define _init_gluster_swift_container %{_sysconfdir}/init.d/gluster-swift-container -%define _init_gluster_swift_object    %{_sysconfdir}/init.d/gluster-swift-object -%define _init_gluster_swift_proxy     %{_sysconfdir}/init.d/gluster-swift-proxy  %endif  BuildRequires:    bison flex @@ -130,11 +100,11 @@ BuildRequires:    gcc make automake libtool  BuildRequires:    ncurses-devel readline-devel  BuildRequires:    libxml2-devel openssl-devel  BuildRequires:    libaio-devel -#BuildRequires:    systemtap-sdt-devel lvm2-devel # glusterfs-3.4.x -%if 0%{?suse_version} +BuildRequires:    systemtap-sdt-devel  BuildRequires:    python-devel -%else  BuildRequires:    python-ctypes +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +BuildRequires:    lvm2-devel  %endif  Obsoletes:        hekafs <= 0.7 @@ -145,6 +115,20 @@ Provides:         %{name}-libs = %{version}-%{release}  Provides:         %{name}-common = %{version}-%{release}  Provides:         %{name}-core = %{version}-%{release} +# We do not want to generate useless provides and requires for xlator .so files +# Filter all generated: +# +# TODO: RHEL5 does not have a convenient solution +%if ( 0%{?rhel} == 6 ) +    # filter_setup exists in RHEL6 only +    %filter_provides_in %{_libdir}/glusterfs/%{version}/ +    %global __filter_from_req %{?__filter_from_req} | %{__grep} -v -P '^(?!lib).*\.so.*$' +    %filter_setup +%else +    # modern rpm and current Fedora do not generate requires when the +    # provides are filtered +    %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$ +%endif  %description  GlusterFS is a clustered file-system capable of scaling to several @@ -159,7 +143,7 @@ This package includes the glusterfs binary, the glusterfsd daemon and the  gluster command line, libglusterfs and glusterfs translator modules common to  both GlusterFS server and client framework. -%if 0%{!?_without_rdma:1} +%if ( 0%{!?_without_rdma:1} )  %package rdma  Summary:          GlusterFS rdma support for ib-verbs  Group:            Applications/File @@ -179,7 +163,7 @@ is in user space and easily manageable.  This package provides support to ib-verbs library.  %endif -%if 0%{!?_without_georeplication:1} +%if ( 0%{!?_without_georeplication:1} )  %package geo-replication  Summary:          GlusterFS Geo-replication  Group:            Applications/File @@ -225,7 +209,11 @@ License:          GPLv3+  Group:            System Environment/Daemons  Requires:         %{name} = %{version}-%{release}  Requires:         %{name}-fuse = %{version}-%{release} +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )  Requires:         rpcbind +%else +Requires:         portmap +%endif  %description server  GlusterFS is a clustered file-system capable of scaling to several @@ -238,15 +226,33 @@ is in user space and easily manageable.  This package provides the glusterfs server daemon. -%if 0%{!?_without_ocf:1} +%package api +Summary:          Clustered file-system api library +License:          GPLv2 or LGPLv3+ +Group:            System Environment/Daemons +Requires:         %{name} = %{version}-%{release} + +%description api +GlusterFS is a clustered file-system capable of scaling to several +petabytes. It aggregates various storage bricks over Infiniband RDMA +or TCP/IP interconnect into one large parallel network file +system. GlusterFS is one of the most sophisticated file systems in +terms of features and extensibility.  It borrows a powerful concept +called Translators from GNU Hurd kernel. Much of the code in GlusterFS +is in user space and easily manageable. + +This package provides the glusterfs libgfapi library + +%if ( 0%{!?_without_ocf:1} )  %package resource-agents  Summary:          OCF Resource Agents for GlusterFS  License:          GPLv3+ -%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) ) +# EL5 does not support noarch sub-packages  BuildArch:        noarch  %endif  # this Group handling comes from the Fedora resource-agents package -%if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} +%if ( 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} )  Group:            System Environment/Base  %else  Group:            Productivity/Clustering/HA @@ -287,272 +293,34 @@ is in user space and easily manageable.  This package provides the development libraries. -%if 0%{?_with_ufo:1} -%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) -%package swift -Summary:          GlusterFS OpenStack Object Storage -Group:            Applications/System -License:          ASL 2.0 -BuildArch:        noarch - -%if 0%{_for_fedora_koji_builds} -Source20:         http://launchpad.net/swift/folsom/%{SWIFTVER}/+download/swift-%{SWIFTVER}.tar.gz -%else -Source20:         swift-%{SWIFTVER}.tar.gz -%endif - -Source30:         gluster-swift-account.service -Source31:         gluster-swift-container.service -Source32:         gluster-swift-object.service -Source33:         gluster-swift-proxy.service -Source34:         gluster-swift-account@.service -Source35:         gluster-swift-container@.service -Source36:         gluster-swift-object@.service -Source37:         gluster-swift.tmpfs -Source40:         gluster-swift-account.init -Source41:         gluster-swift-container.init -Source42:         gluster-swift-object.init -Source43:         gluster-swift-proxy.init -Source44:         gluster-swift-functions -# these first appeared in openstack-swift-1.7.4-2.fc19 -Source50:         gluster-swift-account-replicator.service -Source51:         gluster-swift-account-replicator@.service -Source52:         gluster-swift-account-auditor.service -Source53:         gluster-swift-account-auditor@.service -Source54:         gluster-swift-account-reaper.service -Source55:         gluster-swift-account-reaper@.service -Source56:         gluster-swift-container-replicator.service -Source57:         gluster-swift-container-replicator@.service -Source58:         gluster-swift-container-auditor.service -Source59:         gluster-swift-container-auditor@.service -Source60:         gluster-swift-container-updater.service -Source61:         gluster-swift-container-updater@.service -Source62:         gluster-swift-object-replicator.service -Source63:         gluster-swift-object-replicator@.service -Source64:         gluster-swift-object-auditor.service -Source65:         gluster-swift-object-auditor@.service -Source66:         gluster-swift-object-updater.service -Source67:         gluster-swift-object-updater@.service -Source68:         gluster-swift-object-expirer.service -Source69:         gluster-swift-object-expirer@.service -# these first appeared in openstack-swift-1.7.4-1.fc18 and -1.7.4-2.el6 -Source70:         account-server.conf -Source71:         container-server.conf -Source72:         object-server.conf -Source73:         proxy-server.conf -Source74:         swift.conf -Source75:         object-expirer.conf - -Patch20:          0001-Use-updated-parallel-install-versions-of-epel-packag.patch -Patch21:          0002-Add-fixes-for-building-the-doc-package.patch -Patch22:          glusterfs-3.3.1.swift.constraints.backport-1.7.4.patch -Patch23:          glusterfs-3.4.0.swift.egginfo-grizzly.patch -Patch24:          0002-Add-fixes-for-building-the-doc-package.patch.180 -#BuildRoot:        %(mktemp -ud %{_tmppath}/swift-%{SWIFTVER}-%{release}-XXXXXX) - -%if 0%{?_with_systemd:1} -%global glusterswiftaccount_service %{S:%{SOURCE30}} -%global glusterswiftcontainer_service %{S:%{SOURCE31}} -%global glusterswiftobject_service %{S:%{SOURCE32}} -%global glusterswiftproxy_service %{S:%{SOURCE33}} -%else -%global glusterswiftaccount_service %{S:%{SOURCE40}} -%global glusterswiftcontainer_service %{S:%{SOURCE41}} -%global glusterswiftobject_service %{S:%{SOURCE42}} -%global glusterswiftproxy_service %{S:%{SOURCE43}} -%endif - -BuildRequires:    python-devel -BuildRequires:    python-setuptools -BuildRequires:    python-netifaces -%if ( 0%{?rhel} && 0%{?rhel} < 7 ) -BuildRequires:    python-webob1.0 -BuildRequires:    python-paste-deploy1.5 -Requires:         python-webob1.0 -Requires:         python-paste-deploy1.5 -%else -BuildRequires:    python-webob -BuildRequires:    python-paste-deploy -Requires:         python-webob -Requires:         python-paste-deploy -%endif +%package api-devel +Summary:          Development Libraries +License:          GPLv2 or LGPLv3+ +Group:            Development/Libraries  Requires:         %{name} = %{version}-%{release} -Requires:         python-configobj -Requires:         python-eventlet >= 0.9.8 -Requires:         python-greenlet >= 0.3.1 -Requires:         python-simplejson -Requires:         pyxattr -Requires:         python-setuptools -Requires:         python-netifaces -%if "%{SWIFTVER}" != "1.7.4" -Requires:         python-swiftclient -%endif - -%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) -Conflicts:        openstack-swift -%endif - -%description swift - -OpenStack Object Storage (swift) aggregates commodity servers to work together -in clusters for reliable, redundant, and large-scale storage of static objects. -Objects are written to multiple hardware devices in the data center, with the -OpenStack software responsible for ensuring data replication and integrity -across the cluster. Storage clusters can scale horizontally by adding new nodes, -which are automatically configured. Should a node fail, OpenStack works to -replicate its content from other active nodes. Because OpenStack uses software -logic to ensure data replication and distribution across different devices, -inexpensive commodity hard drives and servers can be used in lieu of more -expensive equipment. - - -%package swift-account -Summary:          A swift account server -Group:            Applications/System -License:          ASL 2.0 -BuildArch:        noarch -Requires:         %{name}-swift = %{version}-%{release} - -%description swift-account -OpenStack Object Storage (swift) aggregates commodity servers to work together -in clusters for reliable, redundant, and large-scale storage of static objects. - -This package contains the %{name}-swift account server. - - -%package swift-container -Summary:          A swift container server -Group:            Applications/System -License:          ASL 2.0 -BuildArch:        noarch -Requires:         %{name}-swift = %{version}-%{release} - -%description swift-container -OpenStack Object Storage (swift) aggregates commodity servers to work together -in clusters for reliable, redundant, and large-scale storage of static objects. - -This package contains the %{name}-swift container server. - -%package swift-object -Summary:          A swift object server -Group:            Applications/System -License:          ASL 2.0 -BuildArch:        noarch -Requires:         %{name}-swift = %{version}-%{release} -Requires:         rsync >= 3.0 - -%description swift-object -OpenStack Object Storage (swift) aggregates commodity servers to work together -in clusters for reliable, redundant, and large-scale storage of static objects. - -This package contains the %{name}-swift object server. - -%package swift-proxy -Summary:          A swift proxy server -Group:            Applications/System -License:          ASL 2.0 -BuildArch:        noarch -Requires:         %{name}-swift = %{version}-%{release} - -%description swift-proxy -OpenStack Object Storage (swift) aggregates commodity servers to work together -in clusters for reliable, redundant, and large-scale storage of static objects. -This package contains the %{name}-swift proxy server. - - -%package swift-doc -Summary:          Documentation for %{name} -Group:            Documentation -BuildArch:        noarch -# Required for generating docs -BuildRequires:    python-eventlet -BuildRequires:    python-simplejson -%if ( 0%{?rhel} && 0%{?rhel} < 7 ) -BuildRequires:    python-webob1.0 -BuildRequires:    python-sphinx10 -%else -BuildRequires:    python-webob -BuildRequires:    python-sphinx -%endif -BuildRequires:    pyxattr - -%description swift-doc -OpenStack Object Storage (swift) aggregates commodity servers to work together -in clusters for reliable, redundant, and large-scale storage of static objects. - -This package contains documentation files for %{name}-swift. - -%endif - -%package ufo -Summary:          GlusterFS Unified File and Object Storage. -Group:            Applications/System -License:          ASL 2.0 -BuildArch:        noarch -%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) -Requires:         %{name}-swift = %{version}-%{release} -%else -Requires:         openstack-swift = %{SWIFTVER} -%endif -Requires:         memcached -Requires:         openssl -Requires:         python -Obsoletes:        glusterfs-swift-plugin < 3.3.1-4 -Obsoletes:        glusterfs-swift-ufo <= 3.3.1-4 - -%if 0%{_for_fedora_koji_builds} -Source15:         http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/UFO/gluster-swift-ufo-%{UFOVER}.tar.gz -%else -Source15:         gluster-swift-ufo-@PACKAGE_VERSION@.tar.gz -%endif -Patch15:          %{name}-3.3.1.ufo.gluster.swift.common.DiskFile-1.7.4.patch - -%description ufo -Gluster Unified File and Object Storage unifies NAS and object storage -technology. This provides a system for data storage that enables users to access -the same data as an object and as a file, simplifying management and controlling -storage costs. +%description api-devel +GlusterFS is a clustered file-system capable of scaling to several +petabytes. It aggregates various storage bricks over Infiniband RDMA +or TCP/IP interconnect into one large parallel network file +system. GlusterFS is one of the most sophisticated file systems in +terms of features and extensibility.  It borrows a powerful concept +called Translators from GNU Hurd kernel. Much of the code in GlusterFS +is in user space and easily manageable. -%endif +This package provides the api include files.  %prep -%setup -q -n %{name}-%{version} -%if 0%{?_with_ufo:1} -# unpack swift-1.x.y -%setup -q -T -D -n %{name}-%{version} -a 20 -# unpack gluster ufo -%setup -q -T -D -n %{name}-%{version} -a 15 -%if 0%{_for_fedora_koji_builds} +%setup -q -n %{name}-%{version}%{?prereltag} +%if ( 0%{_for_fedora_koji_builds} )  #%patch0 -p0 -%patch1 -p0 -%endif -cd swift-%{SWIFTVER} -%if ( 0%{?rhel} && 0%{?rhel} < 7 ) -%patch20 -p1 -%if "%{SWIFTVER}" == "1.7.4" -%patch21 -p1 -%else -%patch24 -p1 -%endif -%endif -%if "%{SWIFTVER}" == "1.7.4" -%patch22 -p1 -%else -%patch23 -p1 -%endif -%if 0%{_for_fedora_koji_builds} -%if "%{UFOVER}" == "1.1" -cd ../ufo -%patch15 -p1 -%endif -%endif +%patch1 -p0 -F4  %endif  %build  ./autogen.sh -%configure %{?_without_rdma} %{?_without_epoll} %{?_with_fusermount} %{?_without_georeplication} %{?_without_ocf} +%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf}  # Remove rpath  sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool @@ -560,19 +328,6 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool  %{__make} %{?_smp_mflags} -%if 0%{?_with_ufo:1} -cd swift-%{SWIFTVER} -%{__python} setup.py build -%{__mkdir_p} doc/build -%if ( 0%{?fedora} ) -%{__python} setup.py build_sphinx -%endif -cd .. -cd ufo -%{__python} setup.py build -cd .. -%endif -  %install  %{__rm} -rf %{buildroot}  %{__make} install DESTDIR=%{buildroot} @@ -591,7 +346,7 @@ cd ..  %{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/server  %{__install} -p -m 0644 xlators/protocol/server/src/*.h \      %{buildroot}%{_includedir}/glusterfs/server/ -%if 0%{_for_fedora_koji_builds} +%if ( 0%{_for_fedora_koji_builds} )  %{__install} -D -p -m 0644 %{SOURCE1} \      %{buildroot}%{_sysconfdir}/sysconfig/glusterd  %{__install} -D -p -m 0644 %{SOURCE2} \ @@ -600,15 +355,13 @@ cd ..  %{__install} -D -p -m 0644 extras/glusterd-sysconfig \      %{buildroot}%{_sysconfdir}/sysconfig/glusterd  %endif -# We'll use our init.d -%if 0%{?_with_systemd:1} -%{__rm} -f %{buildroot}%{_sysconfdir}/init.d/glusterd -%endif -%if 0%{?rhel} && 0%{?rhel} <= 5 -%{__install} -D -p -m 0755 extras/init.d/rhel5-load-fuse.modules \ +%if ( 0%{_for_fedora_koji_builds} ) +%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) +%{__install} -D -p -m 0755 %{SOURCE7} \      %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules  %endif +%endif  %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd  %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs @@ -619,8 +372,9 @@ cd ..  find %{buildroot}%{_libdir} -name '*.a' -delete  find %{buildroot}%{_libdir} -name '*.la' -delete -# Remove installed docs, we include them ourselves as %%doc +# Remove installed docs, they're included by %%doc  %{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ +%{__bzip2} ChangeLog  # Remove benchmarking and other unpackaged files  %{__rm} -rf %{buildroot}/benchmarking @@ -634,13 +388,7 @@ find %{buildroot}%{_libdir} -name '*.la' -delete  sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \      %{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol -# Install systemd .service files. `make install` will install the init files -%if ( 0%{?_with_systemd:1} ) || ( 0%{_for_fedora_koji_builds} ) -%_init_install %{glusterd_service} glusterd -%_init_install %{glusterfsd_service} glusterfsd -%endif - -%if 0%{_for_fedora_koji_builds} +%if ( 0%{_for_fedora_koji_builds} )  # Install wrapper umount script  %{__install} -D -p -m 0755 %{SOURCE3} \      %{buildroot}/sbin/umount.glusterfs @@ -659,7 +407,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha      %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs  %endif -%if 0%{!?_without_georeplication:1} +%if ( 0%{!?_without_georeplication:1} )  # geo-rep ghosts  %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication  touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf @@ -699,100 +447,6 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/options  touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol  touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid -%if 0%{?_with_ufo:1} -cd swift-%{SWIFTVER} -%{__python} setup.py install -O1 --skip-build --root %{buildroot} -# common swift .service or .init files -%_init_install %{glusterswiftaccount_service} gluster-swift-account -%_init_install %{glusterswiftcontainer_service} gluster-swift-container -%_init_install %{glusterswiftobject_service} gluster-swift-object -%_init_install %{glusterswiftproxy_service} gluster-swift-proxy -%if 0%{?_with_systemd:1} -# extra systemd .service files -%_init_install %{SOURCE34} gluster-swift-account@ -%_init_install %{SOURCE35} gluster-swift-container@ -%_init_install %{SOURCE36} gluster-swift-object@ -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -# more extra systemd .service files in f19 -%_init_install %{SOURCE50} gluster-swift-account-replicator -%_init_install %{SOURCE51} gluster-swift-account-replicator@ -%_init_install %{SOURCE52} gluster-swift-account-auditor -%_init_install %{SOURCE53} gluster-swift-account-auditor@ -%_init_install %{SOURCE54} gluster-swift-account-reaper -%_init_install %{SOURCE55} gluster-swift-account-reaper@ -%_init_install %{SOURCE56} gluster-swift-container-replicator -%_init_install %{SOURCE57} gluster-swift-container-replicator@ -%_init_install %{SOURCE58} gluster-swift-container-auditor -%_init_install %{SOURCE59} gluster-swift-container-auditor@ -%_init_install %{SOURCE60} gluster-swift-container-updater -%_init_install %{SOURCE61} gluster-swift-container-updater@ -%_init_install %{SOURCE62} gluster-swift-object-replicator -%_init_install %{SOURCE63} gluster-swift-object-replicator@ -%_init_install %{SOURCE64} gluster-swift-object-auditor -%_init_install %{SOURCE65} gluster-swift-object-auditor@ -%_init_install %{SOURCE66} gluster-swift-object-updater -%_init_install %{SOURCE67} gluster-swift-object-updater@ -%_init_install %{SOURCE68} gluster-swift-object-expirer -%_init_install %{SOURCE69} gluster-swift-object-expirer@ -%endif -%else -# Init helper functions -%{__install} -p -D -m 644 %{SOURCE44} %{buildroot}%{_datarootdir}/gluster-swift/functions -# Init scripts -%_init_install %{glusterswiftaccount_service} gluster-swift-account -%_init_install %{glusterswiftcontainer_service} gluster-swift-container -%_init_install %{glusterswiftobject_service} gluster-swift-object -%_init_install %{glusterswiftproxy_service} gluster-swift-proxy -%endif -# Misc other -%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift -%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/account-server -%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/container-server -%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/object-server -%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/proxy-server -# Config files -#%if ( 0%{?fedora} && 0%{?fedora} > 17 ) -# these first appeared in openstack-swift-1.7.4-1.fc18 -#install -p -D -m 660 %{SOURCE70} %{buildroot}%{_sysconfdir}/swift/account-server.conf -#install -p -D -m 660 %{SOURCE71} %{buildroot}%{_sysconfdir}/swift/container-server.conf -#install -p -D -m 660 %{SOURCE72} %{buildroot}%{_sysconfdir}/swift/object-server.conf -#install -p -D -m 660 %{SOURCE73} %{buildroot}%{_sysconfdir}/swift/proxy-server.conf -#install -p -D -m 660 %{SOURCE74} %{buildroot}%{_sysconfdir}/swift/swift.conf -#install -p -D -m 660 %{SOURCE75} %{buildroot}%{_sysconfdir}/swift/object-expirer.conf -#%endif -# Install pid directory -%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift -%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/account-server -%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/container-server -%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/object-server -%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/proxy-server -%if 0%{?_with_systemd:1} -# Swift run directories -%{__mkdir_p} %{buildroot}%{_sysconfdir}/tmpfiles.d -install -p -m 0644 %{SOURCE37} %{buildroot}%{_sysconfdir}/tmpfiles.d/gluster-swift.conf -%endif -# Install recon directory -install -d -m 755 %{buildroot}%{_localstatedir}/cache/swift -# man pages -install -d -m 755 %{buildroot}%{_mandir}/man5 -for m in doc/manpages/*.5; do -  install -p -m 0644 $m %{buildroot}%{_mandir}/man5 -done -install -d -m 755 %{buildroot}%{_mandir}/man1 -for m in doc/manpages/*.1; do -  install -p -m 0644 $m %{buildroot}%{_mandir}/man1 -done -cd .. -cd ufo -%{__python} setup.py install -O1 --skip-build --root %{buildroot} -cd .. -%{__mkdir_p} %{buildroot}%{_sysconfdir}/swift -cp -r ufo/etc/* %{buildroot}%{_sysconfdir}/swift/ -%{__mkdir_p} %{buildroot}%{_bindir} -cp ufo/bin/gluster-swift-gen-builders %{buildroot}%{_bindir}/ -%endif -# Remove tests -%{__rm} -rf %{buildroot}/%{python_sitelib}/test  %clean  %{__rm} -rf %{buildroot} @@ -804,9 +458,10 @@ cp ufo/bin/gluster-swift-gen-builders %{buildroot}%{_bindir}/  %files  %defattr(-,root,root,-) -%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS +%doc ChangeLog.bz2 COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS  %config(noreplace) %{_sysconfdir}/logrotate.d/*  %config(noreplace) %{_sysconfdir}/sysconfig/* +%exclude %{_libdir}/libgfapi.*  %{_libdir}/glusterfs  %{_libdir}/*.so.*  %{_sbindir}/glusterfs* @@ -815,24 +470,24 @@ cp ufo/bin/gluster-swift-gen-builders %{buildroot}%{_bindir}/  %dir %{_localstatedir}/log/glusterfs  %dir %{_localstatedir}/run/gluster  %dir %{_sharedstatedir}/glusterd -%if 0%{!?_without_rdma:1} -%exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%if ( 0%{!?_without_rdma:1} ) +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*  %endif -%exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse* -%exclude %{_libdir}/glusterfs/%{version}/xlator/storage* -%exclude %{_libdir}/glusterfs/%{version}/xlator/features/posix* -%exclude %{_libdir}/glusterfs/%{version}/xlator/protocol/server* -%exclude %{_libdir}/glusterfs/%{version}/xlator/mgmt* -%exclude %{_libdir}/glusterfs/%{version}/xlator/nfs* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* -%if 0%{!?_without_rdma:1} +%if ( 0%{!?_without_rdma:1} )  %files rdma  %defattr(-,root,root,-) -%{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*  %endif -%if 0%{!?_without_georeplication:1} +%if ( 0%{!?_without_georeplication:1} )  %post geo-replication  #restart glusterd.  if [ $1 -ge 1 ]; then @@ -849,47 +504,49 @@ fi  %files fuse  %defattr(-,root,root,-) -%if 0%{_for_fedora_koji_builds} +%if ( 0%{_for_fedora_koji_builds} )  %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse  %endif -%{_libdir}/glusterfs/%{version}/xlator/mount/fuse* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse*  /sbin/mount.glusterfs -%if 0%{_for_fedora_koji_builds} +%if ( 0%{_for_fedora_koji_builds} )  /sbin/umount.glusterfs  %endif -%if 0%{?_with_fusermount:1} +%if ( 0%{!?_without_fusermount:1} )  %{_bindir}/fusermount-glusterfs  %endif -%if 0%{?rhel} && 0%{?rhel} <= 5 +%if ( 0%{_for_fedora_koji_builds} ) +%if ( 0%{?rhel} && 0%{?rhel} <= 5 )  %{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules  %endif +%endif  %files server  %defattr(-,root,root,-)  %doc extras/clear_xattrs.sh -%if 0%{_for_fedora_koji_builds} +%if ( 0%{_for_fedora_koji_builds} )  %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd  %endif  %config(noreplace) %{_sysconfdir}/sysconfig/glusterd  %config(noreplace) %{_sysconfdir}/glusterfs  # Legacy configs -%if 0%{_for_fedora_koji_builds} +%if ( 0%{_for_fedora_koji_builds} )  %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd  %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd  %endif  # init files  %_init_glusterd -%if ( 0%{?_with_systemd:1} ) || ( 0%{_for_fedora_koji_builds} ) +%if ( 0%{_for_fedora_koji_builds} && 0%{?_with_systemd:1} )  %_init_glusterfsd  %endif  # binaries  %{_sbindir}/gluster  %{_sbindir}/glusterd -%{_libdir}/glusterfs/%{version}/xlator/storage* -%{_libdir}/glusterfs/%{version}/xlator/features/posix* -%{_libdir}/glusterfs/%{version}/xlator/protocol/server* -%{_libdir}/glusterfs/%{version}/xlator/mgmt* -%{_libdir}/glusterfs/%{version}/xlator/nfs* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*  %ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/glusterd.info  %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options  # This is really ugly, but I have no idea how to mark these directories in an @@ -927,7 +584,11 @@ fi  %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run  %ghost      %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid -%if 0%{!?_without_ocf:1} +%files api +%exclude %{_libdir}/*.so +%{_libdir}/libgfapi.* + +%if ( 0%{!?_without_ocf:1} )  %files resource-agents  %defattr(-,root,root)  # /usr/lib is the standard for OCF, also on x86_64 @@ -937,161 +598,15 @@ fi  %files devel  %defattr(-,root,root,-)  %{_includedir}/glusterfs -%{_libdir}/pkgconfig/glusterfs-api.pc  %exclude %{_includedir}/glusterfs/y.tab.h +%exclude %{_includedir}/glusterfs/api +%exclude %{_libdir}/libgfapi.so  %{_libdir}/*.so -%if 0%{?_with_ufo:1} -%files swift -%defattr(-,root,root,-) -%doc swift-%{SWIFTVER}/AUTHORS -%doc swift-%{SWIFTVER}/LICENSE -%doc swift-%{SWIFTVER}/README* -%doc swift-%{SWIFTVER}/etc/dispersion.conf-sample -%doc swift-%{SWIFTVER}/etc/drive-audit.conf-sample -%doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample -%doc swift-%{SWIFTVER}/etc/swift.conf-sample -%{_mandir}/man5/dispersion.conf.5* -%{_mandir}/man1/swift*.1* -%if 0%{?_with_systemd:1} -%config(noreplace) %{_sysconfdir}/tmpfiles.d/gluster-swift.conf -%else -%dir %{_datarootdir}/gluster-swift/functions -%endif -%dir %{_sysconfdir}/swift -#%if ( 0%{?fedora} && 0%{?fedora} > 17 ) -#%config(noreplace) %attr(660, root, swift) %{_sysconfdir}/swift/swift.conf -#%endif -%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift -%dir %{python_sitelib}/swift -%{_bindir}/swift-account-audit -%{_bindir}/swift-bench -%{_bindir}/swift-bench-client -%{_bindir}/swift-drive-audit -%{_bindir}/swift-get-nodes -%{_bindir}/swift-init -%{_bindir}/swift-ring-builder -%{_bindir}/swift-dispersion-populate -%{_bindir}/swift-dispersion-report -%{_bindir}/swift-recon* -%{_bindir}/swift-object-expirer -%{_bindir}/swift-oldies -%{_bindir}/swift-orphans -%{_bindir}/swift-form-signature -%{_bindir}/swift-temp-url -%{python_sitelib}/swift/*.py* -%{python_sitelib}/swift/common -%{python_sitelib}/swift-%{SWIFTVER}-*.egg-info - -%files swift-account -%defattr(-,root,root,-) -%doc swift-%{SWIFTVER}/etc/account-server.conf-sample -%{_mandir}/man5/account-server.conf.5* -%{_mandir}/man1/swift-account-auditor.1* -%{_mandir}/man1/swift-account-reaper.1* -%{_mandir}/man1/swift-account-replicator.1* -%{_mandir}/man1/swift-account-server.1* -%_init_gluster_swift_account -%if 0%{?_with_systemd:1} -%{_unitdir}/gluster-swift-account@.service -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%{_unitdir}/gluster-swift-account-*.service -%endif -%endif -%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/account-server -%dir %{_sysconfdir}/swift/account-server -%{_bindir}/swift-account-auditor -%{_bindir}/swift-account-reaper -%{_bindir}/swift-account-replicator -%{_bindir}/swift-account-server -%{python_sitelib}/swift/account - -%files swift-container -%defattr(-,root,root,-) -%doc swift-%{SWIFTVER}/etc/container-server.conf-sample -%{_mandir}/man5/container-server.conf.5* -%{_mandir}/man1/swift-container-auditor.1* -%{_mandir}/man1/swift-container-replicator.1* -%{_mandir}/man1/swift-container-server.1* -%{_mandir}/man1/swift-container-sync.1* -%{_mandir}/man1/swift-container-updater.1* -%_init_gluster_swift_container -%if 0%{?_with_systemd:1} -%{_unitdir}/gluster-swift-container@.service -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%{_unitdir}/gluster-swift-container-*.service -%endif -%endif -%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/container-server -%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift -%dir %{_sysconfdir}/swift/container-server -%{_bindir}/swift-container-auditor -%{_bindir}/swift-container-server -%{_bindir}/swift-container-replicator -%{_bindir}/swift-container-updater -%{_bindir}/swift-container-sync -%{python_sitelib}/swift/container - -%files swift-object -%defattr(-,root,root,-) -%doc swift-%{SWIFTVER}/etc/object-server.conf-sample -%doc swift-%{SWIFTVER}/etc/rsyncd.conf-sample -%{_mandir}/man5/object-server.conf.5* -%{_mandir}/man1/swift-object-auditor.1* -%{_mandir}/man1/swift-object-info.1* -%{_mandir}/man1/swift-object-replicator.1* -%{_mandir}/man1/swift-object-server.1* -%{_mandir}/man1/swift-object-updater.1* -%_init_gluster_swift_object -%if 0%{?_with_systemd:1} -%{_unitdir}/gluster-swift-object@.service -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%{_unitdir}/gluster-swift-object-*.service -%exclude %{_unitdir}/gluster-swift-object-expirer*.service -%endif -%endif -%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/object-server -%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift -%dir %{_sysconfdir}/swift/object-server -%{_bindir}/swift-object-auditor -%{_bindir}/swift-object-info -%{_bindir}/swift-object-replicator -%{_bindir}/swift-object-server -%{_bindir}/swift-object-updater -%{python_sitelib}/swift/obj - -%files swift-proxy -%defattr(-,root,root,-) -%doc swift-%{SWIFTVER}/etc/proxy-server.conf-sample -%doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample -%{_mandir}/man5/object-expirer.conf.5* -%{_mandir}/man5/proxy-server.conf.5* -%{_mandir}/man1/swift-object-expirer.1* -%{_mandir}/man1/swift-proxy-server.1* -%_init_gluster_swift_proxy -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%{_unitdir}/gluster-swift-object-expirer*.service -%endif -%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/proxy-server -%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift -%dir %{_sysconfdir}/swift/proxy-server -%{_bindir}/swift-object-expirer -%{_bindir}/swift-proxy-server -%{python_sitelib}/swift/proxy - -%files swift-doc -%defattr(-,root,root,-) -%doc swift-%{SWIFTVER}/LICENSE - -%files ufo -%defattr(-,root,root,-) -%{python_sitelib}/gluster -%{python_sitelib}/gluster_swift_ufo-*-*.egg-info -%{_bindir}/gluster-swift-gen-builders -%{_sysconfdir}/swift/*-gluster -%{_sysconfdir}/swift/*/1.conf-gluster -%endif - +%files api-devel +%{_libdir}/pkgconfig/glusterfs-api.pc +%{_libdir}/libgfapi.so +%{_includedir}/glusterfs/api/*  %post server  # Legacy server @@ -1156,186 +671,10 @@ if [ $1 -ge 1 ]; then      %_init_restart glusterd  fi - -%if 0%{?_with_ufo:1} -%pre swift -getent group swift >/dev/null || groupadd -r swift -g 160 -getent passwd swift >/dev/null || \ -useradd -r -g swift -u 160 -d %{_sharedstatedir}/swift -s /sbin/nologin \ --c "OpenStack Swift Daemons" swift -exit 0 - -%pre swift-account - -if [ -f /etc/swift/account-server/1.conf ]; then -    echo "warning: /etc/swift/account-server/1.conf saved as /etc/swift/account-server/1.conf.rpmsave" -    cp /etc/swift/account-server/1.conf /etc/swift/account-server/1.conf.rpmsave -fi - - -%post swift-account -%_init_enable gluster-swift-account -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%_init_enable gluster-swift-account-replicator -%_init_enable gluster-swift-account-auditor -%_init_enable gluster-swift-account-reaper -%endif - - -%preun swift-account -if [ $1 = 0 ] ; then -    %_init_stop gluster-swift-account -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_disable gluster-swift-account -    %_init_stop gluster-swift-account-replicator -    %_init_disable gluster-swift-account-replicator -    %_init_stop gluster-swift-account-auditor -    %_init_disable gluster-swift-account-auditor -    %_init_stop gluster-swift-account-reaper -    %_init_disable gluster-swift-account-reaper -%endif -fi - - -%postun swift-account -if [ $1 -ge 1 ] ; then -    %_init_restart gluster-swift-account -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_restart gluster-swift-account-replicator -    %_init_restart gluster-swift-account-auditor -    %_init_restart gluster-swift-account-reaper -%endif -fi - - -%pre swift-container - -if [ -f /etc/swift/container-server/1.conf ]; then -    echo "warning: /etc/swift/container-server/1.conf saved as /etc/swift/container-server/1.conf.rpmsave" -    cp /etc/swift/container-server/1.conf /etc/swift/container-server/1.conf.rpmsave -fi - - -%post swift-container -%_init_enable gluster-swift-container -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%_init_enable gluster-swift-container-replicator -%_init_enable gluster-swift-container-auditor -%_init_enable gluster-swift-container-updater -%endif - - -%preun swift-container -if [ $1 = 0 ] ; then -    %_init_stop gluster-swift-container -    %_init_disable gluster-swift-container -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_stop gluster-swift-container-replicator -    %_init_disable gluster-swift-container-replicator -    %_init_stop gluster-swift-container-auditor -    %_init_disable gluster-swift-container-auditor -    %_init_stop gluster-swift-container-updater -    %_init_disable gluster-swift-container-updater -%endif -fi - - -%postun swift-container -if [ $1 -ge 1 ] ; then -    %_init_restart gluster-swift-container -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_restart gluster-swift-container-replicator -    %_init_restart gluster-swift-container-auditor -    %_init_restart gluster-swift-container-updator -%endif -fi - - -%pre swift-object - -if [ -f /etc/swift/object-server/1.conf ]; then -    echo "warning: /etc/swift/object-server/1.conf saved as /etc/swift/object-server/1.conf.rpmsave" -    cp /etc/swift/object-server/1.conf /etc/swift/object-server/1.conf.rpmsave -fi - - -%post swift-object -%_init_enable gluster-swift-object -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%_init_enable gluster-swift-object-replicator -%_init_enable gluster-swift-object-auditor -%_init_enable gluster-swift-object-updater -%endif - - -%preun swift-object -if [ $1 = 0 ] ; then -    %_init_stop gluster-swift-object -    %_init_disable gluster-swift-object -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_stop gluster-swift-object-replicator -    %_init_disable gluster-swift-object-replicator -    %_init_stop gluster-swift-object-auditor -    %_init_disable gluster-swift-object-auditor -    %_init_stop gluster-swift-object-updater -    %_init_disable gluster-swift-object-updater -%endif -fi - - -%postun swift-object -if [ $1 -ge 1 ] ; then -    %_init_restart gluster-swift-object -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_restart gluster-swift-object-replicator -    %_init_restart gluster-swift-object-auditor -    %_init_restart gluster-swift-object-updater -%endif -fi - - -%pre swift-proxy - -if [ -f /etc/swift/proxy-server.conf ]; then -    echo "warning: /etc/swift/proxy-server.conf saved as /etc/swift/proxy-server.conf.rpmsave" -    cp /etc/swift/proxy-server.conf /etc/swift/proxy-server.conf.rpmsave -fi -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -if [ -f /etc/swift/object-expirer.conf ]; then -    echo "warning: /etc/swift/object-expirer.conf saved as /etc/swift/object-expirer.conf.rpmsave" -    cp /etc/swift/object-expirer.conf /etc/swift/object-expirer.conf.rpmsave -fi -%endif - - -%post swift-proxy -%_init_enable gluster-swift-proxy -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -%_init_enable gluster-swift-object-expirer -%endif - - -%preun swift-proxy -if [ $1 = 0 ] ; then -    %_init_stop gluster-swift-proxy -    %_init_disable gluster-swift-proxy -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_stop gluster-swift-object-expirer -    %_init_disable gluster-swift-object-expirer -%endif -fi - - -%postun swift-proxy -if [ $1 -ge 1 ] ; then -    %_init_restart gluster-swift-proxy -%if ( 0%{?fedora} && 0%{?fedora} > 18 ) -    %_init_restart gluster-swift-object-expirer -%endif -fi -%endif -  %changelog +* Fri Jun 7 2013 Kaleb S. KEITHLEY <kkeithle@redhat.com> +- Sync with Fedora glusterfs.spec, remove G4S/UFO and Swift +  * Mon Mar 4 2013 Niels de Vos <ndevos@redhat.com>  - Package /var/run/gluster so that statedumps can be created  | 
