File:  [LON-CAPA] / loncom / build / system_dependencies / README
Revision 1.2: download - view: text, annotated - select for diffs
Mon Feb 3 18:03:52 2003 UTC (21 years, 4 months ago) by harris41
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, bz5969, bz5610, bz2851, PRINT_INCOMPLETE_base, PRINT_INCOMPLETE, HEAD, GCI_3, GCI_2, GCI_1, BZ5971-printing-apage, BZ5434-fox, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
best wishes to all.

    1: LON-CAPA AND SYSTEM DEPENDENCIES
    2: 
    3: SYNOPSIS
    4: --------
    5: This directory, system_dependencies, is concerned with testing requisite
    6: subsystems of LON-CAPA.  Two such subsystems are MySQL (a database layer
    7: needed for both library and access servers), and perl (meaning the total
    8: collection of necessary perl modules).
    9: 
   10: The rest of this file explains the history and philosophy of LON-CAPA
   11: subsystems.
   12: 
   13: HISTORY
   14: -------
   15: Earlier approaches toward these subsystems were based on an
   16: install-and-forget assumption.  For example, a system administrator
   17: need only install an auxiliary perl software package (in addition
   18: to the RedHat packages) and then the subsystem was considered
   19: to be "valid".
   20: 
   21: However, the install-and-forget assumption does not take into
   22: account the many dependency and filesystem conflicts that are
   23: produced over time by events such as:
   24: 
   25: * changes in the LON-CAPA code;
   26: * changes in perl (version 5.005 becomes 5.6.0 which becomes 5.6.1, etc.);
   27: * RedHat OS changes (from RH6.2 to RH7.2 to RH7.3);
   28: * available RedHat software packages change
   29:   (RH7 has many subpackages for perl);
   30: * the number and versions of perl modules being used by LON-CAPA change
   31:   (we are adding Image::Magick as well as beginning to add SSL and XSLT
   32:    perl modules);
   33: * the multiple versions of subsystems that we produce to be compatible
   34:   with different combinations of the changes above;
   35: * needing to custom-patch various perl modules (such as HTML::Parser);
   36:   and
   37: * needing to expand the MySQL metadata table (which we have been postponing
   38:   for a long time...).
   39: 
   40: I have identified at least 10 more CPAN distributions that should eventually
   41: be added to a running LON-CAPA server system.  But with all the criteria
   42: above, there is too much friction associated with adjusting the CPAN
   43: composition on the server.
   44: 
   45: The install-and-forget assumption also creates difficulties for making
   46: LON-CAPA portable to other UNIX-like systems such as Solaris, BSD-Unix,
   47: and Debian.  While RedHat is the "supported" GNU/Linux system of choice,
   48: it is negligent to not at least try and run LON-CAPA on top of other operating
   49: system versions and flavors.
   50: 
   51: I am a hardcore advocate of being able to install LON-CAPA anywhere,
   52: on any server (except for software that crashes too much--like Mircrosoft).
   53: 
   54: THE WORKING PHILOSOPHY
   55: ----------------------
   56: The new approach is to, in a sense, work with sub-subsystems.
   57: 
   58: Since there are difficulties with the diagnosis and treatment of "MySQL"
   59: and "1000+ perl modules" as standalone subsystems, the approach is to
   60: work with sub-subsystems which are small enough to have:
   61: 
   62: * well-defined characteristics of installation;
   63: * well-defined characteristics of unique identification and version-typing
   64:   on the operating system;
   65: * well-defined characteristics of testing.
   66: 
   67: Thus, you will see a certain flux right now as we move away from
   68: one big "systemperl" RPM, to 32 CPAN-distribution-based self-extracting
   69: binaries.
   70: 
   71: Never again will we be overlapping the filesystem with conflicting RPMs
   72: (systemperl has encroached upon RedHat RPMs).  Never again will we be
   73: maintaining multiple systemperl RPMs for multiple systems.
   74: 
   75: Now, the handling of perl is simply a process of asking:
   76: 
   77: * Is a CPAN distribution present on a LON-CAPA server system?
   78: * Is a CPAN distribution the correct version for the current LON-CAPA code
   79:   system?
   80: * Is a CPAN distribution working on a LON-CAPA server when tested?
   81: 
   82: And, also very important:
   83: 
   84: * How do I add or update a CPAN distribution on a LON-CAPA server?
   85:   (Answer: Download a self-extracting binary and execute!
   86:            Or install manually from www.cpan.org.  It's up to you!)
   87: 
   88: CPAN handling on LON-CAPA is getting better.
   89: 
   90: .
   91: .
   92: .
   93: 
   94: Next on the list is MySQL.

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