New port: sysutils/dupd

dupd is a file duplicate detection CLI utility, supporting iterative
interactive use with a persistent file database.

Despite the name, it doesn't run as a daemon.

See https://elipapa.github.io/blog/fastest-way-to-find-dups.html for
a comparison of such tools.

WWW: http://www.virkki.com/dupd/

PR:		218664
Submitted by:	Thomas Hurst <tom@hur.st>
This commit is contained in:
Kurt Jaeger 2017-04-30 04:21:06 +00:00
parent ea1b2d6ffc
commit d3289c6b1b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=439787
6 changed files with 83 additions and 0 deletions

View File

@ -256,6 +256,7 @@
SUBDIR += du2ps
SUBDIR += duff
SUBDIR += dunst
SUBDIR += dupd
SUBDIR += duplicity
SUBDIR += duply
SUBDIR += dupmerge

35
sysutils/dupd/Makefile Normal file
View File

@ -0,0 +1,35 @@
# Created by: Thomas Hurst <tom@hur.st>
# $FreeBSD$
PORTNAME= dupd
PORTVERSION= 1.4
CATEGORIES= sysutils
MAINTAINER= tom@hur.st
COMMENT= File duplicate detection CLI utility
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
USE_GITHUB= yes
GH_ACCOUNT= jvirkki
GH_PROJECT= libbloom:libbloom
GH_TAGNAME= v1.4:libbloom
USES= gmake ssl sqlite:3
PLIST_FILES= bin/${PORTNAME} man/man1/${PORTNAME}.1.gz
MAKE_ARGS= LIB="-L${PREFIX}/lib" INC="-I${WRKSRC_libbloom} -I${PREFIX}/include" \
LIBBLOOM_LIB="${WRKSRC_libbloom}/build" USAGE="${WRKSRC}/build/usage.o" \
DIRENT_HAS_TYPE=1 GITHASH=c25a635e1d27ebf5759875a7ff907d8eec7f5be9
do-build:
(cd ${WRKSRC_libbloom} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${WRKSRC_libbloom}/build/libbloom.a MM=-DGRR)
(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS})
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/man/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
.include <bsd.port.mk>

5
sysutils/dupd/distinfo Normal file
View File

@ -0,0 +1,5 @@
TIMESTAMP = 1491411043
SHA256 (jvirkki-dupd-1.4_GH0.tar.gz) = be98c8fe60bdcc281898930b2604a1b97570de611fecc02732af4a81329438d3
SIZE (jvirkki-dupd-1.4_GH0.tar.gz) = 953654
SHA256 (jvirkki-libbloom-v1.4_GH0.tar.gz) = 3df57d14c56f4a16a26d04b83891df844caa4b06d9b19f822d10c3c26f31311b
SIZE (jvirkki-libbloom-v1.4_GH0.tar.gz) = 1209355

View File

@ -0,0 +1,19 @@
--- Makefile.orig 2017-02-26 10:05:09 UTC
+++ Makefile
@@ -20,7 +20,6 @@
TOP:=$(shell pwd)
BUILD_OS:=$(shell uname)
VERSION:=$(shell cat version)
-GITHASH:=$(shell git rev-parse HEAD)
OPTGEN:=$(shell which optgen | head -c1)
ifeq ($(LCOV_OUTPUT_DIR),)
@@ -98,7 +97,7 @@ $(BUILD)/%.o: src/%.c src/%.h
-c $< -o $@
$(BUILD)/usage.o: man/dupd
- $(OBJCP) -I binary $(USAGE_ARCH) man/dupd $(BUILD)/usage.o
+ ld -r -b binary -o $(BUILD)/usage.o man/dupd
clean:
rm -f dupd

View File

@ -0,0 +1,14 @@
--- src/utils.h.orig 2017-02-26 10:05:09 UTC
+++ src/utils.h
@@ -37,6 +37,11 @@
#define LSTAT lstat
#endif
+#ifdef __FreeBSD__
+#define STRUCT_STAT struct stat
+#define LSTAT lstat
+#endif
+
#ifdef sun
#define STRUCT_STAT struct stat64
#define LSTAT lstat64

9
sysutils/dupd/pkg-descr Normal file
View File

@ -0,0 +1,9 @@
dupd is a file duplicate detection CLI utility, supporting iterative
interactive use with a persistent file database.
Despite the name, it doesn't run as a daemon.
See https://elipapa.github.io/blog/fastest-way-to-find-dups.html for
a comparison of such tools.
WWW: http://www.virkki.com/dupd/