On 2/24/21 2:29 AM, Zac Medico wrote: > For example, for 3 USE flags, up to 8 combinations will be indexed: > > IUSE="a b c installsources splitdebug" > SRC_URI=" > !a? !b? !c? ( mirror://binhost/24fe6bd377 ) > !a? !b? c? ( mirror://binhost/fbe14cbb02 ) > !a? b? !c? ( mirror://binhost/1dfff1f2ac ) > !a? b? c? ( mirror://binhost/ae60f2940d ) > a? !b? !c? ( mirror://binhost/2976e1acc0 ) > a? !b? c? ( mirror://binhost/f4809db70c ) > a? b? !c? ( mirror://binhost/ecd08466cf ) > a? b? c? ( mirror://binhost/0c00f33b2e ) > installsources? ( > !a? !b? !c? ( mirror://binhost/063a14d6c7 ) > !a? !b? c? ( mirror://binhost/f67c311625 ) > !a? b? !c? ( mirror://binhost/1dfff1f2ac ) > !a? b? c? ( mirror://binhost/17a673e16a ) > a? !b? !c? ( mirror://binhost/914d1cecfe ) > a? !b? c? ( mirror://binhost/ca18d86a2b ) > a? b? !c? ( mirror://binhost/6bce13471a ) > a? b? c? ( mirror://binhost/3a6bdcd228 ) > ) > splitdebug? ( > !a? !b? !c? ( mirror://binhost/29b2f38c41 ) > !a? !b? c? ( mirror://binhost/8adc9bef51 ) > !a? b? !c? ( mirror://binhost/954d2ce484 ) > !a? b? c? ( mirror://binhost/32a614aaca ) > a? !b? !c? ( mirror://binhost/3548a2302d ) > a? !b? c? ( mirror://binhost/e0c02cdc88 ) > a? b? !c? ( mirror://binhost/f9cbd3c181 ) > a? b? c? ( mirror://binhost/31d4c03474 ) > ) > " > > For installsources, we can automate deduplication, so that we can > distribute the same file content for multiple USE combinations when > appropriate. If all of the combinations have identical content, then it > will look like this: > > installsources? ( > !a? !b? !c? ( mirror://binhost/063a14d6c7 ) > !a? !b? c? ( mirror://binhost/063a14d6c7 ) > !a? b? !c? ( mirror://binhost/063a14d6c7 ) > !a? b? c? ( mirror://binhost/063a14d6c7 ) > a? !b? !c? ( mirror://binhost/063a14d6c7 ) > a? !b? c? ( mirror://binhost/063a14d6c7 ) > a? b? !c? ( mirror://binhost/063a14d6c7 ) > a? b? c? ( mirror://binhost/063a14d6c7 ) > ) > > In order to ensure that an ebin is not selected for a USE combination > that has not been built yet, combinations for existing builds will be > listed in REQUIRED_USE, like this: > > REQUIRED_USE=" > || ( > ( !a !b !c ) > ( !a !b c ) > ( !a b !c ) > ( !a b c ) > ( a !b !c ) > ( a !b c ) > ( a b !c ) > ( a b c ) > ) > "
In https://bugs.gentoo.org/772380 I'm planning to implement a script that will take an existing $PKGDIR as input, and generate an "ebin" binhost as output. It will automatically split out pre-built content bundles for installsources and splitdebug as shown above. If there is more than one build for a particular package version and USE combination, then the script will choose the package instance with latest BUILD_TIME metadata (in alignment with FEATURES=binpkg-multi-instance). -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature