[Zope3-dev] Mail delivery failed: returning message to sender
Mail Delivery System
Mailer-Daemon at python.org
Sun Feb 15 10:25:49 EST 2004
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
corey at streamreel.net
SMTP error from remote mailer after RCPT TO:<corey at streamreel.net>:
host iris2.directnic.com [204.251.10.82]: 550 5.7.1 No such recipient
------ This is a copy of the message, including all the headers. ------
Return-path: <zope3-dev at zope.org>
Received: from cache1.zope.org ([12.155.117.38])
by mail.python.org with esmtp (Exim 4.22)
id 1AsO85-00082u-7C; Sun, 15 Feb 2004 10:24:21 -0500
From: zope3-dev at zope.org (jim)
Reply-To: zope3-dev at zope.org
To: ;
Subject: [Zope 3 Packaging Proposal] (new)
Message-ID: <20040215102421EST at dev.zope.org>
X-BeenThere: zope3-dev at zope.org
X-Zwiki-Version: 0.21.1
Precedence: bulk
List-Id: <zope3-dev at zope.org>
List-Post: <mailto:zope3-dev at zope.org>
List-Subscribe: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3PackagingProposal/subscribeform>
List-Unsubscribe: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3PackagingProposal/subscribeform>
List-Archive: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3PackagingProposal>
List-Help: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture>
Date: Sun, 15 Feb 2004 10:24:21 -0500
X-Spam-Status: OK (default 0.000)
Packaging of Zope 3 file-system-based software
Status: IsPreProposal
Author
JimFulton
Problem
An important feature of Zope 3 is that it provides a highly
flexable and modular architecture for creating applications. It
is hoped that Zope components will be arranged in a variety of
ways to meet various application needs. (Certainly, at least one
configuration will be an web application server recognizable as
Zope. :)
To support this flexability, we'd like to provide a fine-grained
packaging system that supports:
- Easy creation of software distributions to meet a variety of
needs. For example, we'd like to make it easy to support both
stable and development Zope distributions. The Zope X3.0.0
distribution will include only features that are either very
stable or needed for file-system-based development. There are
many other components in the Zope 3 repository that would be
useful to people willing to work with still-under-development
software. We'd like to be able to easily generate alternative
"development" distributions with these components.
- Flexible update and maintenance of distribution components
This document, which will eventually become a proposal, proposes
some goals for selection and or design of a packaging system for
Zope.
Goals (and assumptions)
- Support fine-grained software distribution packaging.
Software distribution packages will often correspond directly
to Python packages that are rather small. For example, a small
software distribution package might include a single Python
package with only a few source files.
Note that supporting fine-grained distribution packages
requires a packaging system that supports (requires) and
leverages information about package dependencies.
- Work with distutils. We don't want to reinvent the wheel.
OTOH, we may have to work with the rest of the Python
community to improve the wheel we have to provide or support
package management. The most imporatnt need being dependency
management. See PEP 262.
We should strive to have needed distutils improvements ready
for inclusion in Python 2.4.
- Work with existing platform packaging systems, most notably,
RPM, Debian packages, and Fink.
- Support platforms without their own packaging systems, most
notably windows.
- Support easy creation of various Zope distributions. These
distributions will allow simple installation of a collection
of packages easily without use of a package system by end
users.
- Liberate the Zope repository from having to reflect
distribution or packages status (e.g. core or not core.)
- It should remain possible to check out the Zope 3 CVS module,
execute a simple build command and run Zope in place. It
should be easy to modify software, run tests and Zope and
check in changes without having to resort to separate
"install" steps after each change.
- Provide a simpler repository layout to make Zope 3 software
easier to understand and navigate.
- Provide greater visability to software dependencies
Non Goal
- An important non-goal is Zope instance creation. The software
packaging mechanism will be responsible for installing
software. It will generally not be responsible for setting up
Zope instances. Rather, among the software installed will be
software for creating Zope instances.
Jargon problems
We use the term "package" to refer *both* to Python packages and
to units of software distribution. There will often, but not
always be a one-to-one correspondence between software
distribution packages and Python packages. Distutils attempts
to solve this by refering to software distributions as "module
distributions". I (Jim) find this rather unsatisfying. This is
an issue that will, ultimately, need to be resolved by the
Python community. We will follow thier lead.
Possible vision
- Work with the Python community at large to extend distutils
to manage information necessary for packaging and create a
simple package-management system for python.
- From the above system, provide utilities for automatically
generating platform (RPM, Debian, etc.) packages.
- Create a system for generating distributions from packages.
For example, a source distribution might be defined by
specifying a root pacakge and satisfying it's deoendency. A
source distribution might then be simply a collection of
gathered source packages and glue utilities (obviously based
on distutils) that build and install the collected packages.
Note that source and binary distributions may not look
anything like the CVS repository.
Distutils issues
We are aware of a number of issues using distutils to package
Zope software. These are collected here so we can seek to
address them in this project:
- Lack of dependency data needed to support a packaging
system. See PEP 262.
- No support for package data files. Zope makes extensive use
of Python packages to include files in addition to Python
modules, including:
o Source files for other languages (e.g. ZPT and DTML)
o Configuration files
o Images
Distutils has minimal support for installing data files, but
has no notion of data files that are in and that should be
installed with packages.
- Issues with generating (or generated) platforn packages
(e.g. RPMs).
This space for Tres to fill in. :)
Proposal
Note yet
--
forwarded from http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3PackagingProposal
More information about the Zope3-dev
mailing list