Add libmar to build update tools to the repo.
authorJason Stephenson <>
Tue, 19 Mar 2013 00:03:42 +0000 (20:03 -0400)
committerBen Shum <>
Wed, 29 May 2013 21:38:06 +0000 (17:38 -0400)
Add libmar to build update tools to the repo.

This adds code from Mozilla to build a command line mar program and the
libmar library that it uses.  This code is now dual-licensed under the
MPL 2.0 and GPL v2 or later.

We also add our own version of mbsdiff using a modified version of Colin
Percival's FreeBSD-licensed bsdiff program.  We also copy the crc32 code
from Mozilla's updater.

Add libmar as "subpackage" in

Add AC_CONFIG_SUBDIRS macro call for Open-ILS/xul/staff_client/external/
libmar so that our update tools will get configured and built when
Evergreen is built.

Modify for our update tools.

Instead of downloading mar and mbsdiff from's servers,
we check if they exist in Open-ILS/xul/staff_client/external/libmar/tool
and if not we build them.  They should be there already.

Signed-off-by: Jason Stephenson <>
Signed-off-by: Ben Shum <>
16 files changed:
Open-ILS/xul/staff_client/external/libmar/ [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/README [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/ [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/src/ [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/src/mar.h [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/src/mar_cmdline.h [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/src/mar_create.c [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/src/mar_extract.c [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/src/mar_private.h [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/src/mar_read.c [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/tool/ [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/tool/bsdiff.c [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/tool/crc32.c [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/tool/mar.c [new file with mode: 0644]