diff options
-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 |