Packaging Plone for Debian and other distribution systems

Michael Mulich <[email protected]>
Newsgroups gmane.comp.web.zope.plone.installers
Message-ID <[email protected]>
I just joined the list after Eric Steele pointed me to the conversation 
about deb and rpm packaging (ref 
https://sourceforge.net/mailarchive/message.php?msg_name=a7a2b76b1002041758m446fb831seab801bd1d8e7853-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org 
). Sorry, I didn't have the originally email thread to reply to, so I'm 
just reply as a new thread.

Alex Clark <aclark@ac...> wrote:
 >> (I *might* want to get into the installer game in 2010, namely to 
produce
 >> buildout-based .debs and .rpms…)

Erik Rose and I are working on packaging Plone for Debian for the next 
version of WebLion Hosting here at Penn State University. I know the 
basics of the Debian packaging system, but Erik will be handling the 
majority of that. For the moment I am focusing on package Plone so that 
it may easily be used outside of a zc.buildout configuration (aka 
buildout). I personally want to be able to install Plone from the 
command line in a virtual environment (virtualenv). A perfect example is 
the way repoze.plone is installed (ref 
http://repoze.org/quickstart.html#repoze.plone ).

The reason I want to install Plone from the command line is because it 
gets me closer to the problem at hand, rather than worrying about how to 
build the package before I've even started it. I've been developing 
other projects like this: 1) create a virtualenv 2) easy_install or 
include a requirement in my project's egg 3) easy_install myproject. 
Works great! Repeatable... well, depends on the project.

Sidnei da Silva <dreamcatcher@us...> wrote:
 > Actually, I had missed this part. Can you elaborate a little more on
 > what those .debs would contain? I mean, it would be interesting to
 > create a .deb from each egg and a meta-package that pins hard
 > dependencies from versions.cfg, but at the same time this could result
 > in dependency mess.

That is a lot of deb files... A base Plone instance is made up of about 
190 eggs. To maintain all those eggs as Debian packages would be hell. 
What I am proposing is the use of the known-good-set (KGS) -- which 
Sidnei also mentions -- that is provided by the versions.cfg to produce 
a single deb that contains all the eggs that make up Plone.

I've already written my thoughts down in the WebLion wiki at 
http://weblion.psu.edu/trac/weblion/wiki/PackagingPlone . Additionally, 
I will be periodically updating the wiki page as I develop a solution. 
Rather than rewrite all of that here, I figure you can read about it 
there. :)

What's not in the wiki page yet is about the current progress that I've 
made towards actually creating a solution. So in summary... My short 
term goal is to create an egg/package called plonelibs, which is similar 
to repoze.plone's plonelibs. I'm working on creating this egg 
dynamically using a buildout. I've got the build process working. Now 
I'm working on a fork of collective.recipe.omelette that will actually 
copy the contents of eggs rather than simply creating symbolic links. 
After this, I believe I will be able to tag a release of plonelibs for a 
particular version specified via command line options in the build 
command. Furthermore, this plonelibs package will be used to create a 
single Debian package for Plone.

Sidnei da Silva <dreamcatcher@us...> wrote:
 > *snip*
 > On top of that I would like to implement two things: a
 > PyPI-to-Launchpad bridge that would implement the PyPI upload API in
 > one side and use launchpadlib to push source eggs into Launchpad
 > projects, also creating a branch from the pristine source release. The
 > second thing would be a puller watching the official PyPI RSS feed and
 > importing new releases as they are made. That, combined with the above
 > could enable people to easily have .deb packages available minutes
 > after the source release is uploaded to PyPI.

whoo... Sounds complex and like a lot of moving parts. But don't let me 
stop you, because I also think it sounds like a good challenge. :)

Let me know what you think of my thoughts. Thanks.

-Michael Mulich (pumazi)

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.