Packaging, the whole nine yards, White Paper

This document is in doc/packaging/whitepaper.html. First generated by Scott Harrison, September 29, 2000.

This document is an overview of what needs to be considered in terms of a software development process, from source code creation to CD installation. Suffice it to say, if any of these issues are not resolved, there really is not a sustainable packaging effort that can continue in the future. Shown below is a list of needs and solutions. Hopefully this motivates dialogue, suggestions, and some level of common awareness as to what has been going on. Perhaps there is some disagreement, but hopefully this is somewhat of good start on all of this.. shrug. This is meant to focus and clarify things, not confuse them. I think many of these things have been worked out on many different fronts. However, the name of the game now is to make sure things are going forward to be finished without generating new cans of worms.

Packaging needs, suggested solutions, current status, what remains to do
Need Solution Status To do
Internal Source Code
The code created and overseen by the development team. Generally as relates to code that implements the LON-CAPA network, instructional content handling, and student evaluation.
Internal source code submission CVS implemented on zaphod Eventually port to www.lon-capa.org. Also need to specify process by which users are added/removed from CVS-submission group
Internal source code distribution CVS implemented on zaphod Eventually port to www.lon-capa.org. Need to distribute two versions: LAST-WORKING; and MOST-UP-TO-DATE
Internal source code versioning CVS implemented on zaphod Eventually port to www.lon-capa.org.
Internal source code building CVS a number of "commands", "Makefile" scripts written with some documentation Have a working and understandable set of "commands", "Makefile" scripts written with some documentation.
Installation should be done through an RPM
LON-CAPA-base.rpm should be generated, and be the basis for an install.
Other OS-specific install options could be considered (ie Debian).
External Source Code
The code created and development overseen by others. Generally as relates to "modular" necessary software packages like kerberos and MySQL, as well as multiple perl modules
External source code distribution Anonymous FTP site (www.lon-capa.org) External packages have been gathered into directory as source tarballs Where/how can I post packages?
External source code submission someone with access to www.lon-capa.org not done Who should do this? shall we do this soon?
External source code versioning Use the most up-to-date version that works with LON-CAPA. Currently have the most up-to-date versions. How often should we update available external source code versions?
External source code building Have a README for each software bundle and an automated build script. Generate an RPM. RPMs generated. README's and build scripts are currently dispersed in lon-capa mail archives. Post README, RPMs, and build scripts on anonymous FTP server.
Communication between developers
History has shown that there are a host of issues that occur when integrating software applications together with LON-CAPA and the linux distribution. As with most software development projects, the various questions and solutions must not be lost, and there needs to be a system for passing communications between interested developers.
Communication distribution Mailman, list@lon-capa.org There are archives (including Scott-created search engine) currently for lon-capa@hobbes.lite.msu.edu. Need to port to lon-capa.org.
Operating System and Installation CD generation
The components and installation details of LON-CAPA plus linux operating system to be made available.
Customized Redhat CD image Specify RPM sets; synchronize installation indices of RPM sets. RPM sets have been well specified; both for LON-CAPA runtime systems, and LON-CAPA development systems. CD images have been compiled and burned. I have a number of HOW-TO's I wrote available on spock.lite.msu.edu web site and CVS. Need to post RPM sets to be accessible as updated versions from lon-capa.org. Need to automate and better document CD image generation from internal source, external source, and "original" Redhat CD image.
Installation, Reconfiguration, Updating Software Defined interfaces for both text-based and graphical sessions. Must be scripted together to synchronize entire system. Interfaces are defined (see CVS repository doc/anaconda_interfaces). Much of the scripting is in place. Significantly buggy. . Also need some solid documentation.
Operating System HOW-TO & Mechanics Specify configuration details about various system services (netatalk, samba, nfs). Have auxiliary scripts available (setuid password synchronization script). Much of how to do this is mentioned in the mail archives. Need to do it. Also needs to be officially documented and posted on www.lon-capa.org.
Boot everything and continuously monitor: loncron and /etc/rc.d/init.d/ Run loncron under some random cron scenario (25% chance of being run every hour?) Have all internal package, external package, and operating system services start automatically upon boot (/etc/rc.d/init.d; chkconfig). Much of how to do this is mentioned in the mail archives. Need to do it. Also need to officially document and post on www.lon-capa.org.