Bug#816764: zfsutils: Could be switched to use system libmd
Control: tags -1 patch
Hi!
On Sat, 2016-03-05 at 00:30:23 +0100, Guillem Jover wrote:
> Source: zfsutils
> Source-Version: 10.1~svn272500-1
> Severity: wishlist
> I noticed that this package contains an embedded version of libmd from
> FreeBSD. This package could be switched to use the now packaged libmd
> from the system.
I've implemented this now, but not build-tested it, just made sure the
patch applies. Attached.
Alos next time an upstream source is pulled the lib/libmd should
disappear from the source tarball, didn't consider it worth it to
remove that in a patch.
Thanks,
Guillem
Index: debian/control
===================================================================
--- debian/control (revision 6065)
+++ debian/control (working copy)
@@ -10,6 +10,7 @@
Build-Depends: debhelper (>= 7.0.50~),
freebsd-buildutils (>= 9.0-5~),
libbsd-dev (>= 0.3.0),
+ libmd-dev,
libc0.1-dev (>= 2.10),
kfreebsd-kernel-headers (>= 10.1~4~),
libgeom-dev,
Index: debian/patches/disable_libjail.diff
===================================================================
--- debian/patches/disable_libjail.diff (revision 6065)
+++ debian/patches/disable_libjail.diff (working copy)
@@ -1,7 +1,7 @@
--- a/cddl/sbin/zfs/Makefile
+++ b/cddl/sbin/zfs/Makefile
@@ -1,5 +1,7 @@
- # $FreeBSD$
+ # $FreeBSD: releng/10.1/cddl/sbin/zfs/Makefile 248571 2013-03-21 08:38:03Z mm $
+.include <bsd.own.mk>
+
Index: debian/patches/makefile.diff
===================================================================
--- debian/patches/makefile.diff (revision 6065)
+++ debian/patches/makefile.diff (working copy)
@@ -16,7 +16,7 @@
DPADD= ${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL} ${LIBM} ${LIBNVPAIR} \
${LIBAVL} ${LIBZFS_CORE}
-LDADD= -lmd -lpthread -lumem -lutil -lavl -lzfs_core
-+LDADD= ${.CURDIR}/../../../lib/libmd/libmd.a -lpthread -lumem -lzfs_core
++LDADD= -lmd -lpthread -lumem -lzfs_core
+
+LDADD+= -lbsd -lm -luutil -lnvpair -lgeom
+LDADD+= -L${.CURDIR}/../../../cddl/lib/libzfs_core
@@ -26,28 +26,18 @@
SRCS= deviceid.c \
fsshare.c \
-@@ -58,5 +64,6 @@
- CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libuutil/common
- CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs/common
- CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs_core/common
-+CFLAGS+= -I${.CURDIR}/../../../lib/libmd
-
- .include <bsd.lib.mk>
--- a/cddl/lib/libzpool/Makefile
+++ b/cddl/lib/libzpool/Makefile
-@@ -57,7 +57,14 @@
+@@ -57,7 +57,11 @@
CFLAGS+= -I${.CURDIR}/../../../lib/libthr/arch/${MACHINE_CPUARCH}/include
DPADD= ${LIBMD} ${LIBPTHREAD} ${LIBZ}
-LDADD= -lmd -lpthread -lz -lumem -lnvpair -lavl
-+LDADD= -lpthread -lz -lumem -lnvpair -lavl-illumos -lbsd -lrt
++LDADD= -lmd -lpthread -lz -lumem -lnvpair -lavl-illumos -lbsd -lrt
+
+LDADD+= -L${.CURDIR}/../../../cddl/lib/libumem
+LDADD+= -L${.CURDIR}/../../../cddl/lib/libnvpair
+LDADD+= -L${.CURDIR}/../../../cddl/lib/libavl
-+
-+CFLAGS+= -I${.CURDIR}/../../../lib/libmd
-+LDADD+= ${.CURDIR}/../../../lib/libmd/libmd.a
# atomic.S doesn't like profiling.
NO_PROFILE=
Index: debian/rules
===================================================================
--- debian/rules (revision 6065)
+++ debian/rules (working copy)
@@ -71,7 +71,6 @@
cddl/contrib/opensolaris/cmd/stat/common/ \
sys/cddl/compat/opensolaris \
sys/cddl/contrib/opensolaris \
- lib/libmd \
cddl/lib/libavl \
cddl/lib/libnvpair \
cddl/lib/libuutil \
@@ -92,7 +91,7 @@
build: build-arch build-indep
-build-arch: build-libmd build-libuutil build-libnvpair build-libzfs build-libumem build-libzpool build-zfsutils build-libavl
+build-arch: build-libuutil build-libnvpair build-libzfs build-libumem build-libzpool build-zfsutils build-libavl
build-indep:
# We have nothing to do by default.
@@ -115,7 +114,7 @@
build-libzpool: build-libzpool-stamp
-build-libzpool-stamp: build-libavl build-libnvpair-stamp build-libumem build-libmd
+build-libzpool-stamp: build-libavl build-libnvpair-stamp build-libumem
$(PMAKE) -C $(CURDIR)/cddl/lib/libzpool
touch $@
@@ -134,11 +133,6 @@
$(PMAKE) -C $(CURDIR)/cddl/lib/libzfs_core
touch $@
-build-libmd: build-libmd-stamp
-build-libmd-stamp:
- $(PMAKE) -C $(CURDIR)/lib/libmd
- touch $@
-
build-libavl: build-libavl-stamp
build-libavl-stamp:
$(PMAKE) -C $(CURDIR)/cddl/lib/libavl
@@ -176,7 +170,6 @@
$(PMAKE) -C $(CURDIR)/cddl/usr.sbin/zdb clean
$(PMAKE) -C $(CURDIR)/cddl/usr.bin/ztest clean
$(PMAKE) -C $(CURDIR)/cddl/usr.bin/zinject clean
- $(PMAKE) -C $(CURDIR)/lib/libmd clean
rm -f *stamp
dh_clean
Reply to: