OpenZFS on Linux and FreeBSD
Go to file
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
cmd Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
config Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
etc Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
include Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
lib Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
man Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
module Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
patches Add build system 2010-08-31 13:41:27 -07:00
scripts Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
AUTHORS Add AUTHORS to master branch 2010-05-18 14:55:01 -07:00
COPYING Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
COPYRIGHT Update COPYRIGHT to reference zpios CDDL exceptions. 2010-05-18 14:25:28 -07:00
ChangeLog Add build system 2010-08-31 13:41:27 -07:00
DISCLAIMER Update COPYRIGHT and DISCLAIMER. 2010-05-18 10:32:23 -07:00
META Prep for zfs-0.5.1 tag 2010-09-01 16:00:15 -07:00
Makefile.am Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
Makefile.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Add quick build instructions 2010-09-01 11:23:13 -07:00
ZFS.RELEASE Update to onnv_147 2010-08-26 14:24:34 -07:00
autogen.sh Minor packaging fixes 2010-09-01 15:42:32 -07:00
configure Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
configure.ac Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs-modules.spec.in Add build system 2010-08-31 13:41:27 -07:00
zfs-script-config.sh.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs.spec.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_config.h.in Add initial autoconf products 2010-08-31 13:42:02 -07:00

README.markdown

Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!

To build packages for your distribution, first build and install the SPL packages http://wiki.github.com/behlendorf/spl/ then:

$ ./configure $ make pkg

Full documentation for building, configuring, and using ZFS can be found at: http://wiki.github.com/behlendorf/zfs/