Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 920710 - Removal of legacy distfile mirror layout breaks eclasses which use mirror://gentoo
Summary: Removal of legacy distfile mirror layout breaks eclasses which use mirror://g...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Quality Assurance Team
URL:
Whiteboard:
Keywords:
Depends on: 920711
Blocks:
  Show dependency tree
 
Reported: 2023-12-26 05:24 UTC by Eli Schwartz
Modified: 2024-01-11 10:26 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eli Schwartz gentoo-dev 2023-12-26 05:24:52 UTC
I discovered this when Sam dared me to update some EAPI=6 ebuilds and fix bugs along the way. vim-plugin.eclass uses this:

if [[ ${PV} != 9999* ]] ; then
        SRC_URI="mirror://gentoo/$(_glep75 "${P}.tar.bz2")
                https://dev.gentoo.org/~radhermit/vim/${P}.tar.bz2"
fi


and as an example, app-vim/ant_menu does not override SRC_URI, and therefore, SRC_URI resolves to:

https://distfiles.gentoo.org/distfiles/ant_menu-0.5.7.1.tar.bz2

The correct url, which works, is:

https://distfiles.gentoo.org/distfiles/1d/ant_menu-0.5.7.1.tar.bz2

I cannot foresee this as a solvable problem: calculating a GLEP 75 sharded directory requires running a blake2 implementation, and running /usr/bin/b2sum cannot be done at global scope.

Affected ebuilds:

kde.org.eclass
toolchain.eclass
vim-plugin.eclass
vim-spell.eclass
Comment 1 Eli Schwartz gentoo-dev 2023-12-26 05:28:21 UTC
Sorry, copy-paste error: _glep75 was my clumsy failed attempt to fix this, the one actually in the eclass is of course: mirror://gentoo/${P}.tar.bz2
Comment 2 Eli Schwartz gentoo-dev 2023-12-26 05:33:43 UTC
One possible solution is to give up on using the eclass for this at all, and inlining a somewhat repetitive SRC_URI in each consumer (unless it was anyways overridden).