Gentoo Archives: gentoo-soc

From: Stanislav Ochotnicky <sochotnicky@×××××.com>
To: gentoo-qa@l.g.o
Cc: gentoo-soc@l.g.o
Subject: [gentoo-soc] Re: [GSoC-status] Collagen - database schema and further changes
Date: Fri, 03 Jul 2009 15:42:19
Message-Id: 20090703154127.GA32664@w0rm
In Reply to: [gentoo-soc] [GSoC-status] Collagen - database schema and further changes by Stanislav Ochotnicky
1 I decided to post my next status report as reply to my previous post, so
2 that no unnecessary threads are created.
3
4
5 Over the course of last week bulk of my work was around installing
6 dependencies, logging and fixing bugs in chroot creation script.
7
8 Installing dependencies is a bit hacky right now, since I am using
9 emerge.emerge_main() to install them. This means that I don't have to
10 repeat work of emerge and search dep tree etc etc.
11
12 I'll show this simple hack on following ascii-non-art package hierarchy:
13
14 A->B1->C1
15 | | ->C2
16 |
17 |->B2->C3
18
19 Package A is the one we want to install, B1 and B2 are its dependencies
20 (we can read them from ebuild of package A). We could walk the
21 hierarchy, but it's may not be necessary since we were asked to only
22 try and compile package A. Therefore to install package B1 and B2 we
23 actually ask emerge (and it will resolve deps for us). Then we install
24 package A ourselves (by using portage.doebuild). If it fails then
25 something is probably wrong in ebuild for package A.
26
27 Creating of chroot environment for package installation had a lot of
28 bugfixes too. It's still not as good as it should be and there is always
29 need to manually "synchronize" internal version of emerge with that on
30 the outside of chroot. I now use a lot of -o bind for mounting
31 subdirectories in chroot, this is speeding up stuff quite a bit.
32
33 As far as logging is concened I am using standard logging python module,
34 nothing fancy. But it works, and compile machines can now report errors
35 in more human-readable form, not just build.log. For example:
36 "Unable to emerge package A-1.2.3 with deps B1-2.0,B2-2.0"
37
38 I also had to add data that are transferred between matchbox and
39 tinderboxes since I realized that otherwise I would not be able to fill
40 information that need to be present when inserting data into database.
41 This part is not finished yet, so tinderbox currently sends no data to
42 matchbox. This regression should be fixed today.
43
44 On that note, what I plan to work on during weekend/next week:
45 * start inserting data into database (therefore actually create app->db
46 layer)
47 * now that we really have functioning compilation/dep resolving try to
48 install more packages. Therefore create list of 10-20 packages.
49 dev-util/git (and its subversion[-dso] dep), postfix/sendmail blockers
50 come to mind. If you have more ideas for combinations that usually
51 cause problems, I'd love some input
52 * Improve logging in a few places
53
54
55
56 --
57 Stanislav Ochotnicky
58 Working for Gentoo Linux http://www.gentoo.org
59 Implementing Tree-wide collision checking and provided files database
60 http://soc.gentooexperimental.org/projects/show/collision-database
61 Blog: http://inputvalidation.blogspot.com/search/label/gsoc
62
63
64 jabber: sochotnicky@×××××.com
65 icq: 74274152
66 PGP: https://dl.getdropbox.com/u/165616/sochotnicky-key.asc

Replies

Subject Author
[gentoo-soc] Re: [GSoC-status] Collagen - database schema and further changes Stanislav Ochotnicky <sochotnicky@×××××.com>