diff options
-rw-r--r-- | extras/LinuxRPM/Makefile.am | 17 | ||||
-rw-r--r-- | glusterfs.spec.in | 157 |
2 files changed, 138 insertions, 36 deletions
diff --git a/extras/LinuxRPM/Makefile.am b/extras/LinuxRPM/Makefile.am index cfbe429df01..38d14cda76c 100644 --- a/extras/LinuxRPM/Makefile.am +++ b/extras/LinuxRPM/Makefile.am @@ -39,20 +39,21 @@ prep:: cp ../../*.tar.gz ./rpmbuild/SOURCES cp ../../glusterfs.spec ./rpmbuild/SPECS -# Remember to change folsom to grizzly when we rebase to grizzly -SWIFT_TARBALL = $(shell grep -v gluster ./rpmbuild/SOURCES/sources | cut -d ' ' -f 3) -SWIFT_MD5SIG = $(shell grep -v gluster ./rpmbuild/SOURCES/sources | cut -d ' ' -f 1) -SWIFT_VERS = $(shell echo $(SWIFT_TARBALL) | grep -o 1\.[0-9]\.[0-9]) -SWIFT_URL = https://launchpad.net/swift/folsom/$(SWIFT_VERS)/+download/$(SWIFT_TARBALL) +FOLSOM_TAR = swift-1.7.4.tar.gz +FOLSOM_URL = https://launchpad.net/swift/folsom/1.7.4/+download/$(FOLSOM_TAR) +GRIZZLY_TAR = swift-1.8.0.tar.gz +GRIZZLY_URL = https://launchpad.net/swift/grizzly/1.8.0/+download/$(GRIZZLY_TAR) prep:: - @if [ -e /d/cache/$(SWIFT_TARBALL) -a -d ./rpmbuild/SOURCES ]; then \ + @if [ -d /d/cache -a -f /d/cache/$(FOLSOM_TAR) -a -f /d/cache/$(GRIZZLY_TAR) -a -d ./rpmbuild/SOURCES ]; then \ echo "copying swift source tarball from local cache..." ; \ - cp /d/cache/$(SWIFT_TARBALL) ./rpmbuild/SOURCES/ ; \ + cp /d/cache/swift-*.tar.gz ./rpmbuild/SOURCES/ ; \ touch /d/cache/.swift ; \ elif [ -x /usr/bin/curl -a -d ./rpmbuild/SOURCES ]; then \ echo "fetching swift from launchpad.net..." ; \ - cd ./rpmbuild/SOURCES && /usr/bin/curl -sOL $(SWIFT_URL) ; \ + cd ./rpmbuild/SOURCES && \ + /usr/bin/curl -sOL $(FOLSOM_URL) && \ + /usr/bin/curl -sOL $(GRIZZLY_URL) ; \ else \ echo "swift source not fetched, you don't have curl installed!" ; \ exit 1 ; \ diff --git a/glusterfs.spec.in b/glusterfs.spec.in index fe3728c2d36..6912203ce55 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -31,7 +31,7 @@ %{?_without_ufo:%global _without_ufo true} %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) -%global SWIFTVER 1.7.4 +%global SWIFTVER 1.8.0 %if 0%{_for_fedora_koji_builds} %global UFOVER 1.1 %else @@ -98,10 +98,10 @@ Requires(postun): systemd-units # can't seem to make a generic macro that works %define _init_glusterd %{_unitdir}/glusterd.service %define _init_glusterfsd %{_unitdir}/glusterfsd.service -%define _init_gluster_swift_account %{_unitdir}/gluster-swift-account.service +%define _init_gluster_swift_account %{_unitdir}/gluster-swift-account.service +%define _init_gluster_swift_container %{_unitdir}/gluster-swift-container.service %define _init_gluster_swift_object %{_unitdir}/gluster-swift-object.service -%define _init_gluster_swift_container %{_unitdir}/gluster-swift-container.service -%define _init_gluster_swift_proxy %{_unitdir}/gluster-swift-proxy.service +%define _init_gluster_swift_proxy %{_unitdir}/gluster-swift-proxy.service %else %if 0%{_for_fedora_koji_builds} %global glusterd_service %{S:%{SOURCE12}} @@ -119,10 +119,10 @@ Requires(postun): /sbin/service # can't seem to make a generic macro that works %define _init_glusterd %{_sysconfdir}/init.d/glusterd %define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd -%define _init_gluster_swift_account %{_sysconfdir}/init.d/gluster-swift-account -%define _init_gluster_swift_object %{_sysconfdir}/init.d/gluster-swift-object -%define _init_gluster_swift_container %{_sysconfdir}/init.d/gluster-swift-container -%define _init_gluster_swift_proxy %{_sysconfdir}/init.d/gluster-swift-proxy +%define _init_gluster_swift_account %{_sysconfdir}/init.d/gluster-swift-account +%define _init_gluster_swift_container %{_sysconfdir}/init.d/gluster-swift-container +%define _init_gluster_swift_object %{_sysconfdir}/init.d/gluster-swift-object +%define _init_gluster_swift_proxy %{_sysconfdir}/init.d/gluster-swift-proxy %endif BuildRequires: bison flex @@ -288,6 +288,7 @@ is in user space and easily manageable. This package provides the development libraries. %if 0%{?_with_ufo:1} +%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) %package swift Summary: GlusterFS OpenStack Object Storage @@ -341,10 +342,12 @@ Source71: container-server.conf Source72: object-server.conf Source73: proxy-server.conf Source74: swift.conf +Source75: object-expirer.conf Patch20: 0001-Use-updated-parallel-install-versions-of-epel-packag.patch Patch21: 0002-Add-fixes-for-building-the-doc-package.patch Patch22: glusterfs-3.3.1.swift.constraints.backport-1.7.4.patch +Patch23: glusterfs-3.4.0.swift.egginfo-grizzly.patch #BuildRoot: %(mktemp -ud %{_tmppath}/swift-%{SWIFTVER}-%{release}-XXXXXX) %if 0%{?_with_systemd:1} @@ -359,7 +362,6 @@ Patch22: glusterfs-3.3.1.swift.constraints.backport-1.7.4.patch %global glusterswiftproxy_service %{S:%{SOURCE43}} %endif -BuildRequires: dos2unix BuildRequires: python-devel BuildRequires: python-setuptools BuildRequires: python-netifaces @@ -382,6 +384,9 @@ Requires: python-simplejson Requires: pyxattr Requires: python-setuptools Requires: python-netifaces +%if "%{SWIFTVER}" != "1.7.4" +Requires: python-swiftclient +%endif Conflicts: openstack-swift @@ -477,12 +482,18 @@ in clusters for reliable, redundant, and large-scale storage of static objects. This package contains documentation files for %{name}-swift. +%endif + %package ufo Summary: GlusterFS Unified File and Object Storage. Group: Applications/System License: ASL 2.0 BuildArch: noarch +%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: %{name}-swift = %{version}-%{release} +%else +Requires: openstack-swift = %{SWIFTVER}-1 +%endif Requires: memcached Requires: openssl Requires: python @@ -516,17 +527,22 @@ storage costs. %patch1 -p0 %endif cd swift-%{SWIFTVER} +%if "%{SWIFTVER}" == "1.7.4" %if ( 0%{?rhel} && 0%{?rhel} < 7 ) %patch20 -p1 %patch21 -p1 %endif %patch22 -p1 -dos2unix LICENSE +%else +%patch23 -p1 +%endif %if 0%{_for_fedora_koji_builds} +%if "%{UFOVER}" == "1.1" cd ../ufo %patch15 -p1 %endif %endif +%endif %build ./autogen.sh @@ -731,6 +747,7 @@ cd swift-%{SWIFTVER} #install -p -D -m 660 %{SOURCE72} %{buildroot}%{_sysconfdir}/swift/object-server.conf #install -p -D -m 660 %{SOURCE73} %{buildroot}%{_sysconfdir}/swift/proxy-server.conf #install -p -D -m 660 %{SOURCE74} %{buildroot}%{_sysconfdir}/swift/swift.conf +#install -p -D -m 660 %{SOURCE75} %{buildroot}%{_sysconfdir}/swift/object-expirer.conf #%endif # Install pid directory %{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift @@ -743,6 +760,8 @@ cd swift-%{SWIFTVER} %{__mkdir_p} %{buildroot}%{_sysconfdir}/tmpfiles.d install -p -m 0644 %{SOURCE37} %{buildroot}%{_sysconfdir}/tmpfiles.d/gluster-swift.conf %endif +# Install recon directory +install -d -m 755 %{buildroot}%{_localstatedir}/cache/swift # man pages install -d -m 755 %{buildroot}%{_mandir}/man5 for m in doc/manpages/*.5; do @@ -913,20 +932,13 @@ fi %defattr(-,root,root,-) %doc swift-%{SWIFTVER}/AUTHORS %doc swift-%{SWIFTVER}/LICENSE -%doc swift-%{SWIFTVER}/README +%doc swift-%{SWIFTVER}/README* %doc swift-%{SWIFTVER}/etc/dispersion.conf-sample %doc swift-%{SWIFTVER}/etc/drive-audit.conf-sample %doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample %doc swift-%{SWIFTVER}/etc/swift.conf-sample %{_mandir}/man5/dispersion.conf.5* -%{_mandir}/man1/swift-dispersion-populate.1* -%{_mandir}/man1/swift-dispersion-report.1* -%{_mandir}/man1/swift.1* -%{_mandir}/man1/swift-get-nodes.1* -%{_mandir}/man1/swift-init.1* -%{_mandir}/man1/swift-orphans.1* -%{_mandir}/man1/swift-recon.1* -%{_mandir}/man1/swift-ring-builder.1* +%{_mandir}/man1/swift*.1* %if 0%{?_with_systemd:1} %config(noreplace) %{_sysconfdir}/tmpfiles.d/gluster-swift.conf %else @@ -940,6 +952,7 @@ fi %dir %{python_sitelib}/swift %{_bindir}/swift-account-audit %{_bindir}/swift-bench +%{_bindir}/swift-bench-client %{_bindir}/swift-drive-audit %{_bindir}/swift-get-nodes %{_bindir}/swift-init @@ -966,7 +979,10 @@ fi %{_mandir}/man1/swift-account-server.1* %_init_gluster_swift_account %if 0%{?_with_systemd:1} -%{_unitdir}/gluster-swift-account*.service +%{_unitdir}/gluster-swift-account@.service +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%{_unitdir}/gluster-swift-account-*.service +%endif %endif %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/account-server %dir %{_sysconfdir}/swift/account-server @@ -987,9 +1003,13 @@ fi %{_mandir}/man1/swift-container-updater.1* %_init_gluster_swift_container %if 0%{?_with_systemd:1} -%{_unitdir}/gluster-swift-container*.service +%{_unitdir}/gluster-swift-container@.service +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%{_unitdir}/gluster-swift-container-*.service +%endif %endif %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/container-server +%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift %dir %{_sysconfdir}/swift/container-server %{_bindir}/swift-container-auditor %{_bindir}/swift-container-server @@ -1003,18 +1023,21 @@ fi %doc swift-%{SWIFTVER}/etc/object-server.conf-sample %doc swift-%{SWIFTVER}/etc/rsyncd.conf-sample %{_mandir}/man5/object-server.conf.5* -%{_mandir}/man5/object-expirer.conf.5* %{_mandir}/man1/swift-object-auditor.1* -%{_mandir}/man1/swift-object-expirer.1* %{_mandir}/man1/swift-object-info.1* %{_mandir}/man1/swift-object-replicator.1* %{_mandir}/man1/swift-object-server.1* %{_mandir}/man1/swift-object-updater.1* %_init_gluster_swift_object %if 0%{?_with_systemd:1} -%{_unitdir}/gluster-swift-object*.service +%{_unitdir}/gluster-swift-object@.service +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%{_unitdir}/gluster-swift-object-*.service +%exclude %{_unitdir}/gluster-swift-object-expirer*.service +%endif %endif %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/object-server +%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift %dir %{_sysconfdir}/swift/object-server %{_bindir}/swift-object-auditor %{_bindir}/swift-object-info @@ -1026,11 +1049,19 @@ fi %files swift-proxy %defattr(-,root,root,-) %doc swift-%{SWIFTVER}/etc/proxy-server.conf-sample +%doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample +%{_mandir}/man5/object-expirer.conf.5* %{_mandir}/man5/proxy-server.conf.5* +%{_mandir}/man1/swift-object-expirer.1* %{_mandir}/man1/swift-proxy-server.1* %_init_gluster_swift_proxy +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%{_unitdir}/gluster-swift-object-expirer*.service +%endif %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/proxy-server +%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift %dir %{_sysconfdir}/swift/proxy-server +%{_bindir}/swift-object-expirer %{_bindir}/swift-proxy-server %{python_sitelib}/swift/proxy @@ -1130,18 +1161,36 @@ fi %post swift-account %_init_enable gluster-swift-account +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%_init_enable gluster-swift-account-replicator +%_init_enable gluster-swift-account-auditor +%_init_enable gluster-swift-account-reaper +%endif %preun swift-account if [ $1 = 0 ] ; then %_init_stop gluster-swift-account +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) %_init_disable gluster-swift-account + %_init_stop gluster-swift-account-replicator + %_init_disable gluster-swift-account-replicator + %_init_stop gluster-swift-account-auditor + %_init_disable gluster-swift-account-auditor + %_init_stop gluster-swift-account-reaper + %_init_disable gluster-swift-account-reaper +%endif fi %postun swift-account -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-account +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) + %_init_restart gluster-swift-account-replicator + %_init_restart gluster-swift-account-auditor + %_init_restart gluster-swift-account-reaper +%endif fi @@ -1155,18 +1204,36 @@ fi %post swift-container %_init_enable gluster-swift-container +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%_init_enable gluster-swift-container-replicator +%_init_enable gluster-swift-container-auditor +%_init_enable gluster-swift-container-updater +%endif %preun swift-container if [ $1 = 0 ] ; then %_init_stop gluster-swift-container %_init_disable gluster-swift-container +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) + %_init_stop gluster-swift-container-replicator + %_init_disable gluster-swift-container-replicator + %_init_stop gluster-swift-container-auditor + %_init_disable gluster-swift-container-auditor + %_init_stop gluster-swift-container-updater + %_init_disable gluster-swift-container-updater +%endif fi %postun swift-container -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-container +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) + %_init_restart gluster-swift-container-replicator + %_init_restart gluster-swift-container-auditor + %_init_restart gluster-swift-container-updator +%endif fi @@ -1180,18 +1247,36 @@ fi %post swift-object %_init_enable gluster-swift-object +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%_init_enable gluster-swift-object-replicator +%_init_enable gluster-swift-object-auditor +%_init_enable gluster-swift-object-updater +%endif %preun swift-object if [ $1 = 0 ] ; then %_init_stop gluster-swift-object %_init_disable gluster-swift-object +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) + %_init_stop gluster-swift-object-replicator + %_init_disable gluster-swift-object-replicator + %_init_stop gluster-swift-object-auditor + %_init_disable gluster-swift-object-auditor + %_init_stop gluster-swift-object-updater + %_init_disable gluster-swift-object-updater +%endif fi %postun swift-object -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-object +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) + %_init_restart gluster-swift-object-replicator + %_init_restart gluster-swift-object-auditor + %_init_restart gluster-swift-object-updater +%endif fi @@ -1201,22 +1286,38 @@ if [ -f /etc/swift/proxy-server.conf ]; then echo "warning: /etc/swift/proxy-server.conf saved as /etc/swift/proxy-server.conf.rpmsave" cp /etc/swift/proxy-server.conf /etc/swift/proxy-server.conf.rpmsave fi +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +if [ -f /etc/swift/object-expirer.conf ]; then + echo "warning: /etc/swift/object-expirer.conf saved as /etc/swift/object-expirer.conf.rpmsave" + cp /etc/swift/object-expirer.conf /etc/swift/object-expirer.conf.rpmsave +fi +%endif %post swift-proxy %_init_enable gluster-swift-proxy +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) +%_init_enable gluster-swift-object-expirer +%endif %preun swift-proxy if [ $1 = 0 ] ; then %_init_stop gluster-swift-proxy %_init_disable gluster-swift-proxy +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) + %_init_stop gluster-swift-object-expirer + %_init_disable gluster-swift-object-expirer +%endif fi %postun swift-proxy -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-proxy +%if ( 0%{?fedora} && 0%{?fedora} > 18 ) + %_init_restart gluster-swift-object-expirer +%endif fi %endif |