Hi Roger.

I'm not sure if I understood you correctly. Are you suggesting an upgrade format upgrade (sorry for the pun), so we could add our third party software to the empeg by just building a .upgrade file consisting of the (somewhat) minimal set of the
CHUNK_UPGRADERVERSION
CHUNK_INFO
CHUNK_WHAT
CHUNK_RELEASE
CHUNK_VERSION
CHUNK_INSTALL
(where CHUNK_INSTALL would contain a tar.gz file)?
If so, where would you unpack that tar.gz to, and would you call a specific script conatined therein?
If I did understand you correctly, I would suggest the following for the CHUNK_INSTALL data:
The data in CHUNK_INSTALL is handled as a tar.gz file that is extracted to /drive0/install_tmp, after extraction, /drive0/install_tmp/install.sh is called which should completely remove any files from /drive0/install_tmp when done, so that the directory is clean for the next install.
If I did not understand you correctly, please explain your suggestion some more.

cu,
sven

PS: While speaking about that, I think I found a small bug in upgrader.cpp: In function Upgrader::DoUpgrade, it seems that a "case CHUNK_VERSION:" line is missing after the "case CHUNK_RELEASE" line. At least that is the only defined chunk type that doesn't get handled. There is no default section in that switch either, so that unknown chunk types just get ignored (instead of throwing an error message). The omission of a default action also causes the omission of the handling of CHUNK_VERSION (which would get ignored) to have no negative effect currently.

proud MkII owner (12GB blue/green/smoked, was #080000113 is #090001010)
_________________________
proud owner of MkII 40GB & MkIIa 60GB both lit by God and HiJacked by Lord