URL: <http://savannah.gnu.org/task/?10166>
Summary: Submission of libchop Project: Savannah Administration Submitted by: civodul Submitted on: Wed 10 Feb 2010 10:12:21 PM GMT Should Start On: Wed 10 Feb 2010 12:00:00 AM GMT Should be Finished on: Sat 20 Feb 2010 12:00:00 AM GMT Category: Project Approval Priority: 5 - Normal Status: None Privacy: Public Percent Complete: 0% Assigned to: None Open/Closed: Open Discussion Lock: Any Effort: 0.00 _______________________________________________________ Details: A new project has been registered at Savannah This project account will remain inactive until a site admin approves or discards the registration. = Registration Administration = While this item will be useful to track the registration process, *approving or discarding the registration must be done using the specific Group Administration <https://savannah.gnu.org/siteadmin/groupedit.php?group_id=10461> page*, accessible only to site administrators, effectively *logged as site administrators* (superuser): * Group Administration <https://savannah.gnu.org/siteadmin/groupedit.php?group_id=10461> = Registration Details = * Name: *libchop* * System Name: *libchop* * Type: non-GNU software & documentation * License: GNU General Public License v3 or later (My employer during my PhD (2005-2007) was LAAS-CNRS [0]. Under French law, my employer is the copyright holder of this work. I have a signed agreement by the director of LAAS-CNRS to publish it as free software under GPLv3+. [0] See http://www.laas.fr/ and http://www.cnrs.fr/ . LAAS is a research lab of CNRS, the French National Research Center for Scientific Research.) ---- ==== Description: ==== Libchop is a C library with Guile bindings that implements mechanisms typically needed in distributed data storage applications. Several algorithms are implemented to: 1. cut a file into pieces, store each of these blocks into a block store, and then store sufficient information for later retrieval and rebuilding of the indexed file; 2. to restore (rebuild) a file based on an abstract index, reading blocks from one (or several) block stores. This is particularly suitable for content-based indexing (as used by many peer-to-peer file sharing systems, as well as several revision control systems such as Monotone and Git), and content-hash ciphering (as used by anonymous file sharing systems such as GNUnet and FreeNet). It is very modular and flexible in that it allows several storage techniques to be combined (e.g., different way to encrypt data, to compress it, to "chop" it, etc.), even from the command line clients, thanks to introspection. It was implemented as part of my PhD thesis, http://tel.archives-ouvertes.fr/tel-00196822/en/ . ==== Other Software Required: ==== Requirements: - GNU Gperf (GPLv3+), http://www.gnu.org/software/gperf/ - e2fsprogs' libcom_err (MIT) , http://e2fsprogs.sourceforge.net/ - GNU libgcrypt (LGPLv2+), http://www.gnupg.org/download/ - GNU GDBM (GPLv2+), http://www.gnu.org/software/gdbm/ Optional dependencies: - tdb (LGPLv3+), http://tdb.samba.org/ - SleepyCat/Oracle BDB (revised BSD), http://www.oracle.com/technology/products/berkeley-db/index.html - zlib (zlib icense), http://www.zlib.net/ - libbz2 (revised BSD), http://www.bzip.org/ - liblzo2 (GPLv2+), http://www.oberhumer.com/opensource/lzo/ - GnuTLS (LGPLv2+), http://gnutls.org/ - Avahi (LGPLv2+), http://avahi.org/ - GNU Guile (LGPLv3+), http://www.gnu.org/software/guile/ - G-Wrap (LGPLv2+), http://www.nongnu.org/g-wrap/ ==== Other Comments: ==== I've uploaded the Git repository at http://www.fdn.fr/~lcourtes/software/libchop.git (for "git clone", not for browsing). Until recent commits, files lacked a proper license header. Nevertheless, I'd find it more convenient to publish the complete history as is. What do you think? ==== Tarball URL: ==== http://www.fdn.fr/~lcourtes/software/libchop-0.0.tar.gz _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/task/?10166> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/