summaryrefslogtreecommitdiff
path: root/usr.sbin/sysinstall/dist.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/sysinstall/dist.c')
-rw-r--r--usr.sbin/sysinstall/dist.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/usr.sbin/sysinstall/dist.c b/usr.sbin/sysinstall/dist.c
index f8639e71499c..6e4abe29e65c 100644
--- a/usr.sbin/sysinstall/dist.c
+++ b/usr.sbin/sysinstall/dist.c
@@ -271,7 +271,10 @@ distSetX(void)
XF86Dists = DIST_XF86_BIN | DIST_XF86_SET | DIST_XF86_CFG | DIST_XF86_LIB | DIST_XF86_PROG | DIST_XF86_MAN | DIST_XF86_SERVER | DIST_XF86_FONTS;
XF86ServerDists = DIST_XF86_SERVER_SVGA | DIST_XF86_SERVER_VGA16;
XF86FontDists = DIST_XF86_FONTS_MISC;
+#ifndef X_AS_PKG
return distSetXF86(NULL);
+#endif
+ return DITEM_SUCCESS;
}
int
@@ -850,7 +853,7 @@ printSelected(char *buf, int selected, Distribution *me, int *col)
int
distExtractAll(dialogMenuItem *self)
{
- int old_dists, retries = 0, status = DITEM_SUCCESS;
+ int old_dists, retries = 0, status = DITEM_SUCCESS, want_x_package = 0;
char buf[512];
WINDOW *w;
@@ -869,11 +872,24 @@ distExtractAll(dialogMenuItem *self)
dialog_clear_norefresh();
w = savescr();
msgNotify("Attempting to install all selected distributions..");
+
+#ifdef X_AS_PKG
+ /* Clear any XFree86 dist flags, but remember they were present. */
+ if(Dists & DIST_XF86)
+ want_x_package = 1;
+ Dists &= ~DIST_XF86;
+ /*Dists &= ~(DIST_XF86 | XF86Dists | XF86ServerDists | XF86FontDists);*/
+#endif
/* Try for 3 times around the loop, then give up. */
while (Dists && ++retries < 3)
distExtract(NULL, DistTable);
+#ifdef X_AS_PKG
+ if (want_x_package)
+ status |= installX11package(NULL);
+#endif
+
dialog_clear_norefresh();
/* Only do bin fixup if bin dist was successfully extracted */
if ((old_dists & DIST_BIN) && !(Dists & DIST_BIN))