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
pgp2AzU4GwBJn.pgp
Description: PGP signature

