Re: git: 0d316feccaf8 - main - sysutils/cpdup-FreeBSD: Add FreeBSD fork of cpdup
Date: Wed, 26 Feb 2025 04:06:03 UTC
In message <202502252200.51PM0JNl002582@gitrepo.freebsd.org>, Guido Falsi write s: > The branch main has been updated by madpilot: > > URL: https://cgit.FreeBSD.org/ports/commit/?id=0d316feccaf89c1bd804d600127442 > 6a7135c93a > > 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/Makefil > e > 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/distinf > o > 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) = 216d7416f23df392a4218120ee8b4d66dd > ab04f7c3677b8bfd7c6fea8383aa26 > +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-de > scr > 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: > This fails to build under poudriere. ===> Staging for cpdup-FreeBSD-1.0.0 ===> Generating temporary packing list install -s -o root -g wheel -m 555 cpdup /wrkdirs/usr/ports/sysutils/cpdu p-FreeBSD/work/stage/usr/local/bin/cpdup install: /wrkdirs/usr/ports/sysutils/cpdup-FreeBSD/work/stage/usr/local/bin/ cpdup: chown/chgrp: Operation not permitted *** Error code 71 Stop. make: stopped making "install" in /wrkdirs/usr/ports/sysutils/cpdup-FreeBSD/ work/cpdup-1.0.0 *** Error code 1 Stop. make: stopped making "stage" in /usr/ports/sysutils/cpdup-FreeBSD =>> Cleaning up wrkdir ===> Cleaning for cpdup-FreeBSD-1.0.0 You need to add USES=uidfix to your Makefile. -- Cheers, Cy Schubert <Cy.Schubert@cschubert.com> FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org NTP: <cy@nwtime.org> Web: https://nwtime.org e^(i*pi)+1=0