From 54dd58b383da49b0d54ca2669eea0b0b10e3980f Mon Sep 17 00:00:00 2001 From: "Jordan K. Hubbard" Date: Sat, 18 Mar 2000 08:46:23 +0000 Subject: [PATCH] We still need a hack for rsaref package; add it. This doesn't affect CDs since they don't contain the rsaref package anyway. --- release/sysinstall/install.c | 7 +++++++ release/sysinstall/package.c | 8 ++++++-- usr.sbin/sade/install.c | 7 +++++++ usr.sbin/sysinstall/install.c | 7 +++++++ usr.sbin/sysinstall/package.c | 8 ++++++-- 5 files changed, 33 insertions(+), 4 deletions(-) diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c index 42e8fcbb8b9..67f1bb825e4 100644 --- a/release/sysinstall/install.c +++ b/release/sysinstall/install.c @@ -52,6 +52,11 @@ #include #include +/* Hack for rsaref package add, which displays interactive license. + * Used by package.c + */ +int _interactiveHack; + static void create_termcap(void); static void fixit_common(void); @@ -572,6 +577,7 @@ nodisks: "load the rsaref package from the current media? Some restrictions on\n" "usage may apply, so be sure to read the package installation output!")) { dialog_clear(); + _interactiveHack = 1; if (DITEM_STATUS(package_add("rsaref")) != DITEM_SUCCESS) { msgConfirm("Unable to find an rsaref package on the current intallation media.\n" "This is probably because you are installing from a CDROM which\n" @@ -581,6 +587,7 @@ nodisks: "the rsaref package manually through the Packages menu."); } dialog_clear(); + _interactiveHack = 0; } } else { diff --git a/release/sysinstall/package.c b/release/sysinstall/package.c index 8901d08b998..732f643e22c 100644 --- a/release/sysinstall/package.c +++ b/release/sysinstall/package.c @@ -166,9 +166,13 @@ package_extract(Device *dev, char *name, Boolean depended) pipe(pfd); pid = fork(); if (!pid) { + extern int _interactiveHack; + dup2(pfd[0], 0); close(pfd[0]); - dup2(DebugFD, 1); - close(2); + if (!_interactiveHack) { + dup2(DebugFD, 1); + close(2); + } close(pfd[1]); if (isDebug()) i = execl("/usr/sbin/pkg_add", "/usr/sbin/pkg_add", "-v", "-", 0); diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index 42e8fcbb8b9..67f1bb825e4 100644 --- a/usr.sbin/sade/install.c +++ b/usr.sbin/sade/install.c @@ -52,6 +52,11 @@ #include #include +/* Hack for rsaref package add, which displays interactive license. + * Used by package.c + */ +int _interactiveHack; + static void create_termcap(void); static void fixit_common(void); @@ -572,6 +577,7 @@ nodisks: "load the rsaref package from the current media? Some restrictions on\n" "usage may apply, so be sure to read the package installation output!")) { dialog_clear(); + _interactiveHack = 1; if (DITEM_STATUS(package_add("rsaref")) != DITEM_SUCCESS) { msgConfirm("Unable to find an rsaref package on the current intallation media.\n" "This is probably because you are installing from a CDROM which\n" @@ -581,6 +587,7 @@ nodisks: "the rsaref package manually through the Packages menu."); } dialog_clear(); + _interactiveHack = 0; } } else { diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c index 42e8fcbb8b9..67f1bb825e4 100644 --- a/usr.sbin/sysinstall/install.c +++ b/usr.sbin/sysinstall/install.c @@ -52,6 +52,11 @@ #include #include +/* Hack for rsaref package add, which displays interactive license. + * Used by package.c + */ +int _interactiveHack; + static void create_termcap(void); static void fixit_common(void); @@ -572,6 +577,7 @@ nodisks: "load the rsaref package from the current media? Some restrictions on\n" "usage may apply, so be sure to read the package installation output!")) { dialog_clear(); + _interactiveHack = 1; if (DITEM_STATUS(package_add("rsaref")) != DITEM_SUCCESS) { msgConfirm("Unable to find an rsaref package on the current intallation media.\n" "This is probably because you are installing from a CDROM which\n" @@ -581,6 +587,7 @@ nodisks: "the rsaref package manually through the Packages menu."); } dialog_clear(); + _interactiveHack = 0; } } else { diff --git a/usr.sbin/sysinstall/package.c b/usr.sbin/sysinstall/package.c index 8901d08b998..732f643e22c 100644 --- a/usr.sbin/sysinstall/package.c +++ b/usr.sbin/sysinstall/package.c @@ -166,9 +166,13 @@ package_extract(Device *dev, char *name, Boolean depended) pipe(pfd); pid = fork(); if (!pid) { + extern int _interactiveHack; + dup2(pfd[0], 0); close(pfd[0]); - dup2(DebugFD, 1); - close(2); + if (!_interactiveHack) { + dup2(DebugFD, 1); + close(2); + } close(pfd[1]); if (isDebug()) i = execl("/usr/sbin/pkg_add", "/usr/sbin/pkg_add", "-v", "-", 0);