]> git.pld-linux.org Git - packages/ceph.git/blobdiff - ceph.spec
- up to 0.94.2
[packages/ceph.git] / ceph.spec
index 549bd0d3fdef95a3e9de641648363b1c7cf59e0f..e6d36fc53a990e3036e1b7368b59d4d142d25fe1 100644 (file)
--- a/ceph.spec
+++ b/ceph.spec
@@ -1,3 +1,9 @@
+# TODO:
+#      - accelio libxio (BR: accelio libibverbs-devel librdmacm-devel
+#      - proper init scripts if non-systemd boot is too be supported
+#         (upstream scripts seem overcomplicated and hardly useful)
+#      - run as non-root user
+#
 #
 # Conditional build:
 %bcond_without java            # Java binding
 Summary:       User space components of the Ceph file system
 Summary(pl.UTF-8):     Działające w przestrzeni użytkownika elementy systemu plików Ceph
 Name:          ceph
-Version:       0.92
-Release:       3
+Version:       0.94.2
+Release:       1
 License:       LGPL v2.1 (libraries), GPL v2 (some programs)
 Group:         Base
 Source0:       http://ceph.com/download/%{name}-%{version}.tar.bz2
-# Source0-md5: e8385508ee9a54f1cf56c1bcc1ec2b77
+# Source0-md5: 249648d35e634adaaeec727408ca6092
+Source1:       ceph.sysconfig
+# based on files from https://github.com/ceph/ceph/tree/master/systemd
+Source10:      cephctl
+Source11:      ceph-mds@.service
+Source12:      ceph-mon@.service
+Source13:      ceph-osd@.service
+Source14:      ceph.target
+Source15:      ceph.tmpfiles
 Patch0:                %{name}-init-fix.patch
 Patch1:                %{name}.logrotate.patch
 Patch2:                %{name}-link.patch
+Patch3:                %{name}-ac.patch
 URL:           http://ceph.com/
 BuildRequires: autoconf >= 2.59
 BuildRequires: automake
@@ -56,7 +71,7 @@ BuildRequires:        perl-base
 BuildRequires: pkgconfig
 BuildRequires: python >= 1:2.4
 %{?with_rocksdb:BuildRequires: rocksdb-devel}
-BuildRequires: rpmbuild(macros) >= 1.228
+BuildRequires: rpmbuild(macros) >= 1.671
 BuildRequires: snappy-devel
 BuildRequires: udev-devel
 BuildRequires: xfsprogs-devel
@@ -67,6 +82,8 @@ BuildRequires:        yasm
 Requires(post,preun):  /sbin/chkconfig
 Requires(preun):       rc-scripts
 Requires:      %{name}-libs = %{version}-%{release}
+Requires:      python-%{name} = %{version}-%{release}
+Requires:      systemd-units >= 38
 Obsoletes:     gcephtool
 Obsoletes:     hadoop-cephfs
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -195,6 +212,7 @@ Agenci OCF do monitorowania procesów Cepha.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 %{__libtoolize}
@@ -228,8 +246,9 @@ Agenci OCF do monitorowania procesów Cepha.
 
 %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}
+install -d $RPM_BUILD_ROOT%{_localstatedir}/{lib/ceph/{tmp,mon,osd,mds},log/ceph/stat,run/ceph} \
+       $RPM_BUILD_ROOT%{_sysconfdir}/{ceph,bash_completion.d,logrotate.d,rc.d/init.d,sysconfig} \
+       $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir},/etc/systemd/system/ceph.target.wants}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
@@ -238,6 +257,12 @@ install -d $RPM_BUILD_ROOT%{_localstatedir}/{lib/ceph/tmp,log/ceph/stat} \
 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
 
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/ceph
+install %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}
+install %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} $RPM_BUILD_ROOT%{systemdunitdir}
+ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/ceph.service
+install %{SOURCE15} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf
+
 # loadable modules
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/*.{a,la}
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rados-classes/*.{a,la}
@@ -257,11 +282,18 @@ rm -rf $RPM_BUILD_ROOT
 /sbin/chkconfig --add ceph
 %service ceph restart
 
+# actual services are to be enabled on cluster deployment
+%systemd_post %{name}.target
+
 %preun
 if [ "$1" = "0" ] ; then
        %service ceph stop
        /sbin/chkconfig --del ceph
 fi
+%systemd_preun %{name}.target
+
+%postun
+%systemd_reload
 
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
@@ -274,6 +306,14 @@ fi
 # COPYING specifies licenses of individual parts
 %doc AUTHORS COPYING README src/sample.ceph.conf src/sample.fetch_config
 %attr(754,root,root) /etc/rc.d/init.d/ceph
+%config(noreplace) /etc/sysconfig/ceph
+%dir /etc/systemd/system/ceph.target.wants
+%{systemdunitdir}/ceph-mds@.service
+%{systemdunitdir}/ceph-mon@.service
+%{systemdunitdir}/ceph-osd@.service
+%{systemdunitdir}/ceph.service
+%{systemdunitdir}/ceph.target
+%{systemdtmpfilesdir}/ceph.conf
 %dir %{_sysconfdir}/ceph
 %attr(755,root,root) %{_bindir}/ceph
 %attr(755,root,root) %{_bindir}/ceph-authtool
@@ -293,9 +333,10 @@ fi
 %attr(755,root,root) %{_bindir}/ceph-rest-api
 %attr(755,root,root) %{_bindir}/ceph-run
 %attr(755,root,root) %{_bindir}/ceph-syn
-%attr(755,root,root) %{_bindir}/ceph_mon_store_converter
+%attr(755,root,root) %{_bindir}/cephctl
 %attr(755,root,root) %{_bindir}/cephfs
 %attr(755,root,root) %{_bindir}/cephfs-journal-tool
+%attr(755,root,root) %{_bindir}/cephfs-table-tool
 %attr(755,root,root) %{_bindir}/crushtool
 %attr(755,root,root) %{_bindir}/librados-config
 %attr(755,root,root) %{_bindir}/monmaptool
@@ -338,6 +379,7 @@ fi
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_missing_entry_point.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_missing_version.so*
+%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_generic.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_neon.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_sse3.so*
@@ -391,8 +433,12 @@ fi
 %{_mandir}/man8/rbd-replay-prep.8*
 
 %dir %{_localstatedir}/lib/ceph
+%dir %{_localstatedir}/lib/ceph/mds
+%dir %{_localstatedir}/lib/ceph/mon
+%dir %{_localstatedir}/lib/ceph/osd
 %dir %{_localstatedir}/lib/ceph/tmp
 %dir %{_localstatedir}/log/ceph
+%dir %{_localstatedir}/run/ceph
 
 %files libs
 %defattr(644,root,root,755)
This page took 0.097811 seconds and 4 git commands to generate.