diff options
author | Qing He <qing.he@intel.com> | 2010-07-06 16:56:06 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-07-16 16:25:17 +0100 |
commit | 549a171917447103dece54e9e9a3be16fe547905 (patch) | |
tree | b712380760f05db3295e3079b5e02fb1ec00c6fe | |
parent | dd05d05044017fb46b70f46503c76212aa606a9e (diff) | |
download | poky-549a171917447103dece54e9e9a3be16fe547905.tar.gz |
rsync: upgrade to version 3.0.7
from 2.6.9
2.6.9 is also preserved as the last known GPL2 version
changes:
- 3.0.7 has some new change to the autotools scripts, it uses
and configure.sh and checks its existence in Makefile, adapt
this by adding do_configure_{prepend,append}
- aclocal.m4 now also contains custom m4 macros, add acinclude.m4
in the files/
- add popt as build dependency. Besides, rsync can also link to
libacl and libattr. Possibly need to add them in the future, for
now, document the dependency
Signed-off-by: Qing He <qing.he@intel.com>
-rw-r--r-- | meta/packages/rsync/files/acinclude.m4 | 95 | ||||
-rw-r--r-- | meta/packages/rsync/rsync.inc | 24 | ||||
-rw-r--r-- | meta/packages/rsync/rsync_2.6.9.bb | 20 | ||||
-rw-r--r-- | meta/packages/rsync/rsync_3.0.7.bb | 16 |
4 files changed, 138 insertions, 17 deletions
diff --git a/meta/packages/rsync/files/acinclude.m4 b/meta/packages/rsync/files/acinclude.m4 new file mode 100644 index 0000000000..735b41dec8 --- /dev/null +++ b/meta/packages/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/packages/rsync/rsync.inc b/meta/packages/rsync/rsync.inc new file mode 100644 index 0000000000..fdc7e37cf6 --- /dev/null +++ b/meta/packages/rsync/rsync.inc | |||
@@ -0,0 +1,24 @@ | |||
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 | PRIORITY = "optional" | ||
6 | |||
7 | # GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0) | ||
8 | LICENSE = "GPLv3+" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
10 | |||
11 | # needs to add acl and attr | ||
12 | DEPENDS = "popt" | ||
13 | |||
14 | SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \ | ||
15 | file://rsyncd.conf" | ||
16 | |||
17 | inherit autotools | ||
18 | |||
19 | do_install_append() { | ||
20 | install -d ${D}/etc | ||
21 | install -m 0644 ${WORKDIR}/rsyncd.conf ${D}/etc | ||
22 | } | ||
23 | |||
24 | EXTRA_OEMAKE='STRIP=""' | ||
diff --git a/meta/packages/rsync/rsync_2.6.9.bb b/meta/packages/rsync/rsync_2.6.9.bb index 2b0275b292..a9b5c86d8f 100644 --- a/meta/packages/rsync/rsync_2.6.9.bb +++ b/meta/packages/rsync/rsync_2.6.9.bb | |||
@@ -1,20 +1,6 @@ | |||
1 | DESCRIPTION = "A file-synchronization tool" | 1 | require rsync.inc |
2 | HOMEPAGE = "http://rsync.samba.org/" | ||
3 | BUGTRACKER = "http://rsync.samba.org/bugzilla.html" | ||
4 | SECTION = "console/network" | ||
5 | PRIORITY = "optional" | ||
6 | 2 | ||
7 | # GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0) | ||
8 | LICENSE = "GPLv2+" | 3 | LICENSE = "GPLv2+" |
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c" | ||
9 | 5 | ||
10 | SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \ | 6 | PR = "r1" |
11 | file://rsyncd.conf" | ||
12 | |||
13 | inherit autotools | ||
14 | |||
15 | do_install_append() { | ||
16 | install -d ${D}/etc | ||
17 | install -m 0644 ${WORKDIR}/rsyncd.conf ${D}/etc | ||
18 | } | ||
19 | |||
20 | EXTRA_OEMAKE='STRIP=""' | ||
diff --git a/meta/packages/rsync/rsync_3.0.7.bb b/meta/packages/rsync/rsync_3.0.7.bb new file mode 100644 index 0000000000..61355d7d4c --- /dev/null +++ b/meta/packages/rsync/rsync_3.0.7.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | require rsync.inc | ||
2 | |||
3 | PR = "r0" | ||
4 | |||
5 | SRC_URI += "file://acinclude.m4" | ||
6 | |||
7 | # rsync 3.0 uses configure.sh instead of configure, and | ||
8 | # makefile checks the existence of configure.sh | ||
9 | do_configure_prepend () { | ||
10 | rm -f configure configure.sh | ||
11 | cp -f ${WORKDIR}/acinclude.m4 ${S}/ | ||
12 | } | ||
13 | |||
14 | do_configure_append () { | ||
15 | cp -f configure configure.sh | ||
16 | } | ||