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