[Sugar-devel] Activity packaging

Aleksey Lim alsroot at member.fsf.org
Sun Aug 8 11:24:37 EDT 2010

On Sun, Aug 08, 2010 at 07:18:51AM -0700, Jon Nettleton wrote:
> >
> > But the one of core ideas to not use only regular packaging systems
> > (via PackageKit or directly) is having this, natural and desired,
> > scenario for sugar ecosystem:
> >
> > * there is an activity,
> > * several users might decide to experiment w/ this activity
> >  (i.e. change its code) and share this results
> > * third user wants to try all these experiments (including pristine
> >  activity)
> >
> > This scenario is pretty undoable (by design) in native packaging systems
> > but 0install is designed to support scenarios like that (all
> > activity implementation are stored in separate directories in user's
> > home and can be launched in any time and even at the same time).
> This doesn't sound like a package management system scenario.  Really
> this sounds like a revision control system is needed.  Wouldn't it
> make the most sense to integrate bzr or git into sugar to handle code
> sharing like this?  Then you could continue to have all the Activities
> in a single directory with multiple branches to can be switched
> between on the fly through a sugar interface.

Well, I thought also about vcs but came to decision that it sounds
like misusing of vcs:

* vcs is all about sources (storing binaries is possible but is misusing),
* all sugar related code will be shared only in sources, which is not
  bad in general (especially as an option) but sounds overkill for
  binary-based activities
* all dependencies should be stored in vcs and deployed via vcs as well
  (otherwise system should be not pure vcs and will look pretty ugly)

Also there is no need in storing results of experiments in vcs at
all, e.g., doer just tweaks his local code and let 0sugar share it w/o
commiting to vcs server(which should be used to fetch sources on client
side), supporting per doer vcs servers would sound pretty overkill.

Some kind of binding vcs repos with packaging/distribution stuff is
possible and afaik many GNU/Linux distribution do packaging from, e.g.,
git repos (we can do similar things on our OBS), but they don't mix vcs
and distribution.


More information about the Devel mailing list