diff --git a/Makefile b/Makefile index 24956d1..b674f83 100644 --- a/Makefile +++ b/Makefile @@ -8,21 +8,28 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -DEPENDS = glibc,spl,util-linux,zlib -ARCH = x86_64 -URL = http://zfsonlinux.org/ +export SRCPKG = zfs +export DEPENDS = glibc,libzfs,util-linux,zlib +export ARCH = x86_64 +export URL = http://zfsonlinux.org/ +BRIEF = Module and utilities for the ZFS file system DESC = ZFS is an advanced file system and volume manager which was originally \ developed for Solaris and is now maintained by the Illumos community. -SNAPVER = sr0 +SNAPVER = 3 ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//') PATCHDIR := $(PWD)/SRC/patches UPVER := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//') -VERSION := $(UPVER)$(SNAPVER) +export VERSION := $(UPVER)-$(SNAPVER) SPLPATH := $(shell readlink -f ../spl/spl-$(UPVER)) +LIB := $(PWD)/libzfs +LIBROOT := $(LIB)/ROOT +DEV := $(PWD)/zfs-dev +DEVROOT := $(DEV)/ROOT + include /usr/share/snap/Makefile.snaplinux $(SRCDIR)/configure: $(ARCHIVE) @@ -47,10 +54,13 @@ $(SRCDIR)/config.log: $(SRCDIR)/configure done @cd $(SRCDIR); \ ./configure \ + --prefix=/usr \ --with-spl=$(SPLPATH) \ --bindir=/bin \ --sbindir=/sbin \ + --libdir=/lib \ --program-prefix='' \ + --disable-systemd \ --build=x86_64-snap-linux-gnu \ --host=x86_64-snap-linux-gnu \ --target=x86_64-snap-linux-gnu @@ -67,12 +77,29 @@ $(ROOT): $(SRCDIR)/module/zfs/zfs.ko @cd $(SRCDIR) && make install DESTDIR=$(ROOT) + @install -v -d $(LIB)/SNAP && \ + install -v -d $(LIBROOT) && \ + install -v -d -m 755 $(LIBROOT)/lib && \ + install -v -d $(DEV)/SNAP && \ + install -v -d $(DEVROOT) && \ + mv -v $(ROOT)/lib/libzfs{_core,.so}* $(LIBROOT)/lib && \ + for file in `find $(ROOT)|egrep 'man3\/|\.a$$|\.c$$|\.h$$'`; do \ + path=`dirname $$file|sed "s[$(ROOT)[$(DEVROOT)["`; \ + mkdir -p $$path; \ + mv $$file $$path; \ + done && \ + find $(ROOT) -type d -empty -delete && \ + cd $(LIB) && make -f ../Makefile.libzfs && mv *.snap ../ && \ + cd $(DEV) && make -f ../Makefile.zfs-dev && mv *.snap ../ + test: $(ROOT) @cd $(SRCDIR); \ make check clean: @rm -rvf $(ROOT) \ + $(LIB) \ + $(DEV) \ $(SNAPINFO) \ $(MANIFEST) \ $(FILES) \ diff --git a/Makefile.libzfs b/Makefile.libzfs new file mode 100644 index 0000000..5c5f072 --- /dev/null +++ b/Makefile.libzfs @@ -0,0 +1,15 @@ +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation here: +# (http://www.gnu.org/licenses/gpl-2.0.html) +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +DEPENDS = glibc,util-linux,zlib +BRIEF = Runtime library for ZFS +DESC = Runtime library for ZFS + +include /usr/share/snap/Makefile.snaplinux diff --git a/Makefile.zfs-dev b/Makefile.zfs-dev new file mode 100644 index 0000000..802058d --- /dev/null +++ b/Makefile.zfs-dev @@ -0,0 +1,15 @@ +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation here: +# (http://www.gnu.org/licenses/gpl-2.0.html) +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +DEPENDS = libzfs +BRIEF = Development files for ZFS +DESC = Development files for ZFS + +include /usr/share/snap/Makefile.snaplinux