Bug 233541

Summary: perl-perlmenu fails with getcap on perl5
Product: [Fedora] Fedora Reporter: Kwan Lowe <kwan>
Component: perlAssignee: Parag AN(पराग) <panemade>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: perl-devel
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 4.0-4.1.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-26 11:37:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Kwan Lowe 2007-03-23 01:02:37 UTC
Description of problem:
Ttrying to use the perlmenu module returns the following error: 
Curses function 'getcap' is not defined by your vendor at
/usr/lib/perl5/vendor_perl/5.8.8/perlmenu.pm line 382.


Version-Release number of selected component (if applicable):
perl-perlmenu-4.0-4.fc6


How reproducible:
Call perlmenu function from withing a program.

Steps to Reproduce:
1.  yum install perl-perlmenu
2.  cd /usr/share/doc/perl-perlmenu-x.x.x/examples
3.  perl demo 2> outfile

  
Actual results:
Error log shows that getcap() from Curses is not available.

Expected results:
demo application should draw a curses menu system.

Additional info:


The perl-perlmenu package as shipped does not work with perl5.  The original
docs suggest the following change to /usr/lib/perl5/vendor_perl/5.8.8/perlmenu.pm:

108,113c108,113
< #if ($] >= 5.001) {                   # Perl5 ONLY!
< #package Perl5::Menu_PL::Compat;      # Don't pollute perlmenu.pm namespace
< #require Term::Cap;                   # Get Tgetent package
< #$term = Tgetent Term::Cap { OSPEED => 9600 };           # Define entry
< #sub perlmenu::getcap { $term->{"_" . shift()} };  # Define local subroutine
< #}
---
> if ($] >= 5.001) {                    # Perl5 ONLY!
> package Perl5::Menu_PL::Compat;       # Don't pollute perlmenu.pm namespace
> require Term::Cap;                    # Get Tgetent package
> $term = Tgetent Term::Cap { OSPEED => 9600 };    # Define entry
> sub perlmenu::getcap { $term->{"_" . shift()} };  # Define local subroutine
> }

Comment 1 Parag AN(पराग) 2007-03-26 11:37:10 UTC
Updated in Rawhide with new version 4.0-4.1