Merge pull request #60 from mstorchak/rsync_try2

rsync: import from packages, update to latest, add acl and xattr support
This commit is contained in:
Florian Fainelli 2014-06-27 12:44:21 -07:00
commit dff066ee7d
12 changed files with 424 additions and 0 deletions

12
net/rsync/Config.in Normal file
View File

@ -0,0 +1,12 @@
if PACKAGE_rsync
config RSYNC_xattr
bool
prompt "Enable xattr support"
default n
config RSYNC_acl
bool
prompt "Enable ACL support"
default n
endif

97
net/rsync/Makefile Normal file
View File

@ -0,0 +1,97 @@
#
# 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.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://rsync.samba.org/ftp/rsync/src
PKG_MD5SUM:=43bd6676f0b404326eee2d63be3cdcfe
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
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 +RSYNC_xattr:libattr +RSYNC_acl:libacl
URL:=http://rsync.samba.org/
MENU:=1
endef
define Package/rsync/config
source "$(SOURCE)/Config.in"
endef
ifeq ($(CONFIG_RSYNC_xattr),y)
CONFIGURE_ARGS+= --enable-xattr-support
else
CONFIGURE_ARGS+= --disable-xattr-support
endif
ifeq ($(CONFIG_RSYNC_acl),y)
CONFIGURE_ARGS+= --enable-acl-support
else
CONFIGURE_ARGS+= --disable-acl-support
endif
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 \
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))

View File

@ -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

View File

@ -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
}

98
utils/acl/Makefile Normal file
View File

@ -0,0 +1,98 @@
#
# Copyright (C) 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:=acl
PKG_REV:=f2a5f57a20ffa007abc1fa24df1f76e18b74a425
PKG_VERSION:=20140610
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=git://git.sv.gnu.org/acl.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/acl/Default
TITLE:=Access control list (ACL) manipulation
URL:=http://savannah.nongnu.org/projects/acl
SUBMENU:=Filesystem
endef
define Package/acl/Default/description
Access control list support
endef
define Package/acl
$(call Package/acl/Default)
SECTION:=utils
CATEGORY:=Utilities
TITLE+=utils
DEPENDS:=+libacl
endef
define Package/libacl
$(call Package/acl/Default)
SECTION:=libs
CATEGORY:=Libraries
TITLE+=library
DEPENDS:=+libattr
KCONFIG:= \
CONFIG_EXT4_FS_POSIX_ACL=y \
CONFIG_FS_POSIX_ACL=y \
CONFIG_HFSPLUS_FS_POSIX_ACL=y \
CONFIG_JFFS2_FS_POSIX_ACL=y \
CONFIG_JFS_POSIX_ACL=y \
CONFIG_TMPFS_POSIX_ACL=y \
CONFIG_XFS_POSIX_ACL=y \
endef
define Package/libacl/description
$(call Package/acl/Default/description)
This package provides libacl
endef
define Package/acl/description
$(call Package/acl/Default/description)
This package provides ACL manipulation utilities
- chacl
- getfacl
- setfacl
endef
CONFIGURE_ARGS += --enable-static --enable-shared
define Build/Prepare
$(call Build/Prepare/Default)
(cd $(PKG_BUILD_DIR); ./autogen.sh;);
endef
define Package/acl/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
endef
define Package/libacl/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
endef
define Build/InstallDev
mkdir -p $(1)/usr/include
mkdir -p $(1)/usr/lib/pkgconfig
$(CP) -r $(PKG_INSTALL_DIR)/usr/{include,lib} $(1)/usr/
endef
$(eval $(call BuildPackage,acl))
$(eval $(call BuildPackage,libacl))

View File

