[bug-notifications] [pkg_get 0004825]: pkg-get can mess up shells on solaris express

Mantis Bug Tracker noreply at opencsw.org
Thu Sep 15 18:02:02 CEST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://www.opencsw.org/mantis/view.php?id=4825 
====================================================================== 
Reported By:                bryanwgraham
Assigned To:                
====================================================================== 
Project:                    pkg_get
Issue ID:                   4825
Category:                   regular use
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2011-09-15 17:40 CEST
Last Modified:              2011-09-15 18:02 CEST
====================================================================== 
Summary:                    pkg-get can mess up shells on solaris express
Description: 
While I realize that OpenCSW probably doesn't explicitly support Solaris
Express, this problem will need to be fixed eventually.  When pkg-get is
run on Solaris Express, if any of the 'print "whatever" > /dev/fd/2'
statements are processed, the shell will have difficulties when it returns.
 Specifically, backspace will print "^H" instead of actually backspacing,
and usually if something visual is run after (vim for instance) the screen
with crop oddly.

The easiest way to test this is to run "pkg-get -i blah" (something that
it won't find), then type something and try to backspace it.

There is a simple fix, because the print statement support a -u option
that does exactly what "> /dev/fd/2" does without causing the problem. 
Thus, this line

gsed -i.bak -e 's/print\(.*\)>\/dev\/fd\/2/print -u 2\1/g'
/opt/csw/bin/pkg-get

will fix the problem and create a backup pkg-get.bak file in the process. 
The following line will do it without creating a backup.

gsed -ie 's/print\(.*\)>\/dev\/fd\/2/print -u 2\1/g' /opt/csw/bin/pkg-get

For informational purposes:
SunOS mirror-x86 5.11 snv_151a i86pc i386 i86pc Solaris
GNU bash, version 4.0.28(1)-release (i386-pc-solaris2.11)
====================================================================== 

---------------------------------------------------------------------- 
 (0009265) bryanwgraham (reporter) - 2011-09-15 18:02
 https://www.opencsw.org/mantis/view.php?id=4825#c9265 
---------------------------------------------------------------------- 
After looking at the script again, this problem could also occur from the
"explain_multiple_remove" and "explain_multiple_install" lines, since they
are also redirected to > /dev/fd/2, but I don't have an easy way to test
this.



More information about the bug-notifications mailing list