git: 0d316feccaf8 - main - sysutils/cpdup-FreeBSD: Add FreeBSD fork of cpdup

From: Guido Falsi <madpilot_at_FreeBSD.org>
Date: Tue, 25 Feb 2025 22:00:19 UTC
The branch main has been updated by madpilot:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0d316feccaf89c1bd804d6001274426a7135c93a

commit 0d316feccaf89c1bd804d6001274426a7135c93a
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2025-02-25 21:58:58 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2025-02-25 21:58:58 +0000

    sysutils/cpdup-FreeBSD: Add FreeBSD fork of cpdup
    
    Add a fork of cpdup, including patches to support copy_file_range(2)
    and allowing to choose checksum algorithm.
    
    Thanks to mm for providing the required patches to the fork.
    
    Assign port to cpdup maintainer
    
    Approved by:    Gianmarco Giovannelli <gmarco@giovannelli.it> (maintainer)
---
 sysutils/Makefile                               |  1 +
 sysutils/cpdup-FreeBSD/Makefile                 | 22 ++++++++++++++++++++++
 sysutils/cpdup-FreeBSD/distinfo                 |  3 +++
 sysutils/cpdup-FreeBSD/files/patch-Makefile.bsd | 11 +++++++++++
 sysutils/cpdup-FreeBSD/pkg-descr                |  9 +++++++++
 sysutils/cpdup/Makefile                         |  2 ++
 6 files changed, 48 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index e9cf3cf53bb3..ea8c5a687551 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -236,6 +236,7 @@
     SUBDIR += coreos-ct
     SUBDIR += coreutils
     SUBDIR += cpdup
+    SUBDIR += cpdup-FreeBSD
     SUBDIR += cpu-microcode
     SUBDIR += cpu-microcode-amd
     SUBDIR += cpu-microcode-intel
diff --git a/sysutils/cpdup-FreeBSD/Makefile b/sysutils/cpdup-FreeBSD/Makefile
new file mode 100644
index 000000000000..e98c449cd03a
--- /dev/null
+++ b/sysutils/cpdup-FreeBSD/Makefile
@@ -0,0 +1,22 @@
+PORTNAME=	cpdup
+DISTVERSION=	1.0.0
+CATEGORIES=	sysutils
+PKGNAMESUFFIX=	-FreeBSD
+
+MAINTAINER=	gmarco@giovannelli.it
+COMMENT=	Comprehensive filesystem mirroring and backup program
+WWW=		https://github.com/freebsd/cpdup
+
+LICENSE=	BSD3CLAUSE
+
+USES=		ssl tar:xz
+USE_GITHUB=	yes
+GH_ACCOUNT=	freebsd
+MAKEFILE=	Makefile.bsd
+
+CONFLICTS_INSTALL=	cpdup
+
+PLIST_FILES=	bin/cpdup \
+		share/man/man1/cpdup.1.gz
+
+.include <bsd.port.mk>
diff --git a/sysutils/cpdup-FreeBSD/distinfo b/sysutils/cpdup-FreeBSD/distinfo
new file mode 100644
index 000000000000..427084c3b7ec
--- /dev/null
+++ b/sysutils/cpdup-FreeBSD/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1739815106
+SHA256 (freebsd-cpdup-1.0.0_GH0.tar.gz) = 216d7416f23df392a4218120ee8b4d66ddab04f7c3677b8bfd7c6fea8383aa26
+SIZE (freebsd-cpdup-1.0.0_GH0.tar.gz) = 45939
diff --git a/sysutils/cpdup-FreeBSD/files/patch-Makefile.bsd b/sysutils/cpdup-FreeBSD/files/patch-Makefile.bsd
new file mode 100644
index 000000000000..89789d24a958
--- /dev/null
+++ b/sysutils/cpdup-FreeBSD/files/patch-Makefile.bsd
@@ -0,0 +1,11 @@
+--- Makefile.bsd.orig	2023-11-30 11:20:48 UTC
++++ Makefile.bsd
+@@ -11,7 +11,7 @@ BINDIR?=	${PREFIX}/bin
+ CFLAGS+=	-D_ST_FLAGS_PRESENT_
+ PREFIX?=	/usr/local
+ BINDIR?=	${PREFIX}/bin
+-MANDIR?=	${PREFIX}/man/man
++MANDIR?=	${PREFIX}/share/man/man
+ 
+ .include <bsd.prog.mk>
+ 
diff --git a/sysutils/cpdup-FreeBSD/pkg-descr b/sysutils/cpdup-FreeBSD/pkg-descr
new file mode 100644
index 000000000000..f432acb29e51
--- /dev/null
+++ b/sysutils/cpdup-FreeBSD/pkg-descr
@@ -0,0 +1,9 @@
+cpdup-FreeBSD is a FreeBSD fork of cpdup, a powerful filesystem mirroring
+and backup utility which also has file integrity testing features, supports
+incremental backups, and remote mirroring via ssh.
+
+This fork supports copy_file_range(2) and allows choosing checksum
+algorithm.
+
+Note: This port does not copy (or mirror) any FreeBSD supported ACL
+types and Extended Attributes nor MAC labels.
diff --git a/sysutils/cpdup/Makefile b/sysutils/cpdup/Makefile
index e25e3c69aef2..51e2ad7e8a15 100644
--- a/sysutils/cpdup/Makefile
+++ b/sysutils/cpdup/Makefile
@@ -15,6 +15,8 @@ GH_TUPLE=	DragonFlyBSD:${PORTNAME}:v${PORTVERSION}
 MAKEFILE=	GNUmakefile
 MAKE_ARGS+=	LIBS="-L${OPENSSLLIB} -lcrypto"
 
+CONFLICTS_INSTALL=	cpdup-FreeBSD
+
 PLIST_FILES=	bin/cpdup share/man/man1/cpdup.1.gz
 
 post-patch: