Live ebuilds as templates

Synopsis

Right now ebuild using directly the live sources from an vcs are either implemented as -9999 ebuild using specific eclasses to checkout the source code. Ancient idea of adding a -cvs (now -scm) modifier to version to tag this doesn't solve the following key issues and desiderable features:

  • Have a way to track which sources got used to build that particular time
  • Manage update cycle
  • [more could come later]

A LiveTemplate tries to provide tools to solve this issue.

Live Template

[fixme define the syntax correctly] A live template is an ebuild that has has the version defined as usual beside the latest dot separated field consists of ".live"

 cat/pkg/pkg-1.2.0.live

The package manager on merge takes the template and replaces the ".live" field with a revision number took from the source snapshot that is going to be used to build the application

 cat/pkg/pkg-1.2.0.12345

or

 cat/pkg/pkg-1.2.0pre12345

The specific revision/hash is saved [in the build environment? in the pkg/db?]

More

A stand alone generator could produce a snapshot ebuild and the source snapshot in a single step.