From 40fe609cdf8eb2400fb43d8c589d05a3f511cbc6 Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: Apr 04 2014 18:10:21 +0000 Subject: GlusterFS 3.5.0 beta5 --- diff --git a/glusterfs.spec b/glusterfs.spec index dd7292e..abc453f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,10 +1,9 @@ - %global _hardened_build 1 %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -# %%global prereltag beta2 +%global prereltag beta5 # if you wish to compile an rpm without rdma support, compile like this... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma @@ -31,6 +30,15 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf %{?_without_ocf:%global _without_ocf --without-ocf} +# if you wish to build rpms without syslog logging, compile like this +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@tar.gz --without syslog +%{?_without_syslog:%global _without_syslog --disable-syslog} + +# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount +%if ( 0%{?rhel} && 0%{?rhel} <= 6 ) +%global _without_syslog --disable-syslog +%endif + # there is no systemtap support! Perhaps some day there will be %global _without_systemtap --enable-systemtap=no @@ -42,6 +50,15 @@ %define _without_bd --disable-bd-xlator %endif +# if you wish to compile an rpm without the qemu-block support... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without qemu-block +%{?_without_qemu_block:%global _without_qemu_block --disable-qemu-block} + +%if ( 0%{?rhel} && 0%{?rhel} < 6 ) +# xlators/features/qemu-block fails to build on RHEL5, disable it +%define _without_qemu_block --disable-qemu-block +%endif + %if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) %global _with_systemd true %endif @@ -55,8 +72,8 @@ Summary: Cluster File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 3.4.3 -Release: 2%{?prereltag:.%{prereltag}}%{?dist} +Version: 3.5.0 +Release: 0.7%{?prereltag:.%{prereltag}}%{?dist} Vendor: Fedora Project %else Name: @PACKAGE_NAME@ @@ -68,7 +85,7 @@ License: GPLv2 or LGPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS %if ( 0%{_for_fedora_koji_builds} ) -Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz +Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source3: glusterfs-fuse.logrotate @@ -77,15 +94,15 @@ Source5: glusterfsd.logrotate Source6: 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 -Patch2: %{name}-3.3.1.rpc.rpcxprt.rdma.name.c.patch %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) +BuildRequires: python-simplejson +%endif %if ( 0%{?_with_systemd:1} ) %if ( 0%{_for_fedora_koji_builds} ) %global glusterfsd_service %{S:%{SOURCE11}} @@ -98,7 +115,7 @@ 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 ; +%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 @@ -114,7 +131,7 @@ 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 ; +%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 @@ -134,12 +151,19 @@ BuildRequires: systemtap-sdt-devel %if ( 0%{!?_without_bd:1} ) BuildRequires: lvm2-devel %endif +%if ( 0%{!?_without_qemu_block:1} ) +BuildRequires: glib2-devel +%endif +%if ( 0%{!?_without_georeplication:1} ) +BuildRequires: libattr-devel +%endif -Obsoletes: hekafs <= 0.7 +Obsoletes: hekafs Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release} Provides: %{name}-common = %{version}-%{release} Provides: %{name}-core = %{version}-%{release} +Obsoletes: %{name}-ufo # We do not want to generate useless provides and requires for xlator .so files # Filter all generated: @@ -148,7 +172,7 @@ Provides: %{name}-core = %{version}-%{release} %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.*$' + %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 @@ -156,6 +180,13 @@ Provides: %{name}-core = %{version}-%{release} %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$ %endif +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} + +%if ( 0%{?rhel} && 0%{?rhel} < 6 ) + # _sharedstatedir is not provided by RHEL5 + %define _sharedstatedir /var/lib +%endif + %description GlusterFS is a clustered file-system capable of scaling to several petabytes. It aggregates various storage bricks over Infiniband RDMA @@ -172,6 +203,14 @@ both GlusterFS server and client framework. %package libs Summary: GlusterFS common libraries Group: Applications/File +%if ( 0%{!?_without_syslog:1} ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) +Requires: rsyslog-mmjsonparse +%endif +%if ( 0%{?rhel} && 0%{?rhel} == 6 ) +Requires: rsyslog-mmcount +%endif +%endif %description libs GlusterFS is a clustered file-system capable of scaling to several @@ -226,6 +265,7 @@ Summary: GlusterFS Geo-replication Group: Applications/File Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} +Requires: python python-ctypes %description geo-replication GlusterFS is a clustered file-system capable of scaling to several @@ -267,7 +307,6 @@ Requires: %{name} = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-fuse = %{version}-%{release} -Requires: e2fsprogs xfsprogs %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) Requires: rpcbind %else @@ -289,6 +328,7 @@ This package provides the glusterfs server daemon. Summary: Clustered file-system api library Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} # we provide the Python package/namespace 'gluster' Provides: python-gluster = %{version}-%{release} @@ -369,83 +409,105 @@ is in user space and easily manageable. This package provides the api include files. +%package regression-tests +Summary: Development Tools +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +Requires: %{name}-fuse = %{version}-%{release} +Requires: %{name}-server = %{version}-%{release} +Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng lvm2 +Requires: python attr dbench git nfs-utils xfsprogs + +%description regression-tests +The Gluster Test Framework, is a suite of scripts used for +regression testing of Gluster. + %prep %setup -q -n %{name}-%{version}%{?prereltag} -%if ( 0%{_for_fedora_koji_builds} ) -#%patch0 -p0 -%patch1 -p0 -F4 -%if ( "%{version}" == "3.3.1" ) -%patch2 -p1 -%endif -%endif %build ./autogen.sh -%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf} %{?_without_bd} %{?_without_systemtap} +%configure \ + %{?_without_rdma} \ + %{?_without_epoll} \ + %{?_without_fusermount} \ + %{?_without_georeplication} \ + %{?_without_ocf} \ + %{?_without_syslog} \ + %{?_without_bd} \ + %{?_without_qemu_block} \ + %{?_without_systemtap} # fix hardening and remove rpath in shlibs %if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) -%{__sed} -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool +sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool %endif -%{__sed} -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool -%{__sed} -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool -%{__make} %{?_smp_mflags} +make %{?_smp_mflags} pushd api/examples FLAGS="$RPM_OPT_FLAGS" python setup.py build popd %install -%{__rm} -rf %{buildroot} -%{__make} install DESTDIR=%{buildroot} +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} # install the gfapi Python library in /usr/lib/python*/site-packages pushd api/examples python setup.py install --skip-build --verbose --root %{buildroot} popd # Install include directory -%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs -%{__install} -p -m 0644 libglusterfs/src/*.h \ +mkdir -p %{buildroot}%{_includedir}/glusterfs +install -p -m 0644 libglusterfs/src/*.h \ %{buildroot}%{_includedir}/glusterfs/ -%{__install} -p -m 0644 contrib/uuid/*.h \ +install -p -m 0644 contrib/uuid/*.h \ %{buildroot}%{_includedir}/glusterfs/ # Following needed by hekafs multi-tenant translator -%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/rpc -%{__install} -p -m 0644 rpc/rpc-lib/src/*.h \ +mkdir -p %{buildroot}%{_includedir}/glusterfs/rpc +install -p -m 0644 rpc/rpc-lib/src/*.h \ %{buildroot}%{_includedir}/glusterfs/rpc/ -%{__install} -p -m 0644 rpc/xdr/src/*.h \ +install -p -m 0644 rpc/xdr/src/*.h \ %{buildroot}%{_includedir}/glusterfs/rpc/ -%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/server -%{__install} -p -m 0644 xlators/protocol/server/src/*.h \ +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} ) -%{__install} -D -p -m 0644 %{SOURCE1} \ +install -D -p -m 0644 %{SOURCE1} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd -%{__install} -D -p -m 0644 %{SOURCE2} \ +install -D -p -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd %else -%{__install} -D -p -m 0644 extras/glusterd-sysconfig \ +install -D -p -m 0644 extras/glusterd-sysconfig \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd %endif %if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{?rhel} && 0%{?rhel} <= 5 ) -%{__install} -D -p -m 0755 %{SOURCE6} \ +install -D -p -m 0755 %{SOURCE6} \ %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules %endif %endif -%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd -%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs -%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd -%{__mkdir_p} %{buildroot}%{_localstatedir}/run/gluster +mkdir -p %{buildroot}%{_localstatedir}/log/glusterd +mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs +mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd +mkdir -p %{buildroot}%{_localstatedir}/run/gluster # Remove unwanted files from all the shared libraries find %{buildroot}%{_libdir} -name '*.a' -delete find %{buildroot}%{_libdir} -name '*.la' -delete -# Remove installed docs, they're included by %%doc -%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ +# Remove installed docs, the ones we want are included by %%doc, in +# /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending +# on the distribution +%if ( 0%{?fedora} && 0%{?fedora} > 19 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) +rm -rf %{buildroot}%{_pkgdocdir}/* +%else +rm -rf %{buildroot}%{_defaultdocdir}/%{name} +mkdir -p %{buildroot}%{_pkgdocdir} +%endif head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog cat << EOM >> ChangeLog @@ -454,12 +516,20 @@ https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prerelt EOM # Remove benchmarking and other unpackaged files -%{__rm} -rf %{buildroot}/benchmarking -%{__rm} -f %{buildroot}/glusterfs-mode.el -%{__rm} -f %{buildroot}/glusterfs.vim +%if ( 0%{?rhel} && 0%{?rhel} < 6 ) +rm -rf %{buildroot}/benchmarking +rm -f %{buildroot}/glusterfs-mode.el +rm -f %{buildroot}/glusterfs.vim +%else +# make install always puts these in %%{_defaultdocdir}/%%{name} so don't +# use %%{_pkgdocdir}; that will be wrong on later Fedora distributions +rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking +rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el +rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim +%endif # Create working directory -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd +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' \ @@ -472,74 +542,116 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %if ( 0%{_for_fedora_koji_builds} ) # Client logrotate entry -%{__install} -D -p -m 0644 %{SOURCE3} \ +install -D -p -m 0644 %{SOURCE3} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse # Server logrotate entry -%{__install} -D -p -m 0644 %{SOURCE4} \ +install -D -p -m 0644 %{SOURCE4} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterd # Legacy server logrotate entry -%{__install} -D -p -m 0644 %{SOURCE5} \ +install -D -p -m 0644 %{SOURCE5} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd %else -%{__install} -D -p -m 0644 extras/glusterfs-logrotate \ +install -D -p -m 0644 extras/glusterfs-logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs %endif %if ( 0%{!?_without_georeplication:1} ) # geo-rep ghosts -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication -touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication +touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf +install -D -p -m 0644 extras/glusterfs-georep-logrotate \ + %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep +%endif + +%if ( 0%{!?_without_syslog:1} ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) +install -D -p -m 0644 extras/gluster-rsyslog-7.2.conf \ + %{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf.example +%endif + +%if ( 0%{?rhel} && 0%{?rhel} == 6 ) +install -D -p -m 0644 extras/gluster-rsyslog-5.8.conf \ + %{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf.example +%endif + +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +install -D -p -m 0644 extras/logger.conf.example \ + %{buildroot}%{_sysconfdir}/glusterfs/logger.conf.example +%endif %endif # the rest of the ghosts touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info touch %{buildroot}%{_sharedstatedir}/glusterd/options -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1 -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/post -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/pre -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/post -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/pre -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/post -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/pre -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/post -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/pre -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/glustershd -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/peers -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/vols -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/groups -%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/nfs/run +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1 +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/glustershd +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/peers +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/vols +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/groups +mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid +install -p -m 0744 extras/hook-scripts/S56glusterd-geo-rep-create-post.sh \ + %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post + +find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs + %clean -%{__rm} -rf %{buildroot} +rm -rf %{buildroot} %post -/sbin/ldconfig +%if ( 0%{!?_without_syslog:1} ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +%_init_restart rsyslog +%endif +%endif %postun -/sbin/ldconfig +%if ( 0%{!?_without_syslog:1} ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +%_init_restart rsyslog +%endif +%endif %files -%defattr(-,root,root,-) -%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS +%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 README THANKS %config(noreplace) %{_sysconfdir}/logrotate.d/* %config(noreplace) %{_sysconfdir}/sysconfig/* +%if ( 0%{!?_without_syslog:1} ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +%{_sysconfdir}/rsyslog.d/gluster.conf.example +%endif +%endif %{_libdir}/glusterfs %{_sbindir}/glusterfs* %{_mandir}/man8/*gluster*.8* @@ -563,11 +675,9 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache* -%post libs -/sbin/ldconfig +%post libs -p /sbin/ldconfig -%postun libs -/sbin/ldconfig +%postun libs -p /sbin/ldconfig %files libs %{_libdir}/*.so.* @@ -579,7 +689,6 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid %if ( 0%{!?_without_rdma:1} ) %files rdma -%defattr(-,root,root,-) %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* %endif @@ -591,15 +700,27 @@ if [ $1 -ge 1 ]; then fi %files geo-replication -%defattr(-,root,root) +%{_sysconfdir}/logrotate.d/glusterfs-georep %{_libexecdir}/glusterfs/gsyncd %{_libexecdir}/glusterfs/python/syncdaemon/* +%{_libexecdir}/glusterfs/gverify.sh +%{_libexecdir}/glusterfs/peer_add_secret_pub +%{_libexecdir}/glusterfs/peer_gsec_create %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication -%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf +%dir %{_sharedstatedir}/glusterd/hooks +%dir %{_sharedstatedir}/glusterd/hooks/1 +%dir %{_sharedstatedir}/glusterd/hooks/1/gsync-create +%dir %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post +%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh +%{_datadir}/glusterfs/scripts/get-gfid.sh +%{_datadir}/glusterfs/scripts/slave-upgrade.sh +%{_datadir}/glusterfs/scripts/gsync-upgrade.sh +%{_datadir}/glusterfs/scripts/generate-gfid-file.sh +%{_datadir}/glusterfs/scripts/gsync-sync-gfid +%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf %endif %files fuse -%defattr(-,root,root,-) %if ( 0%{_for_fedora_koji_builds} ) %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse %endif @@ -615,13 +736,14 @@ fi %endif %files server -%defattr(-,root,root,-) %doc extras/clear_xattrs.sh %if ( 0%{_for_fedora_koji_builds} ) %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %endif %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/glusterfs +# %%dir %{_sharedstatedir}/glusterd/groups +# %%config(noreplace) %{_sharedstatedir}/glusterd/groups/virt # Legacy configs %if ( 0%{_for_fedora_koji_builds} ) %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd @@ -639,11 +761,12 @@ fi %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* +# hack to work around old rpm/rpmbuild %%doc misfeature %ghost %attr(0644,-,-) %config(noreplace) %{_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 -# other way. They should belong to the glusterfs-server package, but don't -# exist after installation. They are generated on the first start... +# This is really ugly, but I have no idea how to mark these directories in +# any other way. They should belong to the glusterfs-server package, but +# don't exist after installation. They are generated on the first start... %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop @@ -676,11 +799,9 @@ fi %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid -%post api -/sbin/ldconfig +%post api -p /sbin/ldconfig -%postun api -/sbin/ldconfig +%postun api -p /sbin/ldconfig %files api %exclude %{_libdir}/*.so @@ -690,13 +811,11 @@ fi %if ( 0%{!?_without_ocf:1} ) %files resource-agents -%defattr(-,root,root) # /usr/lib is the standard for OCF, also on x86_64 %{_prefix}/lib/ocf/resource.d/glusterfs %endif %files devel -%defattr(-,root,root,-) %{_includedir}/glusterfs %exclude %{_includedir}/glusterfs/y.tab.h %exclude %{_includedir}/glusterfs/api @@ -705,28 +824,41 @@ fi %files api-devel %{_libdir}/pkgconfig/glusterfs-api.pc +%{_libdir}/pkgconfig/libgfchangelog.pc %{_libdir}/libgfapi.so %{_includedir}/glusterfs/api/* +%files regression-tests +%defattr(-,root,root,-) +%{_prefix}/share/glusterfs/* +%exclude %{_prefix}/share/glusterfs/tests/basic/rpm.t + %post server # Legacy server %_init_enable glusterd %_init_enable glusterfsd +# hack to work around old rpm/rpmbuild %%doc misfeature +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) +if [ -d %{_pkgdocdir}.tmp ]; then + cp -p %{_pkgdocdir}.tmp/* %{_pkgdocdir}/ + rm -rf %{_pkgdocdir}.tmp/* +%endif + # Genuine Fedora (and EPEL) builds never put gluster files in /etc; if # there are any files in /etc from a prior gluster.org install, move them # to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib # in gluster.org RPMs.) Be careful to copy them on the off chance that # /etc and /var/lib are on separate file systems if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then - %{__mkdir_p} %{_sharedstatedir}/glusterd + mkdir -p %{_sharedstatedir}/glusterd cp -a /etc/glusterd %{_sharedstatedir}/glusterd rm -rf /etc/glusterd ln -sf %{_sharedstatedir}/glusterd /etc/glusterd fi # Rename old volfiles in an RPM-standard way. These aren't actually -# considered package config files, so %config doesn't work for them. +# considered package config files, so %%config doesn't work for them. if [ -d %{_sharedstatedir}/glusterd/vols ]; then for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do newfile=${file}.rpmsave @@ -771,41 +903,39 @@ if [ $1 -ge 1 ]; then fi %changelog -* Thu Apr 3 2014 Kaleb S. KEITHLEY - 3.4.3-2 -- GlusterFS 3.4.3-2 +* Fri Apr 4 2014 Kaleb S. KEITHLEY - 3.5.0-0.7.beta5 +- GlusterFS 3.5.0 beta5 -* Wed Apr 2 2014 Kaleb S. KEITHLEY - 3.4.3-1 -- GlusterFS 3.4.3 GA +* Sat Mar 8 2014 Kaleb S. KEITHLEY - 3.5.0-0.6.beta4 +- GlusterFS 3.5.0 beta4 -* Wed Mar 26 2014 Kaleb S. KEITHLEY - 3.4.3-0.3.beta2 -- GlusterFS 3.4.3 beta2 +* Tue Feb 11 2014 Kaleb S. KEITHLEY - 3.5.0-0.5.beta3 +- GlusterFS 3.5.0 beta3 -* Thu Mar 13 2014 Kaleb S. KEITHLEY - 3.4.3-0.2.beta1 -- GlusterFS 3.4.3 beta1 +* Mon Jan 27 2014 Kaleb S. KEITHLEY - 3.5.0-0.4.beta2 +- GlusterFS 3.5.0 beta2 -* Thu Feb 13 2014 Kaleb S. KEITHLEY - 3.4.3-0.1.alpha1 -- GlusterFS 3.4.3 alpha1 +* Thu Jan 16 2014 Kaleb S. KEITHLEY - 3.5.0-0.3.beta1 +- GlusterFS 3.5.0 beta1 -* Fri Jan 3 2014 Kaleb S. KEITHLEY - 3.4.2-1 -- GlusterFS 3.4.2 GA +* Thu Jan 16 2014 Ville Skyttä - 3.5.0-0.2.beta1 +- Drop unnecessary ldconfig calls, do remaining ones without shell. +- Drop INSTALL from docs. -* Wed Dec 25 2013 Niels de Vos - 3.4.2-0.1qa5 -- GlusterFS 3.4.2 QA5, glusterfs-3.4.2-0.1qa5 -- Correct source URL to automatic release location +* Wed Jan 15 2014 Kaleb S. KEITHLEY - 3.5.0-0.1.beta1 +- GlusterFS 3.5.0 beta1 , glusterfs-3.5.0-0.1beta1 -* Fri Dec 20 2013 Niels de Vos -- Include .../site-packages/gluster/gfapi.py in glusterfs-api - -* Thu Dec 19 2013 Niels de Vos -- Include the .../site-packages/gluster/__init__.py file by default, - skip EL-5 and earlier (#1045123) - -* Tue Dec 17 2013 Kaleb S. KEITHLEY - 3.4.2-0.1qa4 -- GlusterFS 3.4.2 QA4 , glusterfs-3.4.2-0.1qa4 - -* Fri Dec 6 2013 Kaleb S. KEITHLEY - 3.5.0-0.1qa3 +* Fri Dec 6 2013 Kaleb S. KEITHLEY - 3.5.0-0.1.qa3 - GlusterFS 3.5.0 QA3 , glusterfs-3.5.0-0.1qa3 +* Wed Nov 6 2013 Kaleb S. KEITHLEY +- obsolete glusterfs-ufo (#1025059) +- ownership of /usr/share/doc/glusterfs(-x.y.z) (#846737) +- clear_xattrs.sh belongs in /usr/share/doc/glusterfs(-x.y.z), not + in /usr/share/doc/glusterfs-server(-x.y.z) +- remove defattr (per pkg review of another package) +- don't use %%{__foo} macros (per package review of another package) + * Sun Oct 27 2013 Niels de Vos - 3.4.1-3 - Correctly start+stop glusterfsd.service (#1022542) - fix "warning: File listed twice: .../glusterd.info" while building diff --git a/sources b/sources index f0ec160..9b11929 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -52cf3b00d874818e653f075e7dfb82d7 glusterfs-3.4.3.tar.gz +ff9cd3a929f02645acbdb6f01ed91db9 glusterfs-3.5.0beta5.tar.gz