From a2bc4e56d4ab068fea12d65d13740b7a600769a8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Tigeot?= Date: Wed, 7 Sep 2011 09:37:22 +0200 Subject: [PATCH] Add a -D option to install(1) This option is implemented for compatibility with the NetBSD version of install(1). Even though its code is fully operating, it is only useful when used in combination with the non-implemented -M NetBSD flag. Thus, it is effectively a dummy as of the present commit. --- usr.bin/xinstall/install.1 | 13 ++++++++++++- usr.bin/xinstall/xinstall.c | 12 ++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/usr.bin/xinstall/install.1 b/usr.bin/xinstall/install.1 index c879c79351..ddb15bf1e6 100644 --- a/usr.bin/xinstall/install.1 +++ b/usr.bin/xinstall/install.1 @@ -33,7 +33,7 @@ .\" $FreeBSD: src/usr.bin/xinstall/install.1,v 1.16.2.9 2002/07/01 21:01:23 des Exp $ .\" $DragonFly: src/usr.bin/xinstall/install.1,v 1.6 2007/05/17 08:19:02 swildner Exp $ .\" -.Dd May 7, 2001 +.Dd September 7, 2011 .Dt INSTALL 1 .Os .Sh NAME @@ -44,6 +44,7 @@ .Op Fl bCclMpSsv .Op Fl L Ar etcdir .Op Fl B Ar suffix +.Op Fl D Ar destdir .Op Fl f Ar flags .Op Fl g Ar group .Op Fl m Ar mode @@ -53,6 +54,7 @@ .Op Fl bCclMpSsv .Op Fl L Ar etcdir .Op Fl B Ar suffix +.Op Fl D Ar destdir .Op Fl f Ar flags .Op Fl g Ar group .Op Fl m Ar mode @@ -60,6 +62,7 @@ .Ar file1 ... fileN directory .Nm .Fl d +.Op Fl D Ar destdir .Op Fl vl .Op Fl L Ar etcdir .Op Fl g Ar group @@ -119,6 +122,14 @@ option is only included for backwards compatibility. .It Fl d Create directories. Missing parent directories are created as required. +.It Fl D Ar destdir +Specify the +.Ev DESTDIR +(top of the file hierarchy) that the items are installed in to. +This option is implemented for compatibility with the NetBSD version +of +.Nm install +and does nothing. .It Fl f Specify the target's file flags; see .Xr chflags 1 diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index ac45f82cc7..a1add6d363 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -79,6 +79,7 @@ uid_t uid; int dobackup, docompare, dodir, dopreserve, dostrip, nommap, safecopy, verbose; mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; const char *suffix = BACKUP_SUFFIX; +char *destdir; static int file_getgroup(const char *etcdir, const char *group, gid_t *gidret); static int file_getowner(const char *etcdir, const char *owner, uid_t *uidret); @@ -114,7 +115,7 @@ main(int argc, char **argv) owner = NULL; etcdir = NULL; - while ((ch = getopt(argc, argv, "L:B:bCcdf:g:lMm:o:pSsv")) != -1) + while ((ch = getopt(argc, argv, "L:B:bCcdf:g:lMm:o:pSsv:D:")) != -1) switch((char)ch) { case 'L': etcdir = optarg; @@ -134,6 +135,9 @@ main(int argc, char **argv) case 'd': dodir = 1; break; + case 'D': + destdir = optarg; + break; case 'f': flags = optarg; if (strtofflags(&flags, &fset, &fclr)) @@ -850,11 +854,11 @@ void usage(void) { fprintf(stderr, "\ -usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]\n\ +usage: install [-bCcpSsv] [-B suffix] [-D dest] [-f flags] [-g group] [-m mode]\n\ [-o owner] file1 file2\n\ - install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]\n\ + install [-bCcpSsv] [-B suffix] [-D dest] [-f flags] [-g group] [-m mode]\n\ [-o owner] file1 ... fileN directory\n\ - install -d [-v] [-g group] [-m mode] [-o owner] directory ...\n"); + install -d [-v] [-D dest] [-g group] [-m mode] [-o owner] directory ...\n"); exit(EX_USAGE); /* NOTREACHED */ } -- 2.41.0