[lsb-discuss] LSB perl modules, pass 2

Stew Benedict stewb at linux-foundation.org
Wed Jan 21 13:32:36 PST 2009


A year+ back, when we were adding Perl to LSB-3.2, we published a list 
of proposed modules, hoping for expert feedback as to whether this list 
made sense, from a standards sense, as a stable set of modules, with 
stable APIs, that could be expected to be present on a typical Linux 
distribution. Since then, we've run into a few, that for one reason or 
another, we (LSB) decided should probably not have been included and 
they've since been withdrawn.

With the changes to Test::Harness looming and already showing up in some 
distributions, we've now encountered another set that we are considering 
removing, as we've been told this will change in 5.10.1 and 
Test::Harness::Straps is now deprecated. This email is another attempt 
to go over where we've been with the perl modules, what we've removed, 
what may be removed soon, and another look at what remains so that those 
in the know can tell us what we should *not* be including. This will 
avoid us having to keep going back and say "oops" and pulling things 
out, short-circuiting our own deprecation policy.

Note: There's no harm in being conservative with what we include. It's 
actually easier to add modules later, if there's demand, than to pull 
things back out once they are in.

Now for the lists:

Modules already removed since 3.2 was published:

mysql> select ILMname from InterpretedLanguageModule where ILMlanguage=1 
and ILMappearedin = '';
ILMname
Encode::MIME::Header::ISO_2022_JP
ExtUtils::Constant
ExtUtils::Constant::Base
ExtUtils::Constant::Utils
ExtUtils::Constant::XS
ExtUtils::Embed
ExtUtils::MM_AIX
ExtUtils::MM_Any
ExtUtils::MM_BeOS
ExtUtils::MM_DOS
ExtUtils::MM_MacOS
ExtUtils::MM_NW5
ExtUtils::MM_OS2
ExtUtils::MM_QNX
ExtUtils::MM_VOS
File::Spec::Epoc
File::Spec::Mac
File::Spec::OS2
Locale::Maketext::Guts
Locale::Maketext::GutsLoader
Math::BigFloat::Trace
Math::BigInt::Trace
Memoize::NDBM_File
Net::FTP::A
Net::FTP::E
Net::FTP::I
Net::FTP::L
Net::FTP::dataconn
Pod::Perldoc
Pod::Perldoc::BaseTo
Pod::Perldoc::GetOptsOO
Term::Cap
XS::APItest
XS::Typemap

Modules under consideration to remove now (ref: 
http://bugs.linuxbase.org/show_bug.cgi?id=2461)

Test::Builder
Test::Builder::Module
Test::Builder::Tester
Test::Builder::Tester::Color
Test::Harness
Test::Harness::Assert
Test::Harness::Iterator
Test::Harness::Point
Test::Harness::Straps
Test::More



Possible addition to the above list, still being shipped, although not 
as part of core perl in some distributions:

Test::Simple

Remaining modules:

mysql> select ILMname from InterpretedLanguageModule where ILMlanguage=1 
and ILMappearedin = '3.2';
ILMname
AnyDBM_File
Attribute::Handlers
AutoLoader
AutoSplit
B::Concise
B::Debug
B::Deparse
B::Lint
B::Showlex
B::Terse
B::Xref
Benchmark
CGI
CGI::Apache
CGI::Carp
CGI::Cookie
CGI::Fast
CGI::Pretty
CGI::Push
CGI::Switch
CGI::Util
CPAN
CPAN::FirstTime
CPAN::Nox
Carp
Carp::Heavy
Class::ISA
Class::Struct
Cwd
DB
DBM_Filter
DBM_Filter::compress
DBM_Filter::encode
DBM_Filter::int32
DBM_Filter::null
DBM_Filter::utf8
Data::Dumper
Devel::DProf
Devel::PPPort
Devel::Peek
Devel::SelfStubber
Digest
Digest::MD5
Digest::base
Digest::file
DirHandle
Dumpvalue
Encode
Encode::Alias
Encode::Byte
Encode::CJKConstants
Encode::CN
Encode::CN::HZ
Encode::Config
Encode::EBCDIC
Encode::Encoder
Encode::Encoding
Encode::Guess
Encode::JP
Encode::JP::H2Z
Encode::JP::JIS7
Encode::KR
Encode::KR::2022_KR
Encode::MIME::Header
Encode::Symbol
Encode::TW
Encode::Unicode
Encode::Unicode::UTF7
English
Env
Exporter
Exporter::Heavy
ExtUtils::Command
ExtUtils::Command::MM
ExtUtils::Install
ExtUtils::Installed
ExtUtils::Liblist
ExtUtils::Liblist::Kid
ExtUtils::MM_Unix
ExtUtils::MY
ExtUtils::MakeMaker
ExtUtils::MakeMaker::Config
ExtUtils::MakeMaker::bytes
ExtUtils::Manifest
ExtUtils::Mkbootstrap
ExtUtils::Mksymlists
ExtUtils::Packlist
ExtUtils::testlib
Fatal
Fcntl
File::Basename
File::CheckTree
File::Compare
File::Copy
File::DosGlob
File::Find
File::Glob
File::Path
File::Spec
File::Spec::Functions
File::Spec::Unix
File::Temp
File::stat
FileCache
FileHandle
Filter::Simple
Filter::Util::Call
FindBin
GDBM_File
Getopt::Long
Getopt::Std
Hash::Util
I18N::Collate
I18N::LangTags
I18N::LangTags::Detect
I18N::LangTags::List
I18N::Langinfo
IO
IO::Dir
IO::File
IO::Handle
IO::Pipe
IO::Poll
IO::Seekable
IO::Select
IO::Socket
IO::Socket::INET
IO::Socket::UNIX
IPC::Msg
IPC::Open2
IPC::Open3
IPC::Semaphore
IPC::SysV
List::Util
Locale::Constants
Locale::Country
Locale::Currency
Locale::Language
Locale::Maketext
Locale::Script
MIME::Base64
MIME::QuotedPrint
Math::BigFloat
Math::BigInt
Math::BigInt::Calc
Math::BigInt::CalcEmu
Math::BigRat
Math::Complex
Math::Trig
Memoize
Memoize::AnyDBM_File
Memoize::Expire
Memoize::ExpireFile
Memoize::ExpireTest
Memoize::SDBM_File
Memoize::Storable
NEXT
Net::Cmd
Net::Config
Net::Domain
Net::FTP
Net::NNTP
Net::Netrc
Net::POP3
Net::Ping
Net::SMTP
Net::Time
Net::hostent
Net::netent
Net::protoent
Net::servent
O
Opcode
POSIX
PerlIO
PerlIO::encoding
PerlIO::scalar
PerlIO::via
PerlIO::via::QuotedPrint
Pod::Checker
Pod::Find
Pod::Functions
Pod::Html
Pod::InputObjects
Pod::LaTeX
Pod::Man
Pod::ParseLink
Pod::ParseUtils
Pod::Parser
Pod::Perldoc::ToChecker
Pod::Perldoc::ToMan
Pod::Perldoc::ToNroff
Pod::Perldoc::ToPod
Pod::Perldoc::ToRtf
Pod::Perldoc::ToText
Pod::Perldoc::ToTk
Pod::Perldoc::ToXml
Pod::PlainText
Pod::Plainer
Pod::Select
Pod::Text
Pod::Text::Color
Pod::Text::Overstrike
Pod::Text::Termcap
Pod::Usage
SDBM_File
Safe
Scalar::Util
Search::Dict
SelectSaver
SelfLoader
Shell
Socket
Storable
Switch
Symbol
Sys::Hostname
Sys::Syslog
Term::ANSIColor
Term::Complete
Term::ReadLine
Test
Test::Simple
Text::Abbrev
Text::Balanced
Text::ParseWords
Text::Soundex
Text::Tabs
Text::Wrap
Tie::Array
Tie::File
Tie::Handle
Tie::Hash
Tie::Memoize
Tie::RefHash
Tie::Scalar
Tie::SubstrHash
Time::HiRes
Time::Local
Time::gmtime
Time::localtime
Time::tm
UNIVERSAL
Unicode::Collate
Unicode::Normalize
Unicode::UCD
User::grent
User::pwent
attributes
autouse
base
bigint
bignum
bigrat
blib
bytes
charnames
constant
diagnostics
fields
filetest
if
integer
less
locale
open
overload
re
sigtrap
sort
strict
subs
utf8
warnings
warnings::register

Of these, I come up with 89 modules that have usage statistics in the 
Navigator Database

mysql> select ILMname, count(Aname) from AppRILM, 
Application,RawILModule,InterpretedLanguageModule where  ARMaid = Aid 
and ARMrilmid = RILMid and RILMlanguage = 1 and RILMname = ILMname and 
ILMappearedin != '' group by ARMrilmid order by RILMname;
+-----------------------+--------------+
| ILMname               | count(Aname) |
+-----------------------+--------------+
| AutoLoader            |            3 |
| Benchmark             |            2 |
| CGI                   |            8 |
| CGI::Carp             |            1 |
| CGI::Cookie           |            1 |
| CGI::Util             |            1 |
| CPAN                  |            1 |
| Carp                  |           12 |
| Carp::Heavy           |            1 |
| Class::Struct         |            4 |
| Cwd                   |           12 |
| Data::Dumper          |           13 |
| Devel::Peek           |            1 |
| Digest::MD5           |            7 |
| DirHandle             |            2 |
| Encode                |            3 |
| Encode::Guess         |            1 |
| English               |           13 |
| Env                   |            1 |
| Exporter              |           18 |
| ExtUtils::MakeMaker   |            1 |
| Fcntl                 |           17 |
| File::Basename        |           27 |
| File::Compare         |            2 |
| File::Copy            |           14 |
| File::Find            |            5 |
| File::Glob            |            3 |
| File::Path            |            6 |
| File::Spec            |           10 |
| File::Spec::Functions |            3 |
| File::Temp            |            9 |
| File::stat            |            5 |
| FileHandle            |           13 |
| Filter::Util::Call    |            3 |
| FindBin               |            6 |
| Getopt::Long          |           34 |
| Getopt::Std           |           12 |
| IO::Dir               |            1 |
| IO::File              |           12 |
| IO::Handle            |           10 |
| IO::Pipe              |            1 |
| IO::Seekable          |            1 |
| IO::Select            |            3 |
| IO::Socket            |            8 |
| IO::Socket::INET      |            2 |
| IO::Socket::UNIX      |            1 |
| IPC::Open2            |            4 |
| IPC::Semaphore        |            1 |
| List::Util            |            1 |
| MIME::Base64          |            5 |
| MIME::QuotedPrint     |            2 |
| Math::Trig            |            2 |
| Net::Domain           |            2 |
| Net::FTP              |            1 |
| Net::NNTP             |            1 |
| Net::Ping             |            1 |
| POSIX                 |           41 |
| Pod::Usage            |            6 |
| Safe                  |            1 |
| Scalar::Util          |            1 |
| SelfLoader            |            1 |
| Socket                |           15 |
| Storable              |            1 |
| Switch                |            1 |
| Symbol                |            3 |
| Sys::Hostname         |            3 |
| Sys::Syslog           |            5 |
| Term::ANSIColor       |            1 |
| Term::ReadLine        |            2 |
| Text::Abbrev          |            1 |
| Text::ParseWords      |            4 |
| Text::Wrap            |            3 |
| Tie::Hash             |            1 |
| Time::HiRes           |            1 |
| Time::Local           |            8 |
| UNIVERSAL             |            1 |
| User::pwent           |            1 |
| autouse               |            2 |
| bytes                 |            6 |
| constant              |           10 |
| diagnostics           |            3 |
| integer               |            9 |
| locale                |            6 |
| overload              |            3 |
| sigtrap               |            1 |
| strict                |           91 |
| subs                  |            2 |
| utf8                  |            3 |
| warnings              |           22 |
+-----------------------+--------------+
89 rows in set (0.02 sec)

ref (sample for Socket): 
http://dev.linuxfoundation.org/dbadmin/browse/intlang.php?cmd=display-ilmodule-app-usage&ILMname=Socket&ILMlanguage=1
ref (all modules, which have links with app usage, if available): 
http://dev.linuxfoundation.org/dbadmin/browse/intlang.php?cmd=list-modules&ILid=1

-- 
Stew Benedict
Linux Foundation




More information about the lsb-discuss mailing list