[openstack-dev] [Openstack] Blueprint proposal: Drop setuptools_git for including data/config files

Sascha Peilicke saschpe at suse.de
Tue Dec 4 13:30:30 UTC 2012


On 12/04/2012 02:06 PM, Thierry Carrez wrote:
> Sascha Peilicke wrote:
>> Currently, the majority of OpenStack components make use of the
>> Python module "setuptools_git" in order to install additional
>> configuration files. 
>>
>> [snip]
>>
>> Thoughts?
> 
> A bit of history here:
> 
> We used to rely on MANIFEST.in to list all files, but people routinely
> forgot to add new files to it. Apparently "every Python developer"
> doesn't know (or care) about this. The end result was that we
> discovered very late (sometimes after the release itself) that we
> built incomplete tarballs. As a quick search[1] shows, I have
> personally filed 27 bugs so far on the subject, so it's not a corner case.
I see, I actually do believe that automating this has value, even though
the decision what is installed is implicit rather than explicit.
Also, I think this is sometimes hard to spot when reviewing commits, but
in theory, a developer _should_ care that the his configuration files
are actually installed when he relies on them to be there. But maybe
most developers only live in their git trees...

> [1] http://bit.ly/TDim7U
> 
> Relying on setuptools_git instead allows to avoid that issue
> altogether. The projects that adopted it became a non-issue. The
> projects that didn't adopt it yet are still a problem. I was about to
> push setuptools_git support to projects that don't use it yet.
So the issue is deferred to the installation / deployment phase. IMO
setuptools_git is an elegant tool to simplify development but at one
point you have to be specific about which files you require and which
you don't. So at the moment, the release tarballs are rather useless for
distributors because they lack .git/ directories and thus the
information that would be needed to correctly install the tarballs content.

Also, it's confusing, on the one hand we are using setuptools_git but
there are still MANIFEST.in files with "include" lines. Can the former
be used to "exclude" stuff or is that still only possible with
MANIFEST.in files?

> In summary, I would hate it if we went back to the previous situation.
> I'm not personally attached to setuptools_git, but any proposed
> replacement solution should keep its simplicity.
I would have to play more with setuptools_git but maybe it can be used
to generate the MANIFEST.in file. That could be triggered on a regular
schedule and the result committed if the file has a diff. Would that be
acceptable?
-- 
With kind regards,
Sascha Peilicke
SUSE Linux GmbH, Maxfeldstr. 5, D-90409 Nuernberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer HRB 16746 (AG Nürnberg)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121204/8b965bd1/attachment.pgp>


More information about the OpenStack-dev mailing list