Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] Sorcery Updating

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Paul <dufflebunk AT dufflebunk.homeip.net>
  • To: sm-discuss <sm-discuss AT lists.ibiblio.org>
  • Subject: [SM-Discuss] Sorcery Updating
  • Date: Thu, 20 May 2004 12:50:56 -0400

There is a fairly major open problem with the sorcery scripts. The
problem occurs when updating sorcery. If the syntax of support files is
different from one version to the next, we have no way of updating
these. For example, if the format of the /var/state/sorcery/depends file
were to change, there is no nice way for sorcery to convert the file
automaticaly. Up to now, the impact of this problem has been minimal.
However, as we continue to change the internals this problem becomes
more troublesome. To that end, here is a proposal:

There are four upgrade scenarios:
- Stable x.y.z -> x.y.(z+1)
- Devel x -> (x+1)
- Stable x.y.z -> Devel w
- Devel w -> Stable x.y.z
Ignoring the last two for the moment, applying the first two scenarios
over and over will allow upgrading from, say, 1.8.1 to 1.8.7.

This could be accomplished by having scripts on the sourcemage.org site
somewhere that upgrade from version to version. Most upgrades wouldn't
have a script since the standard update mechanism is sufficient. The
scripts cannot be included in the sorcery.tar.bz2 tarball as you may be
updating by more than one version.

The naming scheme for these files would be:
sorcery-<from branch>-<from version>-<to branch>-<to version>.sh
update/sorcery-stable-x.y.z-stable-x.y.(z+1).sh
update/sorcery-devel-x-devel-(x+1).sh
update/sorcery-stable-x.y.z-devel-w.sh
update/sorcery-devel-w-stable-x.y.z.sh

The last two upgrade cases are the most difficult. Since it would be a
nightmare to support stable to every version of devel since the last
stable release this is what I propose, by example:
Last stable version: 1.2.3
Devel version that was released the same day: 20040122
Latest devel version: 20040517
To upgrade, the following scripts (if they exist) would be run:
sorcery-stable-1.2.3-devel-20040122.sh
sorcery-devel-20040122-devel-20040123.sh
sorcery-devel-20040123-devel-20040124.sh
....
sorcery-devel-20040516-devel-20040517.sh

That looks like a lot of script to download and run, but most of them
will not exist. So of course won't be run.

The necessity of some method of doing these upgrades is not open for
debate, what is open for discussion is the method. I believe that this
method is possible to implement, maintainable over the long term, and
flexible enough for the unknown changes in the future. Any suggestions
(problems, other methods, concerns) are welcome... Recomended even.

I'll be starting to add this feature very soon so make sure you get your
two cents in ASAP. The urgency is that this has becom a major problem
with the new dependency system in devel, and those in stable are going
to have to run cleanse to untangle their packages and depends files.

Attachment: signature.asc
Description: This is a digitally signed message part



  • [SM-Discuss] Sorcery Updating, Paul, 05/20/2004

Archive powered by MHonArc 2.6.24.

Top of Page