commit duperemove for openSUSE:Factory

2020-11-05 Thread root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2020-11-05 21:55:38

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new.11331 (New)


Package is "duperemove"

Thu Nov  5 21:55:38 2020 rev:26 rq:846202 version:0.11.2

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2020-07-08 
19:15:31.055644203 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new.11331/duperemove.changes 
2020-11-05 21:56:26.515978860 +0100
@@ -1,0 +2,10 @@
+Thu Nov  5 07:38:15 UTC 2020 - Nikolay Borisov 
+
+- Update to v0.11.2
+  - Improved detection of hyperthreading
+  - Multiple minor fixes and cleanups
+  - Updated xxhash algorithm to latest release
+  - Fixed extent collision handling
+  - Fix overflow scanning in extents
+
+---

Old:

  duperemove-0.11.1.tar.gz

New:

  duperemove-0.11.2.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.B8wG1a/_old  2020-11-05 21:56:27.103977538 +0100
+++ /var/tmp/diff_new_pack.B8wG1a/_new  2020-11-05 21:56:27.107977529 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package duperemove
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.11.1
+Version:0.11.2
 Release:0
 Summary:Software to find duplicate extents in files and remove them
-License:GPL-2.0
+License:GPL-2.0-only
 Group:  System/Filesystems
-Url:https://github.com/markfasheh/duperemove
+URL:https://github.com/markfasheh/duperemove
 Source: 
https://github.com/markfasheh/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config

++ duperemove-0.11.1.tar.gz -> duperemove-0.11.2.tar.gz ++
 12541 lines of diff (skipped)




commit duperemove for openSUSE:Factory

2020-07-08 Thread root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2020-07-08 19:15:27

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new.3060 (New)


Package is "duperemove"

Wed Jul  8 19:15:27 2020 rev:25 rq:819289 version:0.11.1

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2018-12-05 
09:46:20.156512329 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new.3060/duperemove.changes  
2020-07-08 19:15:31.055644203 +0200
@@ -1,0 +2,5 @@
+Sun Jun 14 08:05:24 UTC 2020 - Martin Pluskal 
+
+- Fix building with gcc10
+
+---



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.gTViFc/_old  2020-07-08 19:15:32.519649417 +0200
+++ /var/tmp/diff_new_pack.gTViFc/_new  2020-07-08 19:15:32.531649460 +0200
@@ -50,7 +50,7 @@
 %if 0%{?suse_version} <= 1200
 make %{?_smp_mflags} CFLAGS="%{optflags} -DNO_BTRFS_HEADER"
 %else
-make %{?_smp_mflags} CFLAGS="%{optflags}"
+make %{?_smp_mflags} CFLAGS="%{optflags} -fcommon"
 %endif
 
 %install




commit duperemove for openSUSE:Factory

2018-12-05 Thread root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2018-12-05 09:46:17

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new.19453 (New)


Package is "duperemove"

Wed Dec  5 09:46:17 2018 rev:24 rq:654118 version:0.11.1

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2016-10-02 
00:09:26.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new.19453/duperemove.changes 
2018-12-05 09:46:20.156512329 +0100
@@ -1,0 +2,23 @@
+Tue Dec  4 20:59:22 UTC 2018 - mfas...@suse.com
+
+- Use source tarball from github
+
+---
+Fri Nov 30 22:04:37 UTC 2018 - mfas...@suse.com
+
+- Update to v0.11.1
+  - Add 'quiet' mode - duperemove will only print errors and a
+short summary of any dedupe.
+  - Revert block dedupe default, it is causing excessive
+fragmentation on users systems.
+
+---
+Tue May 15 20:05:26 UTC 2018 - mfas...@suse.com
+
+- Update to v0.11
+  - Fix a minor fd leak in hyperthreading detection code
+  - Clean up some typos in documentation
+  - Some build fixes
+  - Removed patch: v0.11.beta4_to_git_f95e429.patch
+
+---

Old:

  duperemove-0.11.beta4.tar.gz
  v0.11.beta4_to_git_f95e429.patch

New:

  duperemove-0.11.1.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.ImSbI8/_old  2018-12-05 09:46:20.808511616 +0100
+++ /var/tmp/diff_new_pack.ImSbI8/_new  2018-12-05 09:46:20.812511612 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package duperemove
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,14 +18,13 @@
 
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.11.beta4
+Version:0.11.1
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
 Group:  System/Filesystems
 Url:https://github.com/markfasheh/duperemove
 Source: 
https://github.com/markfasheh/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
-Patch1: v0.11.beta4_to_git_f95e429.patch
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config
 BuildRequires:  pkgconfig(glib-2.0)
@@ -46,7 +45,6 @@
 
 %prep
 %setup -q
-%patch1 -p1
 
 %build
 %if 0%{?suse_version} <= 1200

++ duperemove-0.11.beta4.tar.gz -> duperemove-0.11.1.tar.gz ++
 1936 lines of diff (skipped)




commit duperemove for openSUSE:Factory

2016-10-01 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2016-10-02 00:09:24

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is "duperemove"

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2016-09-30 
15:33:46.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2016-10-02 00:09:26.0 +0200
@@ -1,0 +2,8 @@
+Fri Sep 30 20:05:02 UTC 2016 - m...@fasheh.com
+
+- Update to v0.11.beta4 git commit f95e429
+  * Use proper len of tail blocks during block dedupe
+  * run_dedupe: avoid size_list corruption in push_blocks()
+  - Added patch: v0.11.beta4_to_git_f95e429.patch
+
+---

New:

  v0.11.beta4_to_git_f95e429.patch



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.Hshouv/_old  2016-10-02 00:09:27.0 +0200
+++ /var/tmp/diff_new_pack.Hshouv/_new  2016-10-02 00:09:27.0 +0200
@@ -25,6 +25,7 @@
 Group:  System/Filesystems
 Url:https://github.com/markfasheh/duperemove
 Source: 
https://github.com/markfasheh/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+Patch1: v0.11.beta4_to_git_f95e429.patch
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config
 BuildRequires:  pkgconfig(glib-2.0)
@@ -45,6 +46,7 @@
 
 %prep
 %setup -q
+%patch1 -p1
 
 %build
 %if 0%{?suse_version} <= 1200

++ v0.11.beta4_to_git_f95e429.patch ++
f95e429 Use proper len of tail blocks during block dedupe
02f5a09 run_dedupe: avoid size_list corruption in push_blocks()

