Index: debian/ufsutils.install
===================================================================
--- debian/ufsutils.install	(revision 0)
+++ debian/ufsutils.install	(revision 0)
@@ -0,0 +1,3 @@
+lib/libufs/libufs.so.*		/lib
+
+# The rest of this package is handled in debian/rules (requires fine-tuning)
Index: debian/patches/series
===================================================================
--- debian/patches/series	(revision 4931)
+++ debian/patches/series	(working copy)
@@ -47,3 +47,4 @@
 rpc.lockd-startup-fix.diff
 
 # Patches that are likely to be Debian-specific
+ufs.diff
Index: debian/patches/ufs.diff
===================================================================
--- debian/patches/ufs.diff	(revision 0)
+++ debian/patches/ufs.diff	(revision 0)
@@ -0,0 +1,85 @@
+--- a/sbin/badsect/Makefile
++++ b/sbin/badsect/Makefile
+@@ -7,4 +7,7 @@
+ MAN=	badsect.8
+ WARNS?=	2
+ 
++CFLAGS+=	-I../../lib/libufs
++LDADD+=		-L../../lib/libufs
++
+ .include <bsd.prog.mk>
+--- a/sbin/dumpfs/Makefile
++++ b/sbin/dumpfs/Makefile
+@@ -7,4 +7,7 @@
+ LDADD=	-lufs
+ MAN=	dumpfs.8
+ 
++CFLAGS+=	-I../../lib/libufs
++LDADD+=		-L../../lib/libufs
++
+ .include <bsd.prog.mk>
+--- a/sbin/ffsinfo/Makefile
++++ b/sbin/ffsinfo/Makefile
+@@ -15,5 +15,8 @@
+ CFLAGS+=-DFS_DEBUG -I${GROWFS}
+ DPADD=	${LIBUFS}
+ LDADD=	-lufs
++
++CFLAGS+=	-I../../lib/libufs
++LDADD+=		-L../../lib/libufs
+  
+ .include <bsd.prog.mk>               
+--- a/sbin/fsck_ffs/Makefile
++++ b/sbin/fsck_ffs/Makefile
+@@ -13,6 +13,9 @@
+ WARNS?=	2
+ CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../mount
+ 
++CFLAGS+=	-I../../lib/libufs
++LDADD+=		-L../../lib/libufs
++
+ .PATH:	${.CURDIR}/../../sys/ufs/ffs ${.CURDIR}/../mount
+ 
+ .include <bsd.prog.mk>
+--- a/sbin/newfs/Makefile
++++ b/sbin/newfs/Makefile
+@@ -11,6 +11,9 @@
+ WARNS?=	3
+ MAN=	newfs.8
+ 
++CFLAGS+=	-I../../lib/libufs
++LDADD+=		-L../../lib/libufs -lfreebsd-glue
++
+ .include <bsd.prog.mk>
+ 
+ test:	${PROG}
+--- a/sbin/tunefs/Makefile
++++ b/sbin/tunefs/Makefile
+@@ -6,6 +6,9 @@
+ LDADD=	-lufs
+ MAN=	tunefs.8
+ 
++CFLAGS+=	-I../../lib/libufs
++LDADD+=		-L../../lib/libufs
++
+ WARNS=	3
+ 
+ .include <bsd.prog.mk>
+--- a/sbin/growfs/Makefile
++++ b/sbin/growfs/Makefile
+@@ -20,4 +20,6 @@
+ DPADD=	${LIBUTIL}
+ LDADD=	-lutil
+ 
++LDADD+=		-lfreebsd-glue
++
+ .include <bsd.prog.mk>      
+--- a/sbin/fsdb/Makefile
++++ b/sbin/fsdb/Makefile
+@@ -13,4 +13,6 @@
+ DPADD=	${LIBEDIT} ${LIBTERMCAP}
+ .PATH:	${.CURDIR}/../fsck_ffs ${.CURDIR}/../../sys/ufs/ffs
+ 
++CFLAGS+=	-I../../lib/libufs
++
+ .include <bsd.prog.mk>
Index: debian/rules
===================================================================
--- debian/rules	(revision 4931)
+++ debian/rules	(working copy)
@@ -5,6 +5,8 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
+export SHELL = bash
+
 CFLAGS = -Wall -g -pipe -fPIC -D_GNU_SOURCE \
 	-isystem /usr/include/tirpc \
 	-D__FreeBSD_version=__FreeBSD_kernel_version \
@@ -104,13 +106,17 @@
 		 sys/kgssapi/gssd.x \
 		 usr.bin/showmount \
 		 usr.sbin/powerd \
+		sbin/badsect sbin/dumpfs sbin/fsck_ffs sbin/fsdb \
+		sbin/growfs sbin/newfs sbin/tunefs sbin/ffsinfo \
+		sys/ufs lib/libufs sys/geom/geom_bsd_enc.c \
 	; do \
 	    svn export $(SVN)/$$i $(ORIGDIR)/$$i || exit ; \
 	done
 	tar --numeric-owner --owner 0 --group 0 -czf ../$(TARNAME) $(ORIGDIR)
 	rm -rf $(ORIGDIR)
 
-build-arch: freebsd-utils gbde kbdcontrol vidcontrol kldutils freebsd-net-tools freebsd-nfs-utils freebsd-ppp powerd
+build-arch: freebsd-utils gbde kbdcontrol vidcontrol kldutils freebsd-net-tools freebsd-nfs-utils freebsd-ppp powerd \
+	ufsutils
 
 freebsd-utils: freebsd-utils-stamp
 freebsd-utils-stamp: $(RPCHDRS)
