From: Sage Weil Date: Fri, 11 Jul 2008 00:24:26 +0000 (-0700) Subject: ceph.spec for building RPMS X-Git-Tag: v0.3~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a1c3ea1d69c22d96a92ebba36eb19320c084997f;p=ceph.git ceph.spec for building RPMS From: Erwin, Brock A --- diff --git a/ceph.spec b/ceph.spec new file mode 100644 index 000000000000..fb30dcc16107 --- /dev/null +++ b/ceph.spec @@ -0,0 +1,110 @@ +%define pkg_version 0.3 +%define kernel 2.6.23.1-42.fc8 +# 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 "" + +Name: ceph +Version: %{pkg_version}~gitdccae6d2cdff13f6a1ce545fde2623222222979a +Release: 1%{?dist} +Packager: Brock Erwin +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} +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. + +%package mon +Summary: ceph monitor and admin binaries +Group: Utilities/System +Requires: libstdc++, glibc-devel, glibc, libgcc +%description mon +monitor and admin binaries + +%package mds +Summary: ceph mds binaries +Group: Utilities/System +Requires: libstdc++, glibc-devel, glibc, libgcc +%description mds +mds binaries + +%package osd +Summary: ceph osd binaries +Group: Utilities/System +Requires: libstdc++, glibc-devel, glibc, libgcc +%description osd +osd binaries + +%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 + +%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 + + +%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 +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 +install INSTALL $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 +