summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/rsync/Config.in8
-rw-r--r--package/rsync/Makefile.in3
-rw-r--r--package/rsync/rsync.mk47
4 files changed, 59 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 3286d8c88..fd1962e06 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -88,6 +88,7 @@ source "package/pppd/Config.in"
source "package/procps/Config.in"
source "package/python/Config.in"
source "package/raidtools/Config.in"
+source "package/rsync/Config.in"
source "package/rxvt/Config.in"
source "package/sfdisk/Config.in"
source "package/slang/Config.in"
diff --git a/package/rsync/Config.in b/package/rsync/Config.in
new file mode 100644
index 000000000..c251925f6
--- /dev/null
+++ b/package/rsync/Config.in
@@ -0,0 +1,8 @@
+#
+
+config BR2_PACKAGE_RSYNC
+ bool"rsync"
+ default n
+ help
+ Add help text here.
+
diff --git a/package/rsync/Makefile.in b/package/rsync/Makefile.in
new file mode 100644
index 000000000..63e9acf67
--- /dev/null
+++ b/package/rsync/Makefile.in
@@ -0,0 +1,3 @@
+ifeq ($(strip $(BR2_PACKAGE_RSYNC)),y)
+TARGETS+=rsync
+endif
diff --git a/package/rsync/rsync.mk b/package/rsync/rsync.mk
new file mode 100644
index 000000000..7befe4e9c
--- /dev/null
+++ b/package/rsync/rsync.mk
@@ -0,0 +1,47 @@
+#############################################################
+#
+# rsync
+#
+#############################################################
+RSYNC_VER:=2.6.3
+RSYNC_SOURCE:=rsync-$(RSYNC_VER).tar.gz
+RSYNC_SITE:=http://rsync.samba.org/ftp/rsync/$(RSYNC_SOURCE)
+RSYNC_DIR:=$(BUILD_DIR)/rsync-$(RSYNC_VER)
+RSYNC_CAT:=zcat
+RSYNC_BINARY:=rsync
+RSYNC_TARGET_BINARY:=usr/bin/rsync
+
+$(DL_DIR)/$(RSYNC_SOURCE):
+ $(WGET) -P $(DL_DIR) $(RSYNC_SITE)/$(RSYNC_SOURCE)
+
+$(RSYNC_DIR)/.unpacked: $(DL_DIR)/$(RSYNC_SOURCE)
+ $(RSYNC_CAT) $(DL_DIR)/$(RSYNC_SOURCE) | tar -C $(BUILD_DIR) -x$(TAR_VERBOSITY)f -
+ touch $(RSYNC_DIR)/.unpacked
+
+$(RSYNC_DIR)/.configured: $(RSYNC_DIR)/.unpacked
+ (cd $(RSYNC_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=/usr \
+ --with-included-popt \
+ );
+ touch $(RSYNC_DIR)/.configured
+
+$(RSYNC_DIR)/$(RSYNC_BINARY): $(RSYNC_DIR)/.configured
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) -C $(RSYNC_DIR)
+
+$(TARGET_DIR)/$(RSYNC_TARGET_BINARY): $(RSYNC_DIR)/$(RSYNC_BINARY)
+ install -D $(RSYNC_DIR)/$(RSYNC_BINARY) $(TARGET_DIR)/$(RSYNC_TARGET_BINARY)
+
+rsync: uclibc $(TARGET_DIR)/$(RSYNC_TARGET_BINARY)
+
+rsync-clean:
+ rm -f $(TARGET_DIR)/$(RSYNC_TARGET_BINARY)
+ -$(MAKE) -C $(RSYNC_DIR) clean
+
+rsync-dirclean:
+ rm -rf $(RSYNC_DIR)