public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Zac Medico <zmedico@gentoo.org>
To: gentoo-dev@lists.gentoo.org, Rich Freeman <rich0@gentoo.org>
Subject: Re: [gentoo-dev] [pre-GLEP] Gentoo binary package container format [gentoo@jonesmz.com]
Date: Sun, 18 Nov 2018 14:40:59 -0800	[thread overview]
Message-ID: <12d9221c-40a1-4271-b77f-85f61eeb424d@gentoo.org> (raw)
In-Reply-To: <CAGfcS_kdKAtwhbhitbZ9vj5pHWH8i7b6Ro3_Sh7JTCOBgUDP+Q@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 3097 bytes --]

On 11/18/18 1:55 PM, Rich Freeman wrote:
> On Sun, Nov 18, 2018 at 4:10 PM Roy Bamford <neddyseagoon@gentoo.org> wrote:
>>
>> Replying off list because I am not on the whitelist.
> 
> That seems odd.
> 
>> 1) append a uuid to each filename. Generated when the bin package file is generated.
>> 2) encode the hostname of the machine that generated the file
>> 3) encode the use flags in the filename.
> 
> So, I brought up this same issue in the earlier discussion and it was
> considered out of scope, and I think this is fair.  The GLEP does not
> specify filename, and IMO the standard for what goes INSIDE the file
> will work just fine with any future enhancements that address exactly
> this use case.
> 
> Besides your case of building for a cluster, another use case is
> having a central binary repo that portage could check and utilize when
> a user's preferences happen to match what is pre-built.
> 
> I suggest we start a different thread for any additional discussion of
> this use case.  I was thinking and it probably wouldn't be super-hard
> to actually start building something like this.  But, I don't want to
> derail this GLEP as I don't see any reason designing something like
> this needs to hold up the binary package format.  Both the existing
> and proposed binary package formats will encode any metadata needed by
> the package manager inside the file, and the only extension we need is
> to encode identifying info in the filename.
> 
> My idea is to basically have portage generate a tag with all the info
> needed to identify the "right" package, take a hash of it, and then
> stick that in the filename.  Then when portage is looking for a binary
> package to use at install time it generates the same tag using the
> same algorithm and looks for a matching hash.  If a hit is found then
> it reads the complete metadata in the file and applies all the sanity
> checks it already does.  Generating of binary packages with the hash
> cold be made optional, and portage could also be configured to first
> look for the matching hash, then fall back to the existing naming
> convention, so that it would be compatible with existing generic
> names.  So, users would get a choice as to whether they want to build
> up a library of these packages, or just have each build overwrite the
> last.
> 
> Then the next step would be to allow these files to be fetched from a
> binary repo optionally, and then finally we'd need tools to create the
> repo.  But, this step isn't needed for your use case.  With the proper
> optional switches you could utilize as much of this scheme as you
> like.
> 
> Also, you could optionally choose how much you want portage to encode
> in the tag and look for.  Are you very fussy and only want a binary
> package with matching CFLAGS/USE/whatever?  Or is just matching
> USE/arch/etc enough?  Some of the existing portage options could
> potentially be re-used here.

We've already had this handled for a couple years now, via
FEATURES=binpkg-multi-instance.
-- 
Thanks,
Zac


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

  reply	other threads:[~2018-11-18 22:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-18 21:10 Fwd: Re: [gentoo-dev] [pre-GLEP] Gentoo binary package container format [gentoo@jonesmz.com] Roy Bamford
2018-11-18 21:55 ` Rich Freeman
2018-11-18 22:40   ` Zac Medico [this message]
2018-11-19  2:51     ` Rich Freeman
2018-11-19 18:45       ` Zac Medico
2018-11-19 10:45     ` M. J. Everitt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12d9221c-40a1-4271-b77f-85f61eeb424d@gentoo.org \
    --to=zmedico@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=rich0@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox