Hey Carlos, do you think you might try to get a head start on rolling Plone 3.1 
into eggs from the current 3.1 beta?  I don't think we should release a 
repoze.plone that depends on it until it's final, but it would be nice to get 
it 
ready to go.  I'll also need to do some repository shuffling when it comes out, 
so we can allow people to use 3.0 still.

Here's what I usually do to make the eggs:

-  I download the Plone tarball.

-  I split it into two pieces: the stuff in the "lib/python" directory
    (this becomes plonelibs) and the stuff in the Products directory
    (this becomes ploneproducts).

- I create a directory containing just the stuff in plonelibs.
   I add a setup.py to it that looks like this:

# Packaged by Chris McDonough ([EMAIL PROTECTED])
__version__ = '3.0.6.0'

from ez_setup import use_setuptools
use_setuptools()

import os

from setuptools import setup, find_packages
here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.txt')).read()

setup(name='plonelibs',
       version=__version__,
       description='Plone helps you manage your content',
       long_description=README,
       keywords='web application server zope plone',
       author="Plone Foundation and Contributors",
       author_email="[EMAIL PROTECTED]",
       url="http://www.plone.org";,
       license="GPL",
       packages=find_packages(),
       include_package_data=True,
       zip_safe=False,
       )

- I check in the result.  I check it back out again and run setup.py sdist
   to create the source distro.

- I create a directory named ploneproducts.  I put a Products directory in
   it that has a namespace declaration in its __init__.py.  I put
   the following products in it:

ATContentTypes            CMFTestCase                  PloneTestCase
ATReferenceBrowserWidget  ExtendedPathIndex            PloneTranslations
AdvancedQuery             ExternalEditor               PortalTransforms
Archetypes                GroupUserFolder              ResourceRegistries
CMFDiffTool               Marshall                     SecureMailHost
CMFDynamicViewFTI         MimetypesRegistry            ZopeVersionControl
CMFEditions               NuPlone
CMFFormController         PasswordResetTool            kupu
CMFPlacefulWorkflow       PlacelessTranslationService  statusmessages
CMFPlone                  PloneLanguageTool            validation
CMFQuickInstallerTool     PlonePAS

  (the other products come from cmflib/PAS/GenericSetup eggs)

- I create a setup.py in the root of ploneproducts that looks like this:

# Packaged by Chris McDonough ([EMAIL PROTECTED])
__version__ = '3.0.6.0'

from ez_setup import use_setuptools
use_setuptools()

import os

from setuptools import setup, find_packages
here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.txt')).read()

setup(name='ploneproducts',
       version=__version__,
       description='Zope Product packages for Plone',
       long_description=README,
       keywords='web application server zope plone',
       author="Plone Foundation and Contributors",
       author_email="[EMAIL PROTECTED]",
       url="http://www.plone.org";,
       license="GPL",
       packages=find_packages(),
       include_package_data=True,
       namespace_packages=['Products'],
       zip_safe=False,
       install_requires=[
          'plonelibs >= 3.0.1.0',
          'Products.PluginRegistry == 1.1.2',
          'Products.PluggableAuthService == 1.5.3',
          'PIL >= 1.1.6',
          'elementtree >=1.2.6, < 1.2.7',
          ],
       dependency_links=['http://dist.repoze.org'],
       )

- I check in the result, then check it back out again and
   run setup.py sdist in the checkout to generate the source
   distro.

- I bump the repoze.plone version and roll another release of it.
   Its setup.py looks like this:

__version__ = '0.2.8'

from ez_setup import use_setuptools
use_setuptools()

import os

from setuptools import setup, find_packages

here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.txt')).read()

setup(name='repoze.plone',
       version=__version__,
       description=('A metapackage that allows installation of Plone 3'
                    'within a repoze environment'),
       long_description=README,
       classifiers=[
         "Development Status :: 1 - Planning",
         "Intended Audience :: Developers",
         "Programming Language :: Python",
         "Framework :: Plone",
         "Topic :: Internet :: WWW/HTTP",
         "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
         "Topic :: Internet :: WWW/HTTP :: WSGI",
         "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
         ],
       keywords='web application server wsgi zope plone',
       author="Agendaless Consulting",
       author_email="[EMAIL PROTECTED]",
       dependency_links=['http://dist.repoze.org'],
       url="http://www.repoze.org";,
       license="BSD-derived (http://www.repoze.org/LICENSE.txt)",
       packages=find_packages(),
       include_package_data=True,
       zip_safe=False,
       install_requires=[
              'repoze.zope2 >= 0.3.1',
              'cmflib >= 2.1.1.0',
              'ploneproducts >= 3.0.6.0',
              'plonelibs >= 3.0.6.0',
              ],
       entry_points = """\
       [repoze.project]
       initialize = repoze.zope2.instance:mkinstance
       """,
       )

- I check in the new version.

You can probably use a different dependency-links URL while testing (a file:// 
based one may work).

In any case, it'd be nice. ;-)

- C
_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to