Package: freebsd-libs Severity: wishlist Tags: patch This patch adds libzfs and related libraries to freebsd-libs:
libzfs libavl libnvpair libuutil These are all the libraries necessary to build the ZFS tools (zpool and zfs). I will provide a patch for freebsd-utils too.
diff -Nur freebsd-libs-8.0.old/debian/control freebsd-libs-8.0/debian/control --- freebsd-libs-8.0.old/debian/control 2010-07-27 19:54:52.000000000 -0400 +++ freebsd-libs-8.0/debian/control 2010-07-27 19:59:31.942892493 -0400 @@ -218,3 +218,17 @@ Description: Development files for libkiconv This package contains the header files and static library needed to compile applications that use libkiconv. + +Package: libzfs0 +Architecture: kfreebsd-any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: FreeBSD ZFS and related libraries + The ZFS libraries provide support for managing ZFS filesystems. + +Package: libzfs-dev +Section: libdevel +Architecture: kfreebsd-any +Depends: libzfs0 (= ${binary:Version}), ${misc:Depends}, libc0.1-dev | libc-dev +Description: Development files for libzfs + This package contains the header files and static library needed to + compile applications that use libzfs. diff -Nur freebsd-libs-8.0.old/debian/libzfs0.install freebsd-libs-8.0/debian/libzfs0.install --- freebsd-libs-8.0.old/debian/libzfs0.install 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/libzfs0.install 2010-07-27 20:18:10.902701936 -0400 @@ -0,0 +1,4 @@ +usr/lib/libavl*.so.* lib +usr/lib/libzfs*.so.* lib +usr/lib/libuutil*.so.* lib +usr/lib/libnvpair*.so.* lib diff -Nur freebsd-libs-8.0.old/debian/libzfs-dev.install freebsd-libs-8.0/debian/libzfs-dev.install --- freebsd-libs-8.0.old/debian/libzfs-dev.install 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/libzfs-dev.install 2010-07-27 20:03:31.842799801 -0400 @@ -0,0 +1,8 @@ +usr/lib/libavl*.a +usr/lib/libavl.so +usr/lib/libzfs*.a +usr/lib/libzfs.so +usr/lib/libuutil*.a +usr/lib/libuutil.so +usr/lib/libnvpair*.a +usr/lib/libnvpair.so diff -Nur freebsd-libs-8.0.old/debian/patches/14_zfs_glibc_kludge.diff freebsd-libs-8.0/debian/patches/14_zfs_glibc_kludge.diff --- freebsd-libs-8.0.old/debian/patches/14_zfs_glibc_kludge.diff 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/patches/14_zfs_glibc_kludge.diff 2010-07-27 20:08:27.215970169 -0400 @@ -0,0 +1,96 @@ +diff -ur -x debian freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/mnttab.c freebsd-libs-8.0/cddl/compat/opensolaris/misc/mnttab.c +--- freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/mnttab.c 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/cddl/compat/opensolaris/misc/mnttab.c 2010-07-27 20:07:02.656479850 -0400 +@@ -89,7 +89,7 @@ + } + + int +-getmntany(FILE *fd __unused, struct mnttab *mgetp, struct mnttab *mrefp) ++getmntany(FILE *fd, struct mnttab *mgetp, struct mnttab *mrefp) + { + static struct statfs *sfs = NULL; + static char mntopts[MNTMAXSTR]; +diff -ur -x debian freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/zmount.c freebsd-libs-8.0/cddl/compat/opensolaris/misc/zmount.c +--- freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/zmount.c 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/cddl/compat/opensolaris/misc/zmount.c 2010-07-27 20:07:02.659058030 -0400 +@@ -92,6 +92,9 @@ + iov = NULL; + iovlen = 0; + build_iovec(&iov, &iovlen, "fstype", fstype, (size_t)-1); ++#ifndef __DECONST ++#define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) ++#endif + build_iovec(&iov, &iovlen, "fspath", __DECONST(char *, dir), + (size_t)-1); + build_iovec(&iov, &iovlen, "from", __DECONST(char *, spec), (size_t)-1); +diff -ur -x debian freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libuutil/common/uu_pname.c freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libuutil/common/uu_pname.c +--- freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libuutil/common/uu_pname.c 2008-03-28 18:16:18.000000000 -0400 ++++ freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libuutil/common/uu_pname.c 2010-07-27 20:07:02.660028620 -0400 +@@ -31,7 +31,7 @@ + #include <libintl.h> + #include <limits.h> + #include <string.h> +-#include <stdlib.h> ++#include </usr/include/stdlib.h> + #include <stdarg.h> + #include <stdio.h> + #include <errno.h> +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/rpc/xdr.h freebsd-libs-8.0/sys/cddl/compat/opensolaris/rpc/xdr.h +--- freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/rpc/xdr.h 2009-08-19 20:08:58.000000000 -0400 ++++ freebsd-libs-8.0/sys/cddl/compat/opensolaris/rpc/xdr.h 2010-07-27 20:07:02.661041790 -0400 +@@ -32,7 +32,31 @@ + + #include_next <rpc/xdr.h> + +-#ifndef _KERNEL ++/* Copied from the FreeBSD version of <rpc/xdr.h> */ ++#ifdef __GLIBC__ ++/* ++ * These are XDR control operators ++ */ ++ ++#define XDR_GET_BYTES_AVAIL 1 ++#define XDR_PEEK 2 ++#define XDR_SKIPBYTES 3 ++ ++struct xdr_bytesrec { ++ bool_t xc_is_last_record; ++ size_t xc_num_avail; ++}; ++ ++typedef struct xdr_bytesrec xdr_bytesrec; ++#endif ++ ++#if defined(__GLIBC__) ++ ++/* GNU libc doesn't implement XDR control method */ ++#define XDR_CONTROL(xdrs, req, op) (1) ++#define xdr_control(xdrs, req, op) XDR_CONTROL(xdrs, req, op) ++ ++#elif !defined(_KERNEL) + + #include <assert.h> + +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/types.h freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/types.h +--- freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/types.h 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/types.h 2010-07-27 20:07:02.662057600 -0400 +@@ -66,7 +66,7 @@ + typedef int major_t; + + #else +-#ifdef NEED_SOLARIS_BOOLEAN ++#if 1 //def NEED_SOLARIS_BOOLEAN + #if defined(__XOPEN_OR_POSIX) + typedef enum { _B_FALSE, _B_TRUE } boolean_t; + #else +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h freebsd-libs-8.0/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h +--- freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h 2008-05-22 03:33:39.000000000 -0400 ++++ freebsd-libs-8.0/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h 2010-07-27 20:07:02.664079110 -0400 +@@ -34,6 +34,7 @@ + #pragma ident "%Z%%M% %I% %E% SMI" + + #include <sys/types.h> ++//#include_next <sys/debug.h> + + #ifdef __cplusplus + extern "C" { diff -Nur freebsd-libs-8.0.old/debian/patches/15_zfs_glibc_misc.diff freebsd-libs-8.0/debian/patches/15_zfs_glibc_misc.diff --- freebsd-libs-8.0.old/debian/patches/15_zfs_glibc_misc.diff 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/patches/15_zfs_glibc_misc.diff 2010-07-27 20:09:23.819255269 -0400 @@ -0,0 +1,59 @@ +diff -ur -x debian freebsd-libs-8.0.old/cddl/contrib/opensolaris/head/thread.h freebsd-libs-8.0/cddl/contrib/opensolaris/head/thread.h +--- freebsd-libs-8.0.old/cddl/contrib/opensolaris/head/thread.h 2009-07-09 16:22:05.000000000 -0400 ++++ freebsd-libs-8.0/cddl/contrib/opensolaris/head/thread.h 2010-07-27 20:09:06.102102259 -0400 +@@ -30,7 +30,10 @@ + #pragma ident "%Z%%M% %I% %E% SMI" + + #include <pthread.h> ++/* On GNU libc, non-POSIX facilities are in <pthread.h> */ ++#ifndef __GLIBC__ + #include <pthread_np.h> ++#endif + #include <assert.h> + + /* +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/sysmacros.h freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/sysmacros.h +--- freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/sysmacros.h 2009-02-28 11:21:25.000000000 -0500 ++++ freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/sysmacros.h 2010-07-27 20:09:06.103115289 -0400 +@@ -103,7 +103,7 @@ + * High order bit is 31 (or 63 in _LP64 kernel). + */ + static __inline int +-highbit(ulong_t i) ++highbit(unsigned long i) + { + register int h = 1; + +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/time.h freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/time.h +--- freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/time.h 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/time.h 2010-07-27 20:09:06.104125719 -0400 +@@ -29,7 +29,12 @@ + #ifndef _OPENSOLARIS_SYS_TIME_H_ + #define _OPENSOLARIS_SYS_TIME_H_ + ++/* GNU libc has <sys/time.h> but no <time.h> */ ++#ifdef __GLIBC__ ++#include_next <time.h> ++#else + #include_next <sys/time.h> ++#endif + + #define SEC 1 + #define MILLISEC 1000 +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c freebsd-libs-8.0/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c +--- freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c 2009-08-15 22:21:24.000000000 -0400 ++++ freebsd-libs-8.0/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c 2010-07-27 20:09:06.109193269 -0400 +@@ -2199,11 +2199,11 @@ + int err = 0; + nvstream_t nvs; + int nvl_endian; +-#if BYTE_ORDER == _LITTLE_ENDIAN ++#if BYTE_ORDER == LITTLE_ENDIAN + int host_endian = 1; + #else + int host_endian = 0; +-#endif /* _LITTLE_ENDIAN */ ++#endif /* LITTLE_ENDIAN */ + nvs_header_t *nvh = (void *)buf; + + if (buflen == NULL || nvl == NULL || diff -Nur freebsd-libs-8.0.old/debian/patches/16_zfs_glibc_namespace.diff freebsd-libs-8.0/debian/patches/16_zfs_glibc_namespace.diff --- freebsd-libs-8.0.old/debian/patches/16_zfs_glibc_namespace.diff 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/patches/16_zfs_glibc_namespace.diff 2010-07-27 20:10:05.610706069 -0400 @@ -0,0 +1,124 @@ +diff -ur -x debian freebsd-libs-8.0.old/cddl/compat/opensolaris/include/solaris.h freebsd-libs-8.0/cddl/compat/opensolaris/include/solaris.h +--- freebsd-libs-8.0.old/cddl/compat/opensolaris/include/solaris.h 2008-04-22 03:43:00.000000000 -0400 ++++ freebsd-libs-8.0/cddl/compat/opensolaris/include/solaris.h 2010-07-27 20:09:52.788482289 -0400 +@@ -5,6 +5,9 @@ + + #include <sys/ccompile.h> + ++/* GNU libc has its own dirent64 declaration */ ++#ifndef __GLIBC__ + #define dirent64 dirent ++#endif + + #endif /* !_SOLARIS_H_ */ +diff -ur -x debian freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/fsshare.c freebsd-libs-8.0/cddl/compat/opensolaris/misc/fsshare.c +--- freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/fsshare.c 2008-03-28 18:16:18.000000000 -0400 ++++ freebsd-libs-8.0/cddl/compat/opensolaris/misc/fsshare.c 2010-07-27 20:09:52.789492219 -0400 +@@ -67,7 +67,7 @@ + * mountpoint specified in the 'skip' argument. + */ + static char * +-getline(FILE *fd, const char *skip) ++xgetline(FILE *fd, const char *skip) + { + static char line[MAXLINESIZE]; + size_t len, skiplen; +@@ -198,7 +198,7 @@ + + /* Place big, fat warning at the begining of the file. */ + fprintf(newfd, "%s", FILE_HEADER); +- while (oldfd != NULL && (line = getline(oldfd, mountpoint)) != NULL) ++ while (oldfd != NULL && (line = xgetline(oldfd, mountpoint)) != NULL) + fprintf(newfd, "%s\n", line); + if (oldfd != NULL && ferror(oldfd) != 0) { + error = ferror(oldfd); +diff -ur -x debian freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/mnttab.c freebsd-libs-8.0/cddl/compat/opensolaris/misc/mnttab.c +--- freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/mnttab.c 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/cddl/compat/opensolaris/misc/mnttab.c 2010-07-27 20:09:52.790512709 -0400 +@@ -63,7 +63,7 @@ + } + + char * +-hasmntopt(struct mnttab *mnt, char *opt) ++solaris_hasmntopt(struct mnttab *mnt, char *opt) + { + char tmpopts[MNT_LINE_MAX]; + char *f, *opts = tmpopts; +diff -ur -x debian freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c +--- freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c 2010-07-27 20:09:52.798610639 -0400 +@@ -2166,11 +2166,11 @@ + case ZFS_PROP_NBMAND: + *val = getprop_uint64(zhp, prop, source); + +- if (hasmntopt(&mnt, mntopt_on) && !*val) { ++ if (solaris_hasmntopt(&mnt, mntopt_on) && !*val) { + *val = B_TRUE; + if (src) + *src = ZPROP_SRC_TEMPORARY; +- } else if (hasmntopt(&mnt, mntopt_off) && *val) { ++ } else if (solaris_hasmntopt(&mnt, mntopt_off) && *val) { + *val = B_FALSE; + if (src) + *src = ZPROP_SRC_TEMPORARY; +diff -ur -x debian freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c +--- freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c 2009-07-09 16:22:05.000000000 -0400 ++++ freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c 2010-07-27 20:09:52.800641669 -0400 +@@ -463,7 +463,7 @@ + /*ARGSUSED*/ + int + vn_rdwr(int uio, vnode_t *vp, void *addr, ssize_t len, offset_t offset, +- int x1, int x2, rlim64_t x3, void *x4, ssize_t *residp) ++ int x1, int x2, solaris_rlim64_t x3, void *x4, ssize_t *residp) + { + ssize_t iolen, split; + +diff -ur -x debian freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h +--- freebsd-libs-8.0.old/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h 2009-07-09 16:22:05.000000000 -0400 ++++ freebsd-libs-8.0/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h 2010-07-27 20:09:52.802661419 -0400 +@@ -105,8 +105,8 @@ + + #define ZFS_LOG(...) do { } while (0) + +-typedef u_longlong_t rlim64_t; +-#define RLIM64_INFINITY ((rlim64_t)-3) ++typedef u_longlong_t solaris_rlim64_t; ++#define RLIM64_INFINITY ((solaris_rlim64_t)-3) + + #ifdef ZFS_DEBUG + extern void dprintf_setup(int *argc, char **argv); +@@ -438,7 +438,7 @@ + extern int vn_openat(char *path, int x1, int oflags, int mode, vnode_t **vpp, + int x2, int x3, vnode_t *vp, int fd); + extern int vn_rdwr(int uio, vnode_t *vp, void *addr, ssize_t len, +- offset_t offset, int x1, int x2, rlim64_t x3, void *x4, ssize_t *residp); ++ offset_t offset, int x1, int x2, solaris_rlim64_t x3, void *x4, ssize_t *residp); + extern void vn_close(vnode_t *vp, int openflag, cred_t *cr, kthread_t *td); + + #define vn_remove(path, x1, x2) remove(path) +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/dirent.h freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/dirent.h +--- freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/dirent.h 2008-03-28 18:16:18.000000000 -0400 ++++ freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/dirent.h 2010-07-27 20:09:52.803673879 -0400 +@@ -32,7 +32,10 @@ + #include_next <sys/dirent.h> + + typedef struct dirent dirent64_t; ++/* GNU libc has its own dirent64 declaration */ ++#ifndef __GLIBC__ + #define dirent64 dirent ++#endif + #define ino64_t ino_t + + #define d_ino d_fileno +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c freebsd-libs-8.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c +--- freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c 2009-10-12 16:36:55.000000000 -0400 ++++ freebsd-libs-8.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c 2010-07-27 20:09:52.816846339 -0400 +@@ -677,7 +677,7 @@ + zfs_write(vnode_t *vp, uio_t *uio, int ioflag, cred_t *cr, caller_context_t *ct) + { + znode_t *zp = VTOZ(vp); +- rlim64_t limit = MAXOFFSET_T; ++ solaris_rlim64_t limit = MAXOFFSET_T; + ssize_t start_resid = uio->uio_resid; + ssize_t tx_bytes; + uint64_t end_size; diff -Nur freebsd-libs-8.0.old/debian/patches/17_zfs_stdint.diff freebsd-libs-8.0/debian/patches/17_zfs_stdint.diff --- freebsd-libs-8.0.old/debian/patches/17_zfs_stdint.diff 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/patches/17_zfs_stdint.diff 2010-07-27 20:10:50.934592629 -0400 @@ -0,0 +1,36 @@ +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/types.h freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/types.h +--- freebsd-libs-8.0.old/sys/cddl/compat/opensolaris/sys/types.h 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/sys/cddl/compat/opensolaris/sys/types.h 2010-07-27 20:10:36.439355449 -0400 +@@ -33,7 +33,7 @@ + * This is a bag of dirty hacks to keep things compiling. + */ + +-#include <sys/stdint.h> ++#include <stdint.h> + #include_next <sys/types.h> + + #define MAXNAMELEN 256 +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/common/avl/avl.c freebsd-libs-8.0/sys/cddl/contrib/opensolaris/common/avl/avl.c +--- freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/common/avl/avl.c 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/sys/cddl/contrib/opensolaris/common/avl/avl.c 2010-07-27 20:10:36.441379999 -0400 +@@ -92,7 +92,7 @@ + + #include <sys/types.h> + #include <sys/param.h> +-#include <sys/stdint.h> ++#include <stdint.h> + #include <sys/debug.h> + #include <sys/avl.h> + +diff -ur -x debian freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h freebsd-libs-8.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h +--- freebsd-libs-8.0.old/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h 2009-08-17 05:03:47.000000000 -0400 ++++ freebsd-libs-8.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h 2010-07-27 20:10:36.442398029 -0400 +@@ -33,7 +33,7 @@ + #endif + + #include <sys/param.h> +-#include <sys/stdint.h> ++#include <stdint.h> + #include <sys/note.h> + #include <sys/kernel.h> + #include <sys/debug.h> diff -Nur freebsd-libs-8.0.old/debian/patches/18_zfs_makefile.diff freebsd-libs-8.0/debian/patches/18_zfs_makefile.diff --- freebsd-libs-8.0.old/debian/patches/18_zfs_makefile.diff 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/patches/18_zfs_makefile.diff 2010-07-27 20:13:40.403051378 -0400 @@ -0,0 +1,10 @@ +diff -ur -x debian freebsd-libs-8.0.old/cddl/lib/libzfs/Makefile freebsd-libs-8.0/cddl/lib/libzfs/Makefile +--- freebsd-libs-8.0.old/cddl/lib/libzfs/Makefile 2008-11-17 15:49:29.000000000 -0500 ++++ freebsd-libs-8.0/cddl/lib/libzfs/Makefile 2010-07-27 20:11:17.801799169 -0400 +@@ -47,5 +47,6 @@ + CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libnvpair + CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libuutil/common + CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs/common ++CFLAGS+= -I${.CURDIR}/../../../lib/libgeom + + .include <bsd.lib.mk> diff -Nur freebsd-libs-8.0.old/debian/patches/19_zfs_mountd.diff freebsd-libs-8.0/debian/patches/19_zfs_mountd.diff --- freebsd-libs-8.0.old/debian/patches/19_zfs_mountd.diff 1969-12-31 19:00:00.000000000 -0500 +++ freebsd-libs-8.0/debian/patches/19_zfs_mountd.diff 2010-07-27 20:12:04.869561328 -0400 @@ -0,0 +1,29 @@ +diff -ur -x debian freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/fsshare.c freebsd-libs-8.0/cddl/compat/opensolaris/misc/fsshare.c +--- freebsd-libs-8.0.old/cddl/compat/opensolaris/misc/fsshare.c 2008-03-28 18:16:18.000000000 -0400 ++++ freebsd-libs-8.0/cddl/compat/opensolaris/misc/fsshare.c 2010-07-27 20:11:53.585550998 -0400 +@@ -35,7 +35,6 @@ + #include <errno.h> + #include <libutil.h> + #include <assert.h> +-#include <pathnames.h> /* _PATH_MOUNTDPID */ + #include <fsshare.h> + + #define FILE_HEADER "# !!! DO NOT EDIT THIS FILE MANUALLY !!!\n\n" +@@ -45,6 +44,9 @@ + static void + restart_mountd(void) + { ++ fprintf (stderr, "warning: mountd isn't supported in " ++ "Debian GNU/kFreeBSD yet\n"); ++#if 0 + struct pidfh *pfh; + pid_t mountdpid; + +@@ -60,6 +62,7 @@ + } + /* We have mountd(8) PID in mountdpid varible. */ + kill(mountdpid, SIGHUP); ++#endif + } + + /* diff -Nur freebsd-libs-8.0.old/debian/patches/series freebsd-libs-8.0/debian/patches/series --- freebsd-libs-8.0.old/debian/patches/series 2010-07-27 19:54:52.000000000 -0400 +++ freebsd-libs-8.0/debian/patches/series 2010-07-27 20:14:20.471386297 -0400 @@ -10,3 +10,9 @@ 11_netgraph.diff 12_usb.diff 13_libusb-update.diff +14_zfs_glibc_kludge.diff +15_zfs_glibc_misc.diff +16_zfs_glibc_namespace.diff +17_zfs_stdint.diff +18_zfs_makefile.diff +19_zfs_mountd.diff diff -Nur freebsd-libs-8.0.old/debian/rules freebsd-libs-8.0/debian/rules --- freebsd-libs-8.0.old/debian/rules 2010-07-27 19:54:52.000000000 -0400 +++ freebsd-libs-8.0/debian/rules 2010-07-27 20:18:49.584629926 -0400 @@ -9,7 +9,7 @@ # This has to be exported to make some magic below work. export DH_OPTIONS -CFLAGS = -Wall -g -pipe -fPIC -I. -D_GNU_SOURCE -D'__FBSDID(string)=' +CFLAGS = -Wall -g -pipe -fPIC -I. -D_GNU_SOURCE -D'__FBSDID(string)=' -D__va_list=__builtin_va_list ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 @@ -31,6 +31,14 @@ for i in lib/libcam lib/libdevstat lib/libgeom lib/libipx \ lib/libkiconv lib/libnetgraph \ lib/libkvm lib/libmemstat lib/libsbuf lib/libusb \ + cddl/lib/libzfs \ + cddl/lib/libnvpair \ + cddl/lib/libuutil \ + cddl/lib/libavl \ + cddl/compat/opensolaris \ + cddl/contrib/opensolaris \ + sys/cddl/compat/opensolaris \ + sys/cddl/contrib/opensolaris \ lib/libusbhid sys/cam ; do \ svn export $(SVN)/$$i $(ORIGDIR)/$$i ; \ done @@ -48,7 +56,7 @@ QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2 touch $@ -build: build-cam build-geom build-sbuf build-ipx build-kiconv build-kvm build-usbhid build-usb build-devstat build-memstat build-netgraph +build: build-cam build-geom build-sbuf build-ipx build-kiconv build-kvm build-usbhid build-usb build-devstat build-memstat build-netgraph build-zfs build-cam: build-cam-stamp build-cam-stamp: patch build-sbuf @@ -105,6 +113,14 @@ $(PMAKE) -C $(CURDIR)/lib/libusb touch $@ +build-zfs: build-zfs-stamp +build-zfs-stamp: patch + $(PMAKE) -C $(CURDIR)/cddl/lib/libavl + $(PMAKE) -C $(CURDIR)/cddl/lib/libzfs + $(PMAKE) -C $(CURDIR)/cddl/lib/libnvpair + $(PMAKE) -C $(CURDIR)/cddl/lib/libuutil + touch $@ + clean: dh_testdir dh_testroot @@ -119,6 +135,10 @@ $(PMAKE) -C $(CURDIR)/lib/libsbuf clean $(PMAKE) -C $(CURDIR)/lib/libusbhid clean $(PMAKE) -C $(CURDIR)/lib/libusb clean + $(PMAKE) -C $(CURDIR)/cddl/lib/libavl clean + $(PMAKE) -C $(CURDIR)/cddl/lib/libzfs clean + $(PMAKE) -C $(CURDIR)/cddl/lib/libnvpair clean + $(PMAKE) -C $(CURDIR)/cddl/lib/libuutil clean QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2 rm -rf .pc rm -f *stamp @@ -142,6 +162,10 @@ $(PMAKE) -C $(CURDIR)/lib/libnetgraph install $(PMAKE) -C $(CURDIR)/lib/libusbhid install $(PMAKE) -C $(CURDIR)/lib/libusb install + $(PMAKE) -C $(CURDIR)/cddl/lib/libavl install + $(PMAKE) -C $(CURDIR)/cddl/lib/libzfs install + $(PMAKE) -C $(CURDIR)/cddl/lib/libnvpair install + $(PMAKE) -C $(CURDIR)/cddl/lib/libuutil install mkdir -p $(CURDIR)/debian/tmp/usr/lib/pkgconfig install -m644 debian/libusb*.pc $(CURDIR)/debian/tmp/usr/lib/pkgconfig