X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ceph.spec;h=e6d36fc53a990e3036e1b7368b59d4d142d25fe1;hb=492b9f08920bc0e7ecb4d38a6eef53768a6f51d0;hp=549bd0d3fdef95a3e9de641648363b1c7cf59e0f;hpb=5e0a173c2a3d91aced9d20ebd84848d9b774aef5;p=packages%2Fceph.git diff --git a/ceph.spec b/ceph.spec index 549bd0d..e6d36fc 100644 --- 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 @@ -15,15 +21,24 @@ 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)