[Repoze-dev] plone 3.1 beta1 eggs
Chris McDonough
chrism at plope.com
Wed Mar 12 10:18:34 UTC 2008
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 (chrism at agendaless.com)
__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="plone-users at lists.sourceforge.net",
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 (chrism at agendaless.com)
__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="plone-users at lists.sourceforge.net",
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="reopze-dev at lists.repoze.org",
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
More information about the Repoze-dev
mailing list