From xemacs-m  Fri Apr 18 13:44:31 1997
Received: from mail.cis.ohio-state.edu (mail.cis.ohio-state.edu [164.107.8.55])
	by xemacs.org (8.8.5/8.8.5) with SMTP id NAA02330
	for <xemacs-beta@xemacs.org>; Fri, 18 Apr 1997 13:44:31 -0500 (CDT)
Received: from calico.cis.ohio-state.edu (calico.cis.ohio-state.edu [164.107.142.11]) by mail.cis.ohio-state.edu (8.6.7/8.6.4) with ESMTP id OAA20811; Fri, 18 Apr 1997 14:44:24 -0400
Received: (ware@localhost) by calico.cis.ohio-state.edu (8.8.0/8.6.4) id OAA17403; Fri, 18 Apr 1997 14:44:23 -0400 (EDT)
To: xemacs-beta@xemacs.org
Subject: Goals for the packaging system
From: Pete Ware <ware@cis.ohio-state.edu>
Date: 18 Apr 1997 14:44:19 -0400
Message-ID: <vwm3esogoho.fsf@calico.cis.ohio-state.edu>
Lines: 62
X-Mailer: Gnus v5.4.45/XEmacs 20.1

1. Much smaller XEmacs core.
2. Allow sys-admins to easily reach XEmacs SUMO
3. Allow users to gracefully expand/contract from/to core functionality
4. Allow lisp programmers to support packages independently of XEmacs
5. Reasonable security

1. XEmacs core
    - The core or level 0 functionallity should be the minimal to edit a
      text file in Fundamental Mode and to support other modes.
      Not that anyone would view this as satisfactory, but just to define 
      what _has_ to work:

	comm	      communications, networking, remote access to files
	data	      support editing files of data
	docs	      support for Emacs documentation
	faces	      support for multiple fonts
	frames	      support for Emacs frames and window systems
	help	      support for on-line help systems
	i18n	      internationalization and alternate character-set support
	internal      code for Emacs internals, build process, defaults
	lisp	      Lisp support, including Emacs Lisp
	maint	      maintenance aids for the Emacs development group
	mouse	      mouse support
	terminals     support for terminal types

   - The typical stuff one expects
	c	      support for the C language and related languages
	extensions    Emacs Lisp language extensions
	languages     specialized modes for editing programming languages
	message
	processes     process, subshell, compilation, and job control support
	tools	      programming tools
	wp	      word processing

2. XEmacs SUMO:  All the packages at ftp. xemacs.org in one tar file
   
3. Package installation:
   I think this is the part that is going to generate the most
   design/heat.  Personally, I'd like a system with something like:

	- A file in the core distribution that includes a list of all
	packages at ftp.xemacs.org (and/or mirrors) and
	checksum/signatures for each package.  If a user want's to
	load something from this list, it can be installed by XEmacs
	which uses the checksum/signature to verify what it got is
	valid.  It can be darn close to automatic (i.e. prompt once
	per session, each time, never) and can either install it in
	the user's home directory, a temporary space or system wide.

	- Once a package is snarfed by a user, an easy way to install
	it.  Including munging of info and load-path variables.
	This should be done independently of the auto grabbing of it.

4. The ideas&followups that Michael Harnois suggested about the directory
   hierarch seem reasoanble. 

5. In addition, perhaps a way to easily snarf a new version of the
   checksum from ftp.xemacs.org to allow "blessed" files to be added.
   This could also do the generic ==> specific version mapping as well 
   and include the remote path for each package.

--pete

