Sunday, June 5, 2011

Python Multi-Build for Python Extensions Packaging - Report 1

Hi,

This report is first official one for Debian Google Summer of Code. My project is creating a tool to build Python extensions for all Python versions supported by Debian. I've added my project proposal to Debian Wiki before I submitted. You can see it at [1]. I'm also writing a blog, [2]. You can see my posts from Debian Planet.

I didn't start coding for the tool until today. This week I'll start coding. My final exams are ending at this Friday (10 June). This is why I didn't started coding. I don't want to start coding at the beginning of my exams because I can't fully concentrate on coding.

Before writing and during writing the tool I'll decide this tool's
methods and what they do with my mentor Piotr and Debian-Python list
[3].

For investigating what CDBS and dh sequencer are doing right now I read

* /usr/share/cdbs/1/class/python-*
* /usr/share/perl5/Debian/Debhelper/Buildsystem/python_distutils.pm

files. They give me enough information what is going on right now.

I won't try to feel developers strange when they using this tool via
CDBS and/or dh sequencer.

For first, I'll write a tool to create Python 3 extensions. I think
creating Python 3 extensions have a bit higher priority.

Coding period is something like that:

* Writing a method to detect which build system will be used.
* After detecting build system, check everything is sane.
* Start building package:
* Make tests which are supported by build system. (f.e. in
autotools, *make check*)
* If needed, compile.
* Build package.

I decided to start writing for Python distutils first. I think this one is more important than other build systems. So, after I finished building extensions using distutils I want to give it to developers who can test the tool, and if they find bugs or something should be added, I will add these things. After I finished and give developers to test tool for each one of build system, I will start writing for next build system.

I'll use PEP8 standards for coding. I'll develop my project using GIT, my repository is under Alioth. You can clone this project's repository. For now I created only one repository for building python3 extensions [4]. Firstly It will be written in Python3. I'll write a py3to2 converter and make running this tool using >= python2.6.

I didn't do much things, especially didn't started coding and naturally report is short, but next report will be much better (more detailed and more technical) then this one.

[1] http://wiki.debian.org/SummerOfCode2011/PythonMultibuild/mesutcankurt
[2] http://mesutcaneng.blogspot.com
[3] http://lists.debian.org/debian-python/
[4] git://git.debian.org/~mesutcan-guest/py3multibuild.git

No comments:

Post a Comment