Éric Araujo [Fri, 19 Aug 2011 06:41:00 +0000 (08:41 +0200)]
patchcheck: don’t talk about the test suite when no code file were changed.
The line about the test suite will still get printed for changes in
Tools for example, which aren’t covered by the test suite, but it’s not
a big deal IMO.
Éric Araujo [Fri, 19 Aug 2011 06:34:52 +0000 (08:34 +0200)]
Add documentation for PEP 370 features in distutils (#10745).
Apart from adding a section to describe the user scheme, this changeset
also does some much needed cleanup:
- fixed inverted reST targets
- fixed some paths
- avoided duplicating the same options listing five or six times
- added missing entries for C headers locations
- added documentation for --install-lib
- fixed a few misuses of the option role (see #9312), but not all (not
worth the time, but will do it in packaging docs)
- fixed some markup
The paths fixes were done with an eye on the source code in the install
command, so they really describe what’s actually done. The situation on
Mac OS X is rather messy: the fix for #8084 touched site and sysconfig,
but distutils does not use these files anymore since the Great Revert.
I suspect we have a mismatched stdlib at the moment, and the fix is not
even clear (see discussion on #8084).
Éric Araujo [Fri, 19 Aug 2011 06:20:01 +0000 (08:20 +0200)]
Improve documentation for PEP 370 support in site module (#8617).
site.USER_BASE and site.USER_SITE are now fully documented. PEP 370 is
outdated with respects to the Mac framework situation, but the code in
sysconfig and the example in the 3.2 What’s New document helped me find
the right values to document for Mac OS X.
The command-line interface of the site module is also described in the
module docs.
The purpose of the usercustomize module is explained in the site docs,
with a gentle introduction in the tutorial (right after the section that
talks about PYTHONSTARTUP; a comment mentions it should be moved from
the tutorial to another file, but that will be another bug).
Various markup and wording improvements were made along the way in the
site module docs. Duplicate and incomplete declarations of environment
variables have also been removed (the original bug report was actually
about these entries :). The site module docs are still a bit messy;
I’ll see about improving them for #11553.
All these sections are copiously interlinked and findable from the doc
indexes.
Éric Araujo [Thu, 18 Aug 2011 23:27:00 +0000 (01:27 +0200)]
Synchronize glossary with py3k.
This update includes new entries that apply to 2.7 too, mention of class
decorators, mention of nonlocal, notes about bytecode, markup fixes and
some rewrappings. Future backports of changes should be slightly
easier.
Éric Araujo [Thu, 18 Aug 2011 23:22:42 +0000 (01:22 +0200)]
Add Python porting howto from 3.x.
No change was necessary to make the file build, contrary to cporting.rst
that uses markup like :c:func: that needs to be changed to :cfunc: in
2.7. Future backports should be straightforward.
Éric Araujo [Thu, 18 Aug 2011 22:12:33 +0000 (00:12 +0200)]
Backport source role for linking to files in the cpython repo.
Georg added this role in our 3.2 doc tools and gave the greenlight for a
backport on python-dev.
This code is a simplified version of the 3.2 code; the version of Sphinx
used with Python 2.7 doesn’t have the function used to parse markup like
:role:`text to be displayed <text to be processed>` (I was persuaded it
was a standard reST construct, but it is actually a Sphinx innovation
that has to be supported explicitly in role code —I’ll be damned). It
is thus not possible to write for example :source:`the NEWS file
<Misc/NEWS>`, but :source:`Misc/NEWS` will work.
Georg Brandl [Mon, 8 Aug 2011 19:45:13 +0000 (21:45 +0200)]
Confirm that the prime example is actually correct. We get so many complaints about a "buggy example" on docs@python, let us hope this cuts them in half at least.
Éric Araujo [Tue, 2 Aug 2011 01:16:12 +0000 (03:16 +0200)]
Fix incorrect mtime comparison in distutils (#11933).
This is a regression introduced in 9211a5d7d0b4, when uses of ST_MTIME
constants were changed to uses of st_mtime attributes. As diagnosed in
the bug report, this change is not merely stylistic: st_mtime is a
float but ST_MTIME’s resolution is rounded to the seconds, so there was
a mismatch between the values seen by file_util and dep_util which
caused an sdist to be unnecessarily created a second time on an ext4
filesystem.
This patch has been tested by John S. Gruber, who reported the bug.
As this is a simple code revert, I think it’s okay to commit without a
unit test.
Fix regression with distutils MANIFEST handing (#11104, #8688).
The changed behavior of sdist in 2.7 broke packaging for projects that
wanted to use a manually-maintained MANIFEST file (instead of having a
MANIFEST.in template and letting distutils generate the MANIFEST).
The fixes that were committed for #8688 (d29399100973 by Tarek and f7639dcdffc3 by me) did not fix all issues exposed in the bug report,
and also added one problem: the MANIFEST file format gained comments,
but the read_manifest method was not updated to handle (i.e. ignore)
them. This changeset should fix everything; the tests have been
expanded and I successfully tested with Mercurial, which suffered from
this regression.
I have grouped the versionchanged directives for these bugs in one place
and added micro version numbers to help users know the quirks of the
exact version they’re using. I also removed a stanza in the docs that
was forgotten in Tarek’s first changeset.
Initial report, thorough diagnosis and patch by John Dennis, further
work on the patch by Stephen Thorne, and a few edits and additions by
me.