From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52515) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f1Ghx-0003lK-TU for guix-patches@gnu.org; Wed, 28 Mar 2018 15:26:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f1Ghu-0001Q2-Oi for guix-patches@gnu.org; Wed, 28 Mar 2018 15:26:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:49747) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f1Ghu-0001Py-MN for guix-patches@gnu.org; Wed, 28 Mar 2018 15:26:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1f1Ghu-0003ls-Eu for guix-patches@gnu.org; Wed, 28 Mar 2018 15:26:02 -0400 Subject: [bug#30977] [PATCH] gnu: Add duperemove. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52362) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f1GhG-0003j5-8c for guix-patches@gnu.org; Wed, 28 Mar 2018 15:25:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f1GhD-0001Da-39 for guix-patches@gnu.org; Wed, 28 Mar 2018 15:25:22 -0400 Received: from sonic311-31.consmr.mail.ir2.yahoo.com ([77.238.176.163]:44814) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f1GhC-0001Cv-KV for guix-patches@gnu.org; Wed, 28 Mar 2018 15:25:18 -0400 From: Vasile Dumitrascu Date: Wed, 28 Mar 2018 21:25:05 +0200 Message-Id: <20180328192505.10613-1-va511e@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 30977@debbugs.gnu.org Cc: Vasile Dumitrascu * gnu/packages/disk.scm (duperemove): New variable. --- gnu/packages/disk.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 96c3a56e7..de829cd24 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -9,6 +9,7 @@ ;;; Copyright ?? 2016, 2017 Marius Bakke ;;; Copyright ?? 2017 Hartmut Goebel ;;; Copyright ?? 2017 Stefan Reich??r +;;; Copyright ?? 2018 Vasile Dumitrascu ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages databases) #:use-module (gnu packages docbook) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -456,3 +458,45 @@ a card with a smaller capacity than stated.") (define-public python2-parted (package-with-python2 python-parted)) + +(define-public duperemove + (package + (name "duperemove") + (version "v0.11.beta4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/markfasheh/duperemove/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1h5nk03kflfnzihvn2rvfz1h623x1zpkn9hp29skd7n3f2bc5k7x")))) + (build-system gnu-build-system) + (inputs + `(("pkg-config" ,pkg-config) + ("glib" ,glib) + ("sqlite" ,sqlite))) + (arguments + `(#:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + ;; no configure script + (delete 'configure)) + #:make-flags (list (string-append "PREFIX=" %output) + "CC=gcc"))) + (home-page "https://github.com/markfasheh/duperemove") + (synopsis "Tools for deduping file systems") + (description "Duperemove is a simple tool for finding duplicated extents and +submitting them for deduplication. When given a list of files it will hash their +contents on a block by block basis and compare those hashes to each other, +finding and categorizing blocks that match each other. When given the -d option, +duperemove will submit those extents for deduplication using the Linux kernel +extent-same ioctl. + +Duperemove can store the hashes it computes in a 'hashfile'. If given an +existing hashfile, duperemove will only compute hashes for those files which +have changed since the last run. Thus you can run duperemove repeatedly on your +data as it changes, without having to re-checksum unchanged data. + +Duperemove can also take input from the fdupes program.") + (license license:gpl2))) -- 2.16.3