From b54c831ea54c75cd48c20da03343592501d436c0 Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Fri, 7 May 2010 18:29:09 +0000 Subject: [PATCH] Initial import (#563318) --- .cvsignore | 1 + ceph-init-fix.patch | 62 ++++++++++++++ ceph.spec | 191 ++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 255 insertions(+) create mode 100644 ceph-init-fix.patch create mode 100644 ceph.spec diff --git a/.cvsignore b/.cvsignore index e69de29..3414ed4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +ceph-0.20.tar.gz diff --git a/ceph-init-fix.patch b/ceph-init-fix.patch new file mode 100644 index 0000000..70605bf --- /dev/null +++ b/ceph-init-fix.patch @@ -0,0 +1,62 @@ +diff -up ceph-0.20/src/init-ceph.in.init ceph-0.20/src/init-ceph.in +--- ceph-0.20/src/init-ceph.in.init 2010-04-22 16:11:34.000000000 -0400 ++++ ceph-0.20/src/init-ceph.in 2010-05-05 15:37:11.185677759 -0400 +@@ -1,10 +1,11 @@ + #!/bin/sh + # Start/stop ceph daemons ++# chkconfig: - 60 80 + + ### BEGIN INIT INFO + # Provides: ceph +-# Default-Start: 2 3 4 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 +@@ -28,6 +29,8 @@ else + fi + fi + ++lockfile=/var/lock/subsys/ceph ++ + usage_exit() { + echo "usage: $0 [options] {start|stop|restart} [mon|osd|mds]..." + printf "\t-c ceph.conf\n" +@@ -244,6 +247,7 @@ for name in $what; do + [ -n "$pre_start" ] && do_cmd "$pre_start" + do_cmd "$cmd" $runarg + [ -n "$post_start" ] && do_cmd "$post_start" ++ [ "$?" = 0 ] && touch $lockfile + ;; + + stop) +@@ -252,19 +256,27 @@ for name in $what; do + [ -n "$pre_stop" ] && do_cmd "$pre_stop" + stop_daemon $name c$type $pid_file + [ -n "$post_stop" ] && do_cmd "$post_stop" ++ [ "$?" = 0 ] && rm -f $lockfile + ;; + ++ status) ++ pid=`cat $pid_file` ++ ps $pid &> /dev/null ++ exit $? ++ ;; + forcestop) + get_conf pre_forcestop "" "pre forcestop command" + get_conf post_forcestop "" "post forcestop command" + [ -n "$pre_forcestop" ] && do_cmd "$pre_forcestop" + stop_daemon $name c$type $pid_file -9 + [ -n "$post_forcestop" ] && do_cmd "$post_forcestop" ++ [ "$?" = 0 ] && rm -f $lockfile + ;; + + killall) + echo "killall c$type on $host" + do_cmd "pkill ^c$type || true" ++ [ "$?" = 0 ] && rm -f $lockfile + ;; + + force-reload | reload) diff --git a/ceph.spec b/ceph.spec new file mode 100644 index 0000000..e268f22 --- /dev/null +++ b/ceph.spec @@ -0,0 +1,191 @@ +Name: ceph +Version: 0.20 +Release: 1%{?dist} +Summary: User space components of the Ceph file system +License: LGPLv2 +Group: System Environment/Base +URL: http://ceph.newdream.net/ + +Source: http://ceph.newdream.net/download/%{name}-%{version}.tar.gz +Patch0: ceph-init-fix.patch +BuildRequires: fuse-devel, libtool, libtool-ltdl-devel, boost-devel, +BuildRequires: libedit-devel, fuse-devel, git, perl, perl-devel, gdbm, +BuildRequires: openssl-devel, libatomic_ops-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts + +%description +Ceph is a distributed network file system designed to provide excellent +performance, reliability, and scalability. + +%package fuse +Summary: Ceph fuse-based client +Group: System Environment/Base +Requires: %{name} = %{version}-%{release} +BuildRequires: fuse-devel +%description fuse +FUSE based client for Ceph distributed network file system + +%package devel +Summary: Ceph headers +Group: Development/Libraries +License: LGPLv2 +Requires: %{name} = %{version}-%{release} +%description devel +This package contains the headers needed to develop programs that use Ceph. + +%prep +%setup -q +%patch0 -p1 -b .init +chmod 0644 src/common/Mutex.h + +%build +./autogen.sh +%configure --without-hadoop --without-debug +make CFLAGS="$RPM_OPT_FLAGS" + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' +find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';' +install -D src/init-ceph $RPM_BUILD_ROOT%{_initddir}/ceph +chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/ceph/sample.ceph.conf + +# remove debug binaries +rm -f $RPM_BUILD_ROOT%{_bindir}/dumpjournal +rm -f $RPM_BUILD_ROOT%{_bindir}/dupstore +rm -f $RPM_BUILD_ROOT%{_bindir}/radosacl +rm -f $RPM_BUILD_ROOT%{_bindir}/streamtest +rm -f $RPM_BUILD_ROOT%{_bindir}/test_ioctls +rm -f $RPM_BUILD_ROOT%{_bindir}/test_trans +rm -f $RPM_BUILD_ROOT%{_bindir}/testceph +rm -f $RPM_BUILD_ROOT%{_bindir}/testcrypto +rm -f $RPM_BUILD_ROOT%{_bindir}/testkeys +rm -f $RPM_BUILD_ROOT%{_bindir}/testmsgr +rm -f $RPM_BUILD_ROOT%{_bindir}/testrados +rm -f $RPM_BUILD_ROOT%{_bindir}/testradospp + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +/sbin/ldconfig +/sbin/chkconfig --add ceph + +%preun +if [ $1 = 0 ] ; then + /sbin/service ceph stop >/dev/null 2>&1 + /sbin/chkconfig --del ceph +fi + +%postun +/sbin/ldconfig +if [ "$1" -ge "1" ] ; then + /sbin/service ceph condrestart >/dev/null 2>&1 || : +fi + +%files +%defattr(-,root,root,-) +%doc README COPYING +%{_bindir}/ceph +%{_bindir}/cconf +%{_bindir}/crushtool +%{_bindir}/monmaptool +%{_bindir}/osdmaptool +%{_bindir}/cauthtool +%{_bindir}/csyn +%{_bindir}/crun +%{_bindir}/cmon +%{_bindir}/cmds +%{_bindir}/cosd +%{_bindir}/mkmonfs +%{_bindir}/rados +%{_bindir}/rbdtool +%{_bindir}/psim +%{_initddir}/ceph +%{_libdir}/libceph.so.* +%{_libdir}/libcrush.so.* +%{_libdir}/librados.so.* +%{_sbindir}/mkcephfs +/sbin/mount.ceph +%{_libdir}/ceph +%config(noreplace) %{_sysconfdir}/ceph/sample.ceph.conf +%config(noreplace) %{_sysconfdir}/ceph/sample.fetch_config +%{_mandir}/man8/cmon.8* +%{_mandir}/man8/cmds.8* +%{_mandir}/man8/cosd.8* +%{_mandir}/man8/mkcephfs.8* +%{_mandir}/man8/mkmonfs.8* +%{_mandir}/man8/crun.8* +%{_mandir}/man8/csyn.8* +%{_mandir}/man8/crushtool.8* +%{_mandir}/man8/osdmaptool.8* +%{_mandir}/man8/monmaptool.8* +%{_mandir}/man8/cconf.8* +%{_mandir}/man8/ceph.8* +%{_mandir}/man8/mount.ceph.8* +%{_mandir}/man8/radosgw.8* +%{_mandir}/man8/radosgw_admin.8* +%{_mandir}/man8/rados.8* +%{_mandir}/man8/rbdtool.8* +%{_mandir}/man8/cauthtool.8* + +%files fuse +%defattr(-,root,root,-) +%doc COPYING +%{_bindir}/cfuse +%{_mandir}/man8/cfuse.8* + +%files devel +%defattr(-,root,root,-) +%doc COPYING +%{_includedir}/ceph/libceph.h +%{_includedir}/crush/crush.h +%{_includedir}/crush/hash.h +%{_includedir}/crush/mapper.h +%{_includedir}/crush/types.h +%{_includedir}/rados/librados.h +%{_includedir}/rados/librados.hpp +%{_includedir}/rados/buffer.h +%{_includedir}/rados/atomic.h +%{_includedir}/rados/page.h +%{_includedir}/rados/crc32c.h +%{_includedir}/rados/Spinlock.h +%{_includedir}/rados/assert.h +%{_libdir}/libceph.so +%{_libdir}/libcrush.so +%{_libdir}/librados.so + +%changelog +* Wed May 5 2010 Josef Bacik 0.20-1 +- update to 0.20 +- disable hadoop building +- remove all the test binaries properly + +* Fri Apr 30 2010 Sage Weil 0.19.1-5 +- Remove java deps (no need to build hadoop by default) +- Include all required librados helpers +- Include fetch_config sample +- Include rbdtool +- Remove misc debugging, test binaries + +* Thu Apr 30 2010 Josef Bacik 0.19.1-4 +- Add java-devel and java tricks to get hadoop to build + +* Mon Apr 26 2010 Josef Bacik 0.19.1-3 +- Move the rados and cauthtool man pages into the base package + +* Sun Apr 25 2010 Jonathan Dieter 0.19.1-2 +- Add missing libhadoopcephfs.so* to file list +- Add COPYING to all subpackages +- Fix ownership of /usr/lib[64]/ceph +- Enhance description of fuse client + +* Tue Apr 20 2010 Josef Bacik 0.19.1-1 +- Update to 0.19.1 + +* Mon Feb 8 2010 Josef Bacik 0.18-1 +- Initial spec file creation, based on the template provided in the ceph src diff --git a/sources b/sources index e69de29..bc7dea8 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +2a3235f8947a8c5aee6b9fe3f016c29e ceph-0.20.tar.gz