1 |
slords |
1.1 |
diff -Nur -x '*.orig' -x '*.rej' e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm mezzanine_patched_e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm |
2 |
|
|
--- e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm 2008-08-09 10:14:41.000000000 -0600 |
3 |
|
|
+++ mezzanine_patched_e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm 2008-08-09 10:14:17.000000000 -0600 |
4 |
|
|
@@ -124,7 +124,7 @@ |
5 |
|
|
|
6 |
|
|
sub whiptail |
7 |
|
|
{ |
8 |
|
|
- _screen(shift, "/sbin/e-smith/whiptail", @_); |
9 |
|
|
+ _screen(shift, "/usr/bin/whiptail", @_); |
10 |
|
|
} |
11 |
|
|
|
12 |
|
|
sub _screen |
13 |
|
|
@@ -155,24 +155,32 @@ |
14 |
|
|
# Child |
15 |
|
|
#---------------------------------------- |
16 |
|
|
|
17 |
|
|
- # whiptail sends its output via STDERR. We temporarily |
18 |
|
|
- # shut off warnings so they don't interfere with that. |
19 |
|
|
- local $^W = 0; |
20 |
|
|
- |
21 |
|
|
# Attach child's STDIN to the reading end of the pipe |
22 |
|
|
- |
23 |
|
|
close READER |
24 |
|
|
or die gettext("Couldn't close reading end of pipe") , ": $!\n"; |
25 |
|
|
|
26 |
|
|
- open STDERR, ">& WRITER" |
27 |
|
|
- or die gettext("Couldn't connect STDERR to pipe"), ": $!\n"; |
28 |
|
|
- |
29 |
|
|
- close WRITER |
30 |
|
|
- or die gettext("Couldn't close writing end of pipe"), ": $!\n"; |
31 |
|
|
- |
32 |
|
|
- |
33 |
|
|
- unshift @whiptailArgs, $whiptail, |
34 |
|
|
- '--backtitle', $self->backtitle; |
35 |
|
|
+ if ($whiptail =~ m{\bwhiptail$} ) { |
36 |
|
|
+ # whiptail sends its output via STDERR. We temporarily |
37 |
|
|
+ # shut off warnings so they don't interfere with that. |
38 |
|
|
+ local $^W = 0; |
39 |
|
|
+ |
40 |
|
|
+ open STDERR, ">& WRITER" |
41 |
|
|
+ or die gettext("Couldn't connect STDERR to pipe"), ": $!\n"; |
42 |
|
|
+ |
43 |
|
|
+ close WRITER |
44 |
|
|
+ or die gettext("Couldn't close writing end of pipe"), ": $!\n"; |
45 |
|
|
+ |
46 |
|
|
+ unshift @whiptailArgs, $whiptail, |
47 |
|
|
+ '--backtitle', $self->backtitle; |
48 |
|
|
+ } else { |
49 |
|
|
+ use Fcntl qw/F_SETFD/; |
50 |
|
|
+ |
51 |
|
|
+ # Clear close-on-exec on WRITER so that it stays open for dialog to use |
52 |
|
|
+ fcntl(WRITER, F_SETFD, 0); |
53 |
|
|
+ |
54 |
|
|
+ unshift @whiptailArgs, $whiptail, |
55 |
|
|
+ '--backtitle', $self->backtitle, "--output-fd", fileno(WRITER); |
56 |
|
|
+ } |
57 |
|
|
exec @whiptailArgs; |
58 |
|
|
die gettext("Couldn't exec:"), ": $!\n"; |
59 |
|
|
} |