On Wed, Aug 14, 2013 at 08:10:41AM -0500, Eric van Gyzen wrote:
> NetBSD's makefs has a -Z flag to create the image as a sparse file.  In
> FreeBSD, the flag is spelled -p.  Is there a reason for using a
> different flag?  It would be very nice to preserve CLI compatibility
> with NetBSD.
> 
> NetBSD committed first (by one month), and neither change has gone into
> a release yet, so we should change to match NetBSD.  We should do it
> soon, too, since our change will go into 9.2-RELEASE.
> 
> If we agree, I'll gladly make the patches, trivial though they'll be.
> 

Can you please try the attached patch?

Glen

Index: usr.sbin/makefs/makefs.8
===================================================================
--- usr.sbin/makefs/makefs.8    (revision 254289)
+++ usr.sbin/makefs/makefs.8    (working copy)
@@ -35,7 +35,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 22, 2012
+.Dd August 14, 2013
 .Dt MAKEFS 8
 .Os
 .Sh NAME
@@ -43,7 +43,7 @@
 .Nd create a file system image from a directory tree or a mtree manifest
 .Sh SYNOPSIS
 .Nm
-.Op Fl Dpx
+.Op Fl DpxZ
 .Op Fl B Ar byte-order
 .Op Fl b Ar free-blocks
 .Op Fl d Ar debug-mask
@@ -213,6 +213,10 @@
 .El
 .It Fl x
 Exclude file system nodes not explicitly listed in the specfile.
+.It Fl Z
+Create the image as a sparse file.
+Provided for compatibiltiy with
+.Nx .
 .El
 .Pp
 Where sizes are specified, a decimal number of bytes is expected.
Index: usr.sbin/makefs/makefs.c
===================================================================
--- usr.sbin/makefs/makefs.c    (revision 254289)
+++ usr.sbin/makefs/makefs.c    (working copy)
@@ -113,7 +113,7 @@
        start_time.tv_sec = start.tv_sec;
        start_time.tv_nsec = start.tv_usec * 1000;
 
-       while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:ps:S:t:x")) != -1) {
+       while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:ps:S:t:xZ")) != -1) 
{
                switch (ch) {
 
                case 'B':
@@ -233,6 +233,11 @@
                        fsoptions.onlyspec = 1;
                        break;
 
+               case 'Z':
+                       /* Compatibility with NetBSD makefs(8) */
+                       fsoptions.sparse = 1;
+                       break;
+
                case '?':
                default:
                        usage();

Attachment: pgp2qDFJnmAa1.pgp
Description: PGP signature

Reply via email to