On 22 January 2015 7:20:07 PM AEST, Sam Bishop <sam@cygnus.email> wrote: >On 22 January 2015 at 17:00, Neil Bothwick <n...@digimed.co.uk> wrote: >> On Thu, 22 Jan 2015 16:43:32 +0800, Sam Bishop wrote: >> >>> I'll quote from the binpkg docs: >>> >> Next to these, portage will check if the binary package is built >>> >> using the same USE flags as expected on the client. If a package >is >>> >> built with a different USE flag combination, portage will either >>> >> ignore the binary package (and use source-based build) or fail, >>> >> depending on the options passed on to emerge >>> >>> So I'm fairly sure that implies they can coexist based on the >>> directory structure. - >>> http://wiki.gentoo.org/wiki/Binary_package_guide#The_PKGDIR_layout >> >> The package name is the same as the ebuild name but with a .tbz2 >> extension, so how could portage cope with multiple variants with >> different USE flags when there is only one name? There can be only >one >> package per ebuild and either the USE flags match exactly or they do >not. >> >> You could get away with this with a limited set of profiles by having >a >> different $PKGDIR for each profile but to do it with random >combinations >> would require some sort of middleware to handle the requests and >place >> the specified packages where portage expects to find them. >> >> I think the check for USE flags is done using the IUSE and USE >settings >> in the package metadata, so even if a USE flag you don't use is added >to >> an ebuild, the package will no longer match. ISTR having to hack >metadata >> in /var/db in the past to avoid a rebuild of *Office. >> > >Thank you kindly Neil. You rephrasing what was right in front of my >face in the docs finally lead to the lightbulb going off. Happens to >all of us I suppose. The pkdir layout diagram isn't implying multiple >versions of a single package, it is referring to multiple packages >with a numeric shorthand. So this would require middleware, wrappers, >or improvements to portage to cope with having overlapping packages >like this. So interim functionality could be achieved with separate >bin hosts directories for each of the baseline profiles with their >default use flags. Once the infrastructure was stable then work could >be undertaken to build some kind of wrapper, or enhancement to >portage.
There was a discussion recently on the portage-dev list regarding storing multiple versions with different use flags in a pkgdir. There's an open bug in bugzilla too, I believe, but I cannot find the reference right now; if I can I'll follow up. I think the summary was that the Packages file is able to index multiple versions of a package, but the tooling to create and manage packages needs some improvement. (Don't quote me on that though!) > >> >> -- >> Neil Bothwick >> >> When companies ship Styrofoam, what do they pack it in? -- :b