diff --git a/net/rsync/Makefile b/net/rsync/Makefile new file mode 100644 index 000000000..f66c694f1 --- /dev/null +++ b/net/rsync/Makefile @@ -0,0 +1,81 @@ +# +# Copyright (C) 2007-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=rsync +PKG_VERSION:=3.1.0 +PKG_RELEASE:=2 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://rsync.samba.org/ftp/rsync/src +PKG_MD5SUM:=3be148772a33224771a8d4d2a028b132 + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/rsync + SECTION:=net + CATEGORY:=Network + SUBMENU:=File Transfer + TITLE:=Fast remote file copy program (like rcp) + DEPENDS:=+libpopt +zlib + URL:=http://rsync.samba.org/ +endef + +define Package/rsyncd + SECTION:=net + CATEGORY:=Network + SUBMENU:=File Transfer + TITLE:=Rsync daemon + DEPENDS:=+rsync + URL:=http://rsync.samba.org/ +endef + +define Package/rsync/description + rsync is a program that allows files to be copied to and from remote machines + in much the same way as rcp. It has many more options than rcp, and uses the + rsync remote-update protocol to greatly speed up file transfers when the + destination file already exists. + + The rsync remote-update protocol allows rsync to transfer just the differences + between two sets of files across the network link. +endef + +CONFIGURE_ARGS += \ + --with-included-popt=no \ + --with-included-zlib=no \ + --disable-debug \ + --disable-locale \ + --disable-xattr-support \ + --disable-acl-support \ + +define Package/rsync/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/ +endef + +define Package/rsyncd/description + rsyncd is a configuration file and initscript to utilize rsync as a daemon. It + uses the same binary as rsync. +endef + +define Package/rsyncd/conffiles +/etc/rsyncd.conf +endef + +define Package/rsyncd/install + $(INSTALL_DIR) $(1)/etc + $(INSTALL_DATA) ./files/rsyncd.conf $(1)/etc/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/rsyncd.init $(1)/etc/init.d/rsyncd +endef + +$(eval $(call BuildPackage,rsync)) +$(eval $(call BuildPackage,rsyncd)) diff --git a/net/rsync/files/rsyncd.conf b/net/rsync/files/rsyncd.conf new file mode 100644 index 000000000..896f36887 --- /dev/null +++ b/net/rsync/files/rsyncd.conf @@ -0,0 +1,15 @@ +# /etc/rsyncd.conf +# Minimal configuration for rsync daemon + +# Next line required for init script +pid file = /var/run/rsyncd.pid +use chroot = yes +uid = nobody +gid = nogroup +read only = yes + +# Simple example to configure server +#[openwrt-etc] +#path = /etc +#comment = OpenWrt Configuration Files +#exclude = /init.d diff --git a/net/rsync/files/rsyncd.init b/net/rsync/files/rsyncd.init new file mode 100644 index 000000000..d226d0f3f --- /dev/null +++ b/net/rsync/files/rsyncd.init @@ -0,0 +1,14 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2011-2014 OpenWrt.org + +START=90 +STOP=10 + +USE_PROCD=1 +PROG=/usr/bin/rsync + +start_service() { + procd_open_instance + procd_set_param command "$PROG" --daemon --no-detach + procd_close_instance +}