Initial build
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
This commit is contained in:
parent
ed126156b3
commit
bbfe156afe
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/duperemove-0.11.tar.gz
|
77
duperemove-use-system-xxhash.patch
Normal file
77
duperemove-use-system-xxhash.patch
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
diff -urb duperemove-0.11a/csum-xxhash.c duperemove-0.11b/csum-xxhash.c
|
||||||
|
--- duperemove-0.11a/csum-xxhash.c 2018-05-15 20:47:26.000000000 +0100
|
||||||
|
+++ duperemove-0.11b/csum-xxhash.c 2018-09-10 11:11:17.768921930 +0100
|
||||||
|
@@ -43,7 +43,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
struct xxhash_running_checksum {
|
||||||
|
- XXH64_state_t td64;
|
||||||
|
+ XXH64_state_t *td64;
|
||||||
|
};
|
||||||
|
DECLARE_RUNNING_CSUM_CAST_FUNCS(xxhash_running_checksum);
|
||||||
|
|
||||||
|
@@ -51,7 +51,8 @@
|
||||||
|
{
|
||||||
|
struct xxhash_running_checksum *c =
|
||||||
|
calloc(1, sizeof(struct xxhash_running_checksum));
|
||||||
|
- XXH64_reset(&c->td64, 0);
|
||||||
|
+ c->td64 = XXH64_createState();
|
||||||
|
+ XXH64_reset(c->td64, 0);
|
||||||
|
return priv_to_rc(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -59,7 +60,7 @@
|
||||||
|
unsigned int len, unsigned char *buf)
|
||||||
|
{
|
||||||
|
struct xxhash_running_checksum *c = rc_to_priv(_c);
|
||||||
|
- XXH64_update(&c->td64, buf, len);
|
||||||
|
+ XXH64_update(c->td64, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void xxhash_finish_running_checksum(struct running_checksum *_c,
|
||||||
|
@@ -68,7 +69,8 @@
|
||||||
|
struct xxhash_running_checksum *c = rc_to_priv(_c);
|
||||||
|
unsigned long long *hash = (unsigned long long*)digest;
|
||||||
|
|
||||||
|
- *hash = XXH64_digest(&c->td64);
|
||||||
|
+ *hash = XXH64_digest(c->td64);
|
||||||
|
+ XXH64_freeState(c->td64);
|
||||||
|
free(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -urb duperemove-0.11a/Makefile duperemove-0.11b/Makefile
|
||||||
|
--- duperemove-0.11a/Makefile 2018-05-15 20:47:26.000000000 +0100
|
||||||
|
+++ duperemove-0.11b/Makefile 2018-09-10 11:09:11.808519081 +0100
|
||||||
|
@@ -8,13 +8,13 @@
|
||||||
|
|
||||||
|
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 \
|
||||||
|
- memstats.h file_scan.h find_dupes.h run_dedupe.h xxhash.h \
|
||||||
|
+ memstats.h file_scan.h find_dupes.h run_dedupe.h \
|
||||||
|
bswap.h dbfile.h interval_tree.h interval_tree_generic.h \
|
||||||
|
rbtree_augmented.h list_sort.h stats.h
|
||||||
|
CFILES=duperemove.c hash-tree.c results-tree.c rbtree.c dedupe.c filerec.c \
|
||||||
|
btrfs-util.c util.c memstats.c file_scan.c find_dupes.c run_dedupe.c \
|
||||||
|
csum.c dbfile.c interval_tree.c list_sort.c stats.c debug.c
|
||||||
|
-hash_CFILES=csum-xxhash.c xxhash.c csum-murmur3.c
|
||||||
|
+hash_CFILES=csum-xxhash.c csum-murmur3.c
|
||||||
|
|
||||||
|
CFILES += $(hash_CFILES)
|
||||||
|
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
|
||||||
|
DIST_CFILES:=$(CFILES) $(hashstats_CFILES) $(btrfs_extent_same_CFILES) \
|
||||||
|
$(csum_test_CFILES)
|
||||||
|
-DIST_SOURCES:=$(DIST_CFILES) $(HEADERS) LICENSE LICENSE.xxhash Makefile \
|
||||||
|
+DIST_SOURCES:=$(DIST_CFILES) $(HEADERS) LICENSE Makefile \
|
||||||
|
rbtree.txt README.md $(MANPAGES) SubmittingPatches docs/duperemove.html
|
||||||
|
DIST=duperemove-$(VER)
|
||||||
|
DIST_TARBALL=$(RELEASE).tar.gz
|
||||||
|
@@ -45,6 +45,7 @@
|
||||||
|
glib_LIBS=$(shell pkg-config --libs glib-2.0)
|
||||||
|
sqlite_CFLAGS=$(shell pkg-config --cflags sqlite3)
|
||||||
|
sqlite_LIBS=$(shell pkg-config --libs sqlite3)
|
||||||
|
+hash_LIBS=-lxxhash
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
DEBUG_FLAGS = -ggdb3 -fsanitize=address -fno-omit-frame-pointer \
|
65
duperemove.spec
Normal file
65
duperemove.spec
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
Name: duperemove
|
||||||
|
Version: 0.11
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: Tools for deduping file systems
|
||||||
|
License: GPLv2
|
||||||
|
URL: https://github.com/markfasheh/%{name}
|
||||||
|
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Patch1: duperemove-use-system-xxhash.patch
|
||||||
|
BuildRequires: pkgconfig(glib-2.0)
|
||||||
|
BuildRequires: pkgconfig(sqlite3)
|
||||||
|
BuildRequires: libgcrypt-devel
|
||||||
|
BuildRequires: xxhash-devel
|
||||||
|
BuildRequires: libatomic
|
||||||
|
BuildRequires: gcc
|
||||||
|
|
||||||
|
%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 extents that match each other.
|
||||||
|
|
||||||
|
When given the -d option, duperemove will submit those extents for
|
||||||
|
deduplication using the btrfs-extent-same ioctl.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup
|
||||||
|
rm -f xxhash.c xxhash.h
|
||||||
|
|
||||||
|
%build
|
||||||
|
%set_build_flags
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install SBINDIR=%{_sbindir} MANDIR=%{_mandir}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc README.md
|
||||||
|
%license LICENSE
|
||||||
|
%{_mandir}/man8/btrfs-extent-same*.8*
|
||||||
|
%{_mandir}/man8/duperemove*.8*
|
||||||
|
%{_mandir}/man8/hashstats*.8*
|
||||||
|
%{_mandir}/man8/show-shared-extents*.8*
|
||||||
|
%{_sbindir}/btrfs-extent-same
|
||||||
|
%{_sbindir}/duperemove
|
||||||
|
%{_sbindir}/hashstats
|
||||||
|
%{_sbindir}/show-shared-extents
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Oct 19 2018 Jonathan Dieter <jdieter@gmail.com> - 0.11-2
|
||||||
|
- Add missing BR
|
||||||
|
- Fix build to use build flags
|
||||||
|
|
||||||
|
* Sat Oct 13 2018 Jonathan Dieter <jdieter@gmail.com> - 0.11-1
|
||||||
|
- Bump to 0.11
|
||||||
|
- Unbundle xxhash
|
||||||
|
|
||||||
|
* Fri Nov 13 2015 Francesco Frassinelli <fraph24@gmail.com> - 0.10-1
|
||||||
|
- Version bump; license and minor packaging issues fixed
|
||||||
|
|
||||||
|
* Thu Jul 30 2015 Francesco Frassinelli <fraph24@gmail.com> - 0.09.5-2
|
||||||
|
- %%license macro added
|
||||||
|
|
||||||
|
* Sun Jul 19 2015 Francesco Frassinelli <fraph24@gmail.com> - 0.09.5-1
|
||||||
|
- Initial build
|
||||||
|
|
Loading…
Reference in New Issue
Block a user