Open geaaru opened 2 months ago
While we think about how we could replace metatools
in the future it's good to reduce the number of imported and/or static ebuilds to clean our kit-fixups tree to be only autogen.
Using this GENTOO_MIRRORS env is a workaround to fetch static ebuild tarballs:
GENTOO_MIRRORS="https://distfiles.macaronios.org https://dl.macaronios.org/repos/distfiles"
this could be added on /etc/portage/make.conf
.
We will try to fix metatools
to have both automatically.
About the static ebuild i saw that metatools
supplies a distfile-kit-fetch
tool from version 1.3.2:
From ChangeLog:
Add
distfile-kit-fetch
tool which you would run on the system you ran merge-kits on. It will try to grab all the non- autogenned distfiles and download all it can, ultra-fast-spider style, and store them locally in the BLOS. It is used like this: distfile-kit-fetchIt will use the kit-cache data from a previous merge-kits run. This kit-cache data is stored in ~/repo_tmp/tmp/kit_cache. This tool also will make sure it has a locally-checked out kit-fixups repo in ~/repo_tmp/source-trees/kit-fixups and will utilize the thirdpartymirrors file located at core-kit/curated/profiles/ thirdpartymirrors to expand any mirror:// prefixes in ebuild SRC_URI strings. Additional work has been done on this tool to make it production-quality. For example, it won't stop running when it encounters a file download that errors out --> instead it will be greedy and try to keep downloading as many distfiles as it can.
Preparing a new infrastructure as a clone of MARK's infra and/or a mirror is not possible because the static ebuilds (imported from external repositories, for example gentoo-staging) aren't correctly managed and the blos tree of these packages is not created.
The autogen packages don't suffer from this issue.
A temporary workaround for this problem is to prepare a secondary mirror node with a flat layout that contains the tarballs of all packages at the moment not autogenned. Using flat layout will simplify the developer's life in pushing/removing packages that are missing or removed from the tree.