Initial build

Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
This commit is contained in:
Jonathan Dieter 2018-10-19 22:54:41 +01:00
parent ed126156b3
commit bbfe156afe
4 changed files with 144 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/duperemove-0.11.tar.gz

View 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
View 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

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (duperemove-0.11.tar.gz) = b1bc2beb92223f9b46f8838e2f983ec763a9dff302f4202a34cc5e10591b985519f0464b6eba566c56872e671ba80583c7fdf4a232325086141d011384a286cf