Hi!

I am Alexander Bersenev, I was participating in GSoC this year.
I want to present you the tool I've developed during this program. I
hope that you'll find it useful.

The purpose of my project is to help ebuild developers to compose
accurate dependency list for a package.
The tool has many features in order to do it, most of them listed on
the documentation site: http://soc.dev.gentoo.org/~bay/autodep/

The killer-feature is an emulating the file system without
non-dependency packages installed. I call it dependency checking or
strict emerging. If program builds successfully in this environment
then check is passed. If no - check is failed and user likely will be
having a bad experience while trying to build this package if he
hasn't some packages installed.

It works fine, I've reported a few dozens of bugs about missing
dependencies here: https://bugs.gentoo.org/show_bug.cgi?id=autodep.

How to install and use it:
1) add neurogeek overlay in your overlay list
2) emerge autodep
3) use autodep and emerge_strict commands.

I want to tell you more about emerge_strict command. This is an emerge
command but with strict dependency checking. I've modified a portage
and add this feature into it. Actually, after "emerge autodep" you
will have two versions of portage: one is from your system(emerge) and
one is from modified portage(emerge_strict).

!!!ATTENTION!!!
I modified a last available portage version from git. It is about
Portage 2.2.0_alpha50. The you running portage 2.1.x.x it
theoretically can be unsafe to use them both. I used it together for
about a month and not found any problems, but, anyway, be careful.
!!!ATTENTION!!!

Here is an example of emerge_strict dev-libs/nss output:
https://381591.bugs.gentoo.org/attachment.cgi?id=285369

Missing dependency is founded here:
sdb.c:58:21: fatal error: sqlite3.h: No such file or directory
compilation terminated.
....

[NOT IN DEPS] dev-db/sqlite-3.7.7.1                   : [u'compile']
 /usr/include/sqlite3.h                                   blocked
....

I've set up a tinderbox to catch missing dependencies. And it works
right now. Also, I recently installed desktop gentoo linux on my new
notebook using only emerge_strict. It is also works.

Although GSoC is over, I want to support this tool in further. I will
be appreciate for any feedback.

Best,

Alexander Bersenev

Reply via email to