Bug 77351

Summary: NDBM_File missing from perl installation.
Product: [Retired] Red Hat Linux Reporter: Derek Price <oberon>
Component: perlAssignee: Warren Togami <wtogami>
Status: CLOSED WONTFIX QA Contact: David Lawrence <dkl>
Severity: high Docs Contact:
Priority: medium    
Version: 8.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-09-11 11:47:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Derek Price 2002-11-05 17:43:34 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020823
Netscape/7.0

Description of problem:
The NDBM_File module is missing from the perl distribution.  Attempting to
reinstall it with CPAN claims that it will be installed from the perl
distribution and not a module distribution so I assume it should have been in
the RPM.

You broke my scripts.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.Install RedHat 8.0
2.Run a perl script which uses NDBM_File
3.
	

Actual Results:  Perl script exits with message to effect that "NDBM_File could
not be found".

Expected Results:  Perl script runs.

Additional info:

Comment 1 Chip Turner 2002-11-05 18:03:37 UTC
ndbm has been removed from RH Linux 8.0 because of conflict issues with berkeley
db.  you should be able to open any ndbm files with DB_File, though.  You may
need to perform a db_dump followed by a db_load to reload the files, or dump
them into an intermediate file format from an older system.  DB_File and
GDBM_File are the supported tied database interfaces.

Comment 2 Derek Price 2002-11-05 20:46:12 UTC
I don't know if it would be too much trouble for you, but in a case like this,
installing a stub package that printed an error message about being deprecated
and using a substitute, might help reduce the number of bug reports.  For example:

$ cat >/usr/lib/perl5/5.8.0/NDBM_File.pm << EOF
> package NDBM_File;
> die "NDBM_File obsoleted as of RedHat 8.0.  Please use GDBM_File or DB_File
instead.  For more information, please see
<https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=77351>."
> EOF


Comment 3 Derek Price 2002-11-05 20:53:43 UTC
Oh, and the Memoize::NDBM_File package probably shouldn't be installed.  It uses
NDBM_File:

$ find /usr/lib/perl5/5.8.0/ -name NDBM_File.pm
/usr/lib/perl5/5.8.0/Memoize/NDBM_File.pm
$ rpm -q --whatprovides /usr/lib/perl5/5.8.0/Memoize/NDBM_File.pm
perl-5.8.0-55
$ sed -n 13p /usr/lib/perl5/5.8.0/Memoize/NDBM_File.pm
use NDBM_File;
$

Comment 4 Chip Turner 2002-11-06 15:15:52 UTC
good point; Memoize::NDBM_File will be removed from future builds.  Changing
NDBM_File to report warnings though is a bit more intrusive a change; we'll
consider it, but for now I'm leaning towards leaving it as-is.