Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.sbin/pkg_install Add -I argument to pkg_create so that t...



details:   https://anonhg.NetBSD.org/src/rev/c460c7d30bbe
branches:  trunk
changeset: 510141:c460c7d30bbe
user:      agc <agc%NetBSD.org@localhost>
date:      Mon May 21 09:17:28 2001 +0000

description:
Add -I argument to pkg_create so that the real prefix can be specified
for the @src and @cwd PLIST directives.

Bump version number.

diffstat:

 usr.sbin/pkg_install/add/perform.c       |   8 ++--
 usr.sbin/pkg_install/create/create.h     |   3 +-
 usr.sbin/pkg_install/create/main.c       |  12 ++++++--
 usr.sbin/pkg_install/create/perform.c    |   8 ++--
 usr.sbin/pkg_install/create/pkg_create.1 |   8 ++++-
 usr.sbin/pkg_install/lib/lib.h           |   4 +-
 usr.sbin/pkg_install/lib/plist.c         |  47 +++++++++++++++++--------------
 usr.sbin/pkg_install/lib/version.h       |   4 +-
 8 files changed, 55 insertions(+), 39 deletions(-)

diffs (289 lines):

diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/add/perform.c
--- a/usr.sbin/pkg_install/add/perform.c        Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/add/perform.c        Mon May 21 09:17:28 2001 +0000
@@ -1,11 +1,11 @@
-/*     $NetBSD: perform.c,v 1.58 2001/03/28 12:46:01 hubertf Exp $     */
+/*     $NetBSD: perform.c,v 1.59 2001/05/21 09:17:28 agc Exp $ */
 
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static const char *rcsid = "from FreeBSD Id: perform.c,v 1.44 1997/10/13 15:03:46 jkh Exp";
 #else
-__RCSID("$NetBSD: perform.c,v 1.58 2001/03/28 12:46:01 hubertf Exp $");
+__RCSID("$NetBSD: perform.c,v 1.59 2001/05/21 09:17:28 agc Exp $");
 #endif
 #endif
 
@@ -294,7 +294,7 @@
                /* If we're running in MASTER mode, just output the plist and return */
                if (AddMode == MASTER) {
                        printf("%s\n", where_playpen());
-                       write_plist(&Plist, stdout);
+                       write_plist(&Plist, stdout, NULL);
                        return 0;
                }
        }
@@ -669,7 +669,7 @@
                            contents);
                        goto success;   /* can't log, but still keep pkg */
                }
-               write_plist(&Plist, cfile);
+               write_plist(&Plist, cfile, NULL);
                fclose(cfile);
                move_file(".", DESC_FNAME, LogDir);
                move_file(".", COMMENT_FNAME, LogDir);
diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/create/create.h
--- a/usr.sbin/pkg_install/create/create.h      Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/create/create.h      Mon May 21 09:17:28 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: create.h,v 1.15 2001/05/18 13:21:38 agc Exp $ */
+/* $NetBSD: create.h,v 1.16 2001/05/21 09:17:30 agc Exp $ */
 
 /* from FreeBSD Id: create.h,v 1.13 1997/10/08 07:46:19 charnier Exp */
 
@@ -42,6 +42,7 @@
 extern char *SizePkg;
 extern char *SizeAll;
 extern char *SrcDir;
+extern char *realprefix;
 extern char PlayPen[];
 extern size_t PlayPenSize;
 extern int Dereference;
diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/create/main.c
--- a/usr.sbin/pkg_install/create/main.c        Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/create/main.c        Mon May 21 09:17:28 2001 +0000
@@ -1,11 +1,11 @@
-/*     $NetBSD: main.c,v 1.18 2001/05/18 13:21:38 agc Exp $    */
+/*     $NetBSD: main.c,v 1.19 2001/05/21 09:17:30 agc Exp $    */
 
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static const char *rcsid = "from FreeBSD Id: main.c,v 1.17 1997/10/08 07:46:23 charnier Exp";
 #else
-__RCSID("$NetBSD: main.c,v 1.18 2001/05/18 13:21:38 agc Exp $");
+__RCSID("$NetBSD: main.c,v 1.19 2001/05/21 09:17:30 agc Exp $");
 #endif
 #endif
 
@@ -24,7 +24,7 @@
 #include "lib.h"
 #include "create.h"
 
-static char Options[] = "ORhlVvFf:p:P:C:c:d:i:k:L:r:t:X:D:m:s:S:b:B:U";
+static char Options[] = "ORhlVvFf:p:P:C:c:d:i:k:L:r:t:X:D:m:s:S:b:B:UI:";
 
 char   *Prefix = NULL;
 char   *Comment = NULL;
@@ -43,6 +43,7 @@
 char   *SizePkg = NULL;
 char   *SizeAll = NULL;
 char   *SrcDir = NULL;
+char   *realprefix = NULL;
 char    PlayPen[FILENAME_MAX];
 size_t  PlayPenSize = sizeof(PlayPen);
 int    update_pkgdb = 1;
@@ -60,6 +61,7 @@
            "                  [-i iscript] [-k dscript] [-r rscript] [-t template]",
            "                  [-X excludefile] [-D displayfile] [-m mtreefile]",
            "                  [-b build-version-file] [-B build-info-file]",
+           "                  [-I realprefix]",
            "                  -c comment -d description -f packlist pkg-name");
        exit(1);
 }
@@ -77,6 +79,10 @@
                        Verbose = TRUE;
                        break;
 
+               case 'I':
+                       realprefix = optarg;
+                       break;
+
                case 'O':
                        PlistOnly = 1;
                        break;
diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/create/perform.c
--- a/usr.sbin/pkg_install/create/perform.c     Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/create/perform.c     Mon May 21 09:17:28 2001 +0000
@@ -1,11 +1,11 @@
-/*     $NetBSD: perform.c,v 1.25 2001/03/04 18:16:42 hubertf Exp $     */
+/*     $NetBSD: perform.c,v 1.26 2001/05/21 09:17:30 agc Exp $ */
 
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static const char *rcsid = "from FreeBSD Id: perform.c,v 1.38 1997/10/13 15:03:51 jkh Exp";
 #else
-__RCSID("$NetBSD: perform.c,v 1.25 2001/03/04 18:16:42 hubertf Exp $");
+__RCSID("$NetBSD: perform.c,v 1.26 2001/05/21 09:17:30 agc Exp $");
 #endif
 #endif
 
@@ -297,7 +297,7 @@
          */
        if (PlistOnly) {
                check_list(home, &plist, basename_of(pkg));
-               write_plist(&plist, stdout);
+               write_plist(&plist, stdout, realprefix);
                exit(0);
        }
 
@@ -374,7 +374,7 @@
                cleanup(0);
                errx(2, "can't open file %s for writing", CONTENTS_FNAME);
        }
-       write_plist(&plist, fp);
+       write_plist(&plist, fp, realprefix);
        if (fclose(fp)) {
                cleanup(0);
                errx(2, "error while closing %s", CONTENTS_FNAME);
diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/create/pkg_create.1
--- a/usr.sbin/pkg_install/create/pkg_create.1  Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/create/pkg_create.1  Mon May 21 09:17:28 2001 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: pkg_create.1,v 1.28 2001/05/18 13:21:38 agc Exp $
+.\" $NetBSD: pkg_create.1,v 1.29 2001/05/21 09:17:31 agc Exp $
 .\"
 .\" FreeBSD install - a package for the installation and maintainance
 .\" of non-core utilities.
@@ -58,6 +58,9 @@
 .Op Fl i Ar iscript
 .Ek
 .Bk -words
+.Op Fl I Ar realprefix
+.Ek
+.Bk -words
 .Op Fl k Ar dscript
 .Ek
 .Bk -words
@@ -161,6 +164,9 @@
 .It Fl h
 Force tar to follow symbolic links, so that the files they point to
 are dumped, rather than the links themselves.
+.It Fl I Ar realprefix
+Provide the real prefix, as opposed to the staging prefix, for use in
+staged installations of packages.
 .It Fl i Ar iscript
 Set
 .Ar iscript
diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/lib/lib.h
--- a/usr.sbin/pkg_install/lib/lib.h    Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/lib/lib.h    Mon May 21 09:17:28 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lib.h,v 1.34 2001/04/28 20:55:34 hubertf Exp $ */
+/* $NetBSD: lib.h,v 1.35 2001/05/21 09:17:31 agc Exp $ */
 
 /* from FreeBSD Id: lib.h,v 1.25 1997/10/08 07:48:03 charnier Exp */
 
@@ -230,7 +230,7 @@
 void    add_plist(package_t *, pl_ent_t, char *);
 void    add_plist_top(package_t *, pl_ent_t, char *);
 void    delete_plist(package_t *pkg, Boolean all, pl_ent_t type, char *name);
-void    write_plist(package_t *, FILE *);
+void    write_plist(package_t *, FILE *, char *);
 void    read_plist(package_t *, FILE *);
 int     plist_cmd(char *, char **);
 int     delete_package(Boolean, Boolean, package_t *);
diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/lib/plist.c
--- a/usr.sbin/pkg_install/lib/plist.c  Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/lib/plist.c  Mon May 21 09:17:28 2001 +0000
@@ -1,11 +1,11 @@
-/*     $NetBSD: plist.c,v 1.28 2001/04/17 10:33:35 hubertf Exp $       */
+/*     $NetBSD: plist.c,v 1.29 2001/05/21 09:17:31 agc Exp $   */
 
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static const char *rcsid = "from FreeBSD Id: plist.c,v 1.24 1997/10/08 07:48:15 charnier Exp";
 #else
-__RCSID("$NetBSD: plist.c,v 1.28 2001/04/17 10:33:35 hubertf Exp $");
+__RCSID("$NetBSD: plist.c,v 1.29 2001/05/21 09:17:31 agc Exp $");
 #endif
 #endif
 
@@ -39,29 +39,30 @@
        char   *c_s;            /* string to recognise */
        pl_ent_t c_type;        /* type of command */
        int     c_argc;         /* # of arguments */
+       int     c_subst;        /* can substitute real prefix */
 }       cmd_t;
 
 /* Commands to recognise */
 static cmd_t cmdv[] = {
-       {"cwd", PLIST_CWD, 1},
-       {"src", PLIST_SRC, 1},
-       {"cd", PLIST_CWD, 1},
-       {"exec", PLIST_CMD, 1},
-       {"unexec", PLIST_UNEXEC, 1},
-       {"mode", PLIST_CHMOD, 1},
-       {"owner", PLIST_CHOWN, 1},
-       {"group", PLIST_CHGRP, 1},
-       {"comment", PLIST_COMMENT, 1},
-       {"ignore", PLIST_IGNORE, 0},
-       {"ignore_inst", PLIST_IGNORE_INST, 0},
-       {"name", PLIST_NAME, 1},
-       {"display", PLIST_DISPLAY, 1},
-       {"pkgdep", PLIST_PKGDEP, 1},
-       {"pkgcfl", PLIST_PKGCFL, 1},
-       {"mtree", PLIST_MTREE, 1},
-       {"dirrm", PLIST_DIR_RM, 1},
-       {"option", PLIST_OPTION, 1},
-       {NULL, FAIL, 0}
+       {"cwd", PLIST_CWD, 1, 1},
+       {"src", PLIST_SRC, 1, 1},
+       {"cd", PLIST_CWD, 1, 0},
+       {"exec", PLIST_CMD, 1, 0},
+       {"unexec", PLIST_UNEXEC, 1, 0},
+       {"mode", PLIST_CHMOD, 1, 0},
+       {"owner", PLIST_CHOWN, 1, 0},
+       {"group", PLIST_CHGRP, 1, 0},
+       {"comment", PLIST_COMMENT, 1, 0},
+       {"ignore", PLIST_IGNORE, 0, 0},
+       {"ignore_inst", PLIST_IGNORE_INST, 0, 0},
+       {"name", PLIST_NAME, 1, 0},
+       {"display", PLIST_DISPLAY, 1, 0},
+       {"pkgdep", PLIST_PKGDEP, 1, 0},
+       {"pkgcfl", PLIST_PKGCFL, 1, 0},
+       {"mtree", PLIST_MTREE, 1, 0},
+       {"dirrm", PLIST_DIR_RM, 1, 0},
+       {"option", PLIST_OPTION, 1, 0},
+       {NULL, FAIL, 0, 0}
 };
 
 /*
@@ -288,7 +289,7 @@
  * Write a packing list to a file, converting commands to ASCII equivs
  */
 void
-write_plist(package_t *pkg, FILE * fp)
+write_plist(package_t *pkg, FILE * fp, char *realprefix)
 {
        plist_t *p;
        cmd_t  *cmdp;
@@ -305,6 +306,8 @@
                        warnx("Unknown PLIST command type %d (%s)", p->type, p->name);
                } else if (cmdp->c_argc == 0) {
                        (void) fprintf(fp, "%c%s\n", CMD_CHAR, cmdp->c_s);
+               } else if (cmdp->c_subst && realprefix) {
+                       (void) fprintf(fp, "%c%s %s\n", CMD_CHAR, cmdp->c_s, realprefix);
                } else {
                        (void) fprintf(fp, "%c%s %s\n", CMD_CHAR, cmdp->c_s,
                            (p->name) ? p->name : "");
diff -r 82206cfc8a58 -r c460c7d30bbe usr.sbin/pkg_install/lib/version.h
--- a/usr.sbin/pkg_install/lib/version.h        Mon May 21 06:13:12 2001 +0000
+++ b/usr.sbin/pkg_install/lib/version.h        Mon May 21 09:17:28 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: version.h,v 1.5 2001/05/18 13:21:39 agc Exp $  */
+/*     $NetBSD: version.h,v 1.6 2001/05/21 09:17:31 agc Exp $  */
 
 /*
  * Copyright (c) 2001 Thomas Klausner.  All rights reserved.
@@ -33,6 +33,6 @@
 #ifndef _INST_LIB_VERSION_H_
 #define _INST_LIB_VERSION_H_
 
-#define PKGTOOLS_VERSION "20010518"
+#define PKGTOOLS_VERSION "20010519"
 
 #endif /* _INST_LIB_VERSION_H_ */



Home | Main Index | Thread Index | Old Index