ceph/ceph.spec

120 lines
3.0 KiB
RPMSpec
Raw Normal View History

2008-07-11 22:55:19 +00:00
%define pkg_version @VERSION@
# Build against the running kernel - this can be changed to whatever
kernel version you want to build against.
%define kernel %(uname -r)
%define mybuildroot
%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define optflags ""
2008-07-11 22:55:19 +00:00
Name: ceph
Version: %{pkg_version}
Release: 1%{?dist}
Packager: Brock Erwin <brock.erwin@pnl.gov>
Summary: ceph mon, mds, osd, fuse-client, and kernel-client
License: LGPL
Group: Utilities/System
URL: http://ceph.newdream.net/
Source: %{name}-%{pkg_version}.tar.gz
BuildRequires: gcc-c++, libtool, libtool-ltdl-devel, boost-devel, git,
perl, perl-devel, gdbm, kernel-devel == %{kernel}
2008-07-11 22:55:19 +00:00
BuildRoot: %{mybuildroot}
Requires: ceph-mon, ceph-mds, ceph-osd, kmod-ceph-%{kernel}
%description
Ceph is a distributed network file system designed to provide excellent
performance, reliability, and scalability.
2008-07-11 22:55:19 +00:00
%package mon
Summary: ceph monitor and admin binaries
2008-07-11 22:55:19 +00:00
Group: Utilities/System
Requires: libstdc++, glibc-devel, glibc, libgcc
%description mon
monitor and admin binaries
2008-07-11 22:55:19 +00:00
%package mds
Summary: ceph mds binaries
2008-07-11 22:55:19 +00:00
Group: Utilities/System
Requires: libstdc++, glibc-devel, glibc, libgcc
%description mds
mds binaries
2008-07-11 22:55:19 +00:00
%package osd
Summary: ceph osd binaries
Group: Utilities/System
Requires: libstdc++, glibc-devel, glibc, libgcc
%description osd
osd binaries
2008-07-11 22:55:19 +00:00
%package fuse-client
Summary: ceph fuse-based client
Group: Utilities/System
Requires: libstdc++, glibc-devel, glibc, libgcc, fuse-devel
%description fuse-client
fuse-based client
2008-07-11 22:55:19 +00:00
%package -n kmod-ceph-%{kernel}
Summary: kernel-client tools for mounting the ceph file system.
Group: Utilities/System
Requires: libstdc++, glibc-devel, glibc, libgcc
%description -n kmod-ceph-%{kernel}
kernel-client module
2008-07-11 22:55:19 +00:00
%package testing
Summary: kernel-client tools for mounting the ceph file system.
Group: Utilities/System
Requires: libstdc++, glibc-devel, glibc, libgcc
%description testing
Used as a placeholder for binaries that are installed but unused by the
user (testing purposes only)
%prep
%setup -q -n %{name}-%{pkg_version}
%build
./autogen.sh
%{configure}
make %{_smp_mflags}
make -C src/kernel KERNELDIR=/lib/modules/%{kernel}/build # Build the
kernel module
%install
%{makeinstall}
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{kernel}/extra
2008-07-11 22:55:19 +00:00
install src/kernel/ceph.ko $RPM_BUILD_ROOT/lib/modules/%{kernel}/extra
# Install the kernel module
mkdir -p $RPM_BUILD_ROOT/usr/share/ceph
install README $RPM_BUILD_ROOT/usr/share/ceph
%clean
rm -rf $RPM_BUILD_ROOT
%files
/usr/share/ceph/README
%files mon
%{_bindir}/cmon
%{_bindir}/cmonctl
%{_bindir}/crushtool
%{_bindir}/mkmonfs
%{_bindir}/monmaptool
%{_bindir}/osdmaptool
%{_bindir}/csyn
%files mds
%{_bindir}/cmds
%files osd
%{_bindir}/cosd
%{_bindir}/dupstore
%files fuse-client
%{_bindir}/cfuse
%files -n kmod-ceph-%{kernel}
/lib/modules/%{kernel}/extra/ceph.ko
2008-07-11 22:55:19 +00:00
%files testing
%{_bindir}/dumpjournal
%{_bindir}/streamtest