[Rock-dev] Rock Release 1408

Sylvain Joyeux bir.sylvain at gmail.com
Thu Sep 4 02:52:39 CEST 2014


> I tested the branch for Asguard and Coyote.
> By testing I mean running the robot and
> navigate in the sand field.
That is very impressive. However, it is not what I am discussing. I
*know* that you want releases to be rock-solid (pun not intended), and
I am very grateful that you took so much time testing it. But the
question is about how the releases are going to work, not how
well-tested they are. Ideally, previous Rock release should have been
as well-tested (but were not).

In other words, the issue I have is the way the releases are
implemented, not the fact that we have one.

> The main issue that is solve by this, is that you don't get
> updated, because stable/next/master moved on. Now you
> need to change the release explicitly.
What puzzles me is that you seem to think that the flavor system goes
against having a proper release (at least, that's how I explain how
much you changed the package sets and the name of the wiki page). The
two thing needed to change a stable flavor into a release is:
 - adding a new flavor that inherits stable with the right name. Then
you get the branching right (i.e. autoproj tracks the release name
instead of 'stable')
 - adding the necessary overrides, which is something a little bit of
scripting could do very easily (all the infrastructure is there
because of "autoproj snapshot")

What you do get is:
 - a way for people to tell "package X needs to go in the release"
(they move it to the stable flavor)
 - very little changes between the dev and released system
(package-set-wise), thus avoiding build issues, forgotten packages
that got deleted, this kind of stuff.

> Also I tried to freeze all external dependencies. The only
> ones not being frozen are the ruby ones. Is there a way
> to specify, which versions of the gems get installed ?
Yes, but that's going to be a pain. Enabling it is part of the whole
snapshotting work.

> I don't see why you can't mix devel with release code.
> You just set the override for the branch to whatever
> you want, done.
This fails if:
 - the master branch needs an osdeps that was not declared at release time
 - you want to try a package that did not exist at release time
 - the master branch depends on a package that did not exist at release time
 - the way the package got built changed between the release and now
 - the repository URL changed between the release and now
 - there are differences in the way the package is patched
 - probably other that I don't remember

I've not implemented support for all these in the flavor system just
for fun ... They were all concrete problems that people encountered
(the most problematic one being gui/vizkit that changed from
cmake_package to ruby_package).

I also believe that synchronizing the release of rock-core and the
rest makes no sense, but see

  http://rock.opendfki.de/wiki/WikiStart/OngoingWork/RockFlavorsOrReleases

Sylvain


More information about the Rock-dev mailing list