Gentoo Logo
Gentoo Spaceship

Installation:
Gentoo Handbook
Installation Docs

Documentation:
Home
Listing
About Gentoo
Philosophy
Social Contract

Resources:
Bug Tracker
Developer List
Discussion Forums
Gentoo BitTorrents
Gentoo Linux Enhancement Proposals
IRC Channels
Mailing Lists
Mirrors
Name and Logo Guidelines
Online Package Database
Security Announcements
Staffing Needs
Supporting Vendors
View our CVS

Graphics:
Logos and themes
Icons
ScreenShots

Miscellaneous Resources:
Gentoo Linux Store
Gentoo-hosted projects
IBM dW/Intel article archive




List Archive: gentoo-soc
Navigation:
Lists: gentoo-soc: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-soc@g.o
From: "Lucian Poston" <lucianposton@...>
Subject: Progress Report - Revdep-rebuild
Date: Mon, 11 Aug 2008 18:12:14 -0500
This week didn't see much movement in the repository due to life
happening (moving and lack of internet at new apt).  On the plus side,
I believe the majority of the work is complete, and I urge everyone to
give it a test to help me discover problems.  :)

I'm happy with the overall results so far.  One thing that irks me is
the dependence on directory and library masks found in
/etc/revdep-rebuild/*.  I was really hoping to find a more elegant
solution than parsing masks from config files, but all my attempts at
a different solution were not successful.  Unfortunately, as long as
masks are used, there is the potential of false positives for
libraries that are not properly masked, which as far as I know is the
only major issue.

My work over the last week was largely polishing details in
docstrings/comments and contemplating final modifications (or future
endeavors).  During this last week of gsoc, I'm going to (hopefully)
improve the performance of LinkageMap and MissingLibraryConsumerSet
before the deadline.  It was suggested on the gentoo-portage-dev
mailing list [1] that efficiency in path comparisons in LinkageMap
could be improved by comparing inodes rather than os.path.realpath in
python's os.path module, which is what I started to implement
recently; however, this appears to require changes outside of the
class, which will take time to finalize e.g. during the unmerge
process, LinkageMap.rebuild is called after files have been removed
but before /var/db/pkg has been correspondingly updated, which is
problematic since.  I may not get all the kinks worked out of changing
LinkageMap before the gsoc deadline, so I'll have something to work on
afterwards.  :)

The attached patches add the library dependency rebuilder as a set,
@missing-rebuild, to portage-2.2_rc6.  Similar to the --library flag
in revdep-rebuild, the user can additionally emerge the set of
packages containing consumers of libraries matched by a (python)
regular expression; however, until a better solution is found, the
regexp must be passed through the LIBRARY environment variable to
enable that feature.

Attached are patches for
/usr/lib/portage/pym/portage/dbapi/vartree.py,
/usr/lib/portage/pym/portage/sets/libs.py and
/usr/share/portage/config/sets.conf, which can also be found in the
repository.[2]  After applying the three patches, one can test the set
with emerge -p @missing-rebuild.  If anyone is brave enough to do so,
let me know how it goes!

Lucian


[1] http://archives.gentoo.org/gentoo-portage-dev/msg_abcbac026ed8670f6dc61bb28be6151e.xml
[2] http://repo.or.cz/w/revdep-rebuild-reimplementation.git?a=tree;h=refs/heads/rc1;hb=rc1
Attachment:
libs.py.2.2_rc6.patch (Text Data)
Attachment:
vartree.py.2.2_rc6.patch (Text Data)
Attachment:
sets.conf.2.2_rc6.patch (Text Data)
Navigation:
Lists: gentoo-soc: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: Progress Report - Revdep-rebuild
Next by thread:
Progress Report - Revdep-rebuild
Previous by date:
Progress Report - Setting Beacon Afloat
Next by date:
Progress Report - Revdep-rebuild


Updated Jun 17, 2009

Donate to support our development efforts.

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

php|architect

php|architect

Copyright 2001-2007 Gentoo Foundation, Inc. Questions, Comments? Email www@gentoo.org.