From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([69.77.167.62] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1KRaA5-0007cM-6P for garchives@archives.gentoo.org; Fri, 08 Aug 2008 22:10:17 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 307EFE0253; Fri, 8 Aug 2008 22:10:16 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 03D7EE0253 for ; Fri, 8 Aug 2008 22:10:16 +0000 (UTC) Received: from [192.168.22.10] (ip68-4-152-120.oc.oc.cox.net [68.4.152.120]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTP id 54D4C675BC for ; Fri, 8 Aug 2008 22:10:15 +0000 (UTC) Message-ID: <489CC44C.3020309@gentoo.org> Date: Fri, 08 Aug 2008 15:10:20 -0700 From: Zac Medico User-Agent: Thunderbird 2.0.0.16 (X11/20080707) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-portage-dev@lists.gentoo.org Subject: Re: [gentoo-portage-dev] [PATCH] missing-rebuild package set References: In-Reply-To: X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Archives-Salt: 8509083c-762c-46e7-948a-a5bdacb13ab4 X-Archives-Hash: abcbac026ed8670f6dc61bb28be6151e -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Lucian Poston wrote: > The following patchs add a library dependency rebuilder as a package > 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. > > Known issues: I expect some false positives. I've inserted hard coded > directory/library masks for those I've found. I noticed a situation > that required a second emerge due to a provider package satisfying 3 > conditions: 1) the package is installed and an updated version is > available in its slot, 2) the updated version is in the set due to a > dependency of another package (or it may contains a broken binary), > and 3) a consumer package of a library within the updated package is > emerged before the updated dependency is emerged, causing a package to > be compiled against the old library before the library version > changes. I guess that if a package is already installed, it is not > necessarily placed before its consumer packages in the merge order. > > Attached are patches for pym/portage/dbapi/vartree.py, > pym/portage/sets/libs.py and /usr/share/portage/config/sets.conf. > These can also be found in the project's repository: > http://repo.or.cz/w/revdep-rebuild-reimplementation.git?a=tree;h=refs/heads/rc1;hb=refs/heads/rc1 Thanks, I've merged your LinkageMap changes. Side note: I suspect that we might be able to improve efficiency in LinkageMap path comparisons by comparing tuples of device and inode numbers instead of using realpath. We currently use the device/inode number approach to test identity of paths in dblink.isowner(). > I warmly welcome all feedback, in particular any suggestions to remove > the necessity of directory and library masks in /etc/revdep-rebuild/*, > which I've been unable to entirely avoid. > > Lucian > I haven't merged the MissingLibraryConsumerSet yet since I'd like to see if we can improve it a bit first. I don't have any ideas right now but hopefully we can come up with something soon. Zac -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkicxEsACgkQ/ejvha5XGaNcyACfX7oKKCbYraRk8AwckkA9Reu6 cRkAoMa/vK5SXDTdw8+nYqpBAlUXz096 =zskl -----END PGP SIGNATURE-----