diff options
Diffstat (limited to 'usr.sbin/sysinstall/dist.c')
| -rw-r--r-- | usr.sbin/sysinstall/dist.c | 18 |
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)) |
