Created attachment 706206 [details] freetype-9999 log of @smart-live-rebuild When im doing a @smart-live rebuild. I get this error in my terminal for the freetype-9999 ebuild. freetype always needs to be updated after i do a @smart-live-rebuild, it is actually pulling the latest git master? Error enumerating =media-libs/freetype-9999: [KeyError] "Environment does not declare: ['EGIT_REPO_URI']" Log is attached.
Interestingly it doesn’t define it in global scope.
> media-libs/freetype-9999:2::localrepo Can you attach your ebuild of freetype-9999? It looks like it's not a ::gentoo one.
Thats very odd, I check my localrepo and didnt have a freetype ebuild in any directory. So I re emerged freetype-9999 and now it does indeed say gentoo. It still doesnt sync git master properly though. New log attached.
Created attachment 706218 [details] new freetype2-9999 log
Please post the output of emerge --info freetype to this bug. May I ask where the target "@smart-live-rebuild" comes from? All I can find in my portage installation is the "@live-rebuild" target.
(In reply to Lars Wendler (Polynomial-C) from comment #5) > > May I ask where the target "@smart-live-rebuild" comes from? All I can find > in my portage installation is the "@live-rebuild" target. https://packages.gentoo.org/packages/app-portage/smart-live-rebuild It’s a delight. It checks upstreams for changes so you only rebuild live ebuilds where the content has actually changed!
Yeah, found this right now. This seems to be a problem specific to app-portage/smart-live-rebuild package. @Michał: freetype-9999 does not globally declare EGIT_REPO_URI because it needs to conditionally access a second git repo depending on the "utils" USE flag.
The package doesn't come with a crystal ball. It needs the data in the environment in order to operate.
So does the this ebuild still pull form git master, it just cant fetch the latest commit, is that corrent? Meaning, I can use --exclude freetype if need be since it builds from master everytime?
Ok, with a morning brain: the solution is simple. Put the main URL in the global scope (either by declaring it globally, or not using 'local'), then make sure to always fetch it second, so that the data in the environment corresponds to that.
(In reply to Michał Górny from comment #10) > Ok, with a morning brain: the solution is simple. Put the main URL in the > global scope (either by declaring it globally, or not using 'local'), then > make sure to always fetch it second, so that the data in the environment > corresponds to that. Okay, will give that a spin. Do you mind if I ask you for review?
Sure, no problem.