Annotation of loncom/build/system_dependencies/perltest.pl, revision 1.1

1.1     ! harris41    1: #!/usr/bin/perl
        !             2: 
        !             3: # The LearningOnline Network with CAPA
        !             4: #
        !             5: # Testing to see if all needed perl components are on
        !             6: # a system
        !             7: #
        !             8: # YEAR=2001
        !             9: # 9/30 Scott Harrison
        !            10: #
        !            11: # I wish there were a more straightforward way to do this.  But I can't
        !            12: # seem to find the right internals in the perl programming language.
        !            13: # Also, this program is only a "modest" effort to LOOK and see whether
        !            14: # necessary perl system dependencies are present.  I do not yet
        !            15: # try to actually run tests against each needed perl module.
        !            16: 
        !            17: # --------------------------------- Make sure the perl version is suitably high
        !            18: my $ret=system("find --version 1>/dev/null");
        !            19: if ($]<5.005) {
        !            20:     die "DEPENDENCY FAILURE: LON-CAPA requires perl version >= 5.005.\n";
        !            21: }
        !            22: 
        !            23: # ------------------------------------------ Make sure we have the find command
        !            24: my $ret=system("find --version 1>/dev/null");
        !            25: if ($ret) {
        !            26:     die "DEPENDENCY FAILURE: A test program requires the GNU ".
        !            27: 	"'find' utility.\n";
        !            28: }
        !            29: 
        !            30: # ----------------------------------------- Read in all the system perl modules
        !            31: print "Scanning for perl modules...\n";
        !            32: my $modules; 
        !            33: foreach my $inc (@INC) {
        !            34:     my @m=`find $inc -type f -name '*.pm'`;
        !            35:     foreach my $mod (@m) {
        !            36: 	$modules.=$mod;
        !            37:     }
        !            38: }
        !            39: 
        !            40: # --------------- Seeing if dependencies are in our "full" list of perl modules
        !            41: my %dependencies=qw(
        !            42: 		    GD/Barcode.pm 1
        !            43: 		    GD/Barcode/COOP2of5.pm 1
        !            44: 		    GD/Barcode/Code39.pm 1
        !            45: 		    GD/Barcode/EAN13.pm 1
        !            46: 		    GD/Barcode/EAN8.pm 1
        !            47: 		    GD/Barcode/IATA2of5.pm 1
        !            48: 		    GD/Barcode/ITF.pm 1
        !            49: 		    GD/Barcode/Industrial2of5.pm 1
        !            50: 		    GD/Barcode/Matrix2of5.pm 1
        !            51: 		    GD/Barcode/NW7.pm 1
        !            52: 		    GD/Barcode/UPCA.pm 1
        !            53: 		    GD/Barcode/UPCE.pm 1
        !            54: 		    IO/Dir.pm 1
        !            55: 		    IO/Poll.pm 1
        !            56: 		    IO/Socket/INET.pm 1
        !            57: 		    IO/Socket/UNIX.pm 1
        !            58: 		    Algorithm/Diff.pm 1
        !            59: 		    Algorithm/DiffOld.pm 1
        !            60: 		    Bundle/LWP.pm 1
        !            61: 		    File/Listing.pm 1
        !            62: 		    HTML/AsSubs.pm 1
        !            63: 		    HTML/Element.pm 1
        !            64: 		    HTML/Element/traverse.pm 1
        !            65: 		    HTML/Form.pm 1
        !            66: 		    HTML/Parse.pm 1
        !            67: 		    HTML/Tagset.pm 1
        !            68: 		    HTML/Tree.pm 1
        !            69: 		    HTML/TreeBuilder.pm 1
        !            70: 		    HTTP/Cookies.pm 1
        !            71: 		    HTTP/Daemon.pm 1
        !            72: 		    HTTP/Date.pm 1
        !            73: 		    HTTP/Headers.pm 1
        !            74: 		    HTTP/Headers/Auth.pm 1
        !            75: 		    HTTP/Headers/ETag.pm 1
        !            76: 		    HTTP/Headers/Util.pm 1
        !            77: 		    HTTP/Message.pm 1
        !            78: 		    HTTP/Negotiate.pm 1
        !            79: 		    HTTP/Request.pm 1
        !            80: 		    HTTP/Request/Common.pm 1
        !            81: 		    HTTP/Response.pm 1
        !            82: 		    HTTP/Status.pm 1
        !            83: 		    LWP.pm 1
        !            84: 		    LWP/Authen/Basic.pm 1
        !            85: 		    LWP/Authen/Digest.pm 1
        !            86: 		    LWP/Debug.pm 1
        !            87: 		    LWP/MediaTypes.pm 1
        !            88: 		    LWP/MemberMixin.pm 1
        !            89: 		    LWP/Protocol.pm 1
        !            90: 		    LWP/Protocol/data.pm 1
        !            91: 		    LWP/Protocol/file.pm 1
        !            92: 		    LWP/Protocol/ftp.pm 1
        !            93: 		    LWP/Protocol/gopher.pm 1
        !            94: 		    LWP/Protocol/http.pm 1
        !            95: 		    LWP/Protocol/https.pm 1
        !            96: 		    LWP/Protocol/mailto.pm 1
        !            97: 		    LWP/Protocol/nntp.pm 1
        !            98: 		    LWP/RobotUA.pm 1
        !            99: 		    LWP/Simple.pm 1
        !           100: 		    LWP/UserAgent.pm 1
        !           101: 		    MIME/Body.pm 1
        !           102: 		    MIME/Decoder.pm 1
        !           103: 		    MIME/Decoder/Base64.pm 1
        !           104: 		    MIME/Decoder/Binary.pm 1
        !           105: 		    MIME/Decoder/Gzip64.pm 1
        !           106: 		    MIME/Decoder/NBit.pm 1
        !           107: 		    MIME/Decoder/QuotedPrint.pm 1
        !           108: 		    MIME/Decoder/UU.pm 1
        !           109: 		    MIME/Entity.pm 1
        !           110: 		    MIME/Field/ConTraEnc.pm 1
        !           111: 		    MIME/Field/ContDisp.pm 1
        !           112: 		    MIME/Field/ContType.pm 1
        !           113: 		    MIME/Field/ParamVal.pm 1
        !           114: 		    MIME/Head.pm 1
        !           115: 		    MIME/Parser.pm 1
        !           116: 		    MIME/Parser/Filer.pm 1
        !           117: 		    MIME/Parser/Reader.pm 1
        !           118: 		    MIME/Parser/Results.pm 1
        !           119: 		    MIME/Tools.pm 1
        !           120: 		    MIME/Words.pm 1
        !           121: 		    Net/Cmd.pm 1
        !           122: 		    Net/Config.pm 1
        !           123: 		    Net/Domain.pm 1
        !           124: 		    Net/DummyInetd.pm 1
        !           125: 		    Net/FTP.pm 1
        !           126: 		    Net/FTP/A.pm 1
        !           127: 		    Net/FTP/E.pm 1
        !           128: 		    Net/FTP/I.pm 1
        !           129: 		    Net/FTP/L.pm 1
        !           130: 		    Net/FTP/dataconn.pm 1
        !           131: 		    Net/NNTP.pm 1
        !           132: 		    Net/Netrc.pm 1
        !           133: 		    Net/PH.pm 1
        !           134: 		    Net/POP3.pm 1
        !           135: 		    Net/SMTP.pm 1
        !           136: 		    Net/SNPP.pm 1
        !           137: 		    Net/Time.pm 1
        !           138: 		    Text/Query.pm 1
        !           139: 		    Text/Query/Advanced.pm 1
        !           140: 		    Text/Query/Build.pm 1
        !           141: 		    Text/Query/BuildAdvancedString.pm 1
        !           142: 		    Text/Query/BuildSimpleString.pm 1
        !           143: 		    Text/Query/Optimize.pm 1
        !           144: 		    Text/Query/Parse.pm 1
        !           145: 		    Text/Query/ParseAdvanced.pm 1
        !           146: 		    Text/Query/ParseSimple.pm 1
        !           147: 		    Text/Query/Simple.pm 1
        !           148: 		    Text/Query/Solve.pm 1
        !           149: 		    Text/Query/SolveAdvancedString.pm 1
        !           150: 		    Text/Query/SolveSimpleString.pm 1
        !           151: 		    URI.pm 1
        !           152: 		    URI/Escape.pm 1
        !           153: 		    URI/Heuristic.pm 1
        !           154: 		    URI/URL.pm 1
        !           155: 		    URI/WithBase.pm 1
        !           156: 		    URI/_foreign.pm 1
        !           157: 		    URI/_generic.pm 1
        !           158: 		    URI/_login.pm 1
        !           159: 		    URI/_query.pm 1
        !           160: 		    URI/_segment.pm 1
        !           161: 		    URI/_server.pm 1
        !           162: 		    URI/_userpass.pm 1
        !           163: 		    URI/data.pm 1
        !           164: 		    URI/file.pm 1
        !           165: 		    URI/file/Base.pm 1
        !           166: 		    URI/file/FAT.pm 1
        !           167: 		    URI/file/Mac.pm 1
        !           168: 		    URI/file/OS2.pm 1
        !           169: 		    URI/file/QNX.pm 1
        !           170: 		    URI/file/Unix.pm 1
        !           171: 		    URI/file/Win32.pm 1
        !           172: 		    URI/ftp.pm 1
        !           173: 		    URI/gopher.pm 1
        !           174: 		    URI/http.pm 1
        !           175: 		    URI/https.pm 1
        !           176: 		    URI/ldap.pm 1
        !           177: 		    URI/mailto.pm 1
        !           178: 		    URI/news.pm 1
        !           179: 		    URI/nntp.pm 1
        !           180: 		    URI/pop.pm 1
        !           181: 		    URI/rlogin.pm 1
        !           182: 		    URI/rsync.pm 1
        !           183: 		    URI/snews.pm 1
        !           184: 		    URI/telnet.pm 1
        !           185: 		    WWW/RobotRules.pm 1
        !           186: 		    WWW/RobotRules/AnyDBM_File.pm 1
        !           187: 		    Authen/Krb4.pm 1
        !           188: 		    Bundle/DBD/mysql.pm 1
        !           189: 		    Bundle/DBI.pm 1
        !           190: 		    Crypt/DES.pm 1
        !           191: 		    Crypt/IDEA.pm 1
        !           192: 		    DBD/ADO.pm 1
        !           193: 		    DBD/ExampleP.pm 1
        !           194: 		    DBD/Multiplex.pm 1
        !           195: 		    DBD/NullP.pm 1
        !           196: 		    DBD/Proxy.pm 1
        !           197: 		    DBD/Sponge.pm 1
        !           198: 		    DBD/mysql.pm 1
        !           199: 		    DBI.pm 1
        !           200: 		    DBI/DBD.pm 1
        !           201: 		    DBI/FAQ.pm 1
        !           202: 		    DBI/Format.pm 1
        !           203: 		    DBI/ProxyServer.pm 1
        !           204: 		    DBI/Shell.pm 1
        !           205: 		    DBI/W32ODBC.pm 1
        !           206: 		    Digest.pm 1
        !           207: 		    Digest/HMAC.pm 1
        !           208: 		    Digest/HMAC_MD5.pm 1
        !           209: 		    Digest/HMAC_SHA1.pm 1
        !           210: 		    Digest/MD2.pm 1
        !           211: 		    Digest/MD5.pm 1
        !           212: 		    Digest/SHA1.pm 1
        !           213: 		    HTML/Entities.pm 1
        !           214: 		    HTML/Filter.pm 1
        !           215: 		    HTML/HeadParser.pm 1
        !           216: 		    HTML/LinkExtor.pm 1
        !           217: 		    HTML/Parser.pm 1
        !           218: 		    HTML/TokeParser.pm 1
        !           219: 		    MIME/Base64.pm 1
        !           220: 		    MIME/QuotedPrint.pm 1
        !           221: 		    Math/Cephes.pm 1
        !           222: 		    Math/Cephes/Complex.pm 1
        !           223: 		    Math/Cephes/Fraction.pm 1
        !           224: 		    Mysql.pm 1
        !           225: 		    Mysql/Statement.pm 1
        !           226: 		    SHA.pm 1
        !           227: 		    Safe/Hole.pm 1
        !           228: 		    Win32/DBIODBC.pm 1
        !           229: 		    Algorithm/Diff.pm 1
        !           230: 		    Apache/Constants.pm 1
        !           231: 		    Apache/File.pm 1
        !           232: 		    capa.pm 1
        !           233: 		    CGI.pm 1
        !           234: 		    CGI/Cookie.pm 1
        !           235: 		    Crypt/DES.pm 1
        !           236: 		    DBI.pm 1
        !           237: 		    Fcntl.pm 1
        !           238: 		    File/Copy.pm 1
        !           239: 		    FileHandle.pm 1
        !           240: 		    GDBM_File.pm 1
        !           241: 		    HTML/TokeParser.pm 1
        !           242: 		    HTML/TreeBuilder.pm 1
        !           243: 		    HTTP/Headers.pm 1
        !           244: 		    IO/Socket.pm 1
        !           245: 		    LWP/UserAgent.pm 1
        !           246: 		    Math/Cephes.pm 1
        !           247: 		    Math/Random.pm 1
        !           248: 		    Opcode.pm 1
        !           249: 		    POSIX.pm 1
        !           250: 		    Safe.pm 1
        !           251: 		    Safe/Hole.pm 1
        !           252: 		    Socket.pm 1
        !           253: 		    strict.pm 1
        !           254: 		    Text/Query.pm 1
        !           255: 		    tth.pm 1
        !           256: 		    vars.pm 1
        !           257: 		    );
        !           258: 
        !           259: my $errorflag=0;
        !           260: foreach my $dep (keys %dependencies) {
        !           261:     unless ($modules=~/$dep/) {
        !           262: 	print "MISSING $dep\n";
        !           263: 	$errorflag++;
        !           264:     }
        !           265: }
        !           266: 
        !           267: exit $errorflag;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>