1 |
Hi! |
2 |
|
3 |
I am Alexander Bersenev, I was participating in GSoC this year. |
4 |
I want to present you the tool I've developed during this program. I |
5 |
hope that you'll find it useful. |
6 |
|
7 |
The purpose of my project is to help ebuild developers to compose |
8 |
accurate dependency list for a package. |
9 |
The tool has many features in order to do it, most of them listed on |
10 |
the documentation site: http://soc.dev.gentoo.org/~bay/autodep/ |
11 |
|
12 |
The killer-feature is an emulating the file system without |
13 |
non-dependency packages installed. I call it dependency checking or |
14 |
strict emerging. If program builds successfully in this environment |
15 |
then check is passed. If no - check is failed and user likely will be |
16 |
having a bad experience while trying to build this package if he |
17 |
hasn't some packages installed. |
18 |
|
19 |
It works fine, I've reported a few dozens of bugs about missing |
20 |
dependencies here: https://bugs.gentoo.org/show_bug.cgi?id=autodep. |
21 |
|
22 |
How to install and use it: |
23 |
1) add neurogeek overlay in your overlay list |
24 |
2) emerge autodep |
25 |
3) use autodep and emerge_strict commands. |
26 |
|
27 |
I want to tell you more about emerge_strict command. This is an emerge |
28 |
command but with strict dependency checking. I've modified a portage |
29 |
and add this feature into it. Actually, after "emerge autodep" you |
30 |
will have two versions of portage: one is from your system(emerge) and |
31 |
one is from modified portage(emerge_strict). |
32 |
|
33 |
!!!ATTENTION!!! |
34 |
I modified a last available portage version from git. It is about |
35 |
Portage 2.2.0_alpha50. The you running portage 2.1.x.x it |
36 |
theoretically can be unsafe to use them both. I used it together for |
37 |
about a month and not found any problems, but, anyway, be careful. |
38 |
!!!ATTENTION!!! |
39 |
|
40 |
Here is an example of emerge_strict dev-libs/nss output: |
41 |
https://381591.bugs.gentoo.org/attachment.cgi?id=285369 |
42 |
|
43 |
Missing dependency is founded here: |
44 |
sdb.c:58:21: fatal error: sqlite3.h: No such file or directory |
45 |
compilation terminated. |
46 |
.... |
47 |
|
48 |
[NOT IN DEPS] dev-db/sqlite-3.7.7.1 : [u'compile'] |
49 |
/usr/include/sqlite3.h blocked |
50 |
.... |
51 |
|
52 |
I've set up a tinderbox to catch missing dependencies. And it works |
53 |
right now. Also, I recently installed desktop gentoo linux on my new |
54 |
notebook using only emerge_strict. It is also works. |
55 |
|
56 |
Although GSoC is over, I want to support this tool in further. I will |
57 |
be appreciate for any feedback. |
58 |
|
59 |
Best, |
60 |
|
61 |
Alexander Bersenev |