Re: Binary naming for Django Related Packages
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
Reply to: