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.

Reply via email to