smart-live-rebuild fails if a package has several slots. For example, Emacs has live ebuilds both for the trunk (emacs-vcs-24.0.9999 in slot 24) and for the emacs-23 branch (emacs-vcs-23.3.9999 in slot 23): # smart-live-rebuild -- -p *** Forking to drop superuser privileges ... *** Updating the repositories... -> bzr://bzr.savannah.gnu.org/emacs/trunk/ --> bzr revno bzr://bzr.savannah.gnu.org/emacs/trunk/ --> update from 104313 to 104326 -> bzr://bzr.savannah.gnu.org/emacs/emacs-23/ --> bzr revno bzr://bzr.savannah.gnu.org/emacs/emacs-23/ --> update from 100582 to 100585 *** Found 2 packages to rebuild. -> emerge --oneshot -p >=app-editors/emacs-vcs-24.0.9999 >=app-editors/emacs-vcs-23.3.9999 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] app-editors/emacs-vcs-24.0.9999-r1 Problem is that >=emacs-vcs-23.3.9999 is also matched by the live ebuild for the trunk. Maybe you could use "=" or "~" instead of ">=" for the package atom?
I think I'll just solve this by appending the package SLOTs. I already depend on aux metadata fetching so it's no problem to get SLOT as well, and this seems to be upgrade-safer than ~.
Fixed in 74dcc29337. I'll close this bug when 0.8.1 is released with the fix. [1] https://github.com/mgorny/smart-live-rebuild/commit/74dcc29337
/var/cvsroot/gentoo-x86/app-portage/smart-live-rebuild/smart-live-rebuild-0.8.1.ebuild,v <-- smart-live-rebuild-0.8.1.ebuild initial revision: 1.1