commit dff066ee7d1bfb84feed75386f939e6ce949dfed
parent 630ae414b2958a0251bf087bd3bd33403d6e8374
Author: Florian Fainelli <f.fainelli@gmail.com>
Date: Fri, 27 Jun 2014 12:44:21 -0700
Merge pull request #60 from mstorchak/rsync_try2
rsync: import from packages, update to latest, add acl and xattr support
Diffstat:
12 files changed, 424 insertions(+), 0 deletions(-)
diff --git a/net/rsync/Config.in b/net/rsync/Config.in
@@ -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
diff --git a/net/rsync/Makefile b/net/rsync/Makefile
@@ -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))
diff --git a/net/rsync/files/rsyncd.conf 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
@@ -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
+}
diff --git a/utils/acl/Makefile b/utils/acl/Makefile
@@ -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))
diff --git a/utils/acl/patches/100-no-gettext_configure.patch b/utils/acl/patches/100-no-gettext_configure.patch
@@ -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
diff --git a/utils/acl/patches/101-no-gettext_autogen.patch b/utils/acl/patches/101-no-gettext_autogen.patch
@@ -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
diff --git a/utils/acl/patches/102-no-gettext_Makefile.patch b/utils/acl/patches/102-no-gettext_Makefile.patch
@@ -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 \
diff --git a/utils/attr/Makefile b/utils/attr/Makefile
@@ -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))
diff --git a/utils/attr/patches/100-no-gettext_configure.patch b/utils/attr/patches/100-no-gettext_configure.patch
@@ -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
diff --git a/utils/attr/patches/101-no-gettext_autogen.patch b/utils/attr/patches/101-no-gettext_autogen.patch
@@ -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
diff --git a/utils/attr/patches/102-no-gettext_Makefile.patch b/utils/attr/patches/102-no-gettext_Makefile.patch
@@ -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 \