[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian binary diff system ?! script.



On Sat, Nov 21, 1998 at 04:25:39PM +0100, Kai Duebbert wrote:
> hi.
> 
> here is the new version of the diff generating script.... the last script had
> countless bugs which I hadn't seen and which unfortunately made the diffs
> smaller than they would be. it should work quite well now. the modes of the new
> files are applied on the diff files, so we can keep all modes.
> 
> what should we do with the owners? are they important? if they are, the script
> has either to be used as root (which the a ftpsite probably wouldnt like) or
> we save the ownerships in a separate file and apply them again when the package
> gets installed... both is not very nice. ideas?

Yes and no. The owner should at least be root. OTOH, most people seem to be
saying that ownerships should be set in postinst or with suidmanager.

> fortunately xdelta knows how to handle gzip-files... the system to see if two
> files are identical (even if one is gzipped) is not very good... any ideas?

zcat to temp files then cmp those?

> if this script works ok, I guess we can think of how to work out a system to
> install the diffs on a running system....... I guess we either have to do a
> work-around to install the packages directly or we have to find a method on how
> to use dpkg... of course we could rebuild the new package by taking the already
> installed files on the disk, apply the diffs and use dpkg to install it again,
> but this would take ages. or maybe using dpkg-repack?.... anyone a good idea how
> to do it?

I say, don't do it directly with dpkg (asis anyway). Its a hugely inefficient
scheme.

I spent a good deal of time testing this script. It seems to work.
Sorry for the delay.

Anyway, I attached the perl script I wrote to test it out, and the results.

> On Don, 19 Nov 1998 Tom Lees wrote:
> >> > know the set of packages you tested it on that got 40%?
> >> sed_2.05-22.deb (26828 b) -> sed_3.02-1.deb (64530 b) -> diff (26828 b)
> >> grep_2.1-8.deb (60070 b) -> grep_2.2-1.deb (61352 b) -> diff (31352 b)
> unfortunately that isnt right anymore.... the sed-diff is now: 58280 and the
> grep-diff is: 32630
> 
> we should try to test packages which are not so different in their versions.
> e.g. grep_2.2-1.deb to grep_2.2-2.deb...... then the results we get would
> be more realistic and probably much more impressing than these here.  (at least
> thats what I hope.... ;) )

I don't keep enough debs so marginally different to do this.

> >Here are some more results, using that script:-
> could you test the packages against the new script again?

Attached.

-- 
Tom Lees <tom@lpsg.demon.co.uk> <tom@debian.org>  http://www.lpsg.demon.co.uk/
PGP Key: finger tom@master.debian.org, http://www.lpsg.demon.co.uk/pgpkeys.asc.

Attachment: comp.pl
Description: comp.pl, comparison script

Script started on Sat Nov 28 23:13:00 1998

lpsg:~/debian/make-diff-test$ 
lpsg:~/debian/make-diff-test$ ./comp.pl 
s-in/e2fsprogs_1.10-17.deb s-out/e2fsprogs_1.12-2.deb e2fsprogs
e2fsprogs 'e2fsprogs_1.10-17-diff-1.12-2.deb'
e2fsprogs 1.10-17 151266 --> 1.12-2 163962
Diff 142398, 86.8481721374465%

s-in/kbd_0.95-16.deb s-out/kbd_0.96a-6.deb kbd
kbd 'kbd_0.95-16-diff-0.96a-6.deb'
kbd 0.95-16 468406 --> 0.96a-6 114006
Diff 78842, 69.1560093328421%

s-in/libc6_2.0.7t-1.deb s-out/libc6_2.0.7u-2.deb libc6
libc6 'libc6_2.0.7t-1-diff-2.0.7u-2.deb'
libc6 2.0.7t-1 580872 --> 2.0.7u-2 608906
Diff 432852, 71.0868344210765%

s-in/makedev_1.6-32.deb s-out/makedev_2.3.1-3.deb makedev
makedev 'makedev_1.6-32-diff-2.3.1-3.deb'
makedev 1.6-32 35020 --> 2.3.1-3 15730
Diff 12652, 80.4322949777495%

s-in/modutils_2.1.85-11.deb s-out/modutils_2.1.121-5.deb modutils
modutils 'modutils_2.1.85-11-diff-2.1.121-5.deb'
modutils 2.1.85-11 116042 --> 2.1.121-5 122248
Diff 55788, 45.6351024147634%

s-in/ncurses-base_1.9.9g-8.8.deb s-out/ncurses-base_4.2-2.deb ncurses-base
ncurses-base 'ncurses-base_1.9.9g-8.8-diff-4.2-2.deb'
ncurses-base 1.9.9g-8.8 6702 --> 4.2-2 13754
Diff 11332, 82.3905772866075%

s-in/timezones_2.0.7t-1.deb s-out/timezones_2.0.7u-2.deb timezones
timezones 'timezones_2.0.7t-1-diff-2.0.7u-2.deb'
timezones 2.0.7t-1 261268 --> 2.0.7u-2 266124
Diff 102890, 38.6624280410636%

lpsg:~/debian/make-diff-test$ exit

Script done on Sat Nov 28 23:16:24 1998

Reply to: