Gentoo Archives: gentoo-soc

From: "Domen Kožar" <domen@×××.si>
To: gentoo-soc <gentoo-soc@l.g.o>
Subject: [gentoo-soc] [Fwd: GSOC weekly report #3: g-pypi]
Date: Mon, 14 Jun 2010 23:04:12
Message-Id: 1276556644.5237.33.camel@oblak.fubar.si
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.

Attachments

File name MIME type
signature.asc application/pgp-signature