# Buildsheet autogenerated by ravenadm tool -- Do not edit.

NAMEBASE=		rsync
VERSION=		3.4.1
KEYWORDS=		net
VARIANTS=		std
SDESC[std]=		Network file distribution/synchronization utility
HOMEPAGE=		https://rsync.samba.org/
CONTACT=		nobody

DOWNLOAD_GROUPS=	main
SITES[main]=		https://rsync.samba.org/ftp/rsync/
			ftp://ftp.samba.org/pub/rsync/
			http://www.mirrorservice.org/sites/rsync.samba.org/
DISTFILE[1]=		rsync-3.4.1.tar.gz:main
DF_INDEX=		1
SPKGS[std]=		set
			primary
			man

OPTIONS_AVAILABLE=	none
OPTIONS_STANDARD=	none

BUILD_DEPENDS=		xxhash:dev:std
BUILDRUN_DEPENDS=	xxhash:primary:std

USES=			cpe iconv zstd zlib lz4 shebangfix ssl
			rootca:primary

CPE_PRODUCT=		rsync
CPE_VENDOR=		samba
FPC_EQUIVALENT=		net/rsync
SHEBANG_FILES=		support/rrsync

MUST_CONFIGURE=		gnu
CONFIGURE_ARGS=		--disable-debug
			--enable-ipv6
			--enable-iconv
			--enable-iconv-open
			--with-rsyncd-conf={{PREFIX}}/etc/rsync/rsyncd.conf
			--with-included-popt=yes
			--with-included-zlib=no
			--with-rsh=ssh

INSTALL_TARGET=		install-strip
RC_SUBR=		rsyncd:primary
SUB_LIST=		NAME=rsyncd

TEST_TARGET=		check

post-patch:
	${REINPLACE_CMD} -e 's|perl.*|${DO_NADA}|' ${WRKSRC}/Makefile.in
	${REINPLACE_CMD} -e 's:/etc/:${PREFIX}/etc/rsync/:g'  \
		${WRKSRC}/rsync.h ${WRKSRC}/rsync.1 ${WRKSRC}/rsyncd.conf.5
	${REINPLACE_CMD} -e 's|/usr/bin/rsync|${PREFIX}/bin/rsync|g' \
		${WRKSRC}/support/rrsync

post-install:
	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/rsync
	${INSTALL_DATA} ${FILESDIR}/rsyncd.conf.sample ${STAGEDIR}${PREFIX}/etc/rsync
	${INSTALL_SCRIPT} ${WRKSRC}/support/rrsync ${STAGEDIR}${PREFIX}/sbin

[FILE:494:descriptions/desc.primary]
rsync is a replacement for rcp that has many more features.

rsync uses the "rsync algorithm" which provides a very fast method for
bringing remote files into sync. It does this by sending just the
differences in the files across the link, without requiring that both
sets of files are present at one of the ends of the link beforehand.
This makes rsync a good remote file distribution/synchronization utility
in a dialup PPP/SLIP environment.

Note, requires rsync on the destination machine.


[FILE:97:distinfo]
2924bcb3a1ed8b551fc101f740b9f0fe0a202b115027647cf69850d65fd88c52      1172739 rsync-3.4.1.tar.gz


[FILE:72:manifests/plist.primary]
@sample etc/rsync/rsyncd.conf.sample
bin/
 rsync
 rsync-ssl
sbin/rrsync


[FILE:67:manifests/plist.man]
share/man/man1/
 rsync-ssl.1
 rsync.1
share/man/man5/rsyncd.conf.5


[FILE:283:patches/patch-popt_findme.c]
--- popt/findme.c.orig	2025-01-15 20:27:46 UTC
+++ popt/findme.c
@@ -6,6 +6,9 @@
    file accompanying popt source distributions, available from 
    ftp://ftp.rpm.org/pub/rpm/dist. */
 
+#if defined(__linux__)
+#include "rsync.h"
+#endif
 #include "system.h"
 #include "findme.h"
 


[FILE:768:files/rsyncd.conf.sample]
# rsyncd.conf - Example file, see rsyncd.conf(5)
#

# Set this if you want to stop rsync daemon with rc.d scripts
pid file = /var/run/rsyncd.pid

# Edit this file before running rsync daemon!!

#uid = nobody
#gid = nobody
#use chroot = no
#max connections = 4
#syslog facility = local5

#[ftp]
#	path = /var/ftp/pub
#	comment = whole ftp area (approx 6.1 GB)

#[sambaftp]
#	path = /var/ftp/pub/samba
#	comment = Samba ftp area (approx 300 MB)

#[rsyncftp]
#	path = /var/ftp/pub/rsync
#	comment = rsync ftp area (approx 6 MB)

#[sambawww]
#	path = /public_html/samba
#	comment = Samba WWW pages (approx 240 MB)

#[cvs]
#	path = /data/cvs
#	comment = CVS repository (requires authentication)
#	auth users = tridge, susan
#	secrets file = /raven/etc/rsync/rsyncd.secrets


[FILE:974:files/rsyncd.in]
#!/bin/sh
#

# PROVIDE: %%NAME%%
# REQUIRE: LOGIN
# BEFORE:  securelevel
# KEYWORD: shutdown

# Add the following lines to /etc/rc.conf to enable `%%NAME%%':
#
# %%NAME%%_enable="YES"
# %%NAME%%_flags="<set as needed>"
#
# See rsync(1) for %%NAME%%_flags
#

. /etc/rc.subr

name="%%NAME%%"
rcvar=%%NAME%%_enable

command="%%PREFIX%%/bin/rsync"
start_precmd="%%NAME%%_precmd"
pidfile="/var/run/$name.pid"

# read configuration and set defaults
load_rc_config "$name"
: ${%%NAME%%_enable="NO"}
: ${%%NAME%%_configfile:=%%ETCDIR%%/$name.conf}

required_files="${%%NAME%%_configfile}"

command_args="--daemon --config ${%%NAME%%_configfile}"

%%NAME%%_precmd()
{
	if [ -f "%%PREFIX%%/etc/$name.conf" ] && [ ! -L "%%PREFIX%%/etc/$name.conf" ]; then
		echo "Found %%PREFIX%%/etc/$name.conf in old location. Migrating to %%ETCDIR%%/$name.conf."
		mv %%PREFIX%%/etc/$name.conf %%ETCDIR%%/$name.conf
		ln -s %%ETCDIR%%/$name.conf %%PREFIX%%/etc/$name.conf
	fi
}

run_rc_command "$1"