diff --git a/hash-tree.c b/hash-tree.c
index 82a48d1..9ab9482 100644
--- a/hash-tree.c
+++ b/hash-tree.c
@@ -353,6 +353,7 @@ int remove_hashed_block(struct hash_tree *tree,
if (head && list_empty(>h_blocks))
free_one_hash_head(blocklist, head);
 
+   abort_on(blocklist->dl_num_elem == 0);
blocklist->dl_num_elem--;
if (blocklist->dl_num_elem == 0) {
rb_erase(>dl_node, >root);
diff --git a/run_dedupe.c b/run_dedupe.c
index b219201..5c344c5 100644
--- a/run_dedupe.c
+++ b/run_dedupe.c
@@ -512,7 +512,7 @@ static void free_bdl(struct block_dedupe_list *bdl);
 static int __block_dedupe(struct block_dedupe_list *bdl,
  struct results_tree *res,
  struct filerec *tgt_file,
- uint64_t tgt_off,
+ uint64_t tgt_off, uint64_t tgt_len,
  uint64_t *fiemap_bytes,
  uint64_t *kern_bytes, unsigned long long passno)
 {
@@ -523,7 +523,7 @@ static int __block_dedupe(struct block_dedupe_list *bdl,
if (tgt_file) {
/* Insert this first so it gets picked as target. */
ret = insert_one_result(res, bdl->bd_hash, tgt_file, tgt_off,
-   blocksize);
+   tgt_len);
if (ret)
return ret;
 
@@ -548,7 +548,7 @@ static int __block_dedupe(struct block_dedupe_list *bdl,
}
 
ret = insert_one_result(res, bdl->bd_hash, block->b_file,
-   block->b_loff, blocksize);
+   block->b_loff, block_len(block));
if (ret)
goto out;
}
@@ -587,21 +587,24 @@ out:
  */
 static void pick_target_files(struct block_dedupe_list *bdl,
  struct filerec **tgt1, uint64_t *loff1,
- struct filerec **tgt2, uint64_t *loff2)
+ uint64_t *tlen1, struct filerec **tgt2,
+ uint64_t *loff2, uint64_t *tlen2)
 {
struct filerec *file1, *file2;
-   uint64_t off1, off2;
+   uint64_t off1, off2, len1, len2;
struct file_block *block;
 
file1 = file2 = NULL;
-   off1 = off2 = 0;
+   off1 = off2 = len1 = len2 = 0;
list_for_each_entry(block, >bd_block_list, b_list) {
if (!file1) {
file1 = block->b_file;
off1 = block->b_loff;
+   len1 = block_len(block);
} else if (file1 != block->b_file) {
file2 = block->b_file;
off2 = block->b_loff;
+   len2 = block_len(block);
}
 
if (file1 && file2)
@@ -612,6 +615,8 @@ static void pick_target_files(struct block_dedupe_list *bdl,
*tgt2 = file2;
*loff1 = off1;

commit duperemove for openSUSE:Factory

2016-09-30 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2016-09-30 15:33:42

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is "duperemove"

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2016-09-17 
14:41:02.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2016-09-30 15:33:46.0 +0200
@@ -1,0 +2,8 @@
+Tue Sep 27 20:41:37 UTC 2016 - mfas...@suse.com
+
+- Update to duperemove v0.11.beta4
+  - Many man page and FAQ updates
+  - Much lower memory usage (changed to use block-dedupe by default)
+  - removed unused sha256 module
+
+---

Old:

  duperemove-0.11.beta3.tar.gz

New:

  duperemove-0.11.beta4.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.vjmTGT/_old  2016-09-30 15:33:47.0 +0200
+++ /var/tmp/diff_new_pack.vjmTGT/_new  2016-09-30 15:33:47.0 +0200
@@ -18,7 +18,7 @@
 
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.11.beta3
+Version:0.11.beta4
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -63,7 +63,7 @@
 
 %files
 %defattr(-, root, root)
-%doc LICENSE README.md FAQ.md
+%doc LICENSE README.md
 %{_sbindir}/duperemove
 %{_sbindir}/hashstats
 %{_sbindir}/show-shared-extents

++ duperemove-0.11.beta3.tar.gz -> duperemove-0.11.beta4.tar.gz ++
 4534 lines of diff (skipped)




commit duperemove for openSUSE:Factory

2016-09-17 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2016-09-17 14:41:00

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is "duperemove"

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2016-09-11 
00:55:07.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2016-09-17 14:41:02.0 +0200
@@ -1,0 +2,8 @@
+Fri Sep 16 19:49:06 UTC 2016 - mfas...@suse.com
+
+- Update to duperemove v0.11.beta3
+  - Bugfixes
+  - Large (2.5x) performance improvement to find dupes stage
+  - Added '--cpu-threads' for user control of cpu bound tasks
+
+---

Old:

  duperemove-0.11.beta2.tar.gz

New:

  duperemove-0.11.beta3.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.fXBCzF/_old  2016-09-17 14:41:03.0 +0200
+++ /var/tmp/diff_new_pack.fXBCzF/_new  2016-09-17 14:41:03.0 +0200
@@ -18,7 +18,7 @@
 
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.11.beta2
+Version:0.11.beta3
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -33,8 +33,8 @@
 
 %description
 Duperemove finds duplicate extents in files and prints them to the
-console. It also has the option to remove duplicates on those file
-systems which support the btrfs-extent-same ioctl.
+console. It also has the option to deduplicate extents on those file
+systems which support the Linux extent-same ioctl.
 
 %package -n %{samename}
 Summary:Debug/Test tool to exercise the btrfs out-of-band 
deduplication ioctl

++ duperemove-0.11.beta2.tar.gz -> duperemove-0.11.beta3.tar.gz ++
 1763 lines of diff (skipped)




commit duperemove for openSUSE:Factory

2016-09-10 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2016-09-11 00:55:05

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is "duperemove"

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2016-08-13 
18:31:07.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2016-09-11 00:55:07.0 +0200
@@ -1,0 +2,35 @@
+Fri Sep  9 21:39:39 UTC 2016 - mfas...@suse.com
+
+- Update to duperemove v0.11.beta2
+  - Many bugfixes
+  - Improved dedupe coverage with better extent selection algorithm
+  - Improved (easier to read) output for csum stage
+  - Progress counter added for dedupe stage
+  - Removed patch v0.11.beta1_to_git_d4b9818.patch
+  - Removed patch v0.11-d4b9818_to_82234f5.patch
+
+---
+Fri Aug 26 20:02:21 UTC 2016 - mfas...@suse.com
+
+- Update to v0.11.beta1 git commit 82234f5
+  - Set file->dedupe_seq if we drop out in add_file_db()
+  - add_file_db(): collapse all cases of ino/subvol/filename being
+different
+  - Simplify the logic in add_file_db()
+  - add_file_db(): check for same filename in filerec table
+  - Store filerecs in a tree by filename
+
+---
+Wed Aug 24 19:25:45 UTC 2016 - mfas...@suse.com
+
+- Update to git commit d4b9818:
+  - Set scan flag on renamed file
+  - Remove db record if a file was renamed
+  - More vprints in add_file_db()
+  - Fix confused error handling in dbfile_load_one_filerec()
+  - Return 0 if user specified --help
+  - Don't list '-?' as a valid option
+  - add_file_db() Properly account for __add_file() skipping a file
+  - Add hashstats to the man page
+
+---

Old:

  duperemove-0.11.beta1.tar.gz

New:

  duperemove-0.11.beta2.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.T3v4Na/_old  2016-09-11 00:55:08.0 +0200
+++ /var/tmp/diff_new_pack.T3v4Na/_new  2016-09-11 00:55:08.0 +0200
@@ -18,7 +18,7 @@
 
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.11.beta1
+Version:0.11.beta2
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0

++ duperemove-0.11.beta1.tar.gz -> duperemove-0.11.beta2.tar.gz ++
 2964 lines of diff (skipped)




commit duperemove for openSUSE:Factory

2016-08-13 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2016-08-13 18:31:01

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is "duperemove"

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2016-04-08 
09:39:31.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2016-08-13 18:31:07.0 +0200
@@ -1,0 +2,11 @@
+Fri Aug 12 23:03:06 UTC 2016 - mfas...@suse.com
+
+- Update to duperemove v0.11.beta1
+  - Greatly increased performance during extent search
+  - Hashfiles are reusable now, Duperemove will only scan files which have
+changed since the last time it was run.
+  - Better selection of target extent during dedupe
+- reduces fragmentation of deduped space
+  - Support for dedupe on xfs (experimental)
+
+---

Old:

  duperemove-0.10.tar.gz

New:

  duperemove-0.11.beta1.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.WH9kPD/_old  2016-08-13 18:31:08.0 +0200
+++ /var/tmp/diff_new_pack.WH9kPD/_new  2016-08-13 18:31:08.0 +0200
@@ -18,7 +18,7 @@
 
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.10
+Version:0.11.beta1
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0




commit duperemove for openSUSE:Factory

2016-04-08 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2016-04-08 09:39:29

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is "duperemove"

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-10-14 
16:45:24.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2016-04-08 09:39:31.0 +0200
@@ -1,0 +2,7 @@
+Sat Apr  2 13:43:23 UTC 2016 - mplus...@suse.com
+
+- Use pretty name for tarball
+- Cleanup spec file with spec-cleaner
+- Use pkgconfig style dependnencies
+
+---

Old:

  v0.10.tar.gz

New:

  duperemove-0.10.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.NehQmQ/_old  2016-04-08 09:39:32.0 +0200
+++ /var/tmp/diff_new_pack.NehQmQ/_new  2016-04-08 09:39:32.0 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package duperemove
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,6 @@
 #
 
 
-%define tar_version 0.10
 %define samename btrfs-extent-same
 Name:   duperemove
 Version:0.10
@@ -25,10 +24,11 @@
 License:GPL-2.0
 Group:  System/Filesystems
 Url:https://github.com/markfasheh/duperemove
-Source: 
https://github.com/markfasheh/%{name}/archive/v%{tar_version}.tar.gz
+Source: 
https://github.com/markfasheh/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 BuildRequires:  gcc-c++
-BuildRequires:  glib2-devel
-BuildRequires:  sqlite3-devel
+BuildRequires:  pkg-config
+BuildRequires:  pkgconfig(glib-2.0)
+BuildRequires:  pkgconfig(sqlite3)
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -44,27 +44,22 @@
 Debug/Test tool to exercise a btrfs ioctl for deduplicating file regions.
 
 %prep
-%setup -q -n %{name}-%{tar_version}
-# Set the destdir / prefix
-sed -i \
--e 's:DESTDIR =:DESTDIR ?=:g' \
--e 's:%{_prefix}/local:/usr:g' \
-Makefile
+%setup -q
 
 %build
-%if %suse_version <= 1200
+%if 0%{?suse_version} <= 1200
 make %{?_smp_mflags} CFLAGS="%{optflags} -DNO_BTRFS_HEADER"
 %else
 make %{?_smp_mflags} CFLAGS="%{optflags}"
 %endif
 
 %install
-%make_install
+%make_install PREFIX="%{_prefix}"
 
 %files -n %{samename}
 %defattr(-, root, root)
 %{_sbindir}/%{samename}
-%{_mandir}/man?/%{samename}.8.*
+%{_mandir}/man?/%{samename}.8%{ext_man}
 
 %files
 %defattr(-, root, root)
@@ -72,8 +67,8 @@
 %{_sbindir}/duperemove
 %{_sbindir}/hashstats
 %{_sbindir}/show-shared-extents
-%{_mandir}/man?/%{name}.8.*
-%{_mandir}/man?/hashstats.8.*
-%{_mandir}/man?/show-shared-extents.8.*
+%{_mandir}/man?/%{name}.8%{ext_man}
+%{_mandir}/man?/hashstats.8%{ext_man}
+%{_mandir}/man?/show-shared-extents.8%{ext_man}
 
 %changelog




commit duperemove for openSUSE:Factory

2015-10-14 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-10-14 16:45:23

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is "duperemove"

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-07-19 
11:45:47.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-10-14 16:45:24.0 +0200
@@ -1,0 +2,9 @@
+Fri Oct  9 22:37:04 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.10
+  - Documentation updates for latest stable version
+- document --fdupes mode in manpage
+- update man page headers
+- update FAQ
+
+---

Old:

  v0.10.beta4.tar.gz

New:

  v0.10.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.DXPmeB/_old  2015-10-14 16:45:25.0 +0200
+++ /var/tmp/diff_new_pack.DXPmeB/_new  2015-10-14 16:45:25.0 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%define tar_version 0.10.beta4
+%define tar_version 0.10
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.10.beta4
+Version:0.10
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0

++ v0.10.beta4.tar.gz -> v0.10.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.10.beta4/FAQ.md 
new/duperemove-0.10/FAQ.md
--- old/duperemove-0.10.beta4/FAQ.md2015-07-16 22:52:51.0 +0200
+++ new/duperemove-0.10/FAQ.md  2015-10-10 00:13:34.0 +0200
@@ -2,12 +2,15 @@
 
 ### Is there an upper limit to the amount of data duperemove can process?
 
-v0.08 of duperemove has been tested on small numbers of VMS or iso
-files (5-10) it can probably scale up to 50 or so.
+Duperemove v0.10 is fast at reading and cataloging data. Dedupe runs
+will be memory limited unless the '--hashfile' option is used. '--hashfile'
+allows duperemove to temporarily store duplicated hashes to disk, thus removing
+the large memory overhead and allowing for a far larger amount of data to be
+scanned and deduped. Realistically though you will be limited by the speed of
+your disks and cpu.
 
-v0.09 is much faster at hashing and cataloging extents and therefore
-can handle a larger data set. My own testing is typically with a
-filesystem of about 750 gigabytes and millions of files.
+Actual performance numbers are dependent on hardware - up to date
+testing information is kept [on the 
wiki](https://github.com/markfasheh/duperemove/wiki/Performance-Numbers)
 
 
 ### Why does it not print out all duplicate extents?
@@ -20,11 +23,14 @@
 ### How can I find out my space savings after a dedupe?
 
 Duperemove will print out an estimate of the saved space after a
-dedupe operation for you. You can also do a df before the dedupe
-operation, then a df about 60 seconds after the operation. It is
-common for btrfs space reporting to be 'behind' while delayed updates
-get processed, so an immediate df after deduping might not show any
-savings.
+dedupe operation for you.
+
+You can get a more accurate picture by running 'btrfs fi df' before
+and after each duperemove run.
+
+Be careful about using the 'df' tool on btrfs - it is common for space
+reporting to be 'behind' while delayed updates get processed, so an
+immediate df after deduping might not show any savings.
 
 
 ### Why is the total deduped data report an estimate?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.10.beta4/Makefile 
new/duperemove-0.10/Makefile
--- old/duperemove-0.10.beta4/Makefile  2015-07-16 22:52:51.0 +0200
+++ new/duperemove-0.10/Makefile2015-10-10 00:13:34.0 +0200
@@ -1,4 +1,4 @@
-VER=0.10.beta4
+VER=0.10
 RELEASE=v$(VER)
 
 CC = gcc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.10.beta4/README.md 
new/duperemove-0.10/README.md
--- old/duperemove-0.10.beta4/README.md 2015-07-16 22:52:51.0 +0200
+++ new/duperemove-0.10/README.md   2015-10-10 00:13:34.0 +0200
@@ -1,7 +1,3 @@
-This README is for the development branch of duperemove. If you're looking
-for a stable version which is continually updated with fixes, please see
-[v0.09 branch](https://github.com/markfasheh/duperemove/tree/v0.09-branch).
-
 # Duperemove
 
 Duperemove is a simple tool for finding duplicated extents and
@@ -50,7 +46,7 @@
 
 # Requirements
 
-The latest stable code can be found in 

commit duperemove for openSUSE:Factory

2015-07-19 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-07-19 11:45:46

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-07-14 
17:45:19.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-07-19 11:45:47.0 +0200
@@ -1,0 +2,6 @@
+Thu Jul 16 21:45:34 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.10.beta4
+  - Better memory usage with hashstats utility
+
+---

Old:

  v0.10.beta3.tar.gz

New:

  v0.10.beta4.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.JjD2Cz/_old  2015-07-19 11:45:48.0 +0200
+++ /var/tmp/diff_new_pack.JjD2Cz/_new  2015-07-19 11:45:48.0 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%define tar_version 0.10.beta3
+%define tar_version 0.10.beta4
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.10.beta3
+Version:0.10.beta4
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -28,7 +28,6 @@
 Source: 
https://github.com/markfasheh/%{name}/archive/v%{tar_version}.tar.gz
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
-BuildRequires:  libgcrypt-devel
 BuildRequires:  sqlite3-devel
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 

++ v0.10.beta3.tar.gz - v0.10.beta4.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.10.beta3/Makefile 
new/duperemove-0.10.beta4/Makefile
--- old/duperemove-0.10.beta3/Makefile  2015-07-10 09:46:56.0 +0200
+++ new/duperemove-0.10.beta4/Makefile  2015-07-16 22:52:51.0 +0200
@@ -1,4 +1,4 @@
-VER=0.10.beta3
+VER=0.10.beta4
 RELEASE=v$(VER)
 
 CC = gcc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.10.beta3/dbfile.c 
new/duperemove-0.10.beta4/dbfile.c
--- old/duperemove-0.10.beta3/dbfile.c  2015-07-10 09:46:56.0 +0200
+++ new/duperemove-0.10.beta4/dbfile.c  2015-07-16 22:52:51.0 +0200
@@ -21,7 +21,8 @@
 #define DB_FILE_MAJOR  1
 #define DB_FILE_MINOR  2
 
-static sqlite3 *gdb = NULL;
+/* exported for hashstats.c */
+sqlite3 *gdb = NULL;
 
 #if (SQLITE_VERSION_NUMBER  3007015)
 #defineperror_sqlite(_err, _why)   
\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.10.beta3/hashstats.c 
new/duperemove-0.10.beta4/hashstats.c
--- old/duperemove-0.10.beta3/hashstats.c   2015-07-10 09:46:56.0 
+0200
+++ new/duperemove-0.10.beta4/hashstats.c   2015-07-16 22:52:51.0 
+0200
@@ -33,6 +33,8 @@
 
 #include bswap.h
 
+extern sqlite3 *gdb;
+
 int verbose = 0, debug = 0;
 unsigned int blocksize;
 static int version_only = 0;
@@ -41,144 +43,212 @@
 static int num_to_print = 10;
 static int print_file_list = 0;
 static char *serialize_fname = NULL;
-static struct rb_root by_size = RB_ROOT;
+static uint64_t disk_files, disk_hashes;
 
-static int cmp(struct dupe_blocks_list *tmp, struct dupe_blocks_list *dups)
-{
-   if (tmp-dl_num_elem  dups-dl_num_elem)
-   return -1;
-   else if (tmp-dl_num_elem  dups-dl_num_elem)
-   return 1;
-   return memcmp(dups-dl_hash, tmp-dl_hash, digest_len);
-}
+static sqlite3_stmt *top_hashes_stmt = NULL;
+static sqlite3_stmt *files_count_stmt = NULL;
+static sqlite3_stmt *find_blocks_stmt = NULL;
 
-static void insert_by_size(struct dupe_blocks_list *dups)
+static int prepare_statements(void)
 {
-   struct rb_node **p = by_size.rb_node;
-   struct rb_node *parent = NULL;
-   struct dupe_blocks_list *tmp;
int ret;
 
-   while (*p) {
-   parent = *p;
-
-   tmp = rb_entry(parent, struct dupe_blocks_list, dl_by_size);
+#defineFIND_TOP_HASHES 
\
+select digest, count(digest) from hashes group by digest having 
(count(digest)  1) order by (count(digest)) desc;
+   ret = sqlite3_prepare_v2(gdb, FIND_TOP_HASHES, -1, top_hashes_stmt,
+NULL);
+   if (ret) {
+   fprintf(stderr, error %d while prepping hash search stmt: 
%s\n,
+   ret, sqlite3_errstr(ret));
+   return ret;
+   }
 
-   ret = cmp(tmp, dups);
-   if (ret  0)
-   p = (*p)-rb_left;
- 

commit duperemove for openSUSE:Factory

2015-07-14 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-07-14 17:44:03

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-04-07 
09:30:26.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-07-14 17:45:19.0 +0200
@@ -1,0 +2,20 @@
+Fri Jul 10 19:53:46 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.10.beta3
+  - fixes many crashes in the dedupe stage
+  - fixed an issue with our alignment function which would throw dedupe into
+a loop
+  - improvements to output formatting
+  - better logic when throwing out already-deduped extents won't give as
+many false positives
+
+---
+Tue Jun 30 06:21:21 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.10.beta2
+  - multi-threaded dedupe stage (increased performance)
+  - hashfile mode for drastically improved memory consumption
+  - now uses murmur3 hash internally for improved cpu usage
+  - can now take input from 'fdupes'
+
+---

Old:

  v0.09.3.tar.gz

New:

  v0.10.beta3.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.o80Kms/_old  2015-07-14 17:45:20.0 +0200
+++ /var/tmp/diff_new_pack.o80Kms/_new  2015-07-14 17:45:20.0 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%define tar_version 0.09.3
+%define tar_version 0.10.beta3
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.09.3
+Version:0.10.beta3
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -29,6 +29,7 @@
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
 BuildRequires:  libgcrypt-devel
+BuildRequires:  sqlite3-devel
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 
 %description




commit duperemove for openSUSE:Factory

2015-04-07 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-04-07 09:30:10

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-03-27 
09:41:50.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-04-07 09:30:26.0 +0200
@@ -1,0 +2,13 @@
+Mon Apr  6 19:45:42 UTC 2015 - mfas...@suse.com
+
+- Update with correct tarball (last one didn't have version number bump)
+
+---
+Mon Apr  6 19:14:50 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.09.3
+  - Fix hang during file scan phase (bsc#926098)
+
+- References: bsc#926098
+
+---

Old:

  v0.09.2.tar.gz

New:

  v0.09.3.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.g7X4Bf/_old  2015-04-07 09:30:27.0 +0200
+++ /var/tmp/diff_new_pack.g7X4Bf/_new  2015-04-07 09:30:27.0 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%define tar_version 0.09.2
+%define tar_version 0.09.3
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.09.2
+Version:0.09.3
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0

++ v0.09.2.tar.gz - v0.09.3.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.2/Makefile 
new/duperemove-0.09.3/Makefile
--- old/duperemove-0.09.2/Makefile  2015-03-26 23:51:34.0 +0100
+++ new/duperemove-0.09.3/Makefile  2015-04-06 21:40:43.0 +0200
@@ -1,4 +1,4 @@
-VER=0.09.2
+VER=0.09.3
 RELEASE=v$(VER)
 
 CC = gcc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.2/duperemove.c 
new/duperemove-0.09.3/duperemove.c
--- old/duperemove-0.09.2/duperemove.c  2015-03-26 23:51:34.0 +0100
+++ new/duperemove-0.09.3/duperemove.c  2015-04-06 21:40:43.0 +0200
@@ -54,7 +54,7 @@
 #if GLIB_CHECK_VERSION(2,32,0)
 /* See below for why we do this */
 #defineglib2_mutex_lockg_mutex_lock
-#defineglib2_mutex_unlock  g_mutex_lock
+#defineglib2_mutex_unlock  g_mutex_unlock
 #defineglib2_init_threads()
 #else
 /*




commit duperemove for openSUSE:Factory

2015-03-27 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-03-27 09:41:49

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-03-23 
12:16:59.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-03-27 09:41:50.0 +0100
@@ -1,0 +2,11 @@
+Thu Mar 26 23:07:33 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.09.2
+  - Now compiles on SLE11 targets
+  - Fallback to stat on filesystems that don't report file type from
+readdir
+  - Don't assert on failed open during dedupe
+
+- References: bsc#923277 bsc#924577
+
+---

Old:

  v0.09.1.tar.gz

New:

  v0.09.2.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.rH7soH/_old  2015-03-27 09:41:50.0 +0100
+++ /var/tmp/diff_new_pack.rH7soH/_new  2015-03-27 09:41:50.0 +0100
@@ -16,10 +16,10 @@
 #
 
 
-%define tar_version 0.09.1
+%define tar_version 0.09.2
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.09.1
+Version:0.09.2
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -52,7 +52,11 @@
 Makefile
 
 %build
+%if %suse_version = 1200
+make %{?_smp_mflags} CFLAGS=%{optflags} -DNO_BTRFS_HEADER
+%else
 make %{?_smp_mflags} CFLAGS=%{optflags}
+%endif
 
 %install
 %make_install

++ v0.09.1.tar.gz - v0.09.2.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.1/Makefile 
new/duperemove-0.09.2/Makefile
--- old/duperemove-0.09.1/Makefile  2015-03-19 17:25:09.0 +0100
+++ new/duperemove-0.09.2/Makefile  2015-03-26 23:51:34.0 +0100
@@ -1,4 +1,5 @@
-RELEASE=v0.09.1
+VER=0.09.2
+RELEASE=v$(VER)
 
 CC = gcc
 CFLAGS = -Wall -ggdb
@@ -15,11 +16,11 @@
$(csum_test_CFILES) $(hash_impl_CFILES)
 HEADERS=csum.h hash-tree.h results-tree.h kernel.h list.h rbtree.h dedupe.h \
btrfs-ioctl.h filerec.h btrfs-util.h debug.h util.h serialize.h \
-   memstats.h
+   memstats.h fiemap-compat.h
 DIST_SOURCES:=$(DIST_CFILES) $(HEADERS) LICENSE Makefile rbtree.txt README.md \
TODO $(MANPAGES) SubmittingPatches FAQ.md
-DIST=duperemove-$(RELEASE)
-DIST_TARBALL=$(DIST).tar.gz
+DIST=duperemove-$(VER)
+DIST_TARBALL=$(RELEASE).tar.gz
 TEMP_INSTALL_DIR:=$(shell mktemp -du -p .)
 
 crypt_CFILES=csum-gcrypt.c
@@ -43,8 +44,8 @@
 progs = duperemove hashstats btrfs-extent-same show-shared-extents
 test_progs = csum-test
 
-glib_CFLAGS=$(shell pkg-config --cflags glib-2.0)
-glib_LIBS=$(shell pkg-config --libs glib-2.0)
+glib_CFLAGS=$(shell pkg-config --cflags glib-2.0 gthread-2.0)
+glib_LIBS=$(shell pkg-config --libs glib-2.0 gthread-2.0)
 
 override CFLAGS += -D_FILE_OFFSET_BITS=64 -DVERSTRING=\$(RELEASE)\ \
$(crypt_CFLAGS) $(glib_CFLAGS) -rdynamic
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.1/btrfs-util.c 
new/duperemove-0.09.2/btrfs-util.c
--- old/duperemove-0.09.1/btrfs-util.c  2015-03-19 17:25:09.0 +0100
+++ new/duperemove-0.09.2/btrfs-util.c  2015-03-26 23:51:34.0 +0100
@@ -24,11 +24,30 @@
 #include errno.h
 #include string.h
 #include linux/magic.h
+#ifndefNO_BTRFS_HEADER
 #include linux/btrfs.h
+#endif
+#include sys/ioctl.h
 
 #include btrfs-util.h
 #include debug.h
 
+#ifdef NO_BTRFS_HEADER
+#ifndef__u64
+#define__u64   uint64_t
+#endif
+#define BTRFS_IOCTL_MAGIC 0x94
+
+#define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \
+  struct btrfs_ioctl_ino_lookup_args)
+#define BTRFS_INO_LOOKUP_PATH_MAX 4080
+struct btrfs_ioctl_ino_lookup_args {
+   __u64 treeid;
+   __u64 objectid;
+   char name[BTRFS_INO_LOOKUP_PATH_MAX];
+};
+#endif
+
 /* For some reason linux/btrfs.h doesn't define this. */
 #defineBTRFS_FIRST_FREE_OBJECTID   256ULL
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.1/duperemove.c 
new/duperemove-0.09.2/duperemove.c
--- old/duperemove-0.09.1/duperemove.c  2015-03-19 17:25:09.0 +0100
+++ new/duperemove-0.09.2/duperemove.c  2015-03-26 23:51:34.0 +0100
@@ -36,6 +36,8 @@
 
 #include glib.h
 
+#include fiemap-compat.h
+
 #include rbtree.h
 #include list.h
 #include csum.h
@@ -49,6 +51,29 @@
 #include memstats.h
 #include debug.h
 
+#if GLIB_CHECK_VERSION(2,32,0)
+/* See 

commit duperemove for openSUSE:Factory

2015-03-23 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-03-23 12:16:58

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-01-30 
15:08:04.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-03-23 12:16:59.0 +0100
@@ -1,0 +2,7 @@
+Thu Mar 19 16:29:24 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.09.1
+  - Fallback to stat on filesystems that don't report file type from
+readdir
+
+---

Old:

  v0.09.tar.gz

New:

  v0.09.1.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.a1DQ0S/_old  2015-03-23 12:17:00.0 +0100
+++ /var/tmp/diff_new_pack.a1DQ0S/_new  2015-03-23 12:17:00.0 +0100
@@ -16,10 +16,10 @@
 #
 
 
-%define tar_version 0.09
+%define tar_version 0.09.1
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.09
+Version:0.09.1
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0

++ v0.09.tar.gz - v0.09.1.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09/Makefile 
new/duperemove-0.09.1/Makefile
--- old/duperemove-0.09/Makefile2015-01-29 20:27:52.0 +0100
+++ new/duperemove-0.09.1/Makefile  2015-03-19 17:25:09.0 +0100
@@ -1,4 +1,4 @@
-RELEASE=v0.09
+RELEASE=v0.09.1
 
 CC = gcc
 CFLAGS = -Wall -ggdb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09/duperemove.c 
new/duperemove-0.09.1/duperemove.c
--- old/duperemove-0.09/duperemove.c2015-01-29 20:27:52.0 +0100
+++ new/duperemove-0.09.1/duperemove.c  2015-03-19 17:25:09.0 +0100
@@ -539,9 +539,13 @@
g_dataset_set_data_full(tree, mutex, tree_mutex,
(GDestroyNotify) g_mutex_clear);
 
-   if (!hash_threads)
+   if (!hash_threads) {
+#if GLIB_CHECK_VERSION(2,36,0)
hash_threads = g_get_num_processors();
-
+#else
+   hash_threads = sysconf(_SC_NPROCESSORS_ONLN);
+#endif
+   }
pool = g_thread_pool_new((GFunc) csum_whole_file, tree, hash_threads,
 FALSE, err);
if (err != NULL) {
@@ -601,6 +605,46 @@
printf(\nPlease see the duperemove(8) manpage for more options.\n);
 }
 
+static int get_dirent_type(struct dirent *entry, int fd)
+{
+   int ret;
+   struct stat st;
+
+   if (entry-d_type != DT_UNKNOWN)
+   return entry-d_type;
+
+   /*
+* FS doesn't support file type in dirent, do this the old
+* fashioned way. We translate mode to DT_* for the
+* convenience of the caller.
+*/
+   ret = fstatat(fd, entry-d_name, st, 0);
+   if (ret) {
+   fprintf(stderr,
+   Error %d: %s while getting type of file %s/%s. 
+   Skipping.\n,
+   errno, strerror(errno), path, entry-d_name);
+   return DT_UNKNOWN;
+   }
+
+   if (S_ISREG(st.st_mode))
+   return DT_REG;
+   if (S_ISDIR(st.st_mode))
+   return DT_DIR;
+   if (S_ISBLK(st.st_mode))
+   return DT_BLK;
+   if (S_ISCHR(st.st_mode))
+   return DT_CHR;
+   if (S_ISFIFO(st.st_mode))
+   return DT_FIFO;
+   if (S_ISLNK(st.st_mode))
+   return DT_LNK;
+   if (S_ISSOCK(st.st_mode))
+   return DT_SOCK;
+
+   return DT_UNKNOWN;
+}
+
 static int add_file(const char *name, int dirfd);
 
 static int walk_dir(const char *name)
@@ -608,6 +652,7 @@
int ret = 0;
struct dirent *entry;
DIR *dirp;
+   int type;
 
dirp = opendir(path);
if (dirp == NULL) {
@@ -624,12 +669,14 @@
|| strcmp(entry-d_name, ..) == 0)
continue;
 
-   if (entry-d_type == DT_REG ||
-   (recurse_dirs  entry-d_type == DT_DIR))
+   type = get_dirent_type(entry, dirfd(dirp));
+   if (type == DT_REG ||
+   (recurse_dirs  type == DT_DIR)) {
if (add_file(entry-d_name, dirfd(dirp))) {
ret = 1;
goto out;
}

commit duperemove for openSUSE:Factory

2015-01-30 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-01-30 15:07:55

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2015-01-20 
19:04:03.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-01-30 15:08:04.0 +0100
@@ -1,0 +2,10 @@
+Thu Jan 29 20:17:58 UTC 2015 - mfas...@suse.com
+
+- Update to duperemove v0.09
+  - start with first node in free_compare_tree
+  - fix small typos in duperemove man page
+  - add test_progs variable in Makefile
+- References: bsc#915354 FATE#318171
+- Removed patch: do-not-install-test-binary.patch
+
+---

Old:

  do-not-install-test-binary.patch
  v0.09.beta5.tar.gz

New:

  v0.09.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.HGydoP/_old  2015-01-30 15:08:05.0 +0100
+++ /var/tmp/diff_new_pack.HGydoP/_new  2015-01-30 15:08:05.0 +0100
@@ -16,18 +16,16 @@
 #
 
 
-%define tar_version 0.09.beta5
+%define tar_version 0.09
 %define samename btrfs-extent-same
 Name:   duperemove
-Version:0.09~beta5
+Version:0.09
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
 Group:  System/Filesystems
 Url:https://github.com/markfasheh/duperemove
 Source: 
https://github.com/markfasheh/%{name}/archive/v%{tar_version}.tar.gz
-# PATCH-FIX-UPSTREAM: do not install test binary which is not really needed
-Patch0: do-not-install-test-binary.patch
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
 BuildRequires:  libgcrypt-devel
@@ -52,7 +50,6 @@
 -e 's:DESTDIR =:DESTDIR ?=:g' \
 -e 's:%{_prefix}/local:/usr:g' \
 Makefile
-%patch0 -p1
 
 %build
 make %{?_smp_mflags} CFLAGS=%{optflags}

++ v0.09.beta5.tar.gz - v0.09.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.beta5/Makefile 
new/duperemove-0.09/Makefile
--- old/duperemove-0.09.beta5/Makefile  2014-12-09 04:16:40.0 +0100
+++ new/duperemove-0.09/Makefile2015-01-29 20:27:52.0 +0100
@@ -1,4 +1,4 @@
-RELEASE=v0.09.beta5
+RELEASE=v0.09
 
 CC = gcc
 CFLAGS = -Wall -ggdb
@@ -40,7 +40,8 @@
 show_shared_obj = rbtree.o util.o
 csum_test_obj = $(crypt_obj) util.o
 
-progs = duperemove hashstats btrfs-extent-same show-shared-extents csum-test
+progs = duperemove hashstats btrfs-extent-same show-shared-extents
+test_progs = csum-test
 
 glib_CFLAGS=$(shell pkg-config --cflags glib-2.0)
 glib_LIBS=$(shell pkg-config --libs glib-2.0)
@@ -58,7 +59,7 @@
 .c.o:
$(CC) $(CFLAGS) -c $ -o $@ $(LIBRARY_FLAGS)
 
-all: $(progs)
+all: $(progs) $(test_progs)
 #TODO: Replace this with an auto-dependency
 $(objects): $(HEADERS)
 duperemove: $(objects)
@@ -93,4 +94,4 @@
$(CC) $(CFLAGS) $(hashstats_obj) hashstats.c -o hashstats 
$(LIBRARY_FLAGS)
 
 clean:
-   rm -fr $(objects) $(progs) $(DIST_TARBALL) btrfs-extent-same 
filerec-test show-shared-extents hashstats csum-*.o *~
+   rm -fr $(objects) $(progs) $(test_progs) $(DIST_TARBALL) 
btrfs-extent-same filerec-test show-shared-extents hashstats csum-*.o *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.beta5/duperemove.8 
new/duperemove-0.09/duperemove.8
--- old/duperemove-0.09.beta5/duperemove.8  2014-12-09 04:16:40.0 
+0100
+++ new/duperemove-0.09/duperemove.82015-01-29 20:27:52.0 +0100
@@ -46,7 +46,7 @@
 
 .SH OPTIONS
 \fIfiles\fR can refer to a list of regular files and directories. If a
-directory is specified, all regular files within it will be also
+directory is specified, all regular files within it will also be
 scanned.
 
 .TP
@@ -59,7 +59,7 @@
 .TP
 
 \fB\-A\fR
-Opens files readonly when deduping. Primarily for us by privileged
+Opens files readonly when deduping. Primarily for use by privileged
 users on readonly snapshots.
 
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-0.09.beta5/filerec.c 
new/duperemove-0.09/filerec.c
--- old/duperemove-0.09.beta5/filerec.c 2014-12-09 04:16:40.0 +0100
+++ new/duperemove-0.09/filerec.c   2015-01-29 20:27:52.0 +0100
@@ -147,7 +147,7 @@
 
 static void free_compared_tree(struct filerec *file)
 {
-   struct rb_node *n = file-comparisons.rb_node;
+   struct rb_node *n = rb_first(file-comparisons);

commit duperemove for openSUSE:Factory

2015-01-20 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2015-01-20 19:04:01

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-12-09 
09:14:07.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2015-01-20 19:04:03.0 +0100
@@ -1,0 +2,8 @@
+Tue Jan 20 10:02:26 UTC 2015 - tchva...@suse.com
+
+- Cleanup a bit with spec-cleaner and fix few tiny issues
+- Use install phase from upstream Makefile
+- Move csum-test to test progs to prevent its install:
+  * do-not-install-test-binary.patch
+
+---

Old:

  duperemove-v0.09.beta5.tar.gz

New:

  do-not-install-test-binary.patch
  v0.09.beta5.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.QbzcwD/_old  2015-01-20 19:04:04.0 +0100
+++ /var/tmp/diff_new_pack.QbzcwD/_new  2015-01-20 19:04:04.0 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package duperemove
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,20 +16,21 @@
 #
 
 
-%define modname duperemove
-%define tar_version v0.09.beta5
-
+%define tar_version 0.09.beta5
+%define samename btrfs-extent-same
 Name:   duperemove
-BuildRequires:  gcc-c++
-BuildRequires:  glib2-devel
-BuildRequires:  libgcrypt-devel
 Version:0.09~beta5
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
 Group:  System/Filesystems
 Url:https://github.com/markfasheh/duperemove
-Source: %{modname}-%{tar_version}.tar.gz
+Source: 
https://github.com/markfasheh/%{name}/archive/v%{tar_version}.tar.gz
+# PATCH-FIX-UPSTREAM: do not install test binary which is not really needed
+Patch0: do-not-install-test-binary.patch
+BuildRequires:  gcc-c++
+BuildRequires:  glib2-devel
+BuildRequires:  libgcrypt-devel
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -37,36 +38,32 @@
 console. It also has the option to remove duplicates on those file
 systems which support the btrfs-extent-same ioctl.
 
-%define samename btrfs-extent-same
-%package -n btrfs-extent-same
+%package -n %{samename}
 Summary:Debug/Test tool to exercise the btrfs out-of-band 
deduplication ioctl
 Group:  System/Filesystems
 
-%description -n btrfs-extent-same
+%description -n %{samename}
 Debug/Test tool to exercise a btrfs ioctl for deduplicating file regions.
 
 %prep
-%setup -q -n %{modname}-%{tar_version}
+%setup -q -n %{name}-%{tar_version}
+# Set the destdir / prefix
+sed -i \
+-e 's:DESTDIR =:DESTDIR ?=:g' \
+-e 's:%{_prefix}/local:/usr:g' \
+Makefile
+%patch0 -p1
 
 %build
-make CFLAGS=%optflags
+make %{?_smp_mflags} CFLAGS=%{optflags}
 
 %install
-mkdir -p %{buildroot}/%{_sbindir}
-cp %{_builddir}/%{modname}-%{tar_version}/%{modname} %{buildroot}/%{_sbindir}
-cp %{_builddir}/%{modname}-%{tar_version}/hashstats %{buildroot}/%{_sbindir}
-cp %{_builddir}/%{modname}-%{tar_version}/show-shared-extents 
%{buildroot}/%{_sbindir}
-cp %{_builddir}/%{modname}-%{tar_version}/%{samename} %{buildroot}/%{_sbindir}
-mkdir -p %{buildroot}%{_mandir}/man8
-cp %{_builddir}/%{modname}-%{tar_version}/%{modname}.8 
%{buildroot}/%{_mandir}/man8/
-cp %{_builddir}/%{modname}-%{tar_version}/hashstats.8 
%{buildroot}/%{_mandir}/man8/
-cp %{_builddir}/%{modname}-%{tar_version}/show-shared-extents.8 
%{buildroot}/%{_mandir}/man8/
-cp %{_builddir}/%{modname}-%{tar_version}/%{samename}.8 
%{buildroot}/%{_mandir}/man8/
+%make_install
 
-%files -n btrfs-extent-same
+%files -n %{samename}
 %defattr(-, root, root)
 %{_sbindir}/%{samename}
-%{_mandir}/man?/%{samename}.8.gz
+%{_mandir}/man?/%{samename}.8.*
 
 %files
 %defattr(-, root, root)
@@ -74,8 +71,8 @@
 %{_sbindir}/duperemove
 %{_sbindir}/hashstats
 %{_sbindir}/show-shared-extents
-%{_mandir}/man?/%{modname}.8.gz
-%{_mandir}/man?/hashstats.8.gz
-%{_mandir}/man?/show-shared-extents.8.gz
+%{_mandir}/man?/%{name}.8.*
+%{_mandir}/man?/hashstats.8.*
+%{_mandir}/man?/show-shared-extents.8.*
 
 %changelog

++ do-not-install-test-binary.patch ++
Index: duperemove-0.09.beta5/Makefile
===
--- duperemove-0.09.beta5.orig/Makefile
+++ 

commit duperemove for openSUSE:Factory

2014-12-09 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2014-12-09 09:14:30

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-11-19 
20:30:29.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2014-12-09 09:14:07.0 +0100
@@ -1,0 +2,13 @@
+Tue Dec  9 04:12:43 UTC 2014 - mfas...@suse.com
+
+- Update to duperemove v0.09.beta5
+  - Documentation updates
+- FAQ and README are more relevant now
+- added man pages for show-shared-extents and hashstats programs
+- updated duperemove man page, and duperemove usage() function
+  - Have show-shared-extents take a file list as arguments.
+  - Change default of --lookup-extents option back to 'no'
+  - Write hash type into hashfile header, check against what hash we were
+compiled with.
+
+---

Old:

  duperemove-v0.09.beta3.tar.gz

New:

  duperemove-v0.09.beta5.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.s8n353/_old  2014-12-09 09:14:09.0 +0100
+++ /var/tmp/diff_new_pack.s8n353/_new  2014-12-09 09:14:09.0 +0100
@@ -17,13 +17,13 @@
 
 
 %define modname duperemove
-%define tar_version v0.09.beta3
+%define tar_version v0.09.beta5
 
 Name:   duperemove
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
 BuildRequires:  libgcrypt-devel
-Version:0.09~beta3
+Version:0.09~beta5
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -50,8 +50,6 @@
 
 %build
 make CFLAGS=%optflags
-make hashstats CFLAGS=%optflags
-make btrfs-extent-same CFLAGS=%optflags
 
 %install
 mkdir -p %{buildroot}/%{_sbindir}
@@ -61,6 +59,8 @@
 cp %{_builddir}/%{modname}-%{tar_version}/%{samename} %{buildroot}/%{_sbindir}
 mkdir -p %{buildroot}%{_mandir}/man8
 cp %{_builddir}/%{modname}-%{tar_version}/%{modname}.8 
%{buildroot}/%{_mandir}/man8/
+cp %{_builddir}/%{modname}-%{tar_version}/hashstats.8 
%{buildroot}/%{_mandir}/man8/
+cp %{_builddir}/%{modname}-%{tar_version}/show-shared-extents.8 
%{buildroot}/%{_mandir}/man8/
 cp %{_builddir}/%{modname}-%{tar_version}/%{samename}.8 
%{buildroot}/%{_mandir}/man8/
 
 %files -n btrfs-extent-same
@@ -70,10 +70,12 @@
 
 %files
 %defattr(-, root, root)
-%doc LICENSE README
+%doc LICENSE README.md FAQ.md
 %{_sbindir}/duperemove
 %{_sbindir}/hashstats
 %{_sbindir}/show-shared-extents
 %{_mandir}/man?/%{modname}.8.gz
+%{_mandir}/man?/hashstats.8.gz
+%{_mandir}/man?/show-shared-extents.8.gz
 
 %changelog

++ duperemove-v0.09.beta3.tar.gz - duperemove-v0.09.beta5.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.09.beta3/FAQ.md 
new/duperemove-v0.09.beta5/FAQ.md
--- old/duperemove-v0.09.beta3/FAQ.md   1970-01-01 01:00:00.0 +0100
+++ new/duperemove-v0.09.beta5/FAQ.md   2014-12-09 05:05:30.0 +0100
@@ -0,0 +1,53 @@
+# Duperemove: Frequently Asked Questions
+
+### Is there an upper limit to the amount of data duperemove can process?
+
+v0.08 of duperemove has been tested on small numbers of VMS or iso
+files (5-10) it can probably scale up to 50 or so.
+
+v0.09 is much faster at hashing and cataloging extents and therefore
+can handle a larger data set. My own testing is typically with a
+filesystem of about 750 gigabytes and millions of files.
+
+
+### Why does it not print out all duplicate extents?
+
+Internally duperemove is classifying extents based on various criteria
+like length, number of identical extents, etc. The printout we give is
+based on the results of that classification.
+
+
+### How can I find out my space savings after a dedupe?
+
+Duperemove will print out an estimate of the saved space after a
+dedupe operation for you. You can also do a df before the dedupe
+operation, then a df about 60 seconds after the operation. It is
+common for btrfs space reporting to be 'behind' while delayed updates
+get processed, so an immediate df after deduping might not show any
+savings.
+
+
+### Why is the total deduped data report an estimate?
+
+At the moment duperemove can detect that some underlying extents are
+shared with other files, but it can not resolve which files those
+extents are shared with.
+
+Imagine duperemove is examing a series of files and it notes a shared
+data region in one of them. That data could be shared with a file
+outside of the series. Since duperemove can't resolve that information
+it will account the 

commit duperemove for openSUSE:Factory

2014-11-19 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2014-11-19 20:26:42

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-10-31 
20:03:36.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2014-11-19 20:30:29.0 +0100
@@ -1,0 +2,18 @@
+Mon Nov 17 19:40:06 UTC 2014 - mfas...@suse.com
+
+- Update to duperemove v0.09.beta3
+  - Fix leak of directory fd during file scan
+  - Fix EMFILES (too many file descriptors) error during dedupe
+  - Fix corner case with dedupe leaving a file open and not-queued
+  - Support '-x' (one file system) option
+  - Add option to turn off extent lookup during csum phase
+- Useful if running against snapshotted volumes
+  - show-shared-extents program to help users examine file state before or
+after dedupe.
+
+---
+Mon Nov 10 14:49:27 UTC 2014 - sch...@suse.de
+
+- Build with %optflags
+
+---

Old:

  duperemove-v0.09.beta2.tar.gz

New:

  duperemove-v0.09.beta3.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.MGU3Ld/_old  2014-11-19 20:30:30.0 +0100
+++ /var/tmp/diff_new_pack.MGU3Ld/_new  2014-11-19 20:30:30.0 +0100
@@ -17,13 +17,13 @@
 
 
 %define modname duperemove
-%define tar_version v0.09.beta2
+%define tar_version v0.09.beta3
 
 Name:   duperemove
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
 BuildRequires:  libgcrypt-devel
-Version:0.09~beta2
+Version:0.09~beta3
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -49,14 +49,15 @@
 %setup -q -n %{modname}-%{tar_version}
 
 %build
-make
-make hashstats
-make btrfs-extent-same
+make CFLAGS=%optflags
+make hashstats CFLAGS=%optflags
+make btrfs-extent-same CFLAGS=%optflags
 
 %install
 mkdir -p %{buildroot}/%{_sbindir}
 cp %{_builddir}/%{modname}-%{tar_version}/%{modname} %{buildroot}/%{_sbindir}
 cp %{_builddir}/%{modname}-%{tar_version}/hashstats %{buildroot}/%{_sbindir}
+cp %{_builddir}/%{modname}-%{tar_version}/show-shared-extents 
%{buildroot}/%{_sbindir}
 cp %{_builddir}/%{modname}-%{tar_version}/%{samename} %{buildroot}/%{_sbindir}
 mkdir -p %{buildroot}%{_mandir}/man8
 cp %{_builddir}/%{modname}-%{tar_version}/%{modname}.8 
%{buildroot}/%{_mandir}/man8/
@@ -72,6 +73,7 @@
 %doc LICENSE README
 %{_sbindir}/duperemove
 %{_sbindir}/hashstats
+%{_sbindir}/show-shared-extents
 %{_mandir}/man?/%{modname}.8.gz
 
 %changelog

++ duperemove-v0.09.beta2.tar.gz - duperemove-v0.09.beta3.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.09.beta2/Makefile 
new/duperemove-v0.09.beta3/Makefile
--- old/duperemove-v0.09.beta2/Makefile 2014-10-31 00:27:39.0 +0100
+++ new/duperemove-v0.09.beta3/Makefile 2014-11-17 20:07:48.0 +0100
@@ -1,43 +1,67 @@
-RELEASE=v0.09.beta2
+RELEASE=v0.09.beta3
 
 CC = gcc
 CFLAGS = -Wall -ggdb
 
 MANPAGES=duperemove.8 btrfs-extent-same.8
 
-DIST_SOURCES=csum-gcrypt.c csum-mhash.c csum.h duperemove.c hash-tree.c 
hash-tree.h results-tree.c results-tree.h kernel.h LICENSE list.h Makefile 
rbtree.c rbtree.h rbtree.txt README TODO dedupe.c dedupe.h btrfs-ioctl.h 
filerec.c filerec.h btrfs-util.c btrfs-util.h $(MANPAGES) btrfs-extent-same.c 
debug.h util.c util.h serialize.c serialize.h hashstats.c
+CFILES=duperemove.c hash-tree.c results-tree.c rbtree.c dedupe.c filerec.c \
+   btrfs-util.c util.c serialize.c memstats.c
+hash_impl_CFILES=csum-mhash.c csum-gcrypt.c
+hashstats_CFILES=hashstats.c
+btrfs_extent_same_CFILES=btrfs-extent-same.c
+csum_test_CFILES=csum-test.c
+DIST_CFILES:=$(CFILES) $(hashstats_CFILES) $(btrfs_extent_same_CFILES) \
+   $(csum_test_CFILES) $(hash_impl_CFILES)
+HEADERS=csum.h hash-tree.h results-tree.h kernel.h list.h rbtree.h dedupe.h \
+   btrfs-ioctl.h filerec.h btrfs-util.h debug.h util.h serialize.h \
+   memstats.h
+DIST_SOURCES:=$(DIST_CFILES) $(HEADERS) LICENSE Makefile rbtree.txt README \
+   TODO $(MANPAGES) SubmittingPatches
 DIST=duperemove-$(RELEASE)
 DIST_TARBALL=$(DIST).tar.gz
 TEMP_INSTALL_DIR:=$(shell mktemp -du -p .)
 
-hash_obj=csum-gcrypt.o
+crypt_CFILES=csum-gcrypt.c
 crypt_CFLAGS=$(shell libgcrypt-config --cflags)
 crypt_LIBS=$(shell libgcrypt-config --libs)
 ifdef USE_MHASH
-   hash_obj=csum-mhash.o
+   crypt_CFILES=csum-mhash.c

commit duperemove for openSUSE:Factory

2014-10-31 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2014-10-31 18:27:56

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-09-30 
19:42:03.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2014-10-31 20:03:36.0 +0100
@@ -1,0 +2,11 @@
+Fri Oct 31 02:44:53 UTC 2014 - mfas...@suse.com
+
+- Update to duperemove v0.09.beta2
+  - fix memory leak
+  - fix hardlink detection on btrfs
+  - print file number status during csum phase
+  - print a status bar during extent seearch
+  - several bugfixes and performance improvements to extent search
+- Removed patch: 001-fix-build.patch
+
+---

Old:

  001-fix-build.patch
  duperemove-v0.09.beta1.tar.gz

New:

  duperemove-v0.09.beta2.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.49iyG2/_old  2014-10-31 20:03:37.0 +0100
+++ /var/tmp/diff_new_pack.49iyG2/_new  2014-10-31 20:03:37.0 +0100
@@ -17,13 +17,13 @@
 
 
 %define modname duperemove
-%define tar_version v0.09.beta1
+%define tar_version v0.09.beta2
 
 Name:   duperemove
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
 BuildRequires:  libgcrypt-devel
-Version:0.09~beta1
+Version:0.09~beta2
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
@@ -31,7 +31,6 @@
 Url:https://github.com/markfasheh/duperemove
 Source: %{modname}-%{tar_version}.tar.gz
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
-Patch1: 001-fix-build.patch
 
 %description
 Duperemove finds duplicate extents in files and prints them to the
@@ -48,7 +47,6 @@
 
 %prep
 %setup -q -n %{modname}-%{tar_version}
-%patch1 -p1
 
 %build
 make

++ duperemove-v0.09.beta1.tar.gz - duperemove-v0.09.beta2.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.09.beta1/Makefile 
new/duperemove-v0.09.beta2/Makefile
--- old/duperemove-v0.09.beta1/Makefile 2014-09-27 01:56:37.0 +0200
+++ new/duperemove-v0.09.beta2/Makefile 2014-10-31 00:27:39.0 +0100
@@ -1,11 +1,11 @@
-RELEASE=v0.09.beta1
+RELEASE=v0.09.beta2
 
 CC = gcc
 CFLAGS = -Wall -ggdb
 
 MANPAGES=duperemove.8 btrfs-extent-same.8
 
-DIST_SOURCES=csum-gcrypt.c csum-mhash.c csum.h duperemove.c hash-tree.c 
hash-tree.h results-tree.c results-tree.h kernel.h LICENSE list.h Makefile 
rbtree.c rbtree.h rbtree.txt README TODO dedupe.c dedupe.h btrfs-ioctl.h 
filerec.c filerec.h $(MANPAGES) btrfs-extent-same.c debug.h util.c util.h 
serialize.c serialize.h hashstats.c
+DIST_SOURCES=csum-gcrypt.c csum-mhash.c csum.h duperemove.c hash-tree.c 
hash-tree.h results-tree.c results-tree.h kernel.h LICENSE list.h Makefile 
rbtree.c rbtree.h rbtree.txt README TODO dedupe.c dedupe.h btrfs-ioctl.h 
filerec.c filerec.h btrfs-util.c btrfs-util.h $(MANPAGES) btrfs-extent-same.c 
debug.h util.c util.h serialize.c serialize.h hashstats.c
 DIST=duperemove-$(RELEASE)
 DIST_TARBALL=$(DIST).tar.gz
 TEMP_INSTALL_DIR:=$(shell mktemp -du -p .)
@@ -26,7 +26,7 @@
$(crypt_CFLAGS) $(glib_CFLAGS)
 LIBRARY_FLAGS += $(crypt_LIBS) $(glib_LIBS)
 
-objects = duperemove.o rbtree.o hash-tree.o results-tree.o dedupe.o filerec.o 
util.o serialize.o $(hash_obj)
+objects = duperemove.o rbtree.o hash-tree.o results-tree.o dedupe.o filerec.o 
util.o serialize.o btrfs-util.o $(hash_obj)
 progs = duperemove
 
 DESTDIR = /
@@ -38,7 +38,7 @@
 all: $(progs) kernel.h list.h btrfs-ioctl.h debug.h
 
 duperemove: $(objects) kernel.h duperemove.c
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) $(objects) -o duperemove
+   $(CC) $(CFLAGS) $(objects) -o duperemove $(LIBRARY_FLAGS)
 
 tarball: clean
mkdir -p $(TEMP_INSTALL_DIR)/$(DIST)
@@ -60,14 +60,14 @@
done
 
 csum-test: $(hash_obj) csum-test.c
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) $(hash_obj) -o csum-test csum-test.c
+   $(CC) $(CFLAGS) $(hash_obj) -o csum-test csum-test.c  $(LIBRARY_FLAGS)
 
 filerec-test: filerec.c filerec.h rbtree.o
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) -DFILEREC_TEST filerec.c rbtree.o -o 
filerec-test
+   $(CC) $(CFLAGS) -DFILEREC_TEST filerec.c rbtree.o -o filerec-test 
$(LIBRARY_FLAGS)
 
 hashstats_obj = $(hash_obj) rbtree.o hash-tree.o filerec.o util.o serialize.o 
results-tree.o
 hashstats: $(hashstats_obj) hashstats.c
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) $(hashstats_obj) hashstats.c -o 
hashstats
+   $(CC) 

commit duperemove for openSUSE:Factory

2014-09-30 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2014-09-30 19:40:28

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-04-25 
11:34:04.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2014-09-30 19:42:03.0 +0200
@@ -1,0 +2,14 @@
+Sat Sep 27 00:18:33 UTC 2014 - mfas...@suse.com
+
+- update to duperemove v0.09.beta1
+ - parallel checksum calculation
+ - performance improvements
+ - allow to store the hash tree to a file
+ - hashstats: new utility to analyze hash files
+ - add --version option
+ - build: add install target
+ - documentatin updates
+
+- Added patch: 001-fix-build.patch
+
+---

Old:

  duperemove-v0.08.tar.gz

New:

  001-fix-build.patch
  duperemove-v0.09.beta1.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.cgRc8W/_old  2014-09-30 19:42:03.0 +0200
+++ /var/tmp/diff_new_pack.cgRc8W/_new  2014-09-30 19:42:03.0 +0200
@@ -17,18 +17,21 @@
 
 
 %define modname duperemove
+%define tar_version v0.09.beta1
 
 Name:   duperemove
 BuildRequires:  gcc-c++
+BuildRequires:  glib2-devel
 BuildRequires:  libgcrypt-devel
-Version:0.08
+Version:0.09~beta1
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
 Group:  System/Filesystems
 Url:https://github.com/markfasheh/duperemove
-Source: %{modname}-v%{version}.tar.gz
+Source: %{modname}-%{tar_version}.tar.gz
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
+Patch1: 001-fix-build.patch
 
 %description
 Duperemove finds duplicate extents in files and prints them to the
@@ -44,19 +47,22 @@
 Debug/Test tool to exercise a btrfs ioctl for deduplicating file regions.
 
 %prep
-%setup -q -n %{modname}-v%{version}
+%setup -q -n %{modname}-%{tar_version}
+%patch1 -p1
 
 %build
 make
+make hashstats
 make btrfs-extent-same
 
 %install
 mkdir -p %{buildroot}/%{_sbindir}
-cp %{_builddir}/%{modname}-v%{version}/%{modname} %{buildroot}/%{_sbindir}
-cp %{_builddir}/%{modname}-v%{version}/%{samename} %{buildroot}/%{_sbindir}
+cp %{_builddir}/%{modname}-%{tar_version}/%{modname} %{buildroot}/%{_sbindir}
+cp %{_builddir}/%{modname}-%{tar_version}/hashstats %{buildroot}/%{_sbindir}
+cp %{_builddir}/%{modname}-%{tar_version}/%{samename} %{buildroot}/%{_sbindir}
 mkdir -p %{buildroot}%{_mandir}/man8
-cp %{_builddir}/%{modname}-v%{version}/%{modname}.8 
%{buildroot}/%{_mandir}/man8/
-cp %{_builddir}/%{modname}-v%{version}/%{samename}.8 
%{buildroot}/%{_mandir}/man8/
+cp %{_builddir}/%{modname}-%{tar_version}/%{modname}.8 
%{buildroot}/%{_mandir}/man8/
+cp %{_builddir}/%{modname}-%{tar_version}/%{samename}.8 
%{buildroot}/%{_mandir}/man8/
 
 %files -n btrfs-extent-same
 %defattr(-, root, root)
@@ -67,6 +73,7 @@
 %defattr(-, root, root)
 %doc LICENSE README
 %{_sbindir}/duperemove
+%{_sbindir}/hashstats
 %{_mandir}/man?/%{modname}.8.gz
 
 %changelog

++ 001-fix-build.patch ++
From: Mark Fasheh mfas...@suse.de
Date: Fri Sep 26 17:20:07 PDT 2014
Subject: Fix build

We need to have LIBRARY_FLAGS at the end of the build line for this to build
correctly.

Signed-off-by: Mark Fasheh mfas...@suse.de

Index: duperemove-v0.09.beta1/Makefile
===
--- duperemove-v0.09.beta1.orig/Makefile
+++ duperemove-v0.09.beta1/Makefile
@@ -38,7 +38,7 @@ MANDIR = $(SHAREDIR)/man
 all: $(progs) kernel.h list.h btrfs-ioctl.h debug.h
 
 duperemove: $(objects) kernel.h duperemove.c
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) $(objects) -o duperemove
+   $(CC) $(CFLAGS) $(objects) -o duperemove $(LIBRARY_FLAGS)
 
 tarball: clean
mkdir -p $(TEMP_INSTALL_DIR)/$(DIST)
@@ -60,14 +60,14 @@ install: $(progs) $(MANPAGES)
done
 
 csum-test: $(hash_obj) csum-test.c
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) $(hash_obj) -o csum-test csum-test.c
+   $(CC) $(CFLAGS) $(hash_obj) -o csum-test csum-test.c  $(LIBRARY_FLAGS)
 
 filerec-test: filerec.c filerec.h rbtree.o
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) -DFILEREC_TEST filerec.c rbtree.o -o 
filerec-test
+   $(CC) $(CFLAGS) -DFILEREC_TEST filerec.c rbtree.o -o filerec-test 
$(LIBRARY_FLAGS)
 
 hashstats_obj = $(hash_obj) rbtree.o hash-tree.o filerec.o util.o serialize.o 
results-tree.o
 hashstats: $(hashstats_obj) hashstats.c
-   $(CC) $(LIBRARY_FLAGS) $(CFLAGS) $(hashstats_obj) hashstats.c -o 
hashstats
+  

commit duperemove for openSUSE:Factory

2014-04-25 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2014-04-25 11:34:03

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-04-13 
13:14:57.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2014-04-25 11:34:04.0 +0200
@@ -1,0 +2,8 @@
+Sun Apr 20 22:13:45 UTC 2014 - mfas...@suse.com
+
+- update to duperemove v0.08
+  - fixes many bugs
+  - a few more usability improvements
+  - adds fiemap support to better estimate space savings
+
+---

Old:

  duperemove-v0.07.tar.gz

New:

  duperemove-v0.08.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.FYfHI4/_old  2014-04-25 11:34:05.0 +0200
+++ /var/tmp/diff_new_pack.FYfHI4/_new  2014-04-25 11:34:05.0 +0200
@@ -21,7 +21,7 @@
 Name:   duperemove
 BuildRequires:  gcc-c++
 BuildRequires:  libgcrypt-devel
-Version:0.07
+Version:0.08
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0

++ duperemove-v0.07.tar.gz - duperemove-v0.08.tar.gz ++
 1684 lines of diff (skipped)

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org



commit duperemove for openSUSE:Factory

2014-04-13 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2014-04-13 13:14:56

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-04-11 
13:28:12.0 +0200
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2014-04-13 13:14:57.0 +0200
@@ -1,0 +2,9 @@
+Fri Apr 11 17:38:32 UTC 2014 - mfas...@suse.com
+
+- update to duperemove v0.07
+
+- fix usability of command line arguments
+
+- large documentation update
+
+---

Old:

  duperemove-v0.06.tar.gz

New:

  duperemove-v0.07.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.co1CMP/_old  2014-04-13 13:14:57.0 +0200
+++ /var/tmp/diff_new_pack.co1CMP/_new  2014-04-13 13:14:57.0 +0200
@@ -21,7 +21,7 @@
 Name:   duperemove
 BuildRequires:  gcc-c++
 BuildRequires:  libgcrypt-devel
-Version:0.06
+Version:0.07
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0

++ duperemove-v0.06.tar.gz - duperemove-v0.07.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.06/Makefile 
new/duperemove-v0.07/Makefile
--- old/duperemove-v0.06/Makefile   2014-04-11 02:11:50.0 +0200
+++ new/duperemove-v0.07/Makefile   2014-04-11 19:29:28.0 +0200
@@ -1,5 +1,5 @@
 CC=gcc
-RELEASE=v0.06
+RELEASE=v0.07
 CFLAGS=-Wall -ggdb -D_FILE_OFFSET_BITS=64 -DVERSTRING=\$(RELEASE)\
 
 MANPAGES=duperemove.8 btrfs-extent-same.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.06/README new/duperemove-v0.07/README
--- old/duperemove-v0.06/README 2014-04-11 02:11:50.0 +0200
+++ new/duperemove-v0.07/README 2014-04-11 19:29:28.0 +0200
@@ -4,7 +4,7 @@
 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 extents that match each
-other. When given the optional -D option, duperemove will submit those
+other. When given the -d option, duperemove will submit those
 extents for deduplication using the btrfs-extent-same ioctl.
 
 Duperemove has two major modes of operation one of which is a subset
@@ -13,10 +13,10 @@
 
 Readonly / Non-deduplicating Mode
 
-When run without -D (the default) duperemove will print out one or
+When run without -d (the default) duperemove will print out one or
 more tables of matching extents it has determined would be ideal
 candidates for deduplication. As a result, readonly mode is useful for
-seeing what duperemove might do when run with '-D'. The output could
+seeing what duperemove might do when run with '-d'. The output could
 also be used by some other software to submit the extents for
 deduplication at a later time.
 
@@ -35,11 +35,11 @@
 Deduping Mode
 
 This functions similarly to readonly mode with the exception that the
-duplicated extents found in our read hash and compare step will
+duplicated extents found in our read, hash, and compare step will
 actually be submitted for deduplication. At the end, a total count of
 bytes that were processed by the kernel will be printed.
 
-Keep in mind, that the bytecount we report here (recieved from the
+Keep in mind, that the bytecount we report here (received from the
 kernel) is NOT the total amount deduplicated but rather a count of the
 amount of data it also found to be identical.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.06/btrfs-extent-same.c 
new/duperemove-v0.07/btrfs-extent-same.c
--- old/duperemove-v0.06/btrfs-extent-same.c2014-04-11 02:11:50.0 
+0200
+++ new/duperemove-v0.07/btrfs-extent-same.c2014-04-11 19:29:28.0 
+0200
@@ -11,6 +11,8 @@
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
+ *
+ * Authors: Mark Fasheh mfas...@suse.de
  */
 
 #include sys/types.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.06/dedupe.c 
new/duperemove-v0.07/dedupe.c
--- old/duperemove-v0.06/dedupe.c   2014-04-11 02:11:50.0 +0200
+++ new/duperemove-v0.07/dedupe.c   2014-04-11 19:29:28.0 +0200
@@ -11,6 +11,8 @@
  * but WITHOUT ANY WARRANTY; 

commit duperemove for openSUSE:Factory

2014-04-11 Thread h_root
Hello community,

here is the log from the commit of package duperemove for openSUSE:Factory 
checked in at 2014-04-11 13:28:10

Comparing /work/SRC/openSUSE:Factory/duperemove (Old)
 and  /work/SRC/openSUSE:Factory/.duperemove.new (New)


Package is duperemove

Changes:

--- /work/SRC/openSUSE:Factory/duperemove/duperemove.changes2014-03-15 
17:36:22.0 +0100
+++ /work/SRC/openSUSE:Factory/.duperemove.new/duperemove.changes   
2014-04-11 13:28:12.0 +0200
@@ -1,0 +2,10 @@
+Fri Apr 11 00:30:41 UTC 2014 - mfas...@suse.com
+
+- update to duperemove v0.06. This adds several fixes and features:
+- fixes bnc#871804 (duperemove not looping on entire range)
+
+- also includes important usability fixes
+
+- updates hashing library to libgcrypt to reflect upstream
+
+---

Old:

  duperemove-v0.04.tar.gz

New:

  duperemove-v0.06.tar.gz



Other differences:
--
++ duperemove.spec ++
--- /var/tmp/diff_new_pack.7Bs4gt/_old  2014-04-11 13:28:12.0 +0200
+++ /var/tmp/diff_new_pack.7Bs4gt/_new  2014-04-11 13:28:12.0 +0200
@@ -15,19 +15,19 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 %define modname duperemove
 
 Name:   duperemove
 BuildRequires:  gcc-c++
-BuildRequires:  mhash-devel
-Version:0.04
+BuildRequires:  libgcrypt-devel
+Version:0.06
 Release:0
 Summary:Software to find duplicate extents in files and remove them
 License:GPL-2.0
 Group:  System/Filesystems
 Url:https://github.com/markfasheh/duperemove
 Source: %{modname}-v%{version}.tar.gz
-Requires:   mhash
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -38,8 +38,8 @@
 %define samename btrfs-extent-same
 %package -n btrfs-extent-same
 Summary:Debug/Test tool to exercise the btrfs out-of-band 
deduplication ioctl
-License:GPL-2.0
 Group:  System/Filesystems
+
 %description -n btrfs-extent-same
 Debug/Test tool to exercise a btrfs ioctl for deduplicating file regions.
 

++ duperemove-v0.04.tar.gz - duperemove-v0.06.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.04/Makefile 
new/duperemove-v0.06/Makefile
--- old/duperemove-v0.04/Makefile   2014-03-12 07:19:56.0 +0100
+++ new/duperemove-v0.06/Makefile   2014-04-11 02:11:50.0 +0200
@@ -1,16 +1,27 @@
 CC=gcc
-RELEASE=v0.04
+RELEASE=v0.06
 CFLAGS=-Wall -ggdb -D_FILE_OFFSET_BITS=64 -DVERSTRING=\$(RELEASE)\
-LIBRARY_FLAGS=-lmhash
 
 MANPAGES=duperemove.8 btrfs-extent-same.8
 
-DIST_SOURCES=csum.c csum.h duperemove.c hash-tree.c hash-tree.h results-tree.c 
results-tree.h kernel.h LICENSE list.h Makefile rbtree.c rbtree.h rbtree.txt 
README TODO dedupe.c dedupe.h btrfs-ioctl.h filerec.c filerec.h $(MANPAGES) 
btrfs-extent-same.c
+DIST_SOURCES=csum-gcrypt.c csum-mhash.c csum.h duperemove.c hash-tree.c 
hash-tree.h results-tree.c results-tree.h kernel.h LICENSE list.h Makefile 
rbtree.c rbtree.h rbtree.txt README TODO dedupe.c dedupe.h btrfs-ioctl.h 
filerec.c filerec.h $(MANPAGES) btrfs-extent-same.c
 DIST=duperemove-$(RELEASE)
 DIST_TARBALL=$(DIST).tar.gz
 TEMP_INSTALL_DIR:=$(shell mktemp -du -p .)
 
-objects = duperemove.o rbtree.o csum.o hash-tree.o results-tree.o dedupe.o 
filerec.o
+hash_obj=csum-gcrypt.o
+crypt_CFLAGS=$(shell libgcrypt-config --cflags)
+crypt_LIBS=$(shell libgcrypt-config --libs)
+ifdef USE_MHASH
+   hash_obj=csum-mhash.o
+   crypt_CFLAGS=
+   crypt_LIBS=-lmhash
+endif
+
+CFLAGS += $(crypt_CFLAGS)
+LIBRARY_FLAGS += $(crypt_LIBS)
+
+objects = duperemove.o rbtree.o hash-tree.o results-tree.o dedupe.o filerec.o 
$(hash_obj)
 progs = duperemove
 
 all: $(progs) kernel.h list.h btrfs-ioctl.h
@@ -27,5 +38,8 @@
 btrfs-extent-same: btrfs-extent-same.c
$(CC) -Wall -o btrfs-extent-same btrfs-extent-same.c
 
+csum-test: $(hash_obj) csum-test.c
+   $(CC) -Wall $(hash_obj) $(CFLAGS) $(LIBRARY_FLAGS) -o csum-test 
csum-test.c
+
 clean:
-   rm -fr $(objects) $(progs) $(DIST_TARBALL) btrfs-extent-same *~
+   rm -fr $(objects) $(progs) $(DIST_TARBALL) btrfs-extent-same csum-*.o *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duperemove-v0.04/README new/duperemove-v0.06/README
--- old/duperemove-v0.04/README 2014-03-12 07:19:56.0 +0100
+++ new/duperemove-v0.06/README 2014-04-11 02:11:50.0 +0200
@@ -1,16 +1,75 @@
-duperemove v0.04
-Find duplicate extents and print them to stdout
+Duperemove
 
-Usage: ./duperemove [-r] [-D] [-A] [-b blocksize-in-K] [-v] [-d] OBJECTS
-Where OBJECTS is a list