ANN: Django 1.0.1 released

2 views
Skip to first unread message

James Bennett

unread,
Nov 15, 2008, 1:25:34 AM11/15/08
to django-...@googlegroups.com, django...@googlegroups.com, django-d...@googlegroups.com
Tonight we've released Django 1.0.1, a bugfix release in the 1.0
series containing improvements and fixes since the 1.0 release. This
is a recommended upgrade for anyone currently running Django 1.0.

The blog entry announcing the release is here:
http://www.djangoproject.com/weblog/2008/nov/15/101/

And the release notes are here:
http://docs.djangoproject.com/en/dev/releases/1.0.1/

--
"Bureaucrat Conrad, you are technically correct -- the best kind of correct."

James Bennett

unread,
Nov 15, 2008, 9:42:57 PM11/15/08
to django...@googlegroups.com, django-d...@googlegroups.com
On Sat, Nov 15, 2008 at 7:48 AM, leonel <lis...@enelserver.com> wrote:
> Ive downloaded the tar.gz from
> http://www.djangoproject.com/download/1.0.1/tarball/
>
> and the md5sum does not match the md5sum from:
> http://media.djangoproject.com/pgp/Django-1.0.1-final.checksum.txt

OK, so here's what happened:

1. When I rolled the release last night, I did 'python manage.py
sdist' to generate the package, then uploaded it to the
djangoproject.com server.
2. I then made my fatal error, which was that I uploaded it to the
Cheese Shop via 'python setup.py sdist upload'.
3. And then I did the checksums and placed the signed file on djangoproject.com.

Astute readers will notice what I did not, namely that step 2
re-generated the package, resulting in a tarball whose constituent
files and directories have slightly different creation times than the
package from step 1. And as a result, the checksums of the package
generated in step 2 are different from the checksums of the package
generated in step 1 -- even though their unpacked contents are
identical -- because 'tar' stores information about creation time in
the resulting compressed file.

So I've replaced the package on djangoproject.com with the copy
generated in step 2 above, and we've verified that its contents and
its checksums match exactly.

Your friendly local release manager apologizes for the inconvenience,
and will now go find someplace to hang his head in shame.

James Bennett

unread,
Nov 15, 2008, 11:13:13 PM11/15/08
to django...@googlegroups.com, django-d...@googlegroups.com
On Sat, Nov 15, 2008 at 8:42 PM, James Bennett <ubern...@gmail.com> wrote:
> 1. When I rolled the release last night, I did 'python manage.py
> sdist' to generate the package, then uploaded it to the
> djangoproject.com server.

(and obviously I meant 'setup.py sdist')

Justin Bronn

unread,
Nov 16, 2008, 9:37:39 AM11/16/08
to Django developers
> (and obviously I meant 'setup.py sdist')
>

I don't know how setup.py bundles a tarball, but it's doing it wrong
-- GeoDjango is broken in the 1.0.1 release tarball. In particular,
at least the following directories were completely _omitted_ from this
release:

http://code.djangoproject.com/browser/django/branches/releases/1.0.X/django/contrib/gis/templates
http://code.djangoproject.com/browser/django/branches/releases/1.0.X/django/contrib/gis/tests/geoapp/sql

While the missing test data is OK, not having the GIS template
directory breaks a lot of functionality, including the geographic
admin and geo sitemaps. I ran `python setup.py sdist` and watched it
skip over the directories myself -- those with superior setuptools
skills can hopefully inform me as to how this can happen.

-Justin

Ludvig Ericson

unread,
Nov 16, 2008, 10:48:10 AM11/16/08
to django-d...@googlegroups.com
On Nov 16, 2008, at 15:37, Justin Bronn wrote:

> http://code.djangoproject.com/browser/django/branches/releases/1.0.X/django/contrib/gis/templates
> http://code.djangoproject.com/browser/django/branches/releases/1.0.X/django/contrib/gis/tests/geoapp/sql
>
> While the missing test data is OK, not having the GIS template
> directory breaks a lot of functionality, including the geographic
> admin and geo sitemaps. I ran `python setup.py sdist` and watched it
> skip over the directories myself -- those with superior setuptools
> skills can hopefully inform me as to how this can happen.

The reason is that MANIFEST.in doesn't tell setuptools to include those
directories in the distribution.

http://code.djangoproject.com/browser/django/trunk/MANIFEST.in

- Ludvig Ericson

Justin Bronn

unread,
Nov 16, 2008, 11:45:56 AM11/16/08
to Django developers
> The reason is that MANIFEST.in doesn't tell setuptools to include those
> directories in the distribution.

Thanks, I eventually figured this out on my own -- it was the
problem. Fixed in r9473 and r9474.

-Justin

Justin Bronn

unread,
Nov 16, 2008, 6:07:53 PM11/16/08
to Django developers
> Thanks, I eventually figured this out on my own -- it was the
> problem.  Fixed in r9473 and r9474.
>

I wish I had known about MANIFEST.in sooner, is there any way we re-
tag and re-release 1.0.1 with the missing files? Or am I forced to
instruct GeoDjango users to avoid easy_install until 1.0.2? If the
latter is the only option, I propose we set up a 1.0.2 timeline ASAP.

-Justin

Karen Tracey

unread,
Nov 16, 2008, 6:33:18 PM11/16/08
to django-d...@googlegroups.com

I didn't know MANIFEST.in needed data directories listed....I know from bug fixing in setup.py that it generates a list of data files to pass into setup -- I wonder what that is used for?  I guess it's for install but not distribution tarfile building?

I do think we need to get a fixed release tarball out ASAP, though I don't know what's best. 

I don't think a 2nd tarball with the 1.0.1 name is an option -- the whole point of having a label like 1.0.1 is so you know what you've got.  Two different 1.0.1 files with different contents defeats the purpose of that.

So I think the next file has to have a 1.0.2 name, and then the question is what does it contain?  One option is exactly what was in 1.0.1 plus the MANIFEST.in change, plus the version file(s?) changes that are necessary to change what version is reported.  I'm not sure what all SVN gyrations are necessary to achieve that, but I'm sure it's possible. (Branch from the 1.0.1 rev, apply the necessary fixes to this branch, tag that as 1.0.2?)

The other alternative is building 1.0.2 from 'traditionally' from the current 1.0.X branch contents.  So 1.0.2 would have a handful of fixes in addition to the missing gis files.  The fixes that have gone in are small & minor and I don't see any reason whey any of them couldn't go out in a release immediately.  If this is the route taken, I'd suggest #9612 be added as well -- it's a translation update that fixes the date format translation strings which were misunderstood during first translation.

Karen

Jacob Kaplan-Moss

unread,
Nov 16, 2008, 6:42:12 PM11/16/08
to django-d...@googlegroups.com
On Sun, Nov 16, 2008 at 5:33 PM, Karen Tracey <kmtr...@gmail.com> wrote:
> The other alternative is building 1.0.2 from 'traditionally' from the
> current 1.0.X branch contents. So 1.0.2 would have a handful of fixes in
> addition to the missing gis files. The fixes that have gone in are small &
> minor and I don't see any reason whey any of them couldn't go out in a
> release immediately. If this is the route taken, I'd suggest #9612 be added
> as well -- it's a translation update that fixes the date format translation
> strings which were misunderstood during first translation.

I'll defer to James to make the final call, but I'd prefer to do this
and release 1.0.2 on Monday or Tuesday with a note that it's basically
1.0.1 plus the GeoDjango stuff we forgot and a couple of new bug fixes
that got slipped in. If you look around you'll see other projects do
the same all the time; I see no reason to be different.

Jacob

Justin Bronn

unread,
Nov 16, 2008, 7:07:28 PM11/16/08
to Django developers
> I didn't know MANIFEST.in needed data directories listed....I know from bug
> fixing in setup.py that it generates a list of data files to pass into setup
> -- I wonder what that is used for?  I guess it's for install but not
> distribution tarfile building?

Neither did I -- and those files _are_ in the `data_files` list used
by setup.py :) From what I gather, if the files aren't in MANIFEST.in
and aren't Python source files then they'll be pruned. [1]

> I don't think a 2nd tarball with the 1.0.1 name is an option -- the whole
> point of having a label like 1.0.1 is so you know what you've got.  Two
> different 1.0.1 files with different contents defeats the purpose of that.

Agreed. My only worry was that there would be a significant period of
time between 1.0.1 and 1.0.2 (like the time between 1.0 and 1.0.1).
If the timeline is for next week (like Jacob suggested) rather than
two months from now, it's a moot point and I'm +1 for fixing this
issue in a 1.0.2 release.

-Justin

[1] http://www.python.org/doc/2.5.2/dist/manifest.html

James Bennett

unread,
Nov 16, 2008, 7:46:32 PM11/16/08
to django-d...@googlegroups.com
On Sun, Nov 16, 2008 at 5:42 PM, Jacob Kaplan-Moss
<jacob.ka...@gmail.com> wrote:
> I'll defer to James to make the final call, but I'd prefer to do this
> and release 1.0.2 on Monday or Tuesday with a note that it's basically
> 1.0.1 plus the GeoDjango stuff we forgot and a couple of new bug fixes
> that got slipped in. If you look around you'll see other projects do
> the same all the time; I see no reason to be different.

That sounds like the best plan. Let's aim for Tuesday (Monday I've got
to babysit some site launches), and add a couple caveats to
contributing instructions for patch authors and committers reminding
them to run 'setup.py sdist' and check that the package includes any
new directories they've added (if not, patch should be amended to
include changes to setup.py or the manifest).

Malcolm Tredinnick

unread,
Nov 16, 2008, 7:54:23 PM11/16/08
to django-d...@googlegroups.com

Yeah, I don't see a problem with doing a 1.0.2 like that. Point releases
for non-security reasons are cheap. Recommend we do that.

Regards,
Malcolm


alex....@gmail.com

unread,
Nov 16, 2008, 8:03:48 PM11/16/08
to Django developers
This: http://code.djangoproject.com/ticket/9613 seems to be of the
same vein. I haven't confirmed it however.

On Nov 16, 7:54 pm, Malcolm Tredinnick <malc...@pointy-stick.com>
wrote:
> On Sun, 2008-11-16 at 17:42 -0600, Jacob Kaplan-Moss wrote:

Justin Bronn

unread,
Nov 16, 2008, 9:42:42 PM11/16/08
to Django developers
> This:http://code.djangoproject.com/ticket/9613seems to be of the
> same vein.  I haven't confirmed it however.

Yeah I confirmed it. I went through the contrib apps one-by-one to
see if anything else was missing. In addition to auth's missing
files, the templates for formtools are omitted.

I've got a patch on #9613; what other places should we be looking for
missing dirs?

-Justin

Malcolm Tredinnick

unread,
Nov 16, 2008, 9:55:43 PM11/16/08
to django-d...@googlegroups.com

I applied that patch and then diffed the filename listings between an
sdist tarball and the raw tree. The only missing file of note is
simplejson's LICENSE file, which we should be shipping. I'll add that
and commit the change. Thanks for finding those other ones, Justin.

Regards,
Malcolm

Karen Tracey

unread,
Nov 18, 2008, 2:44:42 PM11/18/08
to django-d...@googlegroups.com

Not sure when on Tuesday you're aiming for.  I still think it would be good if this translation fix:

http://code.djangoproject.com/ticket/9612

were put in (I'd do it myself except I don't know how to generate the binary xlate file).  Also I assume you've seen #9616, about bdist_rpm failing because of the hyphens in the version string?  Finally if you need anyone to test-install the next version before releasing it, feel free to ask me...I'm heading out now for a few hours but will be available later this afternoon/evening/night.

Karen

alex....@gmail.com

unread,
Nov 18, 2008, 4:14:54 PM11/18/08
to Django developers
To generate the files just cd django; django-admin.py compilemessages -
l LANG_CODE

Another language ticket is: http://code.djangoproject.com/ticket/9597

On Nov 18, 2:44 pm, "Karen Tracey" <kmtra...@gmail.com> wrote:

Karen Tracey

unread,
Nov 18, 2008, 5:34:57 PM11/18/08
to django-d...@googlegroups.com
On Tue, Nov 18, 2008 at 4:14 PM, alex....@gmail.com <alex....@gmail.com> wrote:

To generate the files just cd django; django-admin.py compilemessages -
l LANG_CODE

Another language ticket is: http://code.djangoproject.com/ticket/9597

OK, thanks, I  applied the two translation updates to the branch.

Karen

Reply all
Reply to author
Forward
0 new messages