From: Jan Rękorajski Date: Thu, 23 Feb 2012 10:50:01 +0000 (+0000) Subject: - new X-Git-Tag: auto/th/ceph-0_41-1~1 X-Git-Url: http://git.pld-linux.org/?p=packages%2Fceph.git;a=commitdiff_plain;h=2a1a6301cf9626a33e32222762e8a6a39a57e344 - new Changed files: ceph-compile-fixes.patch -> 1.1 ceph-init-fix.patch -> 1.1 ceph-link.patch -> 1.1 ceph.logrotate.patch -> 1.1 ceph.spec -> 1.1 --- 2a1a6301cf9626a33e32222762e8a6a39a57e344 diff --git a/ceph-compile-fixes.patch b/ceph-compile-fixes.patch new file mode 100644 index 0000000..7f00bd6 --- /dev/null +++ b/ceph-compile-fixes.patch @@ -0,0 +1,67 @@ +diff -up ceph-0.41/src/cephfs.cc.compilefix ceph-0.41/src/cephfs.cc +--- ceph-0.41/src/cephfs.cc.compilefix 2012-02-16 21:08:19.983652818 -0500 ++++ ceph-0.41/src/cephfs.cc 2012-02-16 21:08:31.917550083 -0500 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include "client/ioctl.h" + + using namespace std; +diff -up ceph-0.41/src/common/safe_io.h.compilefix ceph-0.41/src/common/safe_io.h +--- ceph-0.41/src/common/safe_io.h.compilefix 2012-02-16 12:53:31.456514774 -0500 ++++ ceph-0.41/src/common/safe_io.h 2012-02-16 12:54:00.045233017 -0500 +@@ -16,6 +16,7 @@ + #define CEPH_SAFE_IO + + #include "common/compiler_extensions.h" ++#include + + #ifdef __cplusplus + extern "C" { +diff -up ceph-0.41/src/osd/PG.cc.compilefix ceph-0.41/src/osd/PG.cc +--- ceph-0.41/src/osd/PG.cc.compilefix 2012-02-16 20:58:21.039559849 -0500 ++++ ceph-0.41/src/osd/PG.cc 2012-02-16 20:59:07.920149937 -0500 +@@ -4830,13 +4830,13 @@ bool PG::PriorSet::affected_by_map(const + } + + // did a down osd in cur get (re)marked as lost? +- map::const_iterator p = blocked_by.find(o); +- if (p != blocked_by.end()) { ++ map::const_iterator r = blocked_by.find(o); ++ if (r != blocked_by.end()) { + if (!osdmap->exists(o)) { + dout(10) << "affected_by_map osd." << o << " no longer exists" << dendl; + return true; + } +- if (osdmap->get_info(o).lost_at != p->second) { ++ if (osdmap->get_info(o).lost_at != r->second) { + dout(10) << "affected_by_map osd." << o << " (re)marked as lost" << dendl; + return true; + } +diff -up ceph-0.41/src/osd/ReplicatedPG.cc.compilefix ceph-0.41/src/osd/ReplicatedPG.cc +--- ceph-0.41/src/osd/ReplicatedPG.cc.compilefix 2012-02-16 21:03:26.140892128 -0500 ++++ ceph-0.41/src/osd/ReplicatedPG.cc 2012-02-16 21:04:45.190200945 -0500 +@@ -5436,8 +5436,8 @@ int ReplicatedPG::recover_replicas(int m + } + + dout(10) << __func__ << ": recover_object_replicas(" << soid << ")" << dendl; +- map::const_iterator p = m.missing.find(soid); +- started += recover_object_replicas(soid, p->second.need); ++ map::const_iterator r = m.missing.find(soid); ++ started += recover_object_replicas(soid, r->second.need); + } + } + +diff -up ceph-0.41/src/test/system/systest_runnable.cc.compilefix ceph-0.41/src/test/system/systest_runnable.cc +--- ceph-0.41/src/test/system/systest_runnable.cc.compilefix 2012-02-16 12:54:35.430884275 -0500 ++++ ceph-0.41/src/test/system/systest_runnable.cc 2012-02-16 12:54:45.923780862 -0500 +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include + + #if defined(__FreeBSD__) diff --git a/ceph-init-fix.patch b/ceph-init-fix.patch new file mode 100644 index 0000000..3d22e19 --- /dev/null +++ b/ceph-init-fix.patch @@ -0,0 +1,18 @@ +diff -up ceph-0.41/src/init-ceph.in.init ceph-0.41/src/init-ceph.in +--- ceph-0.41/src/init-ceph.in.init 2012-01-17 15:33:20.000000000 -0500 ++++ ceph-0.41/src/init-ceph.in 2012-02-16 12:48:50.887279921 -0500 +@@ -1,11 +1,11 @@ + #!/bin/sh + # Start/stop ceph daemons +-# chkconfig: 2345 60 80 ++# chkconfig: - 60 80 + + ### BEGIN INIT INFO + # Provides: ceph +-# Default-Start: 2 3 5 +-# Default-Stop: 0 1 6 ++# Default-Start: ++# Default-Stop: + # Required-Start: $remote_fs $named $network $time + # Required-Stop: $remote_fs $named $network $time + # Short-Description: Start Ceph distributed file system daemons at boot time diff --git a/ceph-link.patch b/ceph-link.patch new file mode 100644 index 0000000..c2c4132 --- /dev/null +++ b/ceph-link.patch @@ -0,0 +1,11 @@ +--- ceph-0.41/src/Makefile.am~ 2012-01-27 21:35:39.000000000 +0100 ++++ ceph-0.41/src/Makefile.am 2012-02-23 09:55:11.768753394 +0100 +@@ -116,7 +116,7 @@ + bin_PROGRAMS += cephfs + + librados_config_SOURCES = librados-config.cc +-librados_config_LDADD = libglobal.la librados.la $(EXTRALIBS) $(CRYPTO_LIBS) ++librados_config_LDADD = $(LIBGLOBAL_LDA) librados.la $(EXTRALIBS) $(CRYPTO_LIBS) + bin_PROGRAMS += librados-config + + # synthetic client diff --git a/ceph.logrotate.patch b/ceph.logrotate.patch new file mode 100644 index 0000000..6ded86e --- /dev/null +++ b/ceph.logrotate.patch @@ -0,0 +1,11 @@ +--- ./src/logrotate.conf.new 2012-01-11 18:23:10.597593501 -0500 ++++ ./src/logrotate.conf 2012-01-11 18:23:26.808390838 -0500 +@@ -4,7 +4,7 @@ + compress + sharedscripts + postrotate +- invoke-rc.d ceph reload >/dev/null || service ceph reload >/dev/null ++ service ceph reload >/dev/null 2>/dev/null || true + endscript + missingok + } diff --git a/ceph.spec b/ceph.spec new file mode 100644 index 0000000..a712f7a --- /dev/null +++ b/ceph.spec @@ -0,0 +1,287 @@ +Summary: User space components of the Ceph file system +Name: ceph +Version: 0.41 +Release: 0.1 +License: LGPLv2 +Group: Base +Source0: http://ceph.newdream.net/download/%{name}-%{version}.tar.bz2 +# Source0-md5: 12730a25f7c82549a08b0d8b8c09d69f +Patch0: %{name}-init-fix.patch +Patch1: %{name}.logrotate.patch +Patch2: %{name}-compile-fixes.patch +Patch3: %{name}-link.patch +URL: http://ceph.newdream.net/ +BuildRequires: boost-devel +BuildRequires: cryptopp-devel +BuildRequires: curl-devel +BuildRequires: expat-devel +BuildRequires: fcgi-devel +BuildRequires: gdbm-devel +BuildRequires: google-perftools-devel +BuildRequires: gtk+2-devel +BuildRequires: gtkmm-devel +BuildRequires: keyutils-devel +BuildRequires: libatomic_ops +BuildRequires: libedit-devel +BuildRequires: libfuse-devel +BuildRequires: libltdl-devel +BuildRequires: libstdc++-devel +BuildRequires: libtcmalloc-devel +BuildRequires: libtool +BuildRequires: libuuid-devel +BuildRequires: perl +BuildRequires: pkgconfig +BuildRequires: rpmbuild(macros) >= 1.228 +Requires(post,preun): /sbin/chkconfig +Requires(preun): rc-scripts +Requires: %{name}-libs = %{version}-%{release} +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%define skip_post_check_so libcls_.*.so.* + +%description +Ceph is a distributed network file system designed to provide +excellent performance, reliability, and scalability. + +%package libs +Summary: Ceph shared libraries +Group: Libraries + +%description libs +Ceph shared libraries. + +%package -n python-ceph +Summary: Ceph python bindings +Group: Development/Languages/Python +Requires: %{name}-libs = %{version}-%{release} + +%description -n python-ceph +Ceph python bindings. + +%package fuse +Summary: Ceph fuse-based client +Group: Base +Requires: %{name} = %{version}-%{release} + +%description fuse +FUSE based client for Ceph distributed network file system + +%package devel +Summary: Ceph headers +License: LGPLv2 +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +This package contains the headers needed to develop programs that use +Ceph. + +%package static +Summary: Ceph static libraries +License: LGPLv2 +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +This package contains static Ceph libraries. + +%package radosgw +Summary: rados REST gateway +Group: Development/Libraries +#Requires: apache-mod_fcgid + +%description radosgw +radosgw is an S3 HTTP REST gateway for the RADOS object store. It is +implemented as a FastCGI module using libfcgi, and can be used in +conjunction with any FastCGI capable web server. + +%package obsync +Summary: synchronize data between cloud object storage providers or a local directory +License: LGPLv2 +Group: Applications/Networking +Requires: python +Requires: python-boto + +%description obsync +obsync is a tool to synchronize objects between cloud object storage +providers, such as Amazon S3 (or compatible services), a Ceph RADOS +cluster, or a local directory. + +%package gcephtool +Summary: Ceph graphical monitoring tool +License: LGPLv2 +Group: Base + +%description gcephtool +gcephtool is a graphical monitor for the clusters running the Ceph +distributed file system. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p0 +%patch2 -p1 +%patch3 -p1 + +%build +%{__libtoolize} +%{__aclocal} +%{__autoconf} +%{__autoheader} +%{__automake} +%configure \ + --sbindir=/sbin \ + --without-hadoop \ + --with-radosgw \ + --with-gtk2 + +%{__make} V=1 + +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT%{_localstatedir}/{lib/ceph/tmp,log/ceph/stat} \ + $RPM_BUILD_ROOT%{_sysconfdir}/{ceph,bash_completion.d,logrotate.d,rc.d/init.d} +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + +install -p src/init-ceph $RPM_BUILD_ROOT/etc/rc.d/init.d/ceph +install -p src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph + +%{__rm} $RPM_BUILD_ROOT%{_libdir}/rados-classes/*.{a,la} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +/sbin/chkconfig --add ceph +%service ceph restart + +%preun +if [ "$1" = "0" ] ; then + %service ceph stop + /sbin/chkconfig --del ceph +fi + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc README src/sample.ceph.conf src/sample.fetch_config +%attr(754,root,root) /etc/rc.d/init.d/ceph +%dir %{_sysconfdir}/ceph +%attr(755,root,root) %{_bindir}/ceph +%attr(755,root,root) %{_bindir}/cephfs +%attr(755,root,root) %{_bindir}/ceph-conf +%attr(755,root,root) %{_bindir}/ceph-clsinfo +%attr(755,root,root) %{_bindir}/crushtool +%attr(755,root,root) %{_bindir}/monmaptool +%attr(755,root,root) %{_bindir}/osdmaptool +%attr(755,root,root) %{_bindir}/ceph-authtool +%attr(755,root,root) %{_bindir}/ceph-syn +%attr(755,root,root) %{_bindir}/ceph-run +%attr(755,root,root) %{_bindir}/ceph-mon +%attr(755,root,root) %{_bindir}/ceph-mds +%attr(755,root,root) %{_bindir}/ceph-osd +%attr(755,root,root) %{_bindir}/ceph-rbdnamer +%attr(755,root,root) %{_bindir}/librados-config +%attr(755,root,root) %{_bindir}/rados +%attr(755,root,root) %{_bindir}/rbd +%attr(755,root,root) %{_bindir}/ceph-debugpack +%attr(755,root,root) %{_bindir}/ceph-coverage +%dir %{_libdir}/rados-classes +%attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so* +%attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so* +%attr(755,root,root) /sbin/mkcephfs +%attr(755,root,root) /sbin/mount.ceph +%dir %{_libdir}/ceph +%attr(755,root,root) %{_libdir}/ceph/ceph_common.sh +%config(noreplace) /etc/logrotate.d/ceph +%config(noreplace) %{_sysconfdir}/bash_completion.d/rados +%config(noreplace) %{_sysconfdir}/bash_completion.d/ceph +%config(noreplace) %{_sysconfdir}/bash_completion.d/rbd +%{_mandir}/man8/ceph.8* +%{_mandir}/man8/ceph-authtool.8* +%{_mandir}/man8/ceph-clsinfo.8* +%{_mandir}/man8/ceph-conf.8* +%{_mandir}/man8/ceph-debugpack.8* +%{_mandir}/man8/ceph-mds.8* +%{_mandir}/man8/ceph-mon.8* +%{_mandir}/man8/ceph-osd.8* +%{_mandir}/man8/ceph-run.8* +%{_mandir}/man8/ceph-syn.8* +%{_mandir}/man8/cephfs.8* +%{_mandir}/man8/crushtool.8* +%{_mandir}/man8/librados-config.8* +%{_mandir}/man8/mkcephfs.8* +%{_mandir}/man8/monmaptool.8* +%{_mandir}/man8/mount.ceph.8* +%{_mandir}/man8/osdmaptool.8* +%{_mandir}/man8/rados.8* +%{_mandir}/man8/radosgw.8* +%{_mandir}/man8/radosgw-admin.8* +%{_mandir}/man8/rbd.8* +%dir %{_localstatedir}/lib/ceph +%dir %{_localstatedir}/lib/ceph/tmp +%dir %{_localstatedir}/log/ceph + +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libcephfs.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libcephfs.so.1 +%attr(755,root,root) %{_libdir}/librados.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/librados.so.2 +%attr(755,root,root) %{_libdir}/librbd.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/librbd.so.1 +%attr(755,root,root) %{_libdir}/librgw.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/librgw.so.1 + +%files -n python-ceph +%defattr(644,root,root,755) +%{py_sitescriptdir}/rados.py* +%{py_sitescriptdir}/rgw.py* +%{py_sitescriptdir}/rbd.py* + +%files fuse +%defattr(644,root,root,755) +%doc COPYING +%attr(755,root,root) %{_bindir}/ceph-fuse +%{_mandir}/man8/ceph-fuse.8* + +%files devel +%defattr(644,root,root,755) +%{_includedir}/cephfs +%{_includedir}/crush +%{_includedir}/rados +%{_includedir}/rbd +%attr(755,root,root) %{_libdir}/libcephfs.so +%attr(755,root,root) %{_libdir}/librados.so +%attr(755,root,root) %{_libdir}/librgw.so +%attr(755,root,root) %{_libdir}/librbd.so +%{_libdir}/libcephfs.la +%{_libdir}/librados.la +%{_libdir}/librgw.la +%{_libdir}/librbd.la + +%files static +%defattr(644,root,root,755) +%{_libdir}/libcephfs.a +%{_libdir}/librados.a +%{_libdir}/librgw.a +%{_libdir}/librbd.a + +%files gcephtool +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/gceph +%{_datadir}/ceph_tool + +%files radosgw +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/radosgw +%attr(755,root,root) %{_bindir}/radosgw-admin +%{_sysconfdir}/bash_completion.d/radosgw-admin + +%files obsync +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/obsync +%attr(755,root,root) %{_bindir}/boto_tool