* [gentoo-soc] SCM Snapshot management
@ 2011-04-02 22:44 Colleen Josephson
2011-04-04 19:16 ` Zac Medico
0 siblings, 1 reply; 4+ messages in thread
From: Colleen Josephson @ 2011-04-02 22:44 UTC (permalink / raw
To: gentoo-soc
[-- Attachment #1: Type: text/plain, Size: 1993 bytes --]
The SCM snapshot management project (
http://www.gentoo.org/proj/en/userrel/soc/ideas.xml#doc_chap2_sect18),
paired with adding tags to Portage, search improvements, and a couple other
small Portage feature additions.
To quote Luca Barbato:
The idea is to work on the concept so that:
- by emerging a live ebuild you automatically generate the snapshot
ebuild and record it...instead of recording it as live ebuild in the vdb you
record
it as snapshot ebuild. The generation step could include a version
generation algorithm more complicated than you expect
- you have a emaint command to generate the snapshot ebuild on the fly.
Where exactly would the information of a live vs. snapshot ebuild be
recorded in the vdb? I checked out my own VDB,
and it had some text files like:
BUILD_TIME CBUILD CHOST COUNTER DEFINED_PHASES DESCRIPTION FEATURES
INHERITED KEYWORDS LICENSE NEEDED.ELF.2 RDEPEND SLOT environment.bz2
repository CATEGORY CFLAGS CONTENTS CXXFLAGS DEPEND EAPI HOMEPAGE IUSE
LDFLAGS NEEDED PF SIZE USE jack-audio-connection-kit-0.120.1.ebuild
I checked the contents of most of them, but none seemed like particularly
likely locations to store that information.
Also, the project description says:
- If the writer has no access (the ebuild is not uploaded to main tree or
a listed overlay), the ebuild behaves as a live ebuild.
- Otherwise, the snapshot manager daemon packages the snapshot and posts
it on Gentoo mirrors. The ebuild fetches the snapshot and uses it. (this
will require a manifest update upon/after commit...)
So I think that means that if the ebuild writer is a dev, the snapshot will
be posted to Gentoo mirrors. If not, the ebuild is not snapshot and is a
live ebuild.
I think it would be nice to have the ability to use locally-stored snapshots
instead of forcing those who are not devs to do live ebuilds.
I was thinking for the versioning, perhaps something revision numbers would
be sensible?
Thanks,
-Colleen
[-- Attachment #2: Type: text/html, Size: 2216 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-soc] SCM Snapshot management
2011-04-02 22:44 [gentoo-soc] SCM Snapshot management Colleen Josephson
@ 2011-04-04 19:16 ` Zac Medico
2011-04-07 15:03 ` Luca Barbato
0 siblings, 1 reply; 4+ messages in thread
From: Zac Medico @ 2011-04-04 19:16 UTC (permalink / raw
To: gentoo-soc
On 04/02/2011 03:44 PM, Colleen Josephson wrote:
> The SCM snapshot management project (
> http://www.gentoo.org/proj/en/userrel/soc/ideas.xml#doc_chap2_sect18),
> paired with adding tags to Portage, search improvements, and a couple other
> small Portage feature additions.
>
> To quote Luca Barbato:
> The idea is to work on the concept so that:
>
> - by emerging a live ebuild you automatically generate the snapshot
> ebuild and record it...instead of recording it as live ebuild in the vdb you
> record
> it as snapshot ebuild. The generation step could include a version
> generation algorithm more complicated than you expect
>
> - you have a emaint command to generate the snapshot ebuild on the fly.
Also, it would be nice if you could specify a specific revision or tag
to take the snapshot from. Maybe it would even make sense to specify a
branch in some cases, but I imagine that in most cases you'd probably
have separate ebuilds for separate branches.
> Where exactly would the information of a live vs. snapshot ebuild be
> recorded in the vdb? I checked out my own VDB,
> and it had some text files like:
> BUILD_TIME CBUILD CHOST COUNTER DEFINED_PHASES DESCRIPTION FEATURES
> INHERITED KEYWORDS LICENSE NEEDED.ELF.2 RDEPEND SLOT environment.bz2
> repository CATEGORY CFLAGS CONTENTS CXXFLAGS DEPEND EAPI HOMEPAGE IUSE
> LDFLAGS NEEDED PF SIZE USE jack-audio-connection-kit-0.120.1.ebuild
If you generate a version, that's probably going to be encoded into the
name of the directory, and it will also show up in PF. You could use a
special version suffix to distinguish live/snapshot/normal ebuilds, like
in GLEP 54. It's also conceivable to use tokens in either the PROPERTIES
or RESTRICT variables to distinguish between live/snapshot/normal ebuilds.
> I checked the contents of most of them, but none seemed like particularly
> likely locations to store that information.
>
> Also, the project description says:
>
> - If the writer has no access (the ebuild is not uploaded to main tree or
> a listed overlay), the ebuild behaves as a live ebuild.
>
>
> - Otherwise, the snapshot manager daemon packages the snapshot and posts
> it on Gentoo mirrors. The ebuild fetches the snapshot and uses it. (this
> will require a manifest update upon/after commit...)
I'm not sure if automatic upload is really necessary. If a developer is
has tested and is satisfied with a particular snapshot, it shouldn't be
too much trouble to upload the snapshot manually.
> So I think that means that if the ebuild writer is a dev, the snapshot will
> be posted to Gentoo mirrors. If not, the ebuild is not snapshot and is a
> live ebuild.
> I think it would be nice to have the ability to use locally-stored snapshots
> instead of forcing those who are not devs to do live ebuilds.
>
> I was thinking for the versioning, perhaps something revision numbers would
> be sensible?
I think a timestamp is probably going to be the most manageable
approach, since it will provide uniformity, regardless of the underlying
SCM. For example, you could encode the timestamp as a _p2011041916
version suffix if you wanted 1 minute precision.
[1] http://www.gentoo.org/proj/en/glep/glep-0054.html
--
Thanks,
Zac
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-04-07 20:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-02 22:44 [gentoo-soc] SCM Snapshot management Colleen Josephson
2011-04-04 19:16 ` Zac Medico
2011-04-07 15:03 ` Luca Barbato
2011-04-07 20:55 ` Colleen Josephson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox