1 |
Greetings, following is the weekly update for g-pypi project. |
2 |
It's main purpose is to generate ebuilds from PyPi. |
3 |
|
4 |
Important: My FTTH link is broken, so fubar.si domain is part-time down. |
5 |
I'm very sad about this, should be fixed in few days. |
6 |
|
7 |
Quick links to project info: |
8 |
* http://bitbucket.org/iElectric/g-pypi2- Repository, issue tracker |
9 |
* http://hudson.fubar.si/job/g-pypi2/ - Hudson CI instance |
10 |
* http://docs.fubar.si/gpypi2/ - Sphinx documentation generated by |
11 |
hudson on each commit |
12 |
* http://neurogeek.ath.cx/g-pypi - wiki/user stories for scrum |
13 |
development |
14 |
|
15 |
|
16 |
Previous week (08-14 June) |
17 |
========================= |
18 |
|
19 |
--------------------------------------------------------------------- |
20 |
Task: get working version of ebuild.py |
21 |
--------------------------------------------------------------------- |
22 |
|
23 |
-> This will be main goal of the week. Refactor ebuild.py and make it work |
24 |
with enamer.py and portage_utils.py |
25 |
|
26 |
Done. Only ebuild writing is left to refactor, which can be done at the very |
27 |
last stage of prepairing for first prototype. |
28 |
|
29 |
List of taks assigned: |
30 |
|
31 |
* get rid of last snippets for generating template with python code - done |
32 |
* port some functions (like format_depend) to jinja environment filters - not needed, jinja default filters were used |
33 |
* get rid of all non-sense if/else statements (I will probably make |
34 |
ebuild inherit from dict) - most of it was removed, other portion with handle configurator |
35 |
* add support to detect Sphinx documentation - TODO |
36 |
* do not regex parse setup.py files but rather mock the setup object |
37 |
and collect metadata (still not sure if that will cover most of cases) - done |
38 |
* repair flow of the code to be easier to understand and document it - done (docs still needed) |
39 |
|
40 |
Most of the work was done to not regex parse setup.py, now we are monkeypatching it. |
41 |
All other parts of Ebuild were needed to support this change. |
42 |
|
43 |
Now we extract from setup.py: |
44 |
|
45 |
* tests_require |
46 |
* setup_requires |
47 |
* install_requires |
48 |
* extras_require |
49 |
|
50 |
Additional, extra dependencies are converted to USE flags. |
51 |
|
52 |
Category guessing function was also added to Enamer, I will probably make first implementation based |
53 |
on CLASSIFIERS info from PyPi. |
54 |
|
55 |
|
56 |
Upcoming week (15-21 June) |
57 |
========================== |
58 |
|
59 |
Main goal of upcoming week will be to get closer to first prototype. I would love to get some initial feedback |
60 |
from Gentoo users. So the goal is: get gpypi2 echo ebuilds. |
61 |
|
62 |
---------------------------------------------- |
63 |
Task: First snippet of command line interface |
64 |
---------------------------------------------- |
65 |
|
66 |
Put enough together to assemble ebuilds from command line. I think |
67 |
many issues may pop up, and lots of bugs shall be fixed. I'm currently |
68 |
mostly doing stuff from my head, with not much practise whatsoever. |
69 |
|
70 |
Mostly, we should get a result of better test coverage (currrently about |
71 |
50%). |
72 |
|
73 |
The only component left untouched is the configuration. I would like to |
74 |
touch this topic after all my exams are over, leaving me time and |
75 |
productivity. |
76 |
|
77 |
|
78 |
---------------------------------------------------- |
79 |
Task: get_dependencies - another refactor to enamer |
80 |
---------------------------------------------------- |
81 |
|
82 |
Title says it all. Also handling of multiple version operators should be |
83 |
added. |
84 |
|
85 |
Example: foobar>=0.5 && foobar<0.6 |
86 |
|
87 |
should resolve in <0.6 blocker and >=0.5 requirement. |