Diffball is a differencing suite I've been working on for a while, supporting multiple binary patch formats (xdelta, bdelta, bdiff, gdiff4...), and w/ preliminary unified gdiff support, and easy framework for supporting compression, and dropping new formats/algs in. Since diffball functions as a binary differencer, it's patches produce md5 correct reconstructed files. My intention, is to base distfile diff'ing upon it- at the very least it's a rather useful utility (imho). While diffball has just had it's initial release (2 days ago as of this message), it's been in development for 4 months, working for 3 out of the 4. I'm confident in it's stability, the only detractor is documentation- it has an appropriate set of man files, although I do need to make them less spartan, write out out the Readme, and add the remaining 0.4 features (detailed in the TODO file). Suggested location being sys-apps/diffball, although that's only my peon level suggestion... thanks, bdh
Created attachment 18393 [details] diffball pre-0.4.ebuild Suggestions for dealing w/ the extra pre portion of the version would be welcome...
diffball.c: In function `main': diffball.c:64: warning: unused variable `source_md5' diffball.c:64: warning: unused variable `target_md5' tar.c: In function `read_fh_to_tar_entry': tar.c:80: warning: implicit declaration of function `strnlen' source='convert_delta.c' object='convert_delta.o' libtool=no \ depfile='.deps/convert_delta.Po' tmpdepfile='.deps/convert_delta.TPo' \ depmode=gcc3 /bin/sh ./depcomp \ gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -march=athlon-xp -O2 -pipe -fomit-frame-pointer -c `test -f 'convert_delta.c' || echo './'`convert_delta.c gcc -Wall -march=athlon-xp -O2 -pipe -fomit-frame-pointer -o differ differ.o diff-algs.o adler32.o primes.o options.o dcbuffer.o cfile.o bit-functions.o gdiff.o switching.o bdiff.o bdelta.o xdelta1.o udiff.o line-util.o formats.o -lbz2 -lcrypto -lpopt primes.o(.text+0x170): In function `find_next_prime': : undefined reference to `sqrt' collect2: ld returned 1 exit status make[1]: *** [differ] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/diffball-0.4_pre/work/diffball-pre-0.4' make: *** [all] Error 2
Complaints about strnlen, and make failures regarding libmath functions (sqrt for instance) have been resolved as of diffball-0.4_pre2. Diffball is currently at 0.4_pre3, and I'll be updating this ebuild once 0.4_pre4 is released (which is planned for/around 10/31/2003). In general, the updates since the initial pre-0.40 release have been cleaning it up for general usage, lessening memory req's, optimizing worst run conditions, etc. 0.4_pre4 will likely become the actual 0.40 release.
Created attachment 20151 [details] v0.4_pre4 ebuild renamed ebuild for 0.4_pre4
Renamed ebuild for v0.4_pre4, the most current version of diffball. Best to use this version, rather then earlier pre{2,3}, since this is the culmination of fixes, run-time improvements, and general cleanup. Basically in need of user testing.
Created attachment 20152 [details] 0.4_pre4- fixed SRC_URI, no other change. fixed a rather dumb mistake in the src_uri . Now points to the correct location.
added to portage