Module Name: othersrc
Committed By: agc
Date: Fri Mar 1 07:28:20 UTC 2013
Modified Files:
othersrc/external/bsd/mat/dist: frontends.c mat.1 matpax.1
Log Message:
Allow the user and group for entries in the archive to be specified
from the command line with a new "-A user=root -A group=wheel" style
of invocation.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 othersrc/external/bsd/mat/dist/frontends.c
cvs rdiff -u -r1.9 -r1.10 othersrc/external/bsd/mat/dist/mat.1
cvs rdiff -u -r1.6 -r1.7 othersrc/external/bsd/mat/dist/matpax.1
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: othersrc/external/bsd/mat/dist/frontends.c
diff -u othersrc/external/bsd/mat/dist/frontends.c:1.7 othersrc/external/bsd/mat/dist/frontends.c:1.8
--- othersrc/external/bsd/mat/dist/frontends.c:1.7 Mon Nov 26 16:00:54 2012
+++ othersrc/external/bsd/mat/dist/frontends.c Fri Mar 1 07:28:20 2013
@@ -157,6 +157,7 @@ mat_tar(int argc, char **argv)
char cwd[MAT_PATH_MAX];
char *metalog;
char *dir;
+ char *eq;
char *f;
int deltemp;
int fd;
@@ -178,8 +179,17 @@ mat_tar(int argc, char **argv)
argv[1] = newarg;
}
getopt2_init(&options);
- while ((i = getopt2(&options, argc, argv, "C:T:Vacf:ps:tvx")) != -1) {
+ while ((i = getopt2(&options, argc, argv, "A:C:T:Vacf:ps:tvx")) != -1) {
switch(i) {
+ case 'A':
+ if ((eq = strchr(options.optarg, '=')) != NULL) {
+ if (strncmp(options.optarg, "user", 4) == 0) {
+ snprintf(mat.user, sizeof(mat.user), "%s", eq + 1);
+ } else if (strncmp(options.optarg, "group", 5) == 0) {
+ snprintf(mat.group, sizeof(mat.group), "%s", eq + 1);
+ }
+ }
+ break;
case 'C':
dir = options.optarg;
break;
@@ -328,6 +338,7 @@ mat_pax(int argc, char **argv)
char *metalog;
char *archive;
char *dir;
+ char *eq;
int deltemp;
int fd;
int ok;
@@ -345,8 +356,17 @@ mat_pax(int argc, char **argv)
action = "list";
deltemp = 0;
getopt2_init(&options);
- while ((i = getopt2(&options, argc, argv, "C:Vaf:lrs:wv")) != -1) {
+ while ((i = getopt2(&options, argc, argv, "A:C:Vaf:lrs:wv")) != -1) {
switch(i) {
+ case 'A':
+ if ((eq = strchr(options.optarg, '=')) != NULL) {
+ if (strncmp(options.optarg, "user", 4) == 0) {
+ snprintf(mat.user, sizeof(mat.user), "%s", eq + 1);
+ } else if (strncmp(options.optarg, "group", 5) == 0) {
+ snprintf(mat.group, sizeof(mat.group), "%s", eq + 1);
+ }
+ }
+ break;
case 'C':
dir = options.optarg;
break;
Index: othersrc/external/bsd/mat/dist/mat.1
diff -u othersrc/external/bsd/mat/dist/mat.1:1.9 othersrc/external/bsd/mat/dist/mat.1:1.10
--- othersrc/external/bsd/mat/dist/mat.1:1.9 Sat Jun 25 17:19:55 2011
+++ othersrc/external/bsd/mat/dist/mat.1 Fri Mar 1 07:28:20 2013
@@ -1,4 +1,4 @@
-.\" $NetBSD: mat.1,v 1.9 2011/06/25 17:19:55 wiz Exp $
+.\" $NetBSD: mat.1,v 1.10 2013/03/01 07:28:20 agc Exp $
.\"
.\" Copyright (c) 2011 Alistair Crooks <[email protected]>
.\" All rights reserved.
@@ -23,7 +23,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd June 25, 2011
+.Dd February 28, 2013
.Dt MATTAR 1
.Os
.Sh NAME
@@ -32,6 +32,7 @@
.Sh SYNOPSIS
.Nm
.Op Fl acptVvx
+.Op Fl A Ar key=value
.Op Fl C Ar directory
.Op Fl f Ar archive
.Op Fl s Ar substitution
@@ -67,6 +68,13 @@ option using programs such as
.Xr diff 1
to see if anything has been modified since the archive contents
were extracted.
+.It Fl A Ar key=value
+allows key values of
+.Dq user
+and
+.Dq group
+to be set on the archive entries
+from the command line.
.It Fl C Ar directory
perform an initial
.Xr chdir 2
Index: othersrc/external/bsd/mat/dist/matpax.1
diff -u othersrc/external/bsd/mat/dist/matpax.1:1.6 othersrc/external/bsd/mat/dist/matpax.1:1.7
--- othersrc/external/bsd/mat/dist/matpax.1:1.6 Sat Jun 25 17:19:55 2011
+++ othersrc/external/bsd/mat/dist/matpax.1 Fri Mar 1 07:28:20 2013
@@ -1,4 +1,4 @@
-.\" $NetBSD: matpax.1,v 1.6 2011/06/25 17:19:55 wiz Exp $
+.\" $NetBSD: matpax.1,v 1.7 2013/03/01 07:28:20 agc Exp $
.\"
.\" Copyright (c) 2011 Alistair Crooks <[email protected]>
.\" All rights reserved.
@@ -23,7 +23,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd June 25, 2011
+.Dd February 28, 2013
.Dt MATPAX 1
.Os
.Sh NAME
@@ -32,6 +32,7 @@
.Sh SYNOPSIS
.Nm
.Op Fl alrVvw
+.Op Fl A Ar key=value
.Op Fl C Ar directory
.Op Fl f Ar archive
.Op Fl s Ar substitution
@@ -65,6 +66,13 @@ so that tools such as
.Xr diff 1
can be used to compare packages and installed file system entries to
see if anything has been changed.
+.It Fl A Ar key=value
+allows key values of
+.Dq user
+and
+.Dq group
+to be set on the archive entries
+from the command line.
.It Fl C Ar directory
perform an initial
.Xr chdir 2