Courgette : How to use?

1,793 views
Skip to first unread message

Jun OKAJIMA

unread,
Mar 19, 2010, 10:43:20 AM3/19/10
to chromium...@chromium.org
I am not sure here is the right place to discuss
about courgette diff tool, but I could not
find "courgette ML".

How to use courgette?

I tried courgette, but could not get
a good result.
Actually, bsdiff is smaller.

Probably, this is because I used courgette
in a wrong way.

I guess "-dis -asm -disadj" stuff would be the key,
but no documentation about how to use them.

Tell me how to use courgette rightly.

--- Okajima, Jun. Tokyo, Japan.
http://www.chromium.jp/

----
My result:

The sample data:
12e1f48ff59db90039333a43041f1ec7 chrome-linux.41925/chrome
0f37f9dbddfd30ae0be31a268a8be94c chrome-linux.41928/chrome
d737bd40c530668ba54c3b2b1092ca2f chrome-linux.zip.41925
40b75188e510957f2f890e907bdbb762 chrome-linux.zip.41928
-rw-r--r-- 1 okajima okajima 24772426 Mar 18 16:02 chrome-linux.zip.41925
-rw-r--r-- 1 okajima okajima 24772669 Mar 18 16:36 chrome-linux.zip.41928
-rwx------ 1 okajima okajima 46067397 Mar 18 16:27 chrome-linux.41925/chrome
-rwx------ 1 okajima okajima 46067397 Mar 18 17:01 chrome-linux.41928/chrome

Interestingly, these two chrome binaries are same size.

$ ./courgette.20100318 -gen chrome-linux.41925/chrome
chrome-linux.41928/chrome courgette.diff
$ bsdiff chrome-linux.41925/chrome chrome-linux.41928/chrome bspatch.diff
-rw-r--r-- 1 okajima okajima 202605 Mar 19 23:11 courgette.diff
-rw-r--r-- 1 okajima okajima 91368 Mar 19 23:05 bspatch.diff

Come on.... bspatch is much smaller...
Note: I confirmed that both diffs can reproduce the original.

Jun OKAJIMA

unread,
Mar 21, 2010, 11:11:35 PM3/21/10
to chromium...@chromium.org
I googled "courgette asm"
and my posting came up on the top.

I did not feel lucky, because I understood
that no one did not understand how to use courgette...

How to use -asm option?

--- Okajima, Jun. Tokyo, Japan.


2010/3/19 Jun OKAJIMA <oka...@digitalinfra.co.jp>:

Jun OKAJIMA

unread,
Apr 2, 2010, 5:28:27 AM4/2/10
to chromium...@chromium.org
My results are:

~$ ./courgette.20100318 -dis chrome-linux.41925/chrome courgette.out1
Can't parse input.

And, I understand courgette seems to have done nothing.
The output size of -gen is almost same as
bspatch without bzip2 compression.
In short, current courgette is just
a wrapper for bspatch, which does no compression.

[0402/182439:INFO:courgette/simple_delta.cc(36)] GenerateSimpleDelta
46067397 46201445
[0402/182439:INFO:courgette/third_party/bsdiff_create.cc(201)] Start bsdiff

ANY SUGGESTION?

--- Okajima, Jun. Tokyo, Japan.

2010/3/22 Jun OKAJIMA <oka...@digitalinfra.co.jp>:

Nico Weber

unread,
Apr 2, 2010, 9:52:08 AM4/2/10
to oka...@digitalinfra.co.jp, chromium...@chromium.org
At least originally, courgette did its thing only for windows binaries
as far as I remember. Maybe that's still the case?

> --
> Chromium Discussion mailing list: chromium...@chromium.org
> View archives, change email options, or unsubscribe:
>    http://groups.google.com/a/chromium.org/group/chromium-discuss
>

Jun OKAJIMA

unread,
Apr 4, 2010, 3:21:35 AM4/4/10
to Nico Weber, chromium...@chromium.org
Yeah!. Worked. thanks.


How to use:

Use win32 exe/dll. not elf exe/dll.
[Ubuntu]$ ./courgette -gen chrome.win32.old.dll chrome.win32.new.dll output.diff

Result:
~$ ls -la chrome-win32.*/chrome.dll
-rw-rw-rw- 1 okajima okajima 22954496 Mar 29 17:57 chrome-win32.42998/chrome.dll
-rw-rw-rw- 1 okajima okajima 23057920 Apr 3 02:26 chrome-win32.43573/chrome.dll
~$ ls -la bsdiff.* courgette.diff.*
-rw-r--r-- 1 okajima okajima 1957824 Apr 3 17:35 bsdiff.expanded
-rw-r--r-- 1 okajima okajima 1978400 Apr 3 17:36 bsdiff.lzma9
-rw-r--r-- 1 okajima okajima 591488 Apr 3 17:31 courgette.diff.expanded
-rw-r--r-- 1 okajima okajima 388449 Apr 3 17:32 courgette.diff.lzma9
~$

