On 2020.07.14 17:05, Jack wrote:
I want to try some changes to an ebuild in the dotnet overlay. So, I
copied /var/lib/layman/dotnet/dev-lang/mono/mono-9999.ebuild into
/usr/local/portage/dev-lang/mono. I cd into that directory, and run
"ebuild mono-9999.ebuild manifest" and it fails because it tries to
download mono-9999.tar.bz2, which obviously doesn't exist anywhere.
There is no SRC_URI in the ebuild, just
"EGIT_REPO_URI="git://github.com/mono/${PN}.git". Also, I notice
there is no Manifest file (or no DIST line) for any 9999 ebuild - and
that seems true in the main tree and also overlays. Trying "ebuild
mono-9999.ebuild prepare" complains that the digest is missing. So
does "emerge mono-9999.ebuild" although it complains that a file (the
ebuild itself) is not listed in the manifest.
So - if a manifest entry is not needed for a live/9999 ebuild, why is
portage (ebuild or emerge) failing to work without one, and why is it
trying to download a tarball, even without any SRC_URI in the ebuild?
Jack
With some help from #gentoo, it turns out mono-env.eclass in ::gentoo
includes a SRC_URI line. That eclass in ::dotnet does not. When I
tried a 9999 ebuild in ::local. it used the ::gentoo version of the
eclass. Explicitly adding 'SRC_URI=""' after the inherit line in the
ebuild fixed it.