Date: Wed, 20 Feb 2013 15:18:43 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r247041 - head/usr.sbin/makefs Message-ID: <201302201518.r1KFIhNa019268@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brooks Date: Wed Feb 20 15:18:42 2013 New Revision: 247041 URL: http://svnweb.freebsd.org/changeset/base/247041 Log: Add a -D flag that causes duplicate entries in an mtree manifest to be treated as warnings rather than errors. Reviewed by: marcel Sponsored by: DARPA, AFRL Modified: head/usr.sbin/makefs/makefs.8 head/usr.sbin/makefs/makefs.c head/usr.sbin/makefs/makefs.h head/usr.sbin/makefs/mtree.c Modified: head/usr.sbin/makefs/makefs.8 ============================================================================== --- head/usr.sbin/makefs/makefs.8 Wed Feb 20 14:26:51 2013 (r247040) +++ head/usr.sbin/makefs/makefs.8 Wed Feb 20 15:18:42 2013 (r247041) @@ -43,7 +43,7 @@ .Nd create a file system image from a directory tree or a mtree manifest .Sh SYNOPSIS .Nm -.Op Fl px +.Op Fl Dpx .Op Fl B Ar byte-order .Op Fl b Ar free-blocks .Op Fl d Ar debug-mask @@ -106,6 +106,8 @@ An optional suffix may be provided to indicate that .Ar free-blocks indicates a percentage of the calculated image size. +.It Fl D +Treat duplicate paths in an mtree manifest as warnings not error. .It Fl d Ar debug-mask Enable various levels of debugging, depending upon which bits are set in Modified: head/usr.sbin/makefs/makefs.c ============================================================================== --- head/usr.sbin/makefs/makefs.c Wed Feb 20 14:26:51 2013 (r247040) +++ head/usr.sbin/makefs/makefs.c Wed Feb 20 15:18:42 2013 (r247041) @@ -73,6 +73,7 @@ static fstype_t fstypes[] = { }; u_int debug; +int dupsok; struct timespec start_time; static fstype_t *get_fstype(const char *); @@ -112,7 +113,7 @@ main(int argc, char *argv[]) start_time.tv_sec = start.tv_sec; start_time.tv_nsec = start.tv_usec * 1000; - while ((ch = getopt(argc, argv, "B:b:d: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:x")) != -1) { switch (ch) { case 'B': @@ -148,6 +149,10 @@ main(int argc, char *argv[]) } break; + case 'D': + dupsok = 1; + break; + case 'd': debug = strtoll(optarg, NULL, 0); break; Modified: head/usr.sbin/makefs/makefs.h ============================================================================== --- head/usr.sbin/makefs/makefs.h Wed Feb 20 14:26:51 2013 (r247040) +++ head/usr.sbin/makefs/makefs.h Wed Feb 20 15:18:42 2013 (r247041) @@ -169,6 +169,7 @@ void cd9660_makefs(const char *, const extern u_int debug; +extern int dupsok; extern struct timespec start_time; /* Modified: head/usr.sbin/makefs/mtree.c ============================================================================== --- head/usr.sbin/makefs/mtree.c Wed Feb 20 14:26:51 2013 (r247040) +++ head/usr.sbin/makefs/mtree.c Wed Feb 20 15:18:42 2013 (r247041) @@ -881,8 +881,14 @@ read_mtree_spec1(FILE *fp, bool def, con if (strcmp(name, node->name) == 0) { if (def == true) { - mtree_error("duplicate definition of %s", - name); + if (!dupsok) + mtree_error( + "duplicate definition of %s", + name); + else + mtree_warning( + "duplicate definition of %s", + name); return (0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302201518.r1KFIhNa019268>