[kepler-dev] how to distribute, upgrade, and support Ptolemy under 2.0?
Timothy McPhillips
tmcphillips at mac.com
Mon Oct 5 17:09:41 PDT 2009
Hi Christopher,
Thanks for your comments! See below for clarifications and answers to
your questions:
On Oct 2, 2009, at 12:34 PM, Christopher Brooks wrote:
> Hi Tim,
>
> The usage cases looks good, it helps to have something concrete
> to discuss.
>
> I'm slightly confused about your use of the term "publish".
Modules that are "published" will be visible to Kepler users via the
Kepler module manager. Published modules can be downloaded and
installed from within Kepler.
>
> In my mind, a software product is made available in a
> prerelease form (alpha, beta, release candidates) and then released.
>
> For example, Ptolemy II 8.0 is available via svn, so does this mean
> it is published? Eventually, it will be released, which
> means the source tree evolves very slowly after that,
> with critical bug fixes only. How does the module scheme support the
> development of releases?
According to this proposal, Ptolemy II 8.0 being available via svn
does not make it "published" in the Kepler sense. There will have to
be a kepler module that represents Ptolemy somehow. When this module
is published, the Ptolemy 8.0 system will effectively be published to
Kepler users. My question has to with how this Kepler module might
best represent Ptolemy 8.0. One option that might be reasonable if
Ptolemy doesn't change much would be to include a jarred version of
Ptolemy in the module.
>
> When a module is finalized, then it will be using a particular
> revision or mostly unchanging branch of the kepler and ptII
> repositories.
>
Well, from an architecture point of view there won't be a monolitihic
Kepler base system to which users can add optional modules that have
been published, nor will published modules be able to declare
dependency on, say, the entirety of one revision of the Kepler svn
repository. 'Kepler' itself will be distributed, in its entirety, as
a set of published modules. It's going to be turtles all the way
down.
> So, I guess where I'm confused is that there is no notion in the
> use scenarios that describe how often version numbers are changed?
>
This will be up to the maintainers of the various modules. Module
authors will be free to provide new versions of their modules as often
as they please, and at different rates, as long as new versions depend
exclusively on other modules that have been previously published.
> Maybe I'm missing it, but is there an obvious module that is the
> current development head that is working with the heads of the
> various repositories?
>
> I'm somewhat opposed to having lots of branches added to the ptII
> tree because it adds clutter. Every module that uses Ptolemy II
> should not need a branch.
>
There need be only one branch of the Ptolemy module for each version
of Ptolemy one wishes to provide patches (i.e., bug fixes) for. To be
clear, when we talk about creating branches for modules, we are not
talking about branching the entire repository each time a minor or
major version of any module is published. Rather, each module will
have one branch--a branch of just itself--for each major and minor
version of that module that has been published. Modules are branched
and versioned independently.
> It would be better to either require a particular revision
> of the ptII repository or else require a stable version, such
> as the 7.0 or 8.0.
>
If there will be no bug fixes to Ptolemy 8.0 then it need be published
only once. However, I do expect that we will want to roll out patches
to Kepler that will require changes to Ptolemy. Each such set of
change to Ptolemy that we want users of Kepler in the field right away
will need to be published. My guess is that waiting for the 9.0
release of Ptolemy, say, might not be practical; I think depending
directly or indirectly on an svn revision of Ptolemy that has not been
released officially also would be problematic.
> Is it possible to later create a branch from a particular revision?
> For example if a module uses r50000 and now the tree is at r60000,
> can I go back and create a branch based on r50000 and make changes
> that are based on the r50000 tree?
>
In this proposal, any published major or minor version of a module can
be branched to produce a new major or minor version of the module.
And any version that has been published can be patched at a later time
and republished because the branches corresponding to each published
version will be in the repository.
> Hope this helps,
>
> _Christopher
Is this clearer? Thank you!
Tim
>
> Timothy McPhillips wrote:
>> Hi Christopher,
>> A while back I posted a proposal for how modules will be published,
>> how new versions of modules will be distributed and installed, and
>> how patches with bug-fixes to modules will be applied in Kepler
>> 2.0: https://kepler-project.org/developers/teams/build/documentation/proposed-usage-scenarios-for-publishing-and-patching-kepler-modules
>> One aspect of the approach described above is that branches of
>> modules are maintained for each major and minor branch of published
>> modules, so that patches can be created for each such version in
>> the future. What do you think about how Ptolemy could best fit
>> into this scheme? Thanks for your thoughts!
>> Cheers,
>> Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercury.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20091005/1e41fb3f/attachment-0001.html>
More information about the Kepler-dev
mailing list