@@ -206,6 +212,19 @@
 	$(PMAKE) -C usr.sbin/nfsd
 	touch $@
 
+ufsutils: ufsutils-stamp
+ufsutils-stamp:
+	$(PMAKE) -C lib/libufs
+	$(PMAKE) -C sbin/badsect
+	$(PMAKE) -C sbin/dumpfs
+	$(PMAKE) -C sbin/fsck_ffs
+	$(PMAKE) -C sbin/fsdb
+	$(PMAKE) -C sbin/growfs
+	$(PMAKE) -C sbin/newfs
+	$(PMAKE) -C sbin/tunefs
+	$(PMAKE) -C sbin/ffsinfo
+	touch $@
+
 powerd: powerd-stamp
 powerd-stamp:
 	$(PMAKE) -C usr.sbin/powerd
@@ -289,6 +308,16 @@
 	$(PMAKE) -C usr.sbin/nfsd clean
 	$(PMAKE) -C usr.sbin/powerd clean
 
+	$(PMAKE) -C lib/libufs clean
+	$(PMAKE) -C sbin/badsect clean
+	$(PMAKE) -C sbin/dumpfs clean
+	$(PMAKE) -C sbin/fsck_ffs clean
+	$(PMAKE) -C sbin/fsdb clean
+	$(PMAKE) -C sbin/growfs clean
+	$(PMAKE) -C sbin/newfs clean
+	$(PMAKE) -C sbin/tunefs clean
+	$(PMAKE) -C sbin/ffsinfo clean
+
 	$(RM) $(RPCHDRS)
 
 	rm -f *stamp
@@ -306,6 +335,18 @@
 	mkdir -p debian/freebsd-net-tools/usr/bin
 	install -m 2755 -g kmem usr.bin/netstat/netstat debian/freebsd-net-tools/usr/bin/
 
+	mkdir -p debian/ufsutils/{sbin,usr/share/man/man8}
+	for i in badsect dumpfs fsdb growfs tunefs ; do \
+		install -m 755 sbin/$$i/$$i	debian/ufsutils/sbin/$$i.ufs ; \
+		install -m 644 sbin/$$i/$$i.8	debian/ufsutils/usr/share/man/man8/$$i.ufs.8 ; \
+	done
+	install -m 755 sbin/fsck_ffs/fsck_ffs	debian/ufsutils/sbin/fsck.ufs
+	install -m 644 sbin/fsck_ffs/fsck_ffs.8	debian/ufsutils/usr/share/man/man8/fsck.ufs.8
+	install -m 755 sbin/newfs/newfs		debian/ufsutils/sbin/mkfs.ufs
+	install -m 644 sbin/newfs/newfs.8	debian/ufsutils/usr/share/man/man8/mkfs.ufs.8
+	install -m 755 sbin/ffsinfo/ffsinfo	debian/ufsutils/sbin/ffsinfo
+	install -m 644 sbin/ffsinfo/ffsinfo.8	debian/ufsutils/usr/share/man/man8/ffsinfo.8
+
 # Build architecture-independent files here.
 binary-indep: build install
 # We have nothing to do by default.
Index: debian/control
===================================================================
--- debian/control	(revision 4931)
+++ debian/control	(working copy)
@@ -9,7 +9,7 @@
 Build-Depends: debhelper (>= 7), po-debconf, sharutils,
  flex | flex-old,
  freebsd-buildutils (>= 9.0-8~),
- freebsd-glue (>= 0.1.1~),
+ freebsd-glue (>= 0.1.4~),
  kfreebsd-kernel-headers (>= 9.1-3~),
  libc0.1-dev (>= 2.13-26),
  libbsd-dev (>= 0.3.0), pkg-config,
@@ -31,7 +31,7 @@
  libsbuf-dev (>= 8.2-2),
 # libcam-dev: camcontrol
  libcam-dev (>= 8.2),
-# libedit-dev: pppctl
+# libedit-dev: pppctl, fsdb
  libedit-dev,
 # libexpat1-dev: ifconfig, geom
  libexpat1-dev,
@@ -43,6 +43,8 @@
  libssl-dev,
 # liblockdev1-dev: ppp
  liblockdev1-dev,
+# libtinfo-dev: fsdb
+ libtinfo-dev,
 Build-Conflicts:
 # /usr/include/bits symlink breaks usr.bin/kdump/{mkioctls,mksubr}
  libc0.1-dev-i386,
@@ -298,3 +300,22 @@
  will be able to decompress the resulting image at run-time. This allows for a
  significant reduction of size of disk image at the expense of some CPU time
  required to decompress the data each time it is read.
+
+Package: ufsutils
+Section: admin
+Priority: optional
+Architecture: kfreebsd-any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: UFS filesystems utilities
+ Utilities to manage the UFS filesystem, mostly used in BSD or derived
+ operating systems. This include FFS, UFS and UFS2.
+ .
+ The following utilities are provided:
+  * mkfs.ufs
+  * fsck.ufs
+  * fsdb.ufs
+  * dumpfs.ufs
+  * growfs.ufs
+  * tunefs.ufs
+  * badsect.ufs
+  * ffsinfo
Index: debian/changelog
===================================================================
--- debian/changelog	(revision 4931)
+++ debian/changelog	(working copy)
@@ -1,3 +1,9 @@
+freebsd-utils (9.1+ufsutils-1) UNRELEASED; urgency=low
+
+  * Add ufsutils.
+
+ -- Robert Millan <rmh@debian.org>  Sun, 04 Aug 2013 17:30:14 +0200
+
 freebsd-utils (9.1-5) UNRELEASED; urgency=low
 
   * Misc adjustments for freebsd-glue 0.1.0.
