X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ceph.spec;h=e6d36fc53a990e3036e1b7368b59d4d142d25fe1;hb=492b9f08920bc0e7ecb4d38a6eef53768a6f51d0;hp=f4f723be99ae991c4f11c95c2e4918ae553d1297;hpb=548e0d3fb0552d96982256edf53b37f1d7b0e297;p=packages%2Fceph.git diff --git a/ceph.spec b/ceph.spec index f4f723b..e6d36fc 100644 --- a/ceph.spec +++ b/ceph.spec @@ -1,25 +1,49 @@ -# TODO: --with-kinetic? +# 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 zfs # ZFS support +%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 +%endif # 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.84 +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: c7d8c8483cf1cef4dfb529500ed7ea93 +# 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 +%{?with_babeltrace:BuildRequires: babeltrace-devel} BuildRequires: boost-devel >= 1.34 -BuildRequires: cryptopp-devel BuildRequires: curl-devel BuildRequires: expat-devel >= 1.95 BuildRequires: fcgi-devel @@ -28,6 +52,7 @@ BuildRequires: gdbm-devel BuildRequires: jdk %endif BuildRequires: keyutils-devel +%{?with_kinetic:BuildRequires: kinetic-cpp-client} BuildRequires: leveldb-devel >= 1.2 BuildRequires: libaio-devel BuildRequires: libatomic_ops @@ -37,13 +62,16 @@ BuildRequires: libfuse-devel BuildRequires: libltdl-devel BuildRequires: libs3-devel BuildRequires: libstdc++-devel -BuildRequires: libtcmalloc-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 -BuildRequires: rpmbuild(macros) >= 1.228 +%{?with_rocksdb:BuildRequires: rocksdb-devel} +BuildRequires: rpmbuild(macros) >= 1.671 BuildRequires: snappy-devel BuildRequires: udev-devel BuildRequires: xfsprogs-devel @@ -54,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) @@ -86,7 +116,7 @@ License: LGPL v2.1 Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: boost-devel >= 1.34 -Requires: cryptopp-devel +Requires: nss-devel Requires: leveldb-devel Requires: libatomic_ops Requires: libuuid-devel @@ -181,6 +211,8 @@ Agenci OCF do monitorowania procesów Cepha. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %{__libtoolize} @@ -195,8 +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-cryptopp \ + %{!?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 \ @@ -204,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 \ @@ -218,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} @@ -237,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 @@ -254,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 @@ -266,17 +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_filestore_dump -%attr(755,root,root) %{_bindir}/ceph_filestore_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 @@ -284,6 +344,9 @@ fi %attr(755,root,root) %{_bindir}/rados %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 %attr(755,root,root) /sbin/ceph-disk-activate @@ -299,12 +362,26 @@ fi %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_fail_to_initialize.so* %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_fail_to_register.so* %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_hangs.so* +%ifarch %{x8664} +%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_isa.so* +%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 @@ -330,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* @@ -349,10 +428,17 @@ fi %{_mandir}/man8/radosgw-admin.8* %{_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)