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>