diff options
author | Adrian Dudau <adrian.dudau@enea.com> | 2013-12-12 13:38:32 +0100 |
---|---|---|
committer | Adrian Dudau <adrian.dudau@enea.com> | 2013-12-12 13:50:20 +0100 |
commit | e2e6f6fe07049f33cb6348780fa975162752e421 (patch) | |
tree | b1813295411235d1297a0ed642b1346b24fdfb12 /meta/recipes-devtools/rsync | |
download | poky-e2e6f6fe07049f33cb6348780fa975162752e421.tar.gz |
initial commit of Enea Linux 3.1
Migrated from the internal git server on the dora-enea branch
Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'meta/recipes-devtools/rsync')
-rw-r--r-- | meta/recipes-devtools/rsync/files/acinclude.m4 | 95 | ||||
-rw-r--r-- | meta/recipes-devtools/rsync/files/rsyncd.conf | 15 | ||||
-rw-r--r-- | meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch | 70 | ||||
-rw-r--r-- | meta/recipes-devtools/rsync/rsync-2.6.9/rsyncd.conf | 15 | ||||
-rw-r--r-- | meta/recipes-devtools/rsync/rsync.inc | 23 | ||||
-rw-r--r-- | meta/recipes-devtools/rsync/rsync_2.6.9.bb | 28 | ||||
-rw-r--r-- | meta/recipes-devtools/rsync/rsync_3.0.9.bb | 27 |
7 files changed, 273 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rsync/files/acinclude.m4 b/meta/recipes-devtools/rsync/files/acinclude.m4 new file mode 100644 index 0000000000..735b41dec8 --- /dev/null +++ b/meta/recipes-devtools/rsync/files/acinclude.m4 | |||
@@ -0,0 +1,95 @@ | |||
1 | dnl verbatim renamed from aclocal.m4 in rsync_3.0.7 | ||
2 | dnl 07/06/2010 - qhe | ||
3 | |||
4 | dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)] | ||
5 | dnl if the cache file is inconsistent with the current host, | ||
6 | dnl target and build system types, execute CMD or print a default | ||
7 | dnl error message. | ||
8 | AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [ | ||
9 | AC_REQUIRE([AC_CANONICAL_SYSTEM]) | ||
10 | AC_MSG_CHECKING([config.cache system type]) | ||
11 | if { test x"${ac_cv_host_system_type+set}" = x"set" && | ||
12 | test x"$ac_cv_host_system_type" != x"$host"; } || | ||
13 | { test x"${ac_cv_build_system_type+set}" = x"set" && | ||
14 | test x"$ac_cv_build_system_type" != x"$build"; } || | ||
15 | { test x"${ac_cv_target_system_type+set}" = x"set" && | ||
16 | test x"$ac_cv_target_system_type" != x"$target"; }; then | ||
17 | AC_MSG_RESULT([different]) | ||
18 | ifelse($#, 1, [$1], | ||
19 | [AC_MSG_ERROR(["you must remove config.cache and restart configure"])]) | ||
20 | else | ||
21 | AC_MSG_RESULT([same]) | ||
22 | fi | ||
23 | ac_cv_host_system_type="$host" | ||
24 | ac_cv_build_system_type="$build" | ||
25 | ac_cv_target_system_type="$target" | ||
26 | ]) | ||
27 | |||
28 | dnl Check for socklen_t: historically on BSD it is an int, and in | ||
29 | dnl POSIX 1g it is a type of its own, but some platforms use different | ||
30 | dnl types for the argument to getsockopt, getpeername, etc. So we | ||
31 | dnl have to test to find something that will work. | ||
32 | |||
33 | dnl This is no good, because passing the wrong pointer on C compilers is | ||
34 | dnl likely to only generate a warning, not an error. We don't call this at | ||
35 | dnl the moment. | ||
36 | |||
37 | AC_DEFUN([TYPE_SOCKLEN_T], | ||
38 | [ | ||
39 | AC_CHECK_TYPE([socklen_t], ,[ | ||
40 | AC_MSG_CHECKING([for socklen_t equivalent]) | ||
41 | AC_CACHE_VAL([rsync_cv_socklen_t_equiv], | ||
42 | [ | ||
43 | # Systems have either "struct sockaddr *" or | ||
44 | # "void *" as the second argument to getpeername | ||
45 | rsync_cv_socklen_t_equiv= | ||
46 | for arg2 in "struct sockaddr" void; do | ||
47 | for t in int size_t unsigned long "unsigned long"; do | ||
48 | AC_TRY_COMPILE([ | ||
49 | #include <sys/types.h> | ||
50 | #include <sys/socket.h> | ||
51 | |||
52 | int getpeername (int, $arg2 *, $t *); | ||
53 | ],[ | ||
54 | $t len; | ||
55 | getpeername(0,0,&len); | ||
56 | ],[ | ||
57 | rsync_cv_socklen_t_equiv="$t" | ||
58 | break | ||
59 | ]) | ||
60 | done | ||
61 | done | ||
62 | |||
63 | if test "x$rsync_cv_socklen_t_equiv" = x; then | ||
64 | AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) | ||
65 | fi | ||
66 | ]) | ||
67 | AC_MSG_RESULT($rsync_cv_socklen_t_equiv) | ||
68 | AC_DEFINE_UNQUOTED(socklen_t, $rsync_cv_socklen_t_equiv, | ||
69 | [type to use in place of socklen_t if not defined])], | ||
70 | [#include <sys/types.h> | ||
71 | #include <sys/socket.h>]) | ||
72 | ]) | ||
73 | |||
74 | dnl AC_HAVE_TYPE(TYPE,INCLUDES) | ||
75 | AC_DEFUN([AC_HAVE_TYPE], [ | ||
76 | AC_REQUIRE([AC_HEADER_STDC]) | ||
77 | cv=`echo "$1" | sed 'y%./+- %__p__%'` | ||
78 | AC_MSG_CHECKING(for $1) | ||
79 | AC_CACHE_VAL([ac_cv_type_$cv], | ||
80 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
81 | AC_INCLUDES_DEFAULT | ||
82 | $2]], | ||
83 | [[$1 foo;]])], | ||
84 | [eval "ac_cv_type_$cv=yes"], | ||
85 | [eval "ac_cv_type_$cv=no"]))dnl | ||
86 | ac_foo=`eval echo \\$ac_cv_type_$cv` | ||
87 | AC_MSG_RESULT($ac_foo) | ||
88 | if test "$ac_foo" = yes; then | ||
89 | ac_tr_hdr=HAVE_`echo $1 | sed 'y%abcdefghijklmnopqrstuvwxyz./- %ABCDEFGHIJKLMNOPQRSTUVWXYZ____%'` | ||
90 | if false; then | ||
91 | AC_CHECK_TYPES($1) | ||
92 | fi | ||
93 | AC_DEFINE_UNQUOTED($ac_tr_hdr, 1, [Define if you have type `$1']) | ||
94 | fi | ||
95 | ]) | ||
diff --git a/meta/recipes-devtools/rsync/files/rsyncd.conf b/meta/recipes-devtools/rsync/files/rsyncd.conf new file mode 100644 index 0000000000..845f5b33f5 --- /dev/null +++ b/meta/recipes-devtools/rsync/files/rsyncd.conf | |||
@@ -0,0 +1,15 @@ | |||
1 | # /etc/rsyncd.conf | ||
2 | |||
3 | # Minimal configuration file for rsync daemon | ||
4 | # See rsync(1) and rsyncd.conf(5) man pages for help | ||
5 | |||
6 | # This file is required by rsync --daemon | ||
7 | pid file = /var/run/rsyncd.pid | ||
8 | use chroot = yes | ||
9 | read only = yes | ||
10 | |||
11 | # Simple example for enabling your own local rsync server | ||
12 | #[everything] | ||
13 | # path = / | ||
14 | # comment = Everything except /etc exposed | ||
15 | # exclude = /etc | ||
diff --git a/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch b/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch new file mode 100644 index 0000000000..f054452f37 --- /dev/null +++ b/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch | |||
@@ -0,0 +1,70 @@ | |||
1 | Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ] | ||
2 | |||
3 | The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to | ||
4 | address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091 | ||
5 | |||
6 | Date: Tue May 10 10:07:36 2011 +0800 | ||
7 | Dexuan Cui <dexuan.cui@intel.com> | ||
8 | |||
9 | diff --git a/sender.c b/sender.c | ||
10 | index 6fcaa65..053a8f1 100644 | ||
11 | --- a/sender.c | ||
12 | +++ b/sender.c | ||
13 | @@ -123,6 +123,7 @@ void successful_send(int ndx) | ||
14 | char fname[MAXPATHLEN]; | ||
15 | struct file_struct *file; | ||
16 | unsigned int offset; | ||
17 | + size_t l = 0; | ||
18 | |||
19 | if (ndx < 0 || ndx >= the_file_list->count) | ||
20 | return; | ||
21 | @@ -133,6 +134,20 @@ void successful_send(int ndx) | ||
22 | file->dir.root, "/", NULL); | ||
23 | } else | ||
24 | offset = 0; | ||
25 | + | ||
26 | + l = offset + 1; | ||
27 | + if (file) { | ||
28 | + if (file->dirname) | ||
29 | + l += strlen(file->dirname); | ||
30 | + if (file->basename) | ||
31 | + l += strlen(file->basename); | ||
32 | + } | ||
33 | + | ||
34 | + if (l >= sizeof(fname)) { | ||
35 | + rprintf(FERROR, "Overlong pathname\n"); | ||
36 | + exit_cleanup(RERR_FILESELECT); | ||
37 | + } | ||
38 | + | ||
39 | f_name(file, fname + offset); | ||
40 | if (remove_source_files) { | ||
41 | if (do_unlink(fname) == 0) { | ||
42 | @@ -224,6 +239,7 @@ void send_files(struct file_list *flist, int f_out, int f_in) | ||
43 | enum logcode log_code = log_before_transfer ? FLOG : FINFO; | ||
44 | int f_xfer = write_batch < 0 ? batch_fd : f_out; | ||
45 | int i, j; | ||
46 | + size_t l = 0; | ||
47 | |||
48 | if (verbose > 2) | ||
49 | rprintf(FINFO, "send_files starting\n"); | ||
50 | @@ -259,6 +275,20 @@ void send_files(struct file_list *flist, int f_out, int f_in) | ||
51 | fname[offset++] = '/'; | ||
52 | } else | ||
53 | offset = 0; | ||
54 | + | ||
55 | + l = offset + 1; | ||
56 | + if (file) { | ||
57 | + if (file->dirname) | ||
58 | + l += strlen(file->dirname); | ||
59 | + if (file->basename) | ||
60 | + l += strlen(file->basename); | ||
61 | + } | ||
62 | + | ||
63 | + if (l >= sizeof(fname)) { | ||
64 | + rprintf(FERROR, "Overlong pathname\n"); | ||
65 | + exit_cleanup(RERR_FILESELECT); | ||
66 | + } | ||
67 | + | ||
68 | fname2 = f_name(file, fname + offset); | ||
69 | |||
70 | if (verbose > 2) | ||
diff --git a/meta/recipes-devtools/rsync/rsync-2.6.9/rsyncd.conf b/meta/recipes-devtools/rsync/rsync-2.6.9/rsyncd.conf new file mode 100644 index 0000000000..845f5b33f5 --- /dev/null +++ b/meta/recipes-devtools/rsync/rsync-2.6.9/rsyncd.conf | |||
@@ -0,0 +1,15 @@ | |||
1 | # /etc/rsyncd.conf | ||
2 | |||
3 | # Minimal configuration file for rsync daemon | ||
4 | # See rsync(1) and rsyncd.conf(5) man pages for help | ||
5 | |||
6 | # This file is required by rsync --daemon | ||
7 | pid file = /var/run/rsyncd.pid | ||
8 | use chroot = yes | ||
9 | read only = yes | ||
10 | |||
11 | # Simple example for enabling your own local rsync server | ||
12 | #[everything] | ||
13 | # path = / | ||
14 | # comment = Everything except /etc exposed | ||
15 | # exclude = /etc | ||
diff --git a/meta/recipes-devtools/rsync/rsync.inc b/meta/recipes-devtools/rsync/rsync.inc new file mode 100644 index 0000000000..fd337df1cb --- /dev/null +++ b/meta/recipes-devtools/rsync/rsync.inc | |||
@@ -0,0 +1,23 @@ | |||
1 | DESCRIPTION = "A file-synchronization tool" | ||
2 | HOMEPAGE = "http://rsync.samba.org/" | ||
3 | BUGTRACKER = "http://rsync.samba.org/bugzilla.html" | ||
4 | SECTION = "console/network" | ||
5 | |||
6 | # GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0) | ||
7 | LICENSE = "GPLv3+" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
9 | |||
10 | # needs to add acl and attr | ||
11 | DEPENDS = "popt" | ||
12 | |||
13 | SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \ | ||
14 | file://rsyncd.conf" | ||
15 | |||
16 | inherit autotools | ||
17 | |||
18 | do_install_append() { | ||
19 | install -d ${D}/etc | ||
20 | install -m 0644 ${WORKDIR}/rsyncd.conf ${D}/etc | ||
21 | } | ||
22 | |||
23 | EXTRA_OEMAKE='STRIP=""' | ||
diff --git a/meta/recipes-devtools/rsync/rsync_2.6.9.bb b/meta/recipes-devtools/rsync/rsync_2.6.9.bb new file mode 100644 index 0000000000..8c8b115ed6 --- /dev/null +++ b/meta/recipes-devtools/rsync/rsync_2.6.9.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | DESCRIPTION = "A file-synchronization tool" | ||
2 | HOMEPAGE = "http://rsync.samba.org/" | ||
3 | BUGTRACKER = "http://rsync.samba.org/bugzilla.html" | ||
4 | SECTION = "console/network" | ||
5 | |||
6 | # needs to add acl and attr | ||
7 | DEPENDS = "popt" | ||
8 | |||
9 | SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \ | ||
10 | file://rsync-2.6.9-fname-obo.patch \ | ||
11 | file://rsyncd.conf" | ||
12 | |||
13 | SRC_URI[md5sum] = "996d8d8831dbca17910094e56dcb5942" | ||
14 | SRC_URI[sha256sum] = "ca437301becd890e73300bc69a39189ff1564baa761948ff149b3dd7bde633f9" | ||
15 | |||
16 | inherit autotools | ||
17 | |||
18 | do_install_append() { | ||
19 | install -d ${D}${sysconfdir} | ||
20 | install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir} | ||
21 | } | ||
22 | |||
23 | EXTRA_OEMAKE='STRIP=""' | ||
24 | |||
25 | LICENSE = "GPLv2+" | ||
26 | LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c" | ||
27 | |||
28 | PR = "r4" | ||
diff --git a/meta/recipes-devtools/rsync/rsync_3.0.9.bb b/meta/recipes-devtools/rsync/rsync_3.0.9.bb new file mode 100644 index 0000000000..e296555fca --- /dev/null +++ b/meta/recipes-devtools/rsync/rsync_3.0.9.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | require rsync.inc | ||
2 | |||
3 | PR = "r0" | ||
4 | |||
5 | SRC_URI += "file://acinclude.m4" | ||
6 | |||
7 | SRC_URI[md5sum] = "5ee72266fe2c1822333c407e1761b92b" | ||
8 | SRC_URI[sha256sum] = "30f10f8dd5490d28240d4271bb652b1da7a60b22ed2b9ae28090668de9247c05" | ||
9 | |||
10 | EXTRA_OECONF += "--disable-xattr-support --disable-acl-support" | ||
11 | |||
12 | # rsync 3.0 uses configure.sh instead of configure, and | ||
13 | # makefile checks the existence of configure.sh | ||
14 | do_configure_prepend () { | ||
15 | rm -f ${S}/configure ${S}/configure.sh | ||
16 | cp -f ${WORKDIR}/acinclude.m4 ${S}/ | ||
17 | |||
18 | # by default, if crosscompiling, rsync | ||
19 | # disables a number of capabilities, hardlinking | ||
20 | # symlinks and special files (ie devices) | ||
21 | export rsync_cv_can_hardlink_special=yes | ||
22 | export rsync_cv_can_hardlink_symlink=yes | ||
23 | } | ||
24 | |||
25 | do_configure_append () { | ||
26 | cp -f ${S}/configure ${S}/configure.sh | ||
27 | } | ||