Ideas on self updating software?

Jorge Godoy godoy at ieee.org
Mon Sep 13 13:08:35 EDT 2004


Jaime Wyant <programmer.py at gmail.com> writes:

> Can anyone give me some pointers on writing "self-updating" python
> programs?  I have an application that is almost ready for beta
> testing.  I want to be able to fix any bugs and push the updates out.

You can try rsync'ing the differences from the installed software to
your reference repository.  Or you can 'cvs update' it, or use any other
version management system.

> I realize that I'll have to worry about *duplicates* in revisions. 
> That is version 0.3 may also update module 'c'.  I'll figure that out
> later.

Keep things simple.  You can version each module independently and
create one with your systems version that is incremented each time an
update is applied.  So, this version module will be constantly increased
and will show its version to your users when they ask for the version
running -- remember to make it the last update, in case something
fails... -- and the other modules will be updated independently.

I would go for the CVS approach: each file is independently versioned
and the product version is not limited or bound by the file version.

> Okay, does this sound sound?  =)  Anyone have any other ideas on how
> to tackle this?

rsync seems to be the simpler approach...  ;-)


But, just issuing a warning about a new version seems to be the best
thing, leave the updates for the user (actually, to another application
activated by the user). 

-- 
Godoy.     <godoy at ieee.org>



More information about the Python-list mailing list