public inbox for gentoo-soc@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Lucian Poston" <lucianposton@gmail.com>
To: gentoo-soc@lists.gentoo.org
Cc: "Marius Mauch" <google-soc@genone.de>
Subject: [gentoo-soc] Progress Report - Revdep-rebuild
Date: Fri, 11 Jul 2008 22:13:12 -0500	[thread overview]
Message-ID: <c4cdc1420807112013o7b0fe365h62f0c0aad834f3a9@mail.gmail.com> (raw)

The print statements have been enclosed in debug conditionals, and a
good amount of comments have been added to the code, so hopefully it
is more readable.

I've changed the way that broken binaries are found.  Previously, the
difference between the sets of "needed" and "installed" libraries were
calculated to produce a set of "missing" libraries from which
consumers (binaries) were found.  Now, when findProviders() returns an
unsatisfied soname, the binary and soname are stored into the
brokenDependencies dict (there is a description in the code comments).
 This way the binaries are immediately available to calculate a set of
atoms via mapPathsToAtoms().  Also, now the providers of all binaries
are considered. Previously, if two binaries required the same soname,
only the lookup paths of the last binary would be considered, but now
all binaries are checked individually.  Organizing the dependencies in
this dict will likely be the same in the return value of the new
method in LinkageMap, so the addition shouldn't affect this class much
aside from moving some of the functionality into LinkageMap.

I was only able solve a few of the classes of problems I had with the
libraries that were listed in the last report.  Currently, binary
packages are what's left from those (and the weird libmix.so bug), so
binary packages aren't handled properly yet.  Emerging the
missingLibraryConsumerSet will result in superfluous packages due to
those packages.  Resolving that problem is my main focus for now, but
once binary packages are handled properly, I'll work on adding the
method in LinkageMap mentioned before.  I expect it to bring a decent
speed improvement since there will be no need to iterate over a large
number of non-binary files with access to _obj_properties in
LinkageMap.  After that, some user options will be added (if I can
come up with some useful functionalities I'd like to see added).

As far as user options, what should I plan to implement aside from
--library=NAME a la revdep-rebuild?

Lucian
-- 
gentoo-soc@lists.gentoo.org mailing list



             reply	other threads:[~2008-07-12  3:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-12  3:13 Lucian Poston [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-08-21  3:09 [gentoo-soc] Progress Report - Revdep-rebuild Lucian Poston
2008-08-21 15:47 ` Donnie Berkholz
2008-08-21 18:09   ` Lucian Poston
2008-08-11 23:12 Lucian Poston
2008-08-01 21:24 Lucian Poston
2008-07-27  6:28 Lucian Poston
2008-07-20  9:23 Lucian Poston
2008-06-26  1:30 Lucian Poston
2008-06-26 17:47 ` Marius Mauch
2008-06-15  3:55 Lucian Poston
2008-06-17 15:55 ` Marius Mauch
2008-06-15  3:34 Lucian Poston

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=c4cdc1420807112013o7b0fe365h62f0c0aad834f3a9@mail.gmail.com \
    --to=lucianposton@gmail.com \
    --cc=gentoo-soc@lists.gentoo.org \
    --cc=google-soc@genone.de \
    /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