Renaud MICHEL a écrit :
On dimanche 07 novembre 2010 at 00:54, andre999 wrote :
Olivier Thauvin a écrit :
* andre999 ([email protected]) wrote:
So to update from -1 to -3 I'll download around 300KB but to upgrade
from -2 to -3 I'll download the full rpm so maybe around 20MB (in the
case the rpm is 20MB) ?
No no no no no !
If from -1 to -3 is 300K, then upgrading from -2 to -3 would still be
300K.
Of course, this raises the point that the names of the original files in
-1 will have to be retained after updates, as well as the names of files
replacing them, in order to make the additional updates. (And remove
any interim updates subsequently replaced.)
But what append if a file modified in an update is rolled back in a
subsequent update?
Let's say revision -1 of a package contains files A B and C, an update to
revision -2 changes B to B', then it is realised that the problem was
actually in file C and not B, so in revision -3 B' is replaced by original B
and C is replaced by C'.
So the delta between -1 and -3 only contains C', so if someone updates with
the delta from revision -2 he will still have B' as the delta won't contain
B which was in the original -1 revision.
Good point.
Which means that delta-3 will have to contain B as well as C'
But it would still be smaller than the full package.
One thing I've thought of, is if the delta approaches the size of the
release package, it might be better/simpler to just make a full update.
However, most of the time this is not likely to occur, especially with
larger packages.
This could be facilitated by making the names of the replacement files
in delta updates the original file name + a suffix corresponding to the
delta update.
I don't understand, the files need to have the correct name to work once
installed, or are you proposing that on an update to keep all previous files
by suffixing them?
I've just been looking at the spec file (for the first time), and as I
understand it, it would be the version of the contained file that
changes, the file name remaining constant.
So unless I'm misunderstanding something, the current naming convention
already takes care of this factor.
Except that we would still have to retain the version of the files in
the original (release) package.
- André