From 4145614571655c613690a579fa7bf87e8fe47c0f Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Tue, 24 Jun 2014 16:50:35 +0300 Subject: [PATCH 1/5] rsync: import from packages Signed-off-by: Maxim Storchak --- net/rsync/Makefile | 81 +++++++++++++++++++++++++++++++++++++ net/rsync/files/rsyncd.conf | 15 +++++++ net/rsync/files/rsyncd.init | 14 +++++++ 3 files changed, 110 insertions(+) create mode 100644 net/rsync/Makefile create mode 100644 net/rsync/files/rsyncd.conf create mode 100644 net/rsync/files/rsyncd.init diff --git a/net/rsync/Makefile b/net/rsync/Makefile new file mode 100644 index 0000000000..f66c694f14 --- /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 0000000000..896f368877 --- /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 0000000000..d226d0f3fa --- /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 +} From 43d63745a4e7aae4e53bd760d903a3f15cf04b96 Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Tue, 24 Jun 2014 16:53:09 +0300 Subject: [PATCH 2/5] rsync: update to the latest, add myself as a maintainter Signed-off-by: Maxim Storchak --- net/rsync/Makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/net/rsync/Makefile b/net/rsync/Makefile index f66c694f14..930d43088d 100644 --- a/net/rsync/Makefile +++ b/net/rsync/Makefile @@ -8,12 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rsync -PKG_VERSION:=3.1.0 -PKG_RELEASE:=2 +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:=3be148772a33224771a8d4d2a028b132 +PKG_MD5SUM:=43bd6676f0b404326eee2d63be3cdcfe +PKG_MAINTAINER:=Maxim Storchak PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 From bbf5f89801dfd009bdad389b49487de0284d444c Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Fri, 27 Jun 2014 10:54:59 +0300 Subject: [PATCH 3/5] attr: add xattr tools and libs Signed-off-by: Maxim Storchak --- utils/attr/Makefile | 102 ++++++++++++++++++ .../patches/100-no-gettext_configure.patch | 21 ++++ .../attr/patches/101-no-gettext_autogen.patch | 9 ++ .../patches/102-no-gettext_Makefile.patch | 13 +++ 4 files changed, 145 insertions(+) create mode 100644 utils/attr/Makefile create mode 100644 utils/attr/patches/100-no-gettext_configure.patch create mode 100644 utils/attr/patches/101-no-gettext_autogen.patch create mode 100644 utils/attr/patches/102-no-gettext_Makefile.patch diff --git a/utils/attr/Makefile b/utils/attr/Makefile new file mode 100644 index 0000000000..a770eb7004 --- /dev/null +++ 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 +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 new file mode 100644 index 0000000000..2e8b4f4cd6 --- /dev/null +++ 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 new file mode 100644 index 0000000000..1fad67a13b --- /dev/null +++ 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 new file mode 100644 index 0000000000..76c8dcd3aa --- /dev/null +++ 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 \ From c9b56fef35fc9eefd9ac25dcf9b5c93cb502733d Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Fri, 27 Jun 2014 10:55:15 +0300 Subject: [PATCH 4/5] acl: add ACL tools and libs Signed-off-by: Maxim Storchak --- utils/acl/Makefile | 98 +++++++++++++++++++ .../patches/100-no-gettext_configure.patch | 21 ++++ .../acl/patches/101-no-gettext_autogen.patch | 9 ++ .../acl/patches/102-no-gettext_Makefile.patch | 13 +++ 4 files changed, 141 insertions(+) create mode 100644 utils/acl/Makefile create mode 100644 utils/acl/patches/100-no-gettext_configure.patch create mode 100644 utils/acl/patches/101-no-gettext_autogen.patch create mode 100644 utils/acl/patches/102-no-gettext_Makefile.patch diff --git a/utils/acl/Makefile b/utils/acl/Makefile new file mode 100644 index 0000000000..c30424660b --- /dev/null +++ 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 +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 new file mode 100644 index 0000000000..e7b419e746 --- /dev/null +++ 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 new file mode 100644 index 0000000000..1fad67a13b --- /dev/null +++ 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 new file mode 100644 index 0000000000..d7e7377a91 --- /dev/null +++ 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 \ From 174ee670428e2c7316f14c8600a038738deed2ae Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Fri, 27 Jun 2014 10:50:05 +0300 Subject: [PATCH 5/5] rsync: add support for ACL and XATTR Signed-off-by: Maxim Storchak --- net/rsync/Config.in | 12 ++++++++++++ net/rsync/Makefile | 21 ++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 net/rsync/Config.in diff --git a/net/rsync/Config.in b/net/rsync/Config.in new file mode 100644 index 0000000000..c782880693 --- /dev/null +++ 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 index 930d43088d..a732722b43 100644 --- a/net/rsync/Makefile +++ b/net/rsync/Makefile @@ -26,10 +26,27 @@ define Package/rsync CATEGORY:=Network SUBMENU:=File Transfer TITLE:=Fast remote file copy program (like rcp) - DEPENDS:=+libpopt +zlib + 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 @@ -54,8 +71,6 @@ CONFIGURE_ARGS += \ --with-included-zlib=no \ --disable-debug \ --disable-locale \ - --disable-xattr-support \ - --disable-acl-support \ define Package/rsync/install $(INSTALL_DIR) $(1)/usr/bin