Annotation of pkgsrc/pkgtools/pkg_install/files/create/main.c, Revision 1.16
1.16 ! joerg 1: /* $NetBSD: main.c,v 1.15 2009/05/13 03:33:50 joerg Exp $ */
1.1 schmonz 2:
1.3 jlam 3: #if HAVE_CONFIG_H
4: #include "config.h"
5: #endif
1.4 jlam 6: #include <nbcompat.h>
1.3 jlam 7: #if HAVE_SYS_CDEFS_H
1.1 schmonz 8: #include <sys/cdefs.h>
1.3 jlam 9: #endif
1.16 ! joerg 10: __RCSID("$NetBSD: main.c,v 1.15 2009/05/13 03:33:50 joerg Exp $");
1.1 schmonz 11:
12: /*
13: * FreeBSD install - a package for the installation and maintainance
14: * of non-core utilities.
15: *
16: * Jordan K. Hubbard
17: * 18 July 1993
18: *
19: * This is the create module.
20: *
21: */
22:
1.3 jlam 23: #if HAVE_ERR_H
1.1 schmonz 24: #include <err.h>
25: #endif
26: #include "lib.h"
27: #include "create.h"
28:
1.15 joerg 29: static const char Options[] = "B:C:D:EF:I:K:L:OP:S:T:UVb:c:d:f:g:i:k:ln:p:r:s:u:v";
1.1 schmonz 30:
31: char *Prefix = NULL;
32: char *Comment = NULL;
33: char *Desc = NULL;
34: char *Display = NULL;
35: char *Install = NULL;
36: char *DeInstall = NULL;
37: char *Contents = NULL;
38: char *Pkgdeps = NULL;
1.8 joerg 39: char *BuildPkgdeps = NULL;
1.1 schmonz 40: char *Pkgcfl = NULL;
41: char *BuildVersion = NULL;
42: char *BuildInfo = NULL;
43: char *SizePkg = NULL;
44: char *SizeAll = NULL;
1.2 jschauma 45: char *Preserve = NULL;
1.1 schmonz 46: char *SrcDir = NULL;
1.11 joerg 47: char *DefaultOwner = NULL;
48: char *DefaultGroup = NULL;
1.1 schmonz 49: char *realprefix = NULL;
1.16 ! joerg 50: const char *CompressionType = NULL;
1.1 schmonz 51: int update_pkgdb = 1;
1.3 jlam 52: int create_views = 0;
1.1 schmonz 53: int PlistOnly = 0;
54: int RelativeLinks = 0;
55: Boolean File2Pkg = FALSE;
56:
57: static void
58: usage(void)
59: {
1.7 hubertf 60: fprintf(stderr,
1.13 joerg 61: "usage: pkg_create [-ElOUVv] [-B build-info-file] [-b build-version-file]\n"
1.15 joerg 62: " [-C cpkgs] [-D displayfile] [-F compression] \n"
63: " [-I realprefix] [-i iscript]\n"
1.9 joerg 64: " [-K pkg_dbdir] [-k dscript] [-L SrcDir]\n"
1.7 hubertf 65: " [-n preserve-file] [-P dpkgs] [-p prefix] [-r rscript]\n"
1.11 joerg 66: " [-S size-all-file] [-s size-pkg-file]\n"
67: " [-T buildpkgs] [-u owner] [-g group]\n"
68: " -c comment -d description -f packlist\n"
1.7 hubertf 69: " pkg-name\n");
1.1 schmonz 70: exit(1);
71: }
72:
73: int
74: main(int argc, char **argv)
75: {
76: int ch;
77:
78: setprogname(argv[0]);
79: while ((ch = getopt(argc, argv, Options)) != -1)
80: switch (ch) {
81: case 'v':
82: Verbose = TRUE;
83: break;
84:
1.3 jlam 85: case 'E':
86: create_views = 1;
87: break;
88:
1.15 joerg 89: case 'F':
90: CompressionType = optarg;
91: break;
92:
1.1 schmonz 93: case 'I':
94: realprefix = optarg;
95: break;
96:
97: case 'O':
98: PlistOnly = 1;
99: break;
100:
101: case 'U':
102: update_pkgdb = 0;
103: break;
104:
105: case 'p':
106: Prefix = optarg;
107: break;
108:
109: case 's':
110: SizePkg = optarg;
111: break;
112:
113: case 'S':
114: SizeAll = optarg;
115: break;
116:
117: case 'f':
118: Contents = optarg;
119: break;
120:
121: case 'c':
122: Comment = optarg;
123: break;
124:
125: case 'd':
126: Desc = optarg;
127: break;
128:
1.11 joerg 129: case 'g':
130: DefaultGroup = optarg;
131: break;
132:
1.1 schmonz 133: case 'i':
134: Install = optarg;
135: break;
136:
1.3 jlam 137: case 'K':
138: _pkgdb_setPKGDB_DIR(optarg);
139: break;
140:
1.1 schmonz 141: case 'k':
142: DeInstall = optarg;
143: break;
144:
145: case 'l':
146: RelativeLinks = 1;
147: break;
148:
149: case 'L':
150: SrcDir = optarg;
151: break;
152:
1.11 joerg 153: case 'u':
154: DefaultOwner = optarg;
1.1 schmonz 155: break;
156:
157: case 'D':
158: Display = optarg;
159: break;
160:
1.2 jschauma 161: case 'n':
162: Preserve = optarg;
1.1 schmonz 163: break;
164:
165: case 'P':
166: Pkgdeps = optarg;
167: break;
168:
1.8 joerg 169: case 'T':
170: BuildPkgdeps = optarg;
171: break;
172:
1.1 schmonz 173: case 'C':
174: Pkgcfl = optarg;
175: break;
176:
177: case 'b':
178: BuildVersion = optarg;
179: break;
180:
181: case 'B':
182: BuildInfo = optarg;
183: break;
184:
185: case 'V':
186: show_version();
187: /* NOTREACHED */
188:
189: case '?':
190: default:
191: usage();
192: break;
193: }
194:
195: argc -= optind;
196: argv += optind;
197:
1.10 joerg 198: if (argc == 0) {
199: warnx("missing package name");
200: usage();
201: }
202: if (argc != 1) {
203: warnx("only one package name allowed");
204: usage();
1.1 schmonz 205: }
206:
1.11 joerg 207: if (pkg_perform(*argv))
208: return 0;
209: if (Verbose) {
210: if (PlistOnly)
211: warnx("package registration failed");
212: else
1.1 schmonz 213: warnx("package creation failed");
1.11 joerg 214: }
215: return 1;
1.1 schmonz 216: }
CVSweb <webmaster@jp.NetBSD.org>