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