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>