1 |
Blog post: |
2 |
http://www.fubar.si/2010/8/4/gpypi2-google-summer-of-code-week-9-and-10 |
3 |
|
4 |
|
5 |
----------------------------------------------------------------------- |
6 |
Plaintext version: |
7 |
|
8 |
Greetings, following is the weekly update for gpypi2 project. It's main |
9 |
purpose is to generate ebuilds from Python Package Index. Quick links to |
10 |
project info: |
11 |
|
12 |
Repository, issue tracker: http://bitbucket.org/iElectric/g-pypi2 |
13 |
Hudson CI instance: http://hudson.fubar.si/job/g-pypi2/ |
14 |
Sphinx documentation generated by hudson on each commit: |
15 |
http://docs.fubar.si/gpypi2/ |
16 |
|
17 |
GPyPi now supports building ebuilds directly from Python packages. It's |
18 |
tied into distutils: |
19 |
|
20 |
python setup.py sdist_ebuild |
21 |
|
22 |
Configuration is not as verbose as through pypi, but that is a subject |
23 |
to change. |
24 |
|
25 |
====================================================================== |
26 |
Previous 2 weeks (19th July - 4th August) |
27 |
====================================================================== |
28 |
|
29 |
---------------------------------------------------------------------- |
30 |
Task: fix TODOs in the code |
31 |
|
32 |
> Code currently has about 60 TODOs that need to be address for a better |
33 |
> codebase. |
34 |
|
35 |
Most important ones are cleaned. Some of highlights: |
36 |
|
37 |
* echo command does not use overlay anymore for storing temporary ebuild |
38 |
but /tmp/ |
39 |
* conditional use flags are used properly now |
40 |
* remember configuration values given by interactive questionnaire |
41 |
---------------------------------------------------------------------- |
42 |
|
43 |
---------------------------------------------------------------------- |
44 |
Task: Implement "python setup.py bdist_ebuild" command |
45 |
|
46 |
> I'll peek into distutils heart and implement most basic bdist command |
47 |
> to output an ebuild. |
48 |
> I will basically the same stuff we currently do, |
49 |
> except it will parse data from setup.py itself and not through pypi. |
50 |
|
51 |
Done. When gpypi2 is called the first time it installs support for |
52 |
distutils command. |
53 |
---------------------------------------------------------------------- |
54 |
|
55 |
====================================================================== |
56 |
Upcoming week (4th - 11th August) |
57 |
====================================================================== |
58 |
|
59 |
---------------------------------------------------------------------- |
60 |
Task: metadata, echangelog and manifest generation |
61 |
In the last week of implementing features I will add support for Gentoo |
62 |
developers workflow. |
63 |
|
64 |
---------------------------------------------------------------------- |
65 |
Task: Atomic actions |
66 |
Currently if anything fails in the process, data will lay around the |
67 |
filesytem. |
68 |
I'll implement most basic cleanup (rollback) on failures. |
69 |
|
70 |
---------------------------------------------------------------------- |
71 |
Task: Exceptions |
72 |
Code currently uses a bit of exceptions and a bit of log.error. |
73 |
I'll make that a bit structured and also document what exceptions are |
74 |
raised in functions |
75 |
|
76 |
---------------------------------------------------------------------- |
77 |
Task: integration tests and documentation |
78 |
Update documentation and write some integration tests. |