1957824 / 388449 = 5.04010565


Hope ELF version, Please!!!.


--- Okajima, Jun. Tokyo, Japan.

2010/4/2 Nico Weber <tha...@chromium.org>:


> At least originally, courgette did its thing only for windows binaries
> as far as I remember. Maybe that's still the case?
>
> On Fri, Apr 2, 2010 at 2:28 AM, Jun OKAJIMA <oka...@digitalinfra.co.jp> wrote:
>> My results are:
>>
>> ~$ ./courgette.20100318 -dis chrome-linux.41925/chrome courgette.out1
>> Can't parse input.
>>
>> And, I understand courgette seems to have done nothing.
>> The output size of -gen is almost same as
>> bspatch without bzip2 compression.
>> In short, current courgette is just
>> a wrapper for bspatch, which does no compression.
>>
>> [0402/182439:INFO:courgette/simple_delta.cc(36)] GenerateSimpleDelta
>> 46067397 46201445
>> [0402/182439:INFO:courgette/third_party/bsdiff_create.cc(201)] Start bsdiff
>>
>> ANY SUGGESTION?
>>

>> ツꀀ ツꀀ ツꀀ ツꀀ --- Okajima, Jun. Tokyo, Japan.


>>
>>
>>
>> 2010/3/22 Jun OKAJIMA <oka...@digitalinfra.co.jp>:
>>> I googled "courgette asm"
>>> and my posting came up on the top.
>>>
>>> I did not feel lucky, because I understood
>>> that no one did not understand how to use courgette...
>>>
>>> How to use -asm option?
>>>

>>> ツꀀ ツꀀ ツꀀ ツꀀ ツꀀ --- Okajima, Jun. Tokyo, Japan.


>>>
>>>
>>> 2010/3/19 Jun OKAJIMA <oka...@digitalinfra.co.jp>:
>>>> I am not sure here is the right place to discuss
>>>> about courgette diff tool, but I could not
>>>> find "courgette ML".
>>>>
>>>> How to use courgette?
>>>>
>>>> I tried courgette, but could not get
>>>> a good result.
>>>> Actually, bsdiff is smaller.
>>>>
>>>> Probably, this is because I used courgette
>>>> in a wrong way.
>>>>
>>>> I guess "-dis -asm -disadj" stuff would be the key,
>>>> but no documentation about how to use them.
>>>>
>>>> Tell me how to use courgette rightly.
>>>>

>>>> ツꀀ ツꀀ ツꀀ --- Okajima, Jun. Tokyo, Japan.
>>>> ツꀀ ツꀀ ツꀀ http://www.chromium.jp/


>>>>
>>>> ----
>>>> My result:
>>>>
>>>> The sample data:

>>>> 12e1f48ff59db90039333a43041f1ec7 ツꀀchrome-linux.41925/chrome
>>>> 0f37f9dbddfd30ae0be31a268a8be94c ツꀀchrome-linux.41928/chrome
>>>> d737bd40c530668ba54c3b2b1092ca2f ツꀀchrome-linux.zip.41925
>>>> 40b75188e510957f2f890e907bdbb762 ツꀀchrome-linux.zip.41928


>>>> -rw-r--r-- 1 okajima okajima 24772426 Mar 18 16:02 chrome-linux.zip.41925
>>>> -rw-r--r-- 1 okajima okajima 24772669 Mar 18 16:36 chrome-linux.zip.41928
>>>> -rwx------ 1 okajima okajima 46067397 Mar 18 16:27 chrome-linux.41925/chrome
>>>> -rwx------ 1 okajima okajima 46067397 Mar 18 17:01 chrome-linux.41928/chrome
>>>>
>>>> Interestingly, these two chrome binaries are same size.
>>>>
>>>> $ ./courgette.20100318 -gen chrome-linux.41925/chrome
>>>> chrome-linux.41928/chrome courgette.diff

>>>> $ bsdiff ツꀀchrome-linux.41925/chrome chrome-linux.41928/chrome bspatch.diff


>>>> -rw-r--r-- 1 okajima okajima 202605 Mar 19 23:11 courgette.diff
>>>> -rw-r--r-- 1 okajima okajima 91368 Mar 19 23:05 bspatch.diff
>>>>
>>>> Come on.... bspatch is much smaller...
>>>> Note: I confirmed that both diffs can reproduce the original.
>>>>
>>>
>>
>> --
>> Chromium Discussion mailing list: chromium...@chromium.org
>> View archives, change email options, or unsubscribe:

>> ツꀀ ツꀀhttp://groups.google.com/a/chromium.org/group/chromium-discuss
>>
>

Reply all
Reply to author
Forward
0 new messages