Il giorno mer 10 feb 2021 alle ore 20:15 Andreas K. Hüttel < dilfri...@gentoo.org> ha scritto:
> > Some ideas for portage enhancements: > > > > 1. Ability to fetch binary packages from some kind of repo. > > 2. Ability to have multiple binary packages co-exist in a repo (local > > or remote) with different build attributes (arch, USE, CFLAGS, > > DEPENDS, whatever). > > 3. Ability to pick the most appropriate binary packages to use based > > on user preferences (with a mix of hard and soft preferences). > > The more definite answer should come from Zac, but I think a good part of > this > is already implemented. :) > > kind of, from make.conf manpage: binpkg-multi-instance Enable support for multiple binary package in‐ stances per ebuild. Having multiple instances is useful for a number of purposes, such as retaining builds that were built with different USE flags or linked against different versions of libraries. The location of any particular package within PKGDIR can be expressed as follows: ${PKGDIR}/${CATEGORY}/${PN}/${PF}-${BUILD_ID}.xpak The build-id starts at 1 for the first build of a particular ebuild, and is incremented by 1 for each new build. It is possible to share a writable PKGDIR over NFS, and locking ensures that each package added to PKGDIR will have a unique build-id. It is not necessary to migrate an exist‐ ing PKGDIR to the new layout, since portage is ca‐ pable of working with a mixed PKGDIR layout, where packages using the old layout are allowed to re‐ main in place. The new PKGDIR layout is backward-compatible with binhost clients running older portage, since the file format is identical, the per-package PATH at‐ tribute in the 'Packages' index directs them to download the file from the correct URI, and they automatically use BUILD_TIME metadata to select the latest builds. There is currently no automated way to prune old builds from PKGDIR, although it is possible to re‐ move packages manually, and then run 'emaint --fix binhost' to update the ${PKGDIR}/Packages index.