Metatools 1.0.3

From Funtoo
< Funtoo:Metatools‎ | Releases
Revision as of 21:23, May 20, 2022 by Drobbins (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Metatools 1.0.3 is a regular release which was released on 15 April 2022.

New Features

artifact.extract() now supports .zip files
Meta-Repo Tree Gen
Previously only supported in the legacy branch, metatools 1.0.3 now supports both production and "local developer" meta-repo generation using merge-kits --prod and merge-kits, respectively. This functionality in 1.0.3 is slightly faster than the implementation in the legacy branch. Note that generating a "custom" meta-repo (Creating Your Own Meta-Repo and Kits )is not yet supported in 1.0.3 (only in legacy) but will be completed and released in a future version of metatools.
Sourced Kits
Independent kits have been deprecated, and we now support the concept of a sourced kit. A sourced kit, unlike an independent kit, supports autogeneration. It is just like an independent kit, except that it has two parts: foo-sources, which is the one developers commit to, and then foo, which is the one generated for the meta-repo tree and synced to end-users. By splitting this into two (or more, if you want to have multiple releases using the same sources), it's possible to support autogens. Funtoo has migrated fully away from independent kits to autogenerated kits.

Major Internal Updates

drop aiohttp, move to httpx
The aiohttp, aiodns and aiofiles Python modules have been deprecated, and have been replaced with httpx ( for improved performance and reliability. In addition, there have been significant updates to fetching in general to improve robustness.
drop tornado
Tornado dependency has been removed from ebuild and
improved error handling
Improved output to ensure the error is obvious if your autogen fails.
internal refactor
A pretty gigantic refactor has been completed that started as an effort to clean up some internal classes and the overall harness for merge-kits. I ended up basically completely removing subpop from the merge-kits codebase, and using a tiny metatools/ tweak of about 8 lines to allow my model to be accessed from a lot of different places. metatools/ has a similar API to logging.getLogger() and setLogger().