On Mon, Jan 03, 2011 at 09:36:22PM +0100, Diez Roggisch wrote:
> >Distribution is one of the axis considered for choosing a development
> >platform. We have heard from multiple consumers that egg files
> >deployment and management is not acceptable and they would consider
> >the product only if  it is available in .rpm or .deb package format.
> >
> >Even from developers point of view, being able to get an environment
> >where they can start getting their hands wet is also important. (See
> >wiki updates on documents on the install page the number of updates
> >and workarounds for people to get TG2 stack installed)
> 
> We have developers up and running (if they have a working linux) in under 
> half an hour. 
> 
> And of course a DEB or RPM is nice, if that's the way you chose to deploy. 
> But that has nothing to do with my point. You can certainly create a DEB 
> containing a full versionset, with dependend eggs. The problem is to try & 
> use the shipped dependencies of your distro. That's a desaster waiting to 
> happen.
> 
Generalizations are bad because they ignore that there's different needs
that different strategies are geared for and the different tools that
underly those strategies.

If you're creating a web application for use inside of an organization where
you're also the full-time sysadmin for the service, virtualenvs may be the
best way to manage that.

If you're handing off to a dedicated IT department that deploys to a stable
system (one where API compatibility is ensured even when packages are
updated), building to use the system packages that will be available on that
system may be a requirement imposed by IT.

If you're developing an application that will be released for people in many
different organizations to run (for example Drupal or mediawiki [Is it bad
that all the apps that I can think of that fit this role off the top of my
head are php?  :-( ]) then you have to write code that can deal with a wide
variety of different versions since the route most users will take to get
this software will be what's packaged for their operating system.

A little unrelated, putting all of the eggs you depend on into a single
deb/rpm really is a recipe for disaster as it means that you need to manage
the builds for all of the packages should you need to make changes to just
one.  It's much better to take the packages from your distro and modify them
to suit your needs and then create a package repository to pull your packages
from.  That way you: 1) Gain the benefit of seeing how your system
maintainers have built their packages to work around quirks that they've
discovered in each of the packages. 2) When you discover something that you
must fix, you're able to fix only that one package and issue an update
rather than updating everything in the rpm, possibly introducing unexpected
changes.

-Toshio

Attachment: pgp2AzU4GwBJn.pgp
Description: PGP signature

Reply via email to