summaryrefslogtreecommitdiffstats
path: root/release
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1997-10-13 12:12:14 +0000
committerjkh <jkh@FreeBSD.org>1997-10-13 12:12:14 +0000
commitf71ea4919aca593ee0fd403a76ddb6b0113b7ba6 (patch)
tree81c31fcb4e5b4e3181b9f9c8e471788763dc8f9c /release
parentdc8100dcbdec6e9275c5d7fbab0a32881733ec19 (diff)
downloadFreeBSD-src-f71ea4919aca593ee0fd403a76ddb6b0113b7ba6.zip
FreeBSD-src-f71ea4919aca593ee0fd403a76ddb6b0113b7ba6.tar.gz
Consolidate distribution flag checking code.
Diffstat (limited to 'release')
-rw-r--r--release/sysinstall/dist.c125
1 files changed, 76 insertions, 49 deletions
diff --git a/release/sysinstall/dist.c b/release/sysinstall/dist.c
index 2320f3e..ee1a415 100644
--- a/release/sysinstall/dist.c
+++ b/release/sysinstall/dist.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: dist.c,v 1.118 1997/10/04 09:01:19 jkh Exp $
+ * $Id: dist.c,v 1.119 1997/10/12 12:11:14 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -125,8 +125,8 @@ static Distribution SrcDistTable[] = {
static Distribution XF86DistTable[] = {
{ "XF86331", "/usr/X11R6", &XF86Dists, DIST_XF86_FONTS, XF86FontDistTable },
{ "XF86331", "/usr/X11R6", &XF86Dists, DIST_XF86_SERVER, XF86ServerDistTable },
-{ "XF86-xc", "/usr/X11R6/src", &XF86Dists, DIST_XF86_SRC, NULL },
-{ "XF86-co", "/usr/X11R6/src", &XF86Dists, DIST_XF86_CSRC, NULL },
+{ "X331src-1", "/usr/X11R6/src", &XF86Dists, DIST_XF86_SRC, NULL },
+{ "X331contrib", "/usr/X11R6/src", &XF86Dists, DIST_XF86_CSRC, NULL },
{ "X331bin", "/usr/X11R6", &XF86Dists, DIST_XF86_BIN, NULL },
{ "X331cfg", "/usr/X11R6", &XF86Dists, DIST_XF86_CFG, NULL },
{ "X331doc", "/usr/X11R6", &XF86Dists, DIST_XF86_DOC, NULL },
@@ -188,6 +188,32 @@ static Distribution XF86FontDistTable[] = {
static int distMaybeSetDES(dialogMenuItem *self);
static int distMaybeSetPorts(dialogMenuItem *self);
+
+static void
+distVerifyFlags(void)
+{
+ if (SrcDists)
+ Dists |= DIST_SRC;
+ if (DESDists) {
+ if (DESDists & DIST_DES_KERBEROS)
+ DESDists |= DIST_DES_DES;
+ Dists |= DIST_DES;
+ }
+#ifndef USE_XIG_ENVIRONMENT
+ if (XF86Dists & DIST_XF86_SET)
+ XF86ServerDists |= DIST_XF86_SERVER_VGA16;
+ if (XF86ServerDists)
+ XF86Dists |= DIST_XF86_SERVER;
+ if (XF86FontDists)
+ XF86Dists |= DIST_XF86_FONTS;
+ if (XF86Dists)
+ Dists |= (DIST_XF86 | DIST_COMPAT21);
+#endif
+ if (isDebug())
+ msgDebug("Dist Masks: Dists: %0x, DES: %0x, Srcs: %0x\nXServer: %0x, XFonts: %0x, XDists: %0x\n",
+ Dists, DESDists, SrcDists, XF86ServerDists, XF86FontDists, XF86Dists);
+}
+
int
distReset(dialogMenuItem *self)
{
@@ -228,22 +254,28 @@ distConfig(dialogMenuItem *self)
if ((cp = variable_get(VAR_DIST_XFONTS)) != NULL)
XF86FontDists = atoi(cp);
#endif
-
+ distVerifyFlags();
return DITEM_SUCCESS | DITEM_REDRAW;
}
int
distSetDeveloper(dialogMenuItem *self)
{
+ int i;
+
distReset(NULL);
Dists = _DIST_DEVELOPER;
SrcDists = DIST_SRC_ALL;
- return distMaybeSetDES(self) | distMaybeSetPorts(self);
+ i = distMaybeSetDES(self) | distMaybeSetPorts(self);
+ distVerifyFlags();
+ return i;
}
int
distSetXDeveloper(dialogMenuItem *self)
{
+ int i;
+
distReset(NULL);
Dists = _DIST_DEVELOPER;
SrcDists = DIST_SRC_ALL;
@@ -254,29 +286,41 @@ distSetXDeveloper(dialogMenuItem *self)
XF86ServerDists = DIST_XF86_SERVER_SVGA | DIST_XF86_SERVER_VGA16;
XF86FontDists = DIST_XF86_FONTS_MISC;
#endif
- return distSetXF86(NULL) | distMaybeSetDES(self) | distMaybeSetPorts(self);
+ i = distSetXF86(NULL) | distMaybeSetDES(self) | distMaybeSetPorts(self);
+ distVerifyFlags();
+ return i;
}
int
distSetKernDeveloper(dialogMenuItem *self)
{
+ int i;
+
distReset(NULL);
Dists = _DIST_DEVELOPER;
SrcDists = DIST_SRC_SYS;
- return distMaybeSetDES(self) | distMaybeSetPorts(self);
+ i = distMaybeSetDES(self) | distMaybeSetPorts(self);
+ distVerifyFlags();
+ return i;
}
int
distSetUser(dialogMenuItem *self)
{
+ int i;
+
distReset(NULL);
Dists = _DIST_USER;
- return distMaybeSetDES(self) | distMaybeSetPorts(self);
+ i = distMaybeSetDES(self) | distMaybeSetPorts(self);
+ distVerifyFlags();
+ return i;
}
int
distSetXUser(dialogMenuItem *self)
{
+ int i;
+
distReset(NULL);
Dists = _DIST_USER;
#ifdef USE_XIG_ENVIRONMENT
@@ -286,7 +330,9 @@ distSetXUser(dialogMenuItem *self)
XF86Dists = DIST_XF86_BIN | DIST_COMPAT21 | DIST_XF86_SET | DIST_XF86_CFG | DIST_XF86_LIB | DIST_XF86_MAN | DIST_XF86_SERVER | DIST_XF86_FONTS;
XF86FontDists = DIST_XF86_FONTS_MISC;
#endif
- return distSetXF86(NULL) | distMaybeSetDES(self) | distMaybeSetPorts(self);
+ i = distSetXF86(NULL) | distMaybeSetDES(self) | distMaybeSetPorts(self);
+ distVerifyFlags();
+ return i;
}
int
@@ -300,6 +346,8 @@ distSetMinimum(dialogMenuItem *self)
int
distSetEverything(dialogMenuItem *self)
{
+ int i;
+
Dists = DIST_ALL;
SrcDists = DIST_SRC_ALL;
#ifdef USE_XIG_ENVIRONMENT
@@ -309,24 +357,21 @@ distSetEverything(dialogMenuItem *self)
XF86ServerDists = DIST_XF86_SERVER_ALL;
XF86FontDists = DIST_XF86_FONTS_ALL;
#endif
- return distMaybeSetDES(self) | distMaybeSetPorts(self);
+ i = distMaybeSetDES(self) | distMaybeSetPorts(self);
+ distVerifyFlags();
+ return i;
}
int
distSetDES(dialogMenuItem *self)
{
- int i = DITEM_SUCCESS;
+ int i;
- if (dmenuOpenSimple(&MenuDESDistributions, FALSE)) {
- if (DESDists) {
- if (DESDists & DIST_DES_KERBEROS)
- DESDists |= DIST_DES_DES;
- Dists |= DIST_DES;
- msgDebug("SetDES Masks: DES: %0x, Dists: %0x\n", DESDists, Dists);
- }
- }
- else
+ if (!dmenuOpenSimple(&MenuDESDistributions, FALSE))
i = DITEM_FAILURE;
+ else
+ i = DITEM_SUCCESS;
+ distVerifyFlags();
return i | DITEM_RESTORE;
}
@@ -347,17 +392,10 @@ distMaybeSetDES(dialogMenuItem *self)
"DES distribution from the U.S. server then switch your media type to\n"
"point to an international FTP server, using the Custom installation\n"
"option to select and extract the DES distribution in a second pass.")) {
- if (dmenuOpenSimple(&MenuDESDistributions, FALSE)) {
- if (DESDists) {
- if (DESDists & DIST_DES_KERBEROS)
- DESDists |= DIST_DES_DES;
- Dists |= DIST_DES;
- msgDebug("SetDES Masks: DES: %0x, Dists: %0x\n", DESDists, Dists);
- }
- }
- else
+ if (!dmenuOpenSimple(&MenuDESDistributions, FALSE))
i = DITEM_FAILURE;
}
+ distVerifyFlags();
return i | DITEM_RESTORE;
}
@@ -401,6 +439,7 @@ distSetByName(Distribution *dist, char *name)
}
}
}
+ distVerifyFlags();
return status;
}
@@ -426,22 +465,20 @@ distSetCustom(dialogMenuItem *self)
msgDebug("distSetCustom: Warning, no such release \"%s\"\n", cp);
cp = cp2;
}
+ distVerifyFlags();
return DITEM_SUCCESS;
}
int
distSetSrc(dialogMenuItem *self)
{
- int i = DITEM_SUCCESS;
+ int i;
- if (dmenuOpenSimple(&MenuSrcDistributions, FALSE)) {
- if (SrcDists) {
- Dists |= DIST_SRC;
- msgDebug("SetSrc Masks: Srcs: %0x, Dists: %0x\n", SrcDists, Dists);
- }
- }
- else
+ if (!dmenuOpenSimple(&MenuSrcDistributions, FALSE))
i = DITEM_FAILURE;
+ else
+ i = DITEM_SUCCESS;
+ distVerifyFlags();
return i | DITEM_RESTORE;
}
@@ -453,20 +490,10 @@ distSetXF86(dialogMenuItem *self)
#ifdef USE_XIG_ENVIRONMENT
Dists |= (DIST_XIG_SERVER | DIST_COMPAT21);
#else
- if (dmenuOpenSimple(&MenuXF86Select, FALSE)) {
- if (XF86ServerDists)
- XF86Dists |= DIST_XF86_SERVER;
- if (XF86FontDists)
- XF86Dists |= DIST_XF86_FONTS;
- if (XF86Dists)
- Dists |= (DIST_XF86 | DIST_COMPAT21);
- if (isDebug())
- msgDebug("SetXF86 Masks: Server: %0x, Fonts: %0x, XDists: %0x, Dists: %0x\n",
- XF86ServerDists, XF86FontDists, XF86Dists, Dists);
- }
- else
+ if (!dmenuOpenSimple(&MenuXF86Select, FALSE))
i = DITEM_FAILURE;
#endif
+ distVerifyFlags();
return i | DITEM_RESTORE;
}
OpenPOWER on IntegriCloud