[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