# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=rsync
pkgver=3.1.2
pkgrel=7
pkgdesc="A file transfer program to keep remote files in sync"
url="https://rsync.samba.org/"
arch="all"
license="GPL-3.0"
options="!check" # included test suite fails some tests
makedepends="perl acl-dev popt-dev"
subpackages="$pkgname-doc rrsync"
source="https://download.samba.org/pub/$pkgname/$pkgname-$pkgver.tar.gz
	rsyncd.initd
	rsyncd.confd
	rsyncd.conf
	rsyncd.logrotate

	CVE-2017-16548.patch
	CVE-2017-17433.patch
	CVE-2017-17434-1.patch
	CVE-2017-17434-2.patch
	"
builddir="$srcdir/$pkgname-$pkgver"

# secfixes:
#   3.1.2-r7:
#     - CVE-2017-16548
#     - CVE-2017-17433
#     - CVE-2017-17434-1
#     - CVE-2017-17434-2

build() {
	cd "$builddir"
	# Force IPv6 enabled, upstream bug https://bugzilla.samba.org/show_bug.cgi?id=10715
	CFLAGS="$CFLAGS -DINET6" \
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		|| return 1
	make || return 1
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir" install || return 1

	install -D -m 755 "$srcdir"/rsyncd.initd "$pkgdir"/etc/init.d/rsyncd
	install -D -m 644 "$srcdir"/rsyncd.conf "$pkgdir"/etc/rsyncd.conf
	install -D -m 644 "$srcdir"/rsyncd.confd "$pkgdir"/etc/conf.d/rsyncd
	install -D -m 644 "$srcdir"/rsyncd.logrotate "$pkgdir"/etc/logrotate.d/rsyncd

}

rrsync() {
	pkgdesc="Restricted rsync, restricts rsync to a subdir declared in .ssh/authorized_keys"
	depends="rsync perl"
	arch="noarch"

	cd "$builddir"
	install -D -m 755 ./support/rrsync "$subpkgdir"/usr/bin/rrsync
}

sha512sums="4c55fd69f436ead0cb5a0b7c6fdfef9bb28ddb9c63534eb619e756b118d5b08cfc5e696498650932c86e865b37e06633da947e6720ca0c27ed5c034313ae208b  rsync-3.1.2.tar.gz
638d87c9a753b35044f6321ccd09d2c0addaab3c52c40863eb6905905576b5268bec67b496df81225528c9e39fbd92e9225d7b3037ab1fda78508d452c78158f  rsyncd.initd
c7527e289c81bee5e4c14b890817cdb47d14f0d26dd8dcdcbe85c7199cf27c57a0b679bdd1b115bfe00de77b52709cc5d97522a47f63c1bb5104f4a7220c9961  rsyncd.confd
3db8a2b364fc89132af6143af90513deb6be3a78c8180d47c969e33cb5edde9db88aad27758a6911f93781e3c9846aeadc80fffc761c355d6a28358853156b62  rsyncd.conf
b8d6c0bb467a5c963317dc55478d2c10874564cd264d943d4a42037e2fce134fe001fabc92af5c6b5775e84dc310b1c8da147afaa61c99e5663c36580d8651a5  rsyncd.logrotate
a2f571bfdb5e37021ff8fee8bc80d624ccd83020e3fd5cf4119d477bb0fcdc57dab7d0f433a95136a1e259ba136e05f28d1a052ae2237805ddc611329ecb5679  CVE-2017-16548.patch
3cfc9ea4abdf288e2f524570f9f115a34f089a44eec5a73a3d5da34d64a8843d729c5cbcaecfcadb5f309ee98c11583a7d607d3eb55011cf77f9df49886f6eff  CVE-2017-17433.patch
f678175eb524505823e8ae7760c2a8e5189d2e09c03244ca88e6e2294707a76d430f52096fb1e498a13ddb8943a80ed588df66d682233c0e5243b52f57a1b5f5  CVE-2017-17434-1.patch
065f79b8b9c0ae827b0ba9abddc37af75f7e8759b4f51551182e21e07ea030e6704233540515e0745b54117899b8fc259f40b30b04a558b54306aa2e2a37e36a  CVE-2017-17434-2.patch"
