1 |
My final (GSoC) report on collagen is here. |
2 |
|
3 |
First, what was going on this past week...I've focused on adding |
4 |
documentation (docstrings, comments) and a little bit of refactoring. |
5 |
Then there were quite a few modifications to simplify installation and |
6 |
now I can say that simple: |
7 |
|
8 |
# python setup.py install |
9 |
|
10 |
plus few configuration steps afterwards will do the whole installation |
11 |
procedure. Alternatively it's possible to use bundled ebuild instead of |
12 |
setup.py script. This was actually first time I've created setup.py |
13 |
script and I have to admit that for simple stuff (like collagen) it's |
14 |
quite easy to create it from scratch in a few minutes. |
15 |
|
16 |
So to the main summary of the project, what works, what doesn't really |
17 |
work but is planned for post-GSoC era etc etc. |
18 |
|
19 |
We have working end-to-end system for automatic distributed |
20 |
compilation of packages from portage tree with information stored |
21 |
in database. Information being contents of packages or in case |
22 |
of compilation failure build.log, environment, emerge --info and |
23 |
application log for good measure. We were able to catch few bugs in |
24 |
ebuilds already even with limited resources (meaning I was mostly |
25 |
compiling in a virtualbox on one of my machines). Even if QA like |
26 |
this was not originally the main goal of collagen, it might later turn |
27 |
out to be exactly that. Bug hunting monster :-) |
28 |
|
29 |
As I mentioned in last week's report web interface for this was |
30 |
done in django and I've implemented 3 basic use-cases for showing |
31 |
data in database. If you've worked with Django before then you know |
32 |
it's quite easy to add more functionality. |
33 |
|
34 |
At least one more important use-case to be implemented is "is this package |
35 |
colliding with something else?" or even better "show me groups of packages |
36 |
colliding with each other". Data is there, database schema is able to |
37 |
support these use cases so this will definitely be implemented |
38 |
(although presumably after GSoC). |
39 |
|
40 |
This is where we come to "what now" part. Whole collagen didn't get a |
41 |
lot of testing yet, and I'd love to try it on more than one virtualbox |
42 |
machine. There are a lot of places where performance could be improved |
43 |
(read: where we would not install already installed packages and such). |
44 |
Another unimplemented idea was using remote binary hosts. However I |
45 |
really think that this would make much more sense if it was implemented |
46 |
together with improved binary support for portage. Then there was |
47 |
authentication of tinderboxes to matchbox for communication between |
48 |
them. Right now machine able to connect to matchbox server could |
49 |
probably run python code as user running matchbox. I haven't tried, but |
50 |
python documentation for pickle module is pretty clear about insecurity |
51 |
of this approach (I was assured this won't be a problem after auth is |
52 |
done though). |
53 |
|
54 |
All in all collagen is far from being finished, polished piece of |
55 |
software right now. But at least in my opinion it already showed that it |
56 |
could be useful and improvements can now be done in quite modular way. |
57 |
One exception being of course database schema, but even changes there |
58 |
are nothing to be afraid of (I presonally tried, it's possible without |
59 |
destroying the data :-) ). Expect few more updates on |
60 |
soc.gentooexperimental bugtracking/documents. Then |
61 |
|
62 |
Now let me say big thank you to my mentor weaver and the whole |
63 |
Gentoo team. Few examples: |
64 |
* weaver - for changing our meeting time quite a few times because of me, |
65 |
and for the patience. |
66 |
* zmedico - for being portage king, always ready to help out and even |
67 |
explain 'why', not just how |
68 |
* robbat2|na - for becoming base unit of problem solving recently. |
69 |
* .* - for answering quite a few of my questions and giving me ideas. |
70 |
Most of you probably never noticed that you helped me |
71 |
(sometimes even I didn't notice at the time :-) ). |
72 |
|
73 |
I hope I'll work with you to further improve collagen and after |
74 |
that, other Gentoo projects. I am not going anywhere yet, as long |
75 |
as you won't chase me away with a stick :-) For me this is not really |
76 |
over, I'll chill out a little bit of course, but if at all possible I'd |
77 |
like to continue contributing. |
78 |
|
79 |
-- |
80 |
Stanislav Ochotnicky |
81 |
Working for Gentoo Linux http://www.gentoo.org |
82 |
Implementing Tree-wide collision checking and provided files database |
83 |
http://soc.gentooexperimental.org/projects/show/collision-database |
84 |
Blog: http://inputvalidation.blogspot.com/search/label/gsoc |
85 |
|
86 |
|
87 |
jabber: sochotnicky@×××××.com |
88 |
icq: 74274152 |
89 |
PGP: https://dl.getdropbox.com/u/165616/sochotnicky-key.asc |