sysutils/jdupes: Update to 1.27.3

Some notable user-facing changes:

* Text-based hash database with -y/--hash-db
* -e/--error-on-dupe flag to terminate immediately if any dupe is found
* -C/--chunk-size now uses KiB instead of bytes (BREAKING CHANGE)

Many thanks to the author for upstream changes made to help simplify the
port.

Additionally this removes the workaround for a strip(1) issue with
LOW_MEMORY builds I can no longer reproduce (bin/269568).

Changelog: https://github.com/jbruchon/jdupes/releases/tag/v1.27.3

PR:		273403
This commit is contained in:
Thomas Hurst 2023-08-28 15:39:21 +00:00 committed by Robert Clausecker
parent dc98a8ffaa
commit 99d0f41c60
4 changed files with 17 additions and 53 deletions

View file

@ -1,6 +1,6 @@
PORTNAME= jdupes
DISTVERSIONPREFIX= v
DISTVERSION= 1.21.3
DISTVERSION= 1.27.3
CATEGORIES= sysutils
MAINTAINER= tom@hur.st
@ -8,16 +8,18 @@ COMMENT= Powerful duplicate file finder and an enhanced fork of 'fdupes'
WWW= https://github.com/jbruchon/jdupes
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LIB_DEPENDS= libxxhash.so:devel/xxhash
LIB_DEPENDS= libjodycode.so:devel/libjodycode \
libxxhash.so:devel/xxhash
USES= gmake localbase:ldflags
USE_GITHUB= yes
GH_ACCOUNT= jbruchon
LDFLAGS+= -lxxhash
MAKE_FLAGS= EXTERNAL_HASH_LIB=1
LDFLAGS+= -ljodycode -lxxhash
PLIST_FILES= bin/jdupes \
man/man1/jdupes.1.gz
@ -26,19 +28,8 @@ OPTIONS_DEFINE= LOW_MEMORY
LOW_MEMORY_DESC= Minimally-featured build for embedded systems
LOW_MEMORY_MAKE_ENV= LOW_MEMORY=1
.include <bsd.port.options.mk>
# ELF Tool Chain's strip breaks binary so use LLVM's for now
# To avoid hardcoded stripping use INSTALL_KLD instead of _BIN
.if ${PORT_OPTIONS:MLOW_MEMORY} && !defined(WITH_DEBUG)
STRIP_CMD= /usr/bin/llvm-strip
.endif
do-install:
${INSTALL_KLD} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/jdupes
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1675962603
SHA256 (jbruchon-jdupes-v1.21.3_GH0.tar.gz) = 8992d0ff1fe135c685063ce3c9d69d54f1f19f1b32845e84441f888218063cc0
SIZE (jbruchon-jdupes-v1.21.3_GH0.tar.gz) = 155979
TIMESTAMP = 1693232321
SHA256 (jbruchon-jdupes-v1.27.3_GH0.tar.gz) = 6e8352f61b3920a2b5626c7122c3b80b4fdcc5cdd3f1c0c3424530425a77d846
SIZE (jbruchon-jdupes-v1.27.3_GH0.tar.gz) = 174831

View file

@ -1,34 +0,0 @@
--- Makefile.orig 2023-02-09 14:46:39 UTC
+++ Makefile
@@ -54,7 +54,7 @@ MKDIR = mkdir -p
CC ?= gcc
COMPILER_OPTIONS = -Wall -Wwrite-strings -Wcast-align -Wstrict-aliasing -Wstrict-prototypes -Wpointer-arith -Wundef
COMPILER_OPTIONS += -Wshadow -Wfloat-equal -Waggregate-return -Wcast-qual -Wswitch-default -Wswitch-enum -Wconversion -Wunreachable-code -Wformat=2
-COMPILER_OPTIONS += -std=gnu99 -O2 -g -D_FILE_OFFSET_BITS=64 -fstrict-aliasing -pipe
+COMPILER_OPTIONS += -std=gnu99 -D_FILE_OFFSET_BITS=64 -fstrict-aliasing -pipe
COMPILER_OPTIONS += -DSMA_MAX_FREE=11 -DNO_ATIME
#####################################################################
@@ -62,10 +62,10 @@ COMPILER_OPTIONS += -DSMA_MAX_FREE=11 -DNO_ATIME
#####################################################################
# Don't use unsupported compiler options on gcc 3/4 (OS X 10.5.8 Xcode)
-GCCVERSION = $(shell expr `LC_ALL=C gcc -v 2>&1 | grep 'gcc version ' | cut -d\ -f3 | cut -d. -f1` \>= 5)
-ifeq "$(GCCVERSION)" "1"
+#GCCVERSION = $(shell expr `LC_ALL=C gcc -v 2>&1 | grep 'gcc version ' | cut -d\ -f3 | cut -d. -f1` \>= 5)
+#ifeq "$(GCCVERSION)" "1"
COMPILER_OPTIONS += -Wextra -Wstrict-overflow=5 -Winit-self
-endif
+#endif
# Are we running on a Windows OS?
ifeq ($(OS), Windows_NT)
@@ -182,7 +182,7 @@ INSTALL_DATA = $(INSTALL) -m 0644
OBJS += jdupes.o jody_paths.o jody_sort.o jody_win_unicode.o jody_strtoepoch.o string_malloc.o oom.o
OBJS += jody_cacheinfo.o
OBJS += act_deletefiles.o act_linkfiles.o act_printmatches.o act_summarize.o act_printjson.o
-OBJS += xxhash.o jody_hash.o
+OBJS += jody_hash.o
OBJS += $(ADDITIONAL_OBJECTS)
all: $(PROGRAM_NAME)

View file

@ -6,4 +6,11 @@ WARNING: jdupes -X/--extfilter size filtering is now INCLUSIVE instead
of EXCLUSIVE. Please see "jdupes -X help" for details.
EOM
}
{ type: upgrade
maximum_version: "1.25.3"
message: <<EOM
WARNING: jdupes -C/--chunk-size now uses KiB instead of bytes.
Please update any scripts using this flag.
EOM
}
]