Jump to navigation Jump to search
Metatools 1.0.3 is a regular release which was released on 15 April 2022.
artifact.extract()now supports .zip files
- Meta-Repo Tree Gen
- Previously only supported in the
legacybranch, metatools 1.0.3 now supports both production and "local developer" meta-repo generation using
merge-kits, respectively. This functionality in 1.0.3 is slightly faster than the implementation in the
legacybranch. 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 (https://www.python-httpx.org/) 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 setup.py.
- 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/model.py tweak of about 8 lines to allow my model to be accessed from a lot of different places. metatools/model.py has a similar API to logging.getLogger() and setLogger().