X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ceph.spec;h=e6d36fc53a990e3036e1b7368b59d4d142d25fe1;hb=492b9f08920bc0e7ecb4d38a6eef53768a6f51d0;hp=1b9911af0abaf9d5cf03bd28b2b0da89658b262e;hpb=58dc957fd17b73b2aa619d7638bf3a576c4f7b39;p=packages%2Fceph.git diff --git a/ceph.spec b/ceph.spec index 1b9911a..e6d36fc 100644 --- a/ceph.spec +++ b/ceph.spec @@ -1,10 +1,18 @@ +# 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 -%bcond_with kinetic # Kinetic storage support [needs update for internal API changes] -%bcond_with rocksdb # RocksDB storage support [needs update for internal API changes] -%bcond_with zfs # ZFS support -%bcond_without tcmalloc # don't use tcmalloc +%bcond_without java # Java binding +%bcond_with kinetic # Kinetic storage support [needs update for internal API changes] +%bcond_with rocksdb # RocksDB storage support [needs update for internal API changes] +%bcond_with zfs # ZFS support +%bcond_without lttng # LTTng tracing +%bcond_without babeltrace # Babeltrace traces support +%bcond_without tcmalloc # tcmalloc allocator %ifarch x32 %undefine with_tcmalloc @@ -13,19 +21,28 @@ 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.87 -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: 172d232cbf4fdf760933265ddcbce5eb +# 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}-boost.patch +Patch2: %{name}-link.patch +Patch3: %{name}-ac.patch URL: http://ceph.com/ BuildRequires: autoconf >= 2.59 BuildRequires: automake -BuildRequires: babeltrace-devel +%{?with_babeltrace:BuildRequires: babeltrace-devel} BuildRequires: boost-devel >= 1.34 BuildRequires: curl-devel BuildRequires: expat-devel >= 1.95 @@ -48,12 +65,13 @@ BuildRequires: libstdc++-devel %{?with_tcmalloc:BuildRequires: libtcmalloc-devel} BuildRequires: libtool >= 2:1.5 BuildRequires: libuuid-devel +%{?with_lttng:BuildRequires: lttng-ust-devel} BuildRequires: nss-devel 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 @@ -64,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) @@ -192,6 +212,7 @@ Agenci OCF do monitorowania procesów Cepha. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build %{__libtoolize} @@ -206,12 +227,14 @@ Agenci OCF do monitorowania procesów Cepha. %{?with_zfs:LIBZFS_CFLAGS="-I/usr/include/libzfs -I/usr/include/libspl"} \ ac_cv_prog_uudecode_base64=no \ --sbindir=/sbin \ + %{!?with_babeltrace:--without-babeltrace} \ --without-cryptopp \ --with-nss \ %{!?with_tcmalloc:--without-tcmalloc} \ %{?with_kinetic:--with-kinetic} \ %{?with_rocksdb:--with-librocksdb} \ %{?with_zfs:--with-libzfs} \ + %{!?with_lttng:--without-lttng} \ --with-ocf \ --with-radosgw \ --with-system-leveldb \ @@ -219,12 +242,13 @@ Agenci OCF do monitorowania procesów Cepha. %{?with_java:--enable-cephfs-java --with-jdk-dir=%{_jvmdir}/java} \ --disable-silent-rules -%{__make} +%{__make} -j1 %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 \ @@ -233,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} @@ -252,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 @@ -269,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 @@ -281,16 +326,17 @@ fi %attr(755,root,root) %{_bindir}/ceph-dencoder %attr(755,root,root) %{_bindir}/ceph-mds %attr(755,root,root) %{_bindir}/ceph-mon +%attr(755,root,root) %{_bindir}/ceph-objectstore-tool %attr(755,root,root) %{_bindir}/ceph-osd %attr(755,root,root) %{_bindir}/ceph-post-file %attr(755,root,root) %{_bindir}/ceph-rbdnamer %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_objectstore_tool -%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 @@ -299,6 +345,7 @@ fi %attr(755,root,root) %{_bindir}/rbd %attr(755,root,root) %{_bindir}/rbd-fuse %attr(755,root,root) %{_bindir}/rbd-replay +%attr(755,root,root) %{_bindir}/rbd-replay-many %attr(755,root,root) %{_bindir}/rbd-replay-prep %attr(755,root,root) /sbin/ceph-create-keys %attr(755,root,root) /sbin/ceph-disk @@ -320,12 +367,21 @@ fi %endif %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure.so* %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_generic.so* +%ifarch arm +%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_neon.so* +%endif +%ifarch %{ix86} %{x8664} x32 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse3.so* +%endif +%ifarch %{x8664} x32 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse4.so* +%endif %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* %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_sse4.so* %dir %{_libdir}/rados-classes @@ -351,6 +407,8 @@ fi %{_mandir}/man8/ceph-conf.8* %{_mandir}/man8/ceph-debugpack.8* %{_mandir}/man8/ceph-dencoder.8* +%{_mandir}/man8/ceph-deploy.8* +%{_mandir}/man8/ceph-disk.8* %{_mandir}/man8/ceph-mds.8* %{_mandir}/man8/ceph-mon.8* %{_mandir}/man8/ceph-osd.8* @@ -371,11 +429,16 @@ fi %{_mandir}/man8/rbd.8* %{_mandir}/man8/rbd-fuse.8* %{_mandir}/man8/rbd-replay.8* +%{_mandir}/man8/rbd-replay-many.8* %{_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)