Differences between revisions 6 and 13 (spanning 7 versions)
Revision 6 as of 2010-12-03 19:17:30
Size: 2982
Editor: NO-RDNS-RECORD
Comment:
Revision 13 as of 2011-07-04 15:21:33
Size: 34
Editor: 193
Comment: Redirect instead of partly duplicating information
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Distutils/Fixing Bugs
= How to fix bugs in Distutils =

To implement new features without breaking third-party tools that rely on undocumented internals, distutils has been forked under the name distutils2 and developed outside of Python’s standard library, until it is complete enough to be merged back.

While the fork lasts, bugs need to be fixed both in distutils (Python py3k, 3.1 and 2.7) and distutils2 (one branch only, but compatible with 2.4 up to 2.7). You can consider that distutils2 is the active version and distutils a bugfix branch.

This page documents the workflow to follow for fixing bugs.


== Find a bug ==

Reports are filed in Python’s tracker, under two keywords: [[http://bugs.python.org/issue?@columns=title,id,activity,status&@sort=activity&@group=priority&@filter=components,status&@pagesize=150&@startwith=0&status=1&components=3&@dispname=distutils|distutils]] and [[http://bugs.python.org/issue?@columns=title,id,activity,status&@sort=activity&@group=priority&@filter=components,status&@pagesize=50&@startwith=0&status=1&components=25&@dispname=distutils2|distutils2]]. They will soon be all listed under distutils2 to make things easier.


== Set up distutils2 ==

1) Install [[http://mercurial.selenic.com/|Mercurial]].

2) Get distutils2: hg clone http://bitbucket.org/tarek/distutils2

3) Optional: install [[http://www.python.org/download/releases/|older Pythons]] for testing.

4) Install unittest2 (pip install unittest2, hg clone http://hg.python.org/unittest2 + unittest2.pth file, wget + python setup.py install, whatever way you prefer)


== Fix the bug ==

Ideally, the first step is to write a test that fails, thus demonstrating the bug, and then change the code to make the test pass.

Usual guidelines apply:

 * http://www.python.org/dev/workflow/
 * http://www.python.org/dev/faq/#how-to-test-a-patch
 * http://www.python.org/dev/patches/ (minus the parted related to Subversion)


== Share the fix ==

Use one of those two possible ways:

a) Produce a diff with “hg diff -r <your last revision> -r <main repo last revision> > fix-something.diff”. Attach it to the bug report.

b) If you have one clean changeset, you can post a link to a public repository on the bug report.


== Iterate ==

Reply to feedback about the changes, update your patch, ping the maintainers (bug tracker user names tarek and eric.araujo) as needed.


== Profit ==

Tarek or Éric will make sure the test suite passes with all supported Python versions, push to the main repository, and backport to distutils.
[http://www.thedietsolutionreviewscam.com/'''The Diet Solution Reviews''']
[http://www.dietsolutionreviewscam.com/'''The Diet Solution Program''']
[http://www.fatloss4idiotsreviewscam.com/'''Fat Loss 4 Idiots''']
[http://www.truthaboutabsreviewscam.com/'''Truth About Abs''']
[http://www.fatburningfurnacereviewscam.com/'''Fat Burning Furnace''']
#REDIRECT Distutils/Contributing

Distutils/FixingBugs (last edited 2011-07-04 15:21:33 by 193)

Unable to edit the page? See the FrontPage for instructions.