From: "Александр Берсенев" <bay@hackerdom.ru>
To: gentoo-dev@lists.gentoo.org
Subject: [gentoo-dev] Autodep project
Date: Sun, 4 Sep 2011 07:13:55 +0000 [thread overview]
Message-ID: <CAPomEdxx+zZ6=9pzrMMqWsAqtRfLvh4oCtTiGY6cbyBuA_aG7Q@mail.gmail.com> (raw)
In-Reply-To: <CAPomEdxfPcc+2TZohez8t-aCiomz4wy7tf0QOHAapoLFF9xfuA@mail.gmail.com>
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
next parent reply other threads:[~2011-09-04 7:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAPomEdxfPcc+2TZohez8t-aCiomz4wy7tf0QOHAapoLFF9xfuA@mail.gmail.com>
2011-09-04 7:13 ` Александр Берсенев [this message]
2011-09-04 8:49 ` [gentoo-dev] Autodep project Marc Schiffbauer
2011-09-04 9:24 ` justin
2011-09-04 10:12 ` justin
2011-09-04 10:19 ` Александр Берсенев
2011-09-07 9:08 ` Tomáš Chvátal
2011-09-07 15:58 ` Alexander Bersenev
2011-10-17 6:10 ` Александр Берсенев
2011-10-17 8:52 ` Michał Górny
2011-10-17 15:15 ` justin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAPomEdxx+zZ6=9pzrMMqWsAqtRfLvh4oCtTiGY6cbyBuA_aG7Q@mail.gmail.com' \
--to=bay@hackerdom.ru \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox