[ZODB-Dev] issue with new package layout

John Belmonte john at neggie.net
Mon Apr 18 21:40:05 EDT 2005


Jim Fulton wrote:
> Tim Peters wrote:
> 
>> [John Belmonte]
>>
>>> I'm trying to update my experimental ZODB Debian package to 3.4.0a1. The
>>> new change of having version numbers hard-coded in file paths within the
>>> source package (e.g. Dependencies/BTrees-ZODB3-3.4.0a1) is very
>>> troubling.
>>
>>
>>
>> Not really new:  for ZODB it started with 3.3b1, last June.  Same kind of
>> deal with Zope3 too.
>>
>>
>>> This means that any patch to the upstream source I try to maintain will
>>> surely not apply cleanly on each new release, because file paths will
>>> have changed.  I've never seen this kind of practice in a source 
>>> package.
>>> Would you please remove the version numbers from these paths?
>>
>>
>>
>> You have to talk to Jim (Fulton) about this; it comes with using zpkg:
>>
>>     http://www.zope.org/Members/fdrake/zpkgtools/
> 
> 
> The shape of zpkgtools-based distributions is very unpopular -- and
> my fault.  We will probably change this, eventually.
> 
>> BTW, don't you install ("setup.py install") ZODB?  There shouldn't be any
>> paths containing version numbers in the installed tree.
> 
> 
> Right.  I would expect packagers to either package an installed
> version or to incorporate the included installer.  Alternatively,
> if there is distutils bdist support for Debian, then I would hope
> a package could be generated with that using the included install.py.

Here is how downstream packaging works.  We take a pristine source 
package, apply a patch, build it, install to a local directory, and then 
package the result.  So you'll note that the patching happens *before* 
the installation.  The purpose of the patch is to make the software 
adhere to the policies of the distribution, apply bug fixes not yet 
released upstream, etc.  The patch is published so that anyone can 
reproduce the package maintainer's work, or apply it to newer upstream 
versions before the maintainer gets around to it.

In my case, Debian has a lot of policies to follow, and ZODB breaks a 
number of them.  I've had varied success getting the necessary changes 
incorporated into ZODB proper-- but that is just a fact of package 
maintenance.  However, making a source package layout that is not 
amenable to patching breaks the whole model, and I can't do my work as a 
maintainer.  We've basically stepped back into a pre-Perl world.

-John


More information about the ZODB-Dev mailing list