summaryrefslogtreecommitdiff
path: root/system/rsync
diff options
context:
space:
mode:
Diffstat (limited to 'system/rsync')
-rw-r--r--system/rsync/APKBUILD65
-rw-r--r--system/rsync/rsyncd.conf7
-rw-r--r--system/rsync/rsyncd.confd8
-rw-r--r--system/rsync/rsyncd.initd16
-rw-r--r--system/rsync/rsyncd.logrotate9
5 files changed, 105 insertions, 0 deletions
diff --git a/system/rsync/APKBUILD b/system/rsync/APKBUILD
new file mode 100644
index 000000000..af06ccd38
--- /dev/null
+++ b/system/rsync/APKBUILD
@@ -0,0 +1,65 @@
+# 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="GPL3"
+options="!checkroot"
+makedepends="perl acl-dev attr-dev popt-dev"
+subpackages="$pkgname-doc $pkgname-openrc rrsync"
+source="https://download.samba.org/pub/$pkgname/$pkgname-$pkgver.tar.gz
+ rsyncd.initd
+ rsyncd.confd
+ rsyncd.conf
+ rsyncd.logrotate
+ "
+builddir="$srcdir/$pkgname-$pkgver"
+
+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 \
+ --enable-acl-support \
+ --enable-xattr-support
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+
+ 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"
diff --git a/system/rsync/rsyncd.conf b/system/rsync/rsyncd.conf
new file mode 100644
index 000000000..6318016e9
--- /dev/null
+++ b/system/rsync/rsyncd.conf
@@ -0,0 +1,7 @@
+# /etc/rsyncd.conf
+# Minimal configuration file for rsync daemon.
+# See rsync(1) and rsyncd.conf(5) man pages for help.
+# Do not set "pid file" here.
+
+use chroot = yes
+read only = yes
diff --git a/system/rsync/rsyncd.confd b/system/rsync/rsyncd.confd
new file mode 100644
index 000000000..7128f97fd
--- /dev/null
+++ b/system/rsync/rsyncd.confd
@@ -0,0 +1,8 @@
+# Config file for /etc/init.d/rsyncd
+
+# Path to configuration file.
+#cfgfile="/etc/rsyncd.conf"
+
+# See man pages for rsync or run `rsync --daemon --help`
+# for valid cmdline options.
+#command_args=""
diff --git a/system/rsync/rsyncd.initd b/system/rsync/rsyncd.initd
new file mode 100644
index 000000000..eb05b3b59
--- /dev/null
+++ b/system/rsync/rsyncd.initd
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+
+: ${cfgfile:="/etc/rsyncd.conf"}
+
+command="/usr/bin/rsync"
+command_args="--daemon --no-detach --config=$cfgfile
+ $command_args $RSYNC_OPTS"
+command_background="yes"
+
+pidfile="/run/$RC_SVCNAME.pid"
+required_files="$cfgfile"
+
+depend() {
+ use net
+ after firewall
+}
diff --git a/system/rsync/rsyncd.logrotate b/system/rsync/rsyncd.logrotate
new file mode 100644
index 000000000..34bcf72d2
--- /dev/null
+++ b/system/rsync/rsyncd.logrotate
@@ -0,0 +1,9 @@
+/var/log/rsync.log {
+ compress
+ maxage 365
+ rotate 7
+ size=+1024k
+ notifempty
+ missingok
+ copytruncate
+}