[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-dev
Subject: Re: [gentoo-dev] New project: binhost
From: Zac Medico <zmedico () gentoo ! org>
Date: 2021-02-24 12:13:03
Message-ID: 446ccdce-3d5e-5796-e94a-121b73dc8b6b () gentoo ! org
[Download RAW message or body]
[Attachment #2 (multipart/mixed)]
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" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic