freebsd-dev/zfs.spec.in
Brian Behlendorf 6283f55ea1 Support custom build directories and move includes
One of the neat tricks an autoconf style project is capable of
is allow configurion/building in a directory other than the
source directory.  The major advantage to this is that you can
build the project various different ways while making changes
in a single source tree.

For example, this project is designed to work on various different
Linux distributions each of which work slightly differently.  This
means that changes need to verified on each of those supported
distributions perferably before the change is committed to the
public git repo.

Using nfs and custom build directories makes this much easier.
I now have a single source tree in nfs mounted on several different
systems each running a supported distribution.  When I make a
change to the source base I suspect may break things I can
concurrently build from the same source on all the systems each
in their own subdirectory.

wget -c http://github.com/downloads/behlendorf/zfs/zfs-x.y.z.tar.gz
tar -xzf zfs-x.y.z.tar.gz
cd zfs-x-y-z

------------------------- run concurrently ----------------------
<ubuntu system>  <fedora system>  <debian system>  <rhel6 system>
mkdir ubuntu     mkdir fedora     mkdir debian     mkdir rhel6
cd ubuntu        cd fedora        cd debian        cd rhel6
../configure     ../configure     ../configure     ../configure
make             make             make             make
make check       make check       make check       make check

This change also moves many of the include headers from individual
incude/sys directories under the modules directory in to a single
top level include directory.  This has the advantage of making
the build rules cleaner and logically it makes a bit more sense.
2010-09-08 12:38:56 -07:00

80 lines
2.0 KiB
RPMSpec

%define name @PACKAGE@
%define version @VERSION@
%define release @ZFS_META_RELEASE@
%define debug_package %{nil}
Summary: ZFS Library and Utils
Group: Utilities/System
Name: %{name}
Version: %{version}
Release: %{release}
License: CDDL
URL: git://eris.llnl.gov/zfs.git
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id} -un)
Source: %{name}-%{version}.tar.gz
Requires: zlib e2fsprogs
BuildRequires: zlib-devel e2fsprogs-devel
%description
The %{name} package contains the libzfs library and support utilities
for the zfs file system.
%package devel
Summary: ZFS File System User Headers
Group: Development/Libraries
%if %{defined ch5} || %{defined el6} || %{defined fc12}
Requires: zlib libuuid libblkid
BuildRequires: zlib-devel libuuid-devel libblkid-devel
%else
Requires: zlib e2fsprogs
BuildRequires: zlib-devel e2fsprogs-devel
%endif
%description devel
The %{name}-devel package contains the header files needed for building
additional applications against the %{name} libraries.
%package test
Summary: ZFS File System Test Infrastructure
Group: Utilities/System
%description test
The %{name}-test package contains a test infrastructure for zpios which
can be used to simplfy the benchmarking of various hardware and software
configurations. The test infrastructure additionally integrates with
various system profiling tools to facilitate an in depth analysis.
%prep
%setup
%build
%configure --with-config=user --without-blkid
make
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc AUTHORS ChangeLog COPYING COPYRIGHT DISCLAIMER
%doc OPENSOLARIS.LICENSE README.markdown ZFS.RELEASE
%{_sbindir}/*
%{_bindir}/*
%{_libdir}/*
%{_mandir}/man8/*
/etc/*
%files devel
%defattr(-,root,root)
%{_includedir}/*
%files test
%defattr(-,root,root)
%{_libexecdir}/@PACKAGE@/*
%post
%postun