@ -0,0 +1,21 @@
diff --git a/configure.ac b/configure.ac
index 2182e81..4836b3d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,9 +31,6 @@ AC_FUNC_GCC_VISIBILITY
AM_PROG_AR
LT_INIT
-AM_GNU_GETTEXT_VERSION([0.18.2])
-AM_GNU_GETTEXT([external])
-
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [Enable extra debugging])])
AS_IF([test "x$enable_debug" = "xyes"],
@@ -61,6 +58,5 @@ AC_CONFIG_COMMANDS([include/sys],
AC_CONFIG_FILES([
libacl.pc
Makefile
- po/Makefile.in
])
AC_OUTPUT

View File

@ -0,0 +1,9 @@
diff --git a/autogen.sh b/autogen.sh
index a98a3c5..982aff1 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,2 @@
#!/bin/sh -ex
-po/update-potfiles
-autopoint --force
exec autoreconf -f -i

View File

@ -0,0 +1,13 @@
diff --git a/Makefile.am b/Makefile.am
index 47d2a4e..d02ee91 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,8 +3,6 @@ ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = \
exports
-SUBDIRS = po
-
AM_CPPFLAGS = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \

102
utils/attr/Makefile Normal file
View File

@ -0,0 +1,102 @@
#
# Copyright (C) 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:=attr
PKG_REV:=50fc862d69984089ce09138b3350ee7762290403
PKG_VERSION:=20140610
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=git://git.sv.gnu.org/attr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/attr/Default
TITLE:=Extended attributes (xattr) manipulation
URL:=http://savannah.nongnu.org/projects/attr
SUBMENU:=Filesystem
endef
define Package/attr/Default/description
Extended attributes support
endef
define Package/attr
$(call Package/attr/Default)
SECTION:=utils
CATEGORY:=Utilities
TITLE+=utils
DEPENDS:=+libattr
endef
define Package/libattr
$(call Package/attr/Default)
SECTION:=libs
CATEGORY:=Libraries
TITLE+=library
KCONFIG:= \
CONFIG_CIFS_XATTR=y \
CONFIG_EXT4_FS_XATTR=y \
CONFIG_JFFS2_FS_XATTR=y \
CONFIG_REISERFS_FS_XATTR=y \
CONFIG_SQUASHFS_XATTR=y \
CONFIG_TMPFS_XATTR=y \
endef
define Package/libattr/description
$(call Package/attr/Default/description)
This package provides libattr
endef
define Package/attr/description
$(call Package/attr/Default/description)
This package provides xattr manipulation utilities
- attr
- getfattr
- setfattr
endef
CONFIGURE_ARGS += --enable-static --enable-shared
define Build/Prepare
$(call Build/Prepare/Default)
(cd $(PKG_BUILD_DIR); ./autogen.sh;);
endef
define Package/attr/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
endef
define Package/libattr/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/etc
$(CP) $(PKG_INSTALL_DIR)/etc $(1)/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
endef
define Package/attr/conffiles
/etc/xattr.conf
endef
define Build/InstallDev
mkdir -p $(1)/usr/include
mkdir -p $(1)/usr/lib/pkgconfig
$(CP) -r $(PKG_INSTALL_DIR)/usr/{include,lib} $(1)/usr/
endef
$(eval $(call BuildPackage,attr))
$(eval $(call BuildPackage,libattr))

View File

@ -0,0 +1,21 @@
diff --git a/configure.ac b/configure.ac
index 8a1ca39..ceee757 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,9 +33,6 @@ AC_FUNC_ALLOCA
AM_PROG_AR
LT_INIT
-AM_GNU_GETTEXT_VERSION([0.18.2])
-AM_GNU_GETTEXT([external])
-
dnl Most people get these man(2) pages from the system now.
AC_ARG_ENABLE([man2],
[AS_HELP_STRING([--enable-man2], [Install man(2) pages])])
@@ -59,6 +56,5 @@ AC_CONFIG_COMMANDS([include/attr],
AC_CONFIG_FILES([
libattr.pc
Makefile
- po/Makefile.in
])
AC_OUTPUT

View File

@ -0,0 +1,9 @@
diff --git a/autogen.sh b/autogen.sh
index a98a3c5..982aff1 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,2 @@
#!/bin/sh -ex
-po/update-potfiles
-autopoint --force
exec autoreconf -f -i

View File

@ -0,0 +1,13 @@
diff --git a/Makefile.am b/Makefile.am
index a3e8353..381bb55 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,8 +3,6 @@ ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = \
exports
-SUBDIRS = po
-
AM_CPPFLAGS = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \