diff options
| author | Niels de Vos <ndevos@redhat.com> | 2018-01-31 16:38:34 +0100 | 
|---|---|---|
| committer | ShyamsundarR <srangana@redhat.com> | 2018-02-21 13:08:14 -0500 | 
| commit | 4c0c5ecb6ba3f16aa56987916a7682eaed211a37 (patch) | |
| tree | ca84a3954008a2172ceda7a7b79eef40a9d414d7 | |
| parent | 9b2995426ea206df9a4d8f14bbdb8e8baf73d91b (diff) | |
build: add --without-server option
With Gluster 4.0 we will not provide the server components for EL6 and
older. At one point Gluster 4.x will get GlusterD2, which requires
Golang tools in the distribution. EL6 does not contain these at the
moment.
With this change, it is possible to `./configure --without-server` which
prevents building glusterd and the xlators for the bricks. Building RPMs
can pass `--without server` and the glusterfs-server sub-package will
not be created.
Change-Id: I97f5ccf9f2c76e60d9af83915fc59fae57ad6d25
BUG: 1547635
Signed-off-by: Niels de Vos <ndevos@redhat.com>
41 files changed, 186 insertions, 21 deletions
diff --git a/cli/src/Makefile.am b/cli/src/Makefile.am index 5ef93899fca..c6323e591de 100644 --- a/cli/src/Makefile.am +++ b/cli/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  sbin_PROGRAMS = gluster +endif  gluster_SOURCES = cli.c registry.c input.c cli-cmd.c cli-rl.c cli-cmd-global.c \  	 cli-cmd-volume.c cli-cmd-peer.c cli-rpc-ops.c cli-cmd-parser.c\ diff --git a/configure.ac b/configure.ac index 0173f8ecd35..1d78ddc9956 100644 --- a/configure.ac +++ b/configure.ac @@ -402,6 +402,13 @@ AC_ARG_WITH([ocf],              )  AC_SUBST(OCF_SUBDIR) +AC_ARG_WITH([server], +            [AS_HELP_STRING([--without-server], [do not build server components])], +            [with_server='no'], +            [with_server='yes'], +            ) +AM_CONDITIONAL([WITH_SERVER], [test x$with_server = xyes]) +  # LEX needs a check  AC_PROG_LEX  if test  "x${LEX}" != "xflex" -a "x${FLEX}" != "xlex"; then @@ -615,7 +622,7 @@ fi  AC_ARG_ENABLE([bd-xlator],                AC_HELP_STRING([--enable-bd-xlator], [Build BD xlator])) -if test "x$enable_bd_xlator" != "xno"; then +if test "x${with_server}" = "xyes" -a "x$enable_bd_xlator" != "xno"; then    AC_CHECK_LIB([lvm2app],                 [lvm_init,lvm_lv_from_name],                 [HAVE_BD_LIB="yes"], @@ -777,7 +784,7 @@ case $host_os in          ;;  esac  SYNCDAEMON_COMPILE=0 -if test "x$enable_georeplication" != "xno"; then +if test "x${with_server}" = "xyes" -a "x$enable_georeplication" != "xno"; then    SYNCDAEMON_SUBDIR=geo-replication    SYNCDAEMON_COMPILE=1 @@ -803,7 +810,7 @@ AC_SUBST(SYNCDAEMON_SUBDIR)  # end SYNCDAEMON section  # only install scripts from extras/geo-rep when enabled -if test "x$enable_georeplication" != "xno"; then +if test "x${with_server}" = "xyes" -a "x$enable_georeplication" != "xno"; then    GEOREP_EXTRAS_SUBDIR=geo-rep  fi  AC_SUBST(GEOREP_EXTRAS_SUBDIR) @@ -863,7 +870,7 @@ AC_ARG_ENABLE([firewalld],                               [enable installation configuration for firewalld]),                [BUILD_FIREWALLD="${enableval}"], [BUILD_FIREWALLD="no"]) -if test "x${BUILD_FIREWALLD}" = "xyes"; then +if test "x${with_server}" = "xyes" -a "x${BUILD_FIREWALLD}" = "xyes"; then          if !(test -d /usr/lib/firewalld/services 1>/dev/null 2>&1) ; then                  BUILD_FIREWALLD="no (firewalld not installed)"          fi @@ -896,8 +903,8 @@ esac  AC_SUBST(SQLITE_CFLAGS)  AC_SUBST(SQLITE_LIBS) -AM_CONDITIONAL(BUILD_GFDB, test "x${BUILD_GFDB}" = "xyes") -AM_CONDITIONAL(USE_GFDB, test "x${BUILD_GFDB}" = "xyes") +AM_CONDITIONAL(BUILD_GFDB, test "x${with_server}" = "xyes" -a "x${BUILD_GFDB}" = "xyes") +AM_CONDITIONAL(USE_GFDB, test "x${with_server}" = "xyes" -a "x${BUILD_GFDB}" = "xyes")  # xml-output  AC_ARG_ENABLE([xml-output], @@ -1403,7 +1410,7 @@ BUILD_GNFS="no"  AC_ARG_ENABLE([gnfs],                AC_HELP_STRING([--enable-gnfs],                               [Enable legacy gnfs server xlator.])) -if test "x$enable_gnfs" = "xyes"; then +if test "x${with_server}" = "xyes" -a "x$enable_gnfs" = "xyes"; then      BUILD_GNFS="yes"  fi  AM_CONDITIONAL([BUILD_GNFS], [test x$BUILD_GNFS = xyes]) @@ -1643,6 +1650,7 @@ echo "Events               : $BUILD_EVENTS"  echo "EC dynamic support   : $EC_DYNAMIC_SUPPORT"  echo "Use memory pools     : $USE_MEMPOOL"  echo "Nanosecond m/atimes  : $BUILD_NANOSECOND_TIMESTAMPS" +echo "Server components    : $with_server"  echo "Legacy gNFS server   : $BUILD_GNFS"  echo "IPV6 default         : $with_ipv6_default"  echo "Use TIRPC            : $with_libtirpc" diff --git a/doc/Makefile.am b/doc/Makefile.am index 1103b607dba..7c04d74019a 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,9 @@  EXTRA_DIST = glusterfs.8 mount.glusterfs.8 gluster.8 \  			glusterd.8 glusterfsd.8 -man8_MANS = glusterfs.8 mount.glusterfs.8 gluster.8 glusterd.8 glusterfsd.8 +man8_MANS = glusterfs.8 mount.glusterfs.8 +if WITH_SERVER +man8_MANS += gluster.8 glusterd.8 glusterfsd.8 +endif  CLEANFILES = diff --git a/events/src/Makefile.am b/events/src/Makefile.am index 4308ccdbb22..4e83a469cc2 100644 --- a/events/src/Makefile.am +++ b/events/src/Makefile.am @@ -6,8 +6,10 @@ BUILT_SOURCES = eventtypes.py  CLEANFILES = eventtypes.py  eventsdir = $(GLUSTERFS_LIBEXECDIR)/events +if BUILD_EVENTS  events_PYTHON = __init__.py gf_event.py eventsapiconf.py eventtypes.py \  	utils.py +endif  # this does not work, see the Makefile.am in the root for a workaround  #nodist_events_PYTHON = eventtypes.py diff --git a/extras/Makefile.am b/extras/Makefile.am index b220e15e0db..e827dde0bd9 100644 --- a/extras/Makefile.am +++ b/extras/Makefile.am @@ -1,8 +1,11 @@  addonexecdir = $(GLUSTERFS_LIBEXECDIR) -addonexec_SCRIPTS = peer_add_secret_pub +addonexec_SCRIPTS = +if WITH_SERVER +addonexec_SCRIPTS += peer_add_secret_pub  if USE_SYSTEMD  addonexec_SCRIPTS += mount-shared-storage.sh  endif +endif  EditorModedir = $(docdir)  EditorMode_DATA = glusterfs-mode.el glusterfs.vim @@ -11,27 +14,39 @@ SUBDIRS = init.d systemd benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM \            $(GEOREP_EXTRAS_SUBDIR) snap_scheduler firewalld cliutils  confdir = $(sysconfdir)/glusterfs +if WITH_SERVER  conf_DATA = glusterfs-logrotate gluster-rsyslog-7.2.conf gluster-rsyslog-5.8.conf \  	logger.conf.example glusterfs-georep-logrotate group-virt.example group-metadata-cache group-gluster-block group-nl-cache +endif  voldir = $(sysconfdir)/glusterfs +if WITH_SERVER  vol_DATA = glusterd.vol +endif +  scriptsdir = $(datadir)/glusterfs/scripts -scripts_SCRIPTS = post-upgrade-script-for-quota.sh \ +scripts_SCRIPTS = +if WITH_SERVER +scripts_SCRIPTS += post-upgrade-script-for-quota.sh \  	pre-upgrade-script-for-quota.sh stop-all-gluster-processes.sh  if USE_SYSTEMD  scripts_SCRIPTS += control-cpu-load.sh  scripts_SCRIPTS += control-mem.sh  endif +endif -EXTRA_DIST = $(conf_DATA) specgen.scm glusterfs-mode.el glusterfs.vim \ -	migrate-unify-to-distribute.sh backend-xattr-sanitize.sh backend-cleanup.sh \ -	disk_usage_sync.sh clear_xattrs.sh glusterd-sysconfig glusterd.vol \ +EXTRA_DIST = glusterfs-logrotate gluster-rsyslog-7.2.conf gluster-rsyslog-5.8.conf \ +	logger.conf.example glusterfs-georep-logrotate group-virt.example \ +	group-metadata-cache group-gluster-block group-nl-cache specgen.scm \ +	glusterfs-mode.el glusterfs.vim migrate-unify-to-distribute.sh \ +	backend-xattr-sanitize.sh backend-cleanup.sh disk_usage_sync.sh \ +	clear_xattrs.sh glusterd-sysconfig glusterd.vol \  	post-upgrade-script-for-quota.sh pre-upgrade-script-for-quota.sh \  	command-completion/gluster.bash command-completion/Makefile \  	command-completion/README stop-all-gluster-processes.sh clang-checker.sh \  	mount-shared-storage.sh control-cpu-load.sh control-mem.sh +if WITH_SERVER  install-data-local:  	if [ -n "$(tmpfilesdir)" ]; then \  		$(mkdir_p) $(DESTDIR)$(tmpfilesdir); \ @@ -47,3 +62,4 @@ install-data-local:  		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/gluster-block  	$(INSTALL_DATA) $(top_srcdir)/extras/group-nl-cache \  		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/nl-cache +endif diff --git a/extras/firewalld/Makefile.am b/extras/firewalld/Makefile.am index a5c11b0b783..530881fb8eb 100644 --- a/extras/firewalld/Makefile.am +++ b/extras/firewalld/Makefile.am @@ -1,6 +1,8 @@  EXTRA_DIST = glusterfs.xml  if USE_FIREWALLD +if WITH_SERVER  staticdir = /usr/lib/firewalld/services/  static_DATA = glusterfs.xml  endif +endif diff --git a/extras/hook-scripts/add-brick/post/Makefile.am b/extras/hook-scripts/add-brick/post/Makefile.am index 5ca5a669de9..c1fcf50f05f 100644 --- a/extras/hook-scripts/add-brick/post/Makefile.am +++ b/extras/hook-scripts/add-brick/post/Makefile.am @@ -1,4 +1,6 @@  EXTRA_DIST = disabled-quota-root-xattr-heal.sh  hookdir = $(GLUSTERD_WORKDIR)/hooks/1/add-brick/post/ +if WITH_SERVER  hook_SCRIPTS = disabled-quota-root-xattr-heal.sh +endif diff --git a/extras/hook-scripts/add-brick/pre/Makefile.am b/extras/hook-scripts/add-brick/pre/Makefile.am index 6329ad1d4bd..3288581aa57 100644 --- a/extras/hook-scripts/add-brick/pre/Makefile.am +++ b/extras/hook-scripts/add-brick/pre/Makefile.am @@ -1,4 +1,6 @@  EXTRA_DIST = S28Quota-enable-root-xattr-heal.sh  hookdir = $(GLUSTERD_WORKDIR)/hooks/1/add-brick/pre/ +if WITH_SERVER  hook_SCRIPTS = S28Quota-enable-root-xattr-heal.sh +endif diff --git a/extras/hook-scripts/create/post/Makefile.am b/extras/hook-scripts/create/post/Makefile.am index adbce78d249..fd1892e9589 100644 --- a/extras/hook-scripts/create/post/Makefile.am +++ b/extras/hook-scripts/create/post/Makefile.am @@ -1,6 +1,8 @@  EXTRA_DIST = S10selinux-label-brick.sh  scriptsdir = $(GLUSTERD_WORKDIR)/hooks/1/create/post/ +if WITH_SERVER  if USE_SELINUX  scripts_SCRIPTS = S10selinux-label-brick.sh  endif +endif diff --git a/extras/hook-scripts/delete/pre/Makefile.am b/extras/hook-scripts/delete/pre/Makefile.am index bf0eabe255c..4fbfbe7311f 100644 --- a/extras/hook-scripts/delete/pre/Makefile.am +++ b/extras/hook-scripts/delete/pre/Makefile.am @@ -1,6 +1,8 @@  EXTRA_DIST = S10selinux-del-fcontext.sh  scriptsdir = $(GLUSTERD_WORKDIR)/hooks/1/delete/pre/ +if WITH_SERVER  if USE_SELINUX  scripts_SCRIPTS = S10selinux-del-fcontext.sh  endif +endif diff --git a/extras/hook-scripts/set/post/Makefile.am b/extras/hook-scripts/set/post/Makefile.am index cea579cb2d9..506a25a8666 100644 --- a/extras/hook-scripts/set/post/Makefile.am +++ b/extras/hook-scripts/set/post/Makefile.am @@ -1,4 +1,6 @@  EXTRA_DIST = S30samba-set.sh S32gluster_enable_shared_storage.sh  hookdir = $(GLUSTERD_WORKDIR)/hooks/1/set/post/ +if WITH_SERVER  hook_SCRIPTS = $(EXTRA_DIST) +endif diff --git a/extras/hook-scripts/start/post/Makefile.am b/extras/hook-scripts/start/post/Makefile.am index 384a5822a0c..e32546dc999 100644 --- a/extras/hook-scripts/start/post/Makefile.am +++ b/extras/hook-scripts/start/post/Makefile.am @@ -1,4 +1,6 @@  EXTRA_DIST = S29CTDBsetup.sh S30samba-start.sh  hookdir = $(GLUSTERD_WORKDIR)/hooks/1/start/post/ +if WITH_SERVER  hook_SCRIPTS = $(EXTRA_DIST) +endif diff --git a/extras/hook-scripts/stop/pre/Makefile.am b/extras/hook-scripts/stop/pre/Makefile.am index bf63e7393d3..9e8d1565e93 100644 --- a/extras/hook-scripts/stop/pre/Makefile.am +++ b/extras/hook-scripts/stop/pre/Makefile.am @@ -1,4 +1,6 @@  EXTRA_DIST =  S29CTDB-teardown.sh S30samba-stop.sh  hookdir = $(GLUSTERD_WORKDIR)/hooks/1/stop/pre/ +if WITH_SERVER  hook_SCRIPTS = $(EXTRA_DIST) +endif diff --git a/extras/init.d/Makefile.am b/extras/init.d/Makefile.am index a9ac3b42d84..25f9145f120 100644 --- a/extras/init.d/Makefile.am +++ b/extras/init.d/Makefile.am @@ -10,11 +10,12 @@ SYSTEMD_DIR = @systemddir@  LAUNCHD_DIR = @launchddir@  $(GF_DISTRIBUTION): +if WITH_SERVER  	@if [ ! -d $(SYSTEMD_DIR) ]; then \  		$(mkdir_p) $(DESTDIR)$(INIT_DIR); \  		$(INSTALL_PROGRAM) glusterd-$(GF_DISTRIBUTION) $(DESTDIR)$(INIT_DIR)/glusterd; \  	fi - +endif  if BUILD_EVENTS  	@if [ ! -d $(SYSTEMD_DIR) ]; then \  		$(mkdir_p) $(DESTDIR)$(INIT_DIR); \ diff --git a/extras/snap_scheduler/Makefile.am b/extras/snap_scheduler/Makefile.am index ffc157935a3..782f139016f 100644 --- a/extras/snap_scheduler/Makefile.am +++ b/extras/snap_scheduler/Makefile.am @@ -1,6 +1,8 @@  snap_schedulerdir = $(sbindir)/ +if WITH_SERVER  snap_scheduler_SCRIPTS = gcron.py snap_scheduler.py conf.py +endif  EXTRA_DIST = gcron.py snap_scheduler.py conf.py diff --git a/extras/systemd/Makefile.am b/extras/systemd/Makefile.am index 3988b40bce6..d4a3d0bf878 100644 --- a/extras/systemd/Makefile.am +++ b/extras/systemd/Makefile.am @@ -1,6 +1,7 @@  CLEANFILES = glusterd.service glustereventsd.service glusterfssharedstorage.service  EXTRA_DIST = glusterd.service.in glustereventsd.service.in glusterfssharedstorage.service.in +if WITH_SERVER  if USE_SYSTEMD  # systemddir is already defined through configure.ac  systemd_DATA = glusterd.service glusterfssharedstorage.service @@ -9,3 +10,4 @@ if BUILD_EVENTS  systemd_DATA += glustereventsd.service  endif  endif +endif diff --git a/glusterfs.spec.in b/glusterfs.spec.in index b6aa44bbf3a..d5395d2348c 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -85,6 +85,16 @@  %global _without_rdma --disable-ibverbs  %endif +# server +# if you wish to build rpms without server components, compile like this +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without server +%{?_without_server:%global _without_server --without-server} + +# disable server components forcefully as rhel <= 6 +%if ( 0%{?rhel} && 0%{?rhel} <= 6 ) +%global _without_server --without-server +%endif +  # syslog  # if you wish to build rpms without syslog logging, compile like this  # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without syslog @@ -132,6 +142,14 @@  %global _without_events --disable-events  %endif +# without server should also disable some server-only components +%if 0%{?_without_server:1} +%global _without_events --disable-events +%global _without_georeplication --disable-georeplication +%global _with_gnfs %{nil} +%global _without_tiering --disable-tiering +%endif +  # From https://fedoraproject.org/wiki/Packaging:Python#Macros  %if ( 0%{?rhel} && 0%{?rhel} <= 6 )  %{!?python2_sitelib: %global python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} @@ -332,6 +350,7 @@ is in user space and easily manageable.  This package provides the api include files. +%if ( 0%{!?_without_server:1} )  %package cli  Summary:          GlusterFS CLI  Group:            Applications/File @@ -347,6 +366,7 @@ called Translators from GNU Hurd kernel. Much of the code in GlusterFS  is in user space and easily manageable.  This package provides the GlusterFS CLI application and its man page +%endif  %package devel  Summary:          Development Libraries @@ -580,6 +600,7 @@ Open Cluster Framework (OCF) compliant cluster resource managers,  like Pacemaker.  %endif +%if ( 0%{!?_without_server:1} )  %package server  Summary:          Clustered file-system server  Group:            System Environment/Daemons @@ -639,6 +660,7 @@ called Translators from GNU Hurd kernel. Much of the code in GlusterFS  is in user space and easily manageable.  This package provides the glusterfs server daemon. +%endif  %package client-xlators  Summary:          GlusterFS client-side translators @@ -707,6 +729,7 @@ export CFLAGS          %{?_without_georeplication} \          %{?_without_ocf} \          %{?_without_rdma} \ +        %{?_without_server} \          %{?_without_syslog} \          %{?_without_tiering} \          %{?_with_ipv6default} \ @@ -736,9 +759,11 @@ install -D -p -m 0644 %{SOURCE1} \  install -D -p -m 0644 %{SOURCE2} \      %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd  %else +%if ( 0%{!?_without_server:1} )  install -D -p -m 0644 extras/glusterd-sysconfig \      %{buildroot}%{_sysconfdir}/sysconfig/glusterd  %endif +%endif  %if ( 0%{_for_fedora_koji_builds} )  %if ( 0%{?rhel} && 0%{?rhel} <= 5 ) @@ -785,12 +810,14 @@ rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el  rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim  %endif +%if ( 0%{!?_without_server:1} )  # Create working directory  mkdir -p %{buildroot}%{_sharedstatedir}/glusterd  # Update configuration file to /var/lib working directory  sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \      %{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol +%endif  # Install glusterfsd .service or init.d file  %if ( 0%{_for_fedora_koji_builds} ) @@ -808,6 +835,7 @@ install -D -p -m 0644 extras/glusterfs-georep-logrotate \      %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep  %endif +%if ( 0%{!?_without_server:1} )  # the rest of the ghosts  touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info  touch %{buildroot}%{_sharedstatedir}/glusterd/options @@ -826,12 +854,15 @@ mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/snaps  mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/ss_brick  touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol  touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid +%endif  find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs  ## Install bash completion for cli +%if ( 0%{!?_without_server:1} )  install -p -m 0744 -D extras/command-completion/gluster.bash \      %{buildroot}%{_sysconfdir}/bash_completion.d/gluster +%endif  %clean  rm -rf %{buildroot} @@ -873,6 +904,7 @@ exit 0  %post libs  /sbin/ldconfig +%if ( 0%{!?_without_server:1} )  %post server  # Legacy server  %systemd_post glusterd @@ -944,6 +976,7 @@ else      rm -f %{_rundir}/glusterd.socket  fi  exit 0 +%endif  ##-----------------------------------------------------------------------------  ## All %%pre should be placed here and keep them sorted @@ -967,6 +1000,7 @@ fi  exit 0  %endif +%if ( 0%{!?_without_server:1} )  %preun server  if [ $1 -eq 0 ]; then      if [ -f %glusterfsd_svcfile ]; then @@ -985,6 +1019,7 @@ if [ $1 -ge 1 ]; then      %systemd_postun_with_restart glusterd  fi  exit 0 +%endif  ##-----------------------------------------------------------------------------  ## All %%postun should be placed here and keep them sorted @@ -1003,12 +1038,14 @@ exit 0  %postun libs  /sbin/ldconfig +%if ( 0%{!?_without_server:1} )  %postun server  /sbin/ldconfig  %if (0%{?_with_firewalld:1})      %firewalld_reload  %endif  exit 0 +%endif  ##-----------------------------------------------------------------------------  ## All %%files should be placed here and keep them grouped @@ -1016,15 +1053,19 @@ exit 0  %files  %doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS  %{_mandir}/man8/*gluster*.8* +%if ( 0%{!?_without_server:1} )  %exclude %{_mandir}/man8/gluster.8* +%endif  %dir %{_localstatedir}/log/glusterfs  %if ( 0%{!?_without_rdma:1} )  %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*  %endif +%if 0%{?!_without_server:1}  %dir %{_datadir}/glusterfs  %dir %{_datadir}/glusterfs/scripts       %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh       %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh +%endif  # xlators that are needed on the client- and on the server-side  %dir %{_libdir}/glusterfs  %dir %{_libdir}/glusterfs/%{version}%{?prereltag} @@ -1069,8 +1110,9 @@ exit 0       %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/nl-cache.so  %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system       %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so +  %dir %attr(0775,gluster,gluster) %{_rundir}/gluster -%if 0%{?_tmpfilesdir:1} +%if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1}  %{_tmpfilesdir}/gluster.conf  %endif @@ -1089,10 +1131,12 @@ exit 0  %dir %{_includedir}/glusterfs/api       %{_includedir}/glusterfs/api/* +%if ( 0%{!?_without_server:1} )  %files cli  %{_sbindir}/gluster  %{_mandir}/man8/gluster.8*  %{_sysconfdir}/bash_completion.d/gluster +%endif  %files devel  %dir %{_includedir}/glusterfs @@ -1154,7 +1198,7 @@ exit 0  %endif  %endif -%if ( 0%{?_with_gnfs:1} ) +%if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} )  %files gnfs  %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator  %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs @@ -1235,6 +1279,7 @@ exit 0  %{_prefix}/lib/ocf/resource.d/glusterfs  %endif +%if ( 0%{!?_without_server:1} )  %files server  %doc extras/clear_xattrs.sh  # sysconf @@ -1385,6 +1430,8 @@ exit 0  %if ( 0%{?_with_firewalld:1} )  %{_prefix}/lib/firewalld/services/glusterfs.xml  %endif +# end of server files +%endif  # Events  %if ( 0%{!?_without_events:1} ) @@ -1406,6 +1453,9 @@ exit 0  %endif  %changelog +* Thu Feb 21 2018 Niels de Vos <ndevos@redhat.com> +- Add '--without server' option to facilitate el6 builds (#1547635) +  * Thu Jan 18 2018 Kaleb S. KEITHLEY <kkeithle@redhat.com>  - Fedora 28 glibc has removed rpc headers and rpcgen, use libtirpc diff --git a/glusterfsd/src/Makefile.am b/glusterfsd/src/Makefile.am index 0196204bdd6..eb92e66e989 100644 --- a/glusterfsd/src/Makefile.am +++ b/glusterfsd/src/Makefile.am @@ -1,4 +1,7 @@ -sbin_PROGRAMS = glusterfsd gf_attach +sbin_PROGRAMS = glusterfsd +if WITH_SERVER +sbin_PROGRAMS += glusterfsd gf_attach +endif  glusterfsd_SOURCES = glusterfsd.c glusterfsd-mgmt.c  glusterfsd_LDADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ @@ -41,6 +44,8 @@ install-data-local:  	$(INSTALL) -d -m 755 $(DESTDIR)$(localstatedir)/log/glusterfs  	$(INSTALL) -d -m 755 $(DESTDIR)$(sbindir)  	rm -f $(DESTDIR)$(sbindir)/glusterfs -	rm -f $(DESTDIR)$(sbindir)/glusterd  	ln -s glusterfsd $(DESTDIR)$(sbindir)/glusterfs +if WITH_SERVER +	rm -f $(DESTDIR)$(sbindir)/glusterd  	ln -s glusterfsd $(DESTDIR)$(sbindir)/glusterd +endif diff --git a/heal/src/Makefile.am b/heal/src/Makefile.am index 830f9d9238b..be672e86f07 100644 --- a/heal/src/Makefile.am +++ b/heal/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  sbin_PROGRAMS = glfsheal +endif  glfsheal_SOURCES = glfs-heal.c diff --git a/tools/gfind_missing_files/Makefile.am b/tools/gfind_missing_files/Makefile.am index f77f7899efb..181fe7091f3 100644 --- a/tools/gfind_missing_files/Makefile.am +++ b/tools/gfind_missing_files/Makefile.am @@ -1,12 +1,16 @@  gfindmissingfilesdir = $(GLUSTERFS_LIBEXECDIR)/gfind_missing_files +if WITH_SERVER  gfindmissingfiles_SCRIPTS = gfind_missing_files.sh gfid_to_path.sh \  	gfid_to_path.py +endif  EXTRA_DIST = gfind_missing_files.sh gfid_to_path.sh \  	gfid_to_path.py +if WITH_SERVER  gfindmissingfiles_PROGRAMS = gcrawler +endif  gcrawler_SOURCES = gcrawler.c  gcrawler_LDADD = $(top_builddir)/libglusterfs/src/libglusterfs.la @@ -16,11 +20,13 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src  AM_CFLAGS = -Wall $(GF_CFLAGS) +if WITH_SERVER  uninstall-local:  	rm -f $(DESTDIR)$(sbindir)/gfind_missing_files  install-data-local:  	rm -f $(DESTDIR)$(sbindir)/gfind_missing_files  	ln -s $(GLUSTERFS_LIBEXECDIR)/gfind_missing_files/gfind_missing_files.sh $(DESTDIR)$(sbindir)/gfind_missing_files +endif  CLEANFILES = diff --git a/tools/glusterfind/Makefile.am b/tools/glusterfind/Makefile.am index 92fa61461ad..f17dbdb228e 100644 --- a/tools/glusterfind/Makefile.am +++ b/tools/glusterfind/Makefile.am @@ -1,11 +1,14 @@  SUBDIRS = src -EXTRA_DIST = S57glusterfind-delete-post.py +EXTRA_DIST = S57glusterfind-delete-post.py glusterfind +if WITH_SERVER  bin_SCRIPTS = glusterfind +endif  CLEANFILES = $(bin_SCRIPTS) +if WITH_SERVER  deletehookscriptsdir = $(GLUSTERFS_LIBEXECDIR)/glusterfind/  deletehookscripts_SCRIPTS = S57glusterfind-delete-post.py @@ -18,3 +21,4 @@ install-data-local:  	rm -f $(DESTDIR)$(GLUSTERD_WORKDIR)/hooks/1/delete/post/S57glusterfind-delete-post  	ln -s $(GLUSTERFS_LIBEXECDIR)/glusterfind/S57glusterfind-delete-post.py \  		$(DESTDIR)$(GLUSTERD_WORKDIR)/hooks/1/delete/post/S57glusterfind-delete-post +endif diff --git a/tools/glusterfind/src/Makefile.am b/tools/glusterfind/src/Makefile.am index e4469c1c0cf..c180f051933 100644 --- a/tools/glusterfind/src/Makefile.am +++ b/tools/glusterfind/src/Makefile.am @@ -1,5 +1,6 @@  glusterfinddir = $(GLUSTERFS_LIBEXECDIR)/glusterfind +if WITH_SERVER  glusterfind_PYTHON = conf.py utils.py __init__.py \  	main.py libgfchangelog.py changelogdata.py @@ -7,6 +8,7 @@ glusterfind_SCRIPTS = changelog.py nodeagent.py \  	brickfind.py  glusterfind_DATA = tool.conf +endif  EXTRA_DIST = changelog.py nodeagent.py brickfind.py \  	tool.conf changelogdata.py diff --git a/tools/setgfid2path/src/Makefile.am b/tools/setgfid2path/src/Makefile.am index 45520cadafb..7316d117070 100644 --- a/tools/setgfid2path/src/Makefile.am +++ b/tools/setgfid2path/src/Makefile.am @@ -1,6 +1,8 @@  gluster_setgfid2pathdir = $(sbindir) +if WITH_SERVER  gluster_setgfid2path_PROGRAMS = gluster-setgfid2path +endif  gluster_setgfid2path_SOURCES = main.c diff --git a/xlators/features/arbiter/src/Makefile.am b/xlators/features/arbiter/src/Makefile.am index c9f42aee8ba..badc42f37be 100644 --- a/xlators/features/arbiter/src/Makefile.am +++ b/xlators/features/arbiter/src/Makefile.am @@ -1,4 +1,7 @@ +if WITH_SERVER  xlator_LTLIBRARIES = arbiter.la +endif +  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  arbiter_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/bit-rot/src/bitd/Makefile.am b/xlators/features/bit-rot/src/bitd/Makefile.am index 2df6f68a68a..6db800e6565 100644 --- a/xlators/features/bit-rot/src/bitd/Makefile.am +++ b/xlators/features/bit-rot/src/bitd/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = bit-rot.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  bit_rot_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/bit-rot/src/stub/Makefile.am b/xlators/features/bit-rot/src/stub/Makefile.am index e2c8319e979..f13de7145fc 100644 --- a/xlators/features/bit-rot/src/stub/Makefile.am +++ b/xlators/features/bit-rot/src/stub/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = bitrot-stub.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  bitrot_stub_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/index/src/Makefile.am b/xlators/features/index/src/Makefile.am index 6372672bc87..c71c238c163 100644 --- a/xlators/features/index/src/Makefile.am +++ b/xlators/features/index/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = index.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  index_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/leases/src/Makefile.am b/xlators/features/leases/src/Makefile.am index a7eea66d993..a1aef10e299 100644 --- a/xlators/features/leases/src/Makefile.am +++ b/xlators/features/leases/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = leases.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  leases_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/locks/src/Makefile.am b/xlators/features/locks/src/Makefile.am index 2884ec818ba..0b174c19d2d 100644 --- a/xlators/features/locks/src/Makefile.am +++ b/xlators/features/locks/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = locks.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  locks_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) @@ -18,8 +20,10 @@ AM_CFLAGS = -Wall -fno-strict-aliasing $(GF_CFLAGS)  CLEANFILES =  +if WITH_SERVER  uninstall-local:  	rm -f $(DESTDIR)$(xlatordir)/posix-locks.so  install-data-hook:  	ln -sf locks.so $(DESTDIR)$(xlatordir)/posix-locks.so +endif diff --git a/xlators/features/marker/src/Makefile.am b/xlators/features/marker/src/Makefile.am index 7871448a3e9..58056b36511 100644 --- a/xlators/features/marker/src/Makefile.am +++ b/xlators/features/marker/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = marker.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  marker_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/quota/src/Makefile.am b/xlators/features/quota/src/Makefile.am index 0a9541d0e04..ec20e3ea49d 100644 --- a/xlators/features/quota/src/Makefile.am +++ b/xlators/features/quota/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = quota.la quotad.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  quota_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/sdfs/src/Makefile.am b/xlators/features/sdfs/src/Makefile.am index ec9ed804b32..6118d46ad22 100644 --- a/xlators/features/sdfs/src/Makefile.am +++ b/xlators/features/sdfs/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = sdfs.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  sdfs_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/selinux/src/Makefile.am b/xlators/features/selinux/src/Makefile.am index 34105d2a45b..4f1e5e149b3 100644 --- a/xlators/features/selinux/src/Makefile.am +++ b/xlators/features/selinux/src/Makefile.am @@ -1,5 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = selinux.la - +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  selinux_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/snapview-server/src/Makefile.am b/xlators/features/snapview-server/src/Makefile.am index d9deb5a093b..2d39759ff80 100644 --- a/xlators/features/snapview-server/src/Makefile.am +++ b/xlators/features/snapview-server/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = snapview-server.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  snapview_server_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/trash/src/Makefile.am b/xlators/features/trash/src/Makefile.am index ba3be5aac14..8557e7171af 100644 --- a/xlators/features/trash/src/Makefile.am +++ b/xlators/features/trash/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = trash.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  trash_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/features/upcall/src/Makefile.am b/xlators/features/upcall/src/Makefile.am index 46a76bd4efe..72b7f55ae0a 100644 --- a/xlators/features/upcall/src/Makefile.am +++ b/xlators/features/upcall/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = upcall.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features  upcall_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/mgmt/glusterd/src/Makefile.am b/xlators/mgmt/glusterd/src/Makefile.am index 637c77b301d..7f8f235c171 100644 --- a/xlators/mgmt/glusterd/src/Makefile.am +++ b/xlators/mgmt/glusterd/src/Makefile.am @@ -1,4 +1,7 @@ +if WITH_SERVER  xlator_LTLIBRARIES = glusterd.la +endif +  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/mgmt  glusterd_la_CPPFLAGS = $(AM_CPPFLAGS) \  	-DFILTERDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/filter\" \ @@ -62,9 +65,11 @@ AM_LDFLAGS = -L$(xlatordir) $(URCU_LIBS) $(URCU_CDS_LIBS)  CLEANFILES =  install-data-hook: +if WITH_SERVER  if GF_INSTALL_GLUSTERD_WORKDIR  	$(mkdir_p) $(DESTDIR)$(GLUSTERD_WORKDIR)  	(stat $(DESTDIR)$(sysconfdir)/glusterd && \  	    mv $(DESTDIR)$(sysconfdir)/glusterd $(DESTDIR)$(GLUSTERD_WORKDIR)) || true;  	(ln -sf $(DESTDIR)$(GLUSTERD_WORKDIR) $(sysconfdir)/glusterd) || true;  endif +endif diff --git a/xlators/nfs/server/src/Makefile.am b/xlators/nfs/server/src/Makefile.am index bc6f8e9068f..5d1136d04ee 100644 --- a/xlators/nfs/server/src/Makefile.am +++ b/xlators/nfs/server/src/Makefile.am @@ -1,4 +1,7 @@ +if WITH_SERVER  xlator_LTLIBRARIES = server.la +endif +  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs  nfsrpclibdir = $(top_srcdir)/rpc/rpc-lib/src  server_la_LDFLAGS = -module -avoid-version -export-symbols \ diff --git a/xlators/performance/decompounder/src/Makefile.am b/xlators/performance/decompounder/src/Makefile.am index 149f2c02000..7823774c0d1 100644 --- a/xlators/performance/decompounder/src/Makefile.am +++ b/xlators/performance/decompounder/src/Makefile.am @@ -1,4 +1,6 @@ +if WITH_SERVER  xlator_LTLIBRARIES = decompounder.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance  decompounder_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/protocol/server/src/Makefile.am b/xlators/protocol/server/src/Makefile.am index 9c273cae222..bcce615877a 100644 --- a/xlators/protocol/server/src/Makefile.am +++ b/xlators/protocol/server/src/Makefile.am @@ -1,4 +1,7 @@ +if WITH_SERVER  xlator_LTLIBRARIES = server.la +endif +  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol  server_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) diff --git a/xlators/storage/posix/src/Makefile.am b/xlators/storage/posix/src/Makefile.am index 17ea98016c9..59d462336d1 100644 --- a/xlators/storage/posix/src/Makefile.am +++ b/xlators/storage/posix/src/Makefile.am @@ -1,5 +1,6 @@ - +if WITH_SERVER  xlator_LTLIBRARIES = posix.la +endif  xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage  posix_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)  | 
