On Monday, November 28, 2016 05:50:24 PM Piotr Ożarowski wrote: > [Scott Kitterman, 2016-11-28] > > > I've recently done some Django related packaging for the first time and > > noticed that we have organically (as far as I can tell) grown a slightly > > different naming convention for such packages. Instead of python*-foo, we > > use python*-django-foo. > > > > I think this is a reasonable approach and followed it in the new packages > > I've recently done. > > > > I decided to check and see how common the approach is. Here's what I > > found in Sid: > > > > Start with django: 7 > > Start w/django, not transitional: 2 > > Start with django3: 0 > > > > Start with python-django (excluding -doc): 136 > > Start with python3-django: 84 > > > > I think it would make sense to add this to the Python policy so how we're > > doing it is documented. I am attaching a proposed diff. I made it a > > should because there are two non-DPMT packages that don't follow this > > rule and I think it's late in the cycle to be adding to must policy > > requirements. > > > > Please let me know what you think. I'm open to suggestions on wording. > > I'd like to get this done in the next week and do a python-defaults > > upload with this and a few minor (non-policy) changes that are pending. > > -1 from me > > > If Django packages have no use outside Django¹, they should be moved out² > of public dist-packages IMO. If they are useful, "-django" part is > misleading. > > [¹] dash suggest they're not in django namespace, otherwise binary > package name would be python3-django.foo > (or python3-django.ext.foo, like in flask?) > [²] sys.path.append('/usr/lib/python3/django-packages/') in > django/__init__.py if django import always prepends other imports > (python3-django- namespace would be tolerable then, I guess)
Some, but not all of them, are shipped as django_foo, so for those, I think python*-django-foo is actually correct. >From a django perspective, it makes a difference. As an example, django- python-hstore (which I just packaged with python*-django-hstore binaries) is django_hstore. When added to Django INSTALLED_APPS, it's added as django_hstore. The django. namespace is for things shipped with Django, not third-party packages. Asking upstreams to rename to use django_ where they don't will complicate things for upgrades, so I don't think that's a great idea. I'm not one of the python-django uploaders, so we'd need their feedback on [2]. I think something like that is a reasonable compromise if they are willing to support it. Thanks, Scott K