Jim Fulton wrote: > Shane Hathaway wrote: >> I'm sure Fred is doing excellent work, but I'm having trouble seeing why >> we need zpkgtools. Is it not sufficient to just "python setup.py >> install" all of Zope 3? > > I hope so. What zpkgtools does is to: > > - Build our setup.py script (which we name install.py) for us based > on meta data. In that sense, it is a setup.py-development tool. > > - Allow us more flexibility in deciding what a release is by allowing > us to specify what to include in a release and make sure other things > are included to make sure we distribute what we need. > > Also, by providing dependincies as meta-data files, we: > > - We are making design-level commitments about interdependencies, and
These are great use cases--thanks for listing them. Zope definitely needs these things. > - We are taking a step towards being able to have an automated package > system that will someday allow releases and updates to be smaller, > more automated, and easier to keep up to date. Automated package dependency management always seems to pull in dependencies on the entire system. For example, Twisted might one day start using the new cross-platform libevent library. [1] But libevent on Linux wants Linux 2.6 and a glibc compiled for Linux 2.6, so Twisted would need to indicate a dependency on a host of non-Python packages. I don't think zpkgtools wants to manage dependencies on the whole system, yet that's what users need. .. [1] http://www.monkey.org/~provos/libevent/ I once thought innovation in system libraries and utilities would slow down and eventually stabilize, but from all appearances, the innovation is actually speeding up. As a result, whole-system dependency management is becoming more important. When a complete package management system is available, tools that manage only some of the dependencies become a nuisance. Take Perl's CPAN-based dependency management tool, for instance. I used it once, and it downloaded and installed all the Perl libraries I needed. However, the application I was trying to run wouldn't work, and it took me hours to figure out I needed a version of glibc that took advantage of the kernel's event API. CPAN couldn't have known that because it's not aware of the whole system. I solved the problem using Portage. So zpkgtools sounds like a great tool for ensuring high-quality releases, but I don't think it should also manage package installation. Generating something like setup.py, and doing little more, is the best thing for zpkgtools to do. Shane _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com