Patchwork [1/1] aiccu: new package

login
register
mail settings
Submitter Michael Rommel
Date Sept. 5, 2013, 9:56 p.m.
Message ID <1378418213-22160-1-git-send-email-rommel@layer-7.net>
Download mbox | patch
Permalink /patch/272984/
State Superseded
Headers show

Comments

Michael Rommel - Sept. 5, 2013, 9:56 p.m.
Automatic IPv6 Connectivity Configuration Utility for users of a
IPv6 tunnel broker, developed by sixxs.net

Signed-off-by: Michael Rommel <rommel@layer-7.net>
---
 package/Config.in                                  |    1 +
 package/aiccu/Config.in                            |   21 ++++
 .../aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch |  104 ++++++++++++++++++++
 package/aiccu/aiccu.mk                             |   32 ++++++
 4 files changed, 158 insertions(+)
 create mode 100644 package/aiccu/Config.in
 create mode 100644 package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
 create mode 100644 package/aiccu/aiccu.mk
Thomas De Schampheleire - Sept. 7, 2013, 8:56 p.m.
Op 5-sep.-2013 23:57 schreef "Michael Rommel" <rommel@layer-7.net> het
volgende:
>
> Automatic IPv6 Connectivity Configuration Utility for users of a
> IPv6 tunnel broker, developed by sixxs.net
>
> Signed-off-by: Michael Rommel <rommel@layer-7.net>
> ---
>  package/Config.in                                  |    1 +
>  package/aiccu/Config.in                            |   21 ++++
>  .../aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch |  104
++++++++++++++++++++
>  package/aiccu/aiccu.mk                             |   32 ++++++
>  4 files changed, 158 insertions(+)
>  create mode 100644 package/aiccu/Config.in
>  create mode 100644 package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
>  create mode 100644 package/aiccu/aiccu.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 4e3469f..5e71e9a 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -716,6 +716,7 @@ source "package/sound-theme-freedesktop/Config.in"
>  endmenu
>
>  menu "Networking applications"
> +source "package/aiccu/Config.in"
>  source "package/aircrack-ng/Config.in"
>  source "package/argus/Config.in"
>  source "package/arptables/Config.in"
> diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in
> new file mode 100644
> index 0000000..1c6f554
> --- /dev/null
> +++ b/package/aiccu/Config.in
> @@ -0,0 +1,21 @@
> +config BR2_PACKAGE_AICCU
> +       bool "aiccu"
> +       depends on BR2_INET_IPV6
> +       depends on BR2_USE_WCHAR
> +       select BR2_PACKAGE_GNUTLS
> +       help
> +         SixXS Automatic IPv6 Connectivity Client Utility
> +
> +         AICCU (Automatic IPv6 Connectivity Client Utility) makes it
> +         easy for users to get IPv6 connectivity. After having
> +         requested an account, tunnel and optionally a subnet, AICCU
> +         can be used to automatically configure the tunnel. AICCU
> +         supports TIC (Tunnel Information & Control protocol), which it
> +         uses for retrieving the tunnel configuration information,
> +         AYIYA, which allows tunnels to be created even behind
> +         firewalls and NAT's.
> +
> +         http://www.sixxs.net/tools/aiccu/
> +
> +comment "aiccu requires a toolchain with IPv6 and WCHAR support"
> +       depends on !(BR2_INET_IPV6 && BR2_USE_WCHAR)
> diff --git a/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
b/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
> new file mode 100644
> index 0000000..d316f8f
> --- /dev/null
> +++ b/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
> @@ -0,0 +1,104 @@
> +aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and
types
> +resolver.c: fixes for selection of wrong resolver function under uclibc
> +
> +Signed-off-by: Michael Rommel <rommel@layer-7.net>
> +
> +diff -purN aiccu_20070115.orig/common/aiccu.h
aiccu_20070115/common/aiccu.h
> +--- aiccu_20070115.orig/common/aiccu.h 2007-01-15 13:01:43.000000000
+0100
> ++++ aiccu_20070115/common/aiccu.h      2013-08-31 23:50:53.651936146
+0200
> +@@ -111,7 +111,7 @@ struct AICCU_conf
> + #endif
> +
> + #ifdef AICCU_GNUTLS
> +-      gnutls_certificate_credentials  tls_cred;       /* GNUTLS
credentials */
> ++      gnutls_certificate_credentials_t tls_cred;      /* GNUTLS
credentials */
> + #endif
> +
> +       bool            daemonize;              /* Daemonize? */
> +diff -purN aiccu_20070115.orig/common/common.c
aiccu_20070115/common/common.c
> +--- aiccu_20070115.orig/common/common.c        2006-12-21
15:08:50.000000000 +0100
> ++++ aiccu_20070115/common/common.c     2013-09-01 01:21:36.031396740
+0200
> +@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void);
> + TLSSOCKET sock_alloc(void)
> + {
> + #ifdef AICCU_GNUTLS
> +-      /* Allow connections to servers that have OpenPGP keys as well */
> +-      const int       cert_type_priority[3] = { GNUTLS_CRT_X509,
GNUTLS_CRT_OPENPGP, 0 };
> +       int             ret;
> ++      const char      *err;
> + #endif /* AICCU_GNUTLS*/
> +
> +       TLSSOCKET       sock;
> +@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void)
> +       }
> +
> +       /* Use default priorities */
> +-      gnutls_set_default_priority(sock->session);
> +-      /* XXX: Return value is not documented in GNUTLS documentation! */
> +-
> +-      gnutls_certificate_type_set_priority(sock->session,
cert_type_priority);
> +-      /* XXX: Return value is not documented in GNUTLS documentation! */
> ++      ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err);
> ++      if (ret < 0)
> ++      {
> ++              if (ret == GNUTLS_E_INVALID_REQUEST)
> ++              {
> ++                      dolog( LOG_ERR, "TLS set priority failed, syntax
error at: %s\n", err);
> ++              }
> ++              free(sock);
> ++              return NULL;
> ++      }
> +
> +       /* Configure the x509 credentials for the current session */
> +       gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE,
g_aiccu->tls_cred);
> +@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock)
> +       }
> +
> +       /* Set the transport */
> +-      gnutls_transport_set_ptr(sock->session,
(gnutls_transport_ptr)sock->socket);
> ++      gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t)
sock->socket);
> +
> +       /* Perform the TLS handshake */
> +       ret = gnutls_handshake(sock->session);
> +diff -purN aiccu_20070115.orig/common/common.h
aiccu_20070115/common/common.h
> +--- aiccu_20070115.orig/common/common.h        2007-01-11
15:50:51.000000000 +0100
> ++++ aiccu_20070115/common/common.h     2013-08-31 23:26:13.683659455
+0200
> +@@ -381,7 +381,7 @@ struct tlssocket
> +       SOCKET                  socket;
> + #ifdef AICCU_GNUTLS
> +       bool                    tls_active;     /* TLS active? */
> +-      gnutls_session          session;        /* The GnuTLS sesision */
> ++      gnutls_session_t        session;        /* The GnuTLS sesision */
> + #endif
> + };
> +
> +diff -purN aiccu_20070115.orig/common/resolver.c
aiccu_20070115/common/resolver.c
> +--- aiccu_20070115.orig/common/resolver.c      2006-07-23
16:55:14.000000000 +0200
> ++++ aiccu_20070115/common/resolver.c   2013-08-31 23:44:31.574866862
+0200
> +@@ -26,7 +26,7 @@
> +
> + int getrrs(const char *label, int rrtype, void gotrec(unsigned int num,
int type, const char *record))
> + {
> +-#ifdef _LINUX
> ++#if defined(_LINUX) && !defined(__UCLIBC__)
> +       struct __res_state      res;
> + #endif
> +       unsigned char           answer[8192];
> +@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype
> +       uint16_t                type = 0, class = 0;
> +       uint32_t                ttl = 0;
> +
> +-#ifdef _LINUX
> ++#if defined(_LINUX) && !defined(__UCLIBC__)
> +       memset(&res, 0, sizeof(res));
> +       res.options = RES_DEBUG;
> +       res_ninit(&res);
> +@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype
> + #endif
> +
> +       memset(answer, 0, sizeof(answer));
> +-#ifdef _LINUX
> ++#if defined(_LINUX) && !defined(__UCLIBC__)
> +       ret = res_nquery(&res, label, C_IN, rrtype, answer,
sizeof(answer));
> + #else
> +       ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));
> diff --git a/package/aiccu/aiccu.mk b/package/aiccu/aiccu.mk
> new file mode 100644
> index 0000000..05f4ba0
> --- /dev/null
> +++ b/package/aiccu/aiccu.mk
> @@ -0,0 +1,32 @@
>
+################################################################################
> +#
> +# aiccu
> +#
>
+################################################################################
> +
> +AICCU_VERSION = 20070115
> +AICCU_SOURCE = aiccu_$(AICCU_VERSION).tar.gz
> +AICCU_SITE = http://www.sixxs.net/archive/sixxs/aiccu/unix/
> +AICCU_LICENSE = SixXS License, concise redistribution license
> +AICCU_LICENSE_FILES = doc/LICENSE
> +AICCU_DEPENDENCIES = gnutls
> +
> +define AICCU_BUILD_CMDS
> +       $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
> +endef
> +
> +define AICCU_INSTALL_TARGET_CMDS
> +       $(INSTALL) -D -m 0755 $(@D)/unix-console/aiccu \
> +               $(TARGET_DIR)/usr/sbin/aiccu
> +       [ -f $(TARGET_DIR)/etc/aiccu.conf ] || \
> +               $(INSTALL) -D -m 0644 $(@D)/doc/aiccu.conf \
> +               $(TARGET_DIR)/etc/aiccu.conf
> +endef
> +
> +define AICCU_INSTALL_INIT_SYSV
> +       [ -f $(TARGET_DIR)/etc/init.d/S50aiccu ] || \
> +               $(INSTALL) -D -m 0755 $(@D)/doc/aiccu.init \
> +               $(TARGET_DIR)/etc/init.d/S50aiccu
> +endef
> +
> +$(eval $(generic-package))
> --
> 1.7.9.5

Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Thomas De Schampheleire - Sept. 8, 2013, 11:39 a.m.
Hi Michael,

On Sat, Sep 7, 2013 at 10:56 PM, Thomas De Schampheleire
<patrickdepinguin@gmail.com> wrote:
>
> Op 5-sep.-2013 23:57 schreef "Michael Rommel" <rommel@layer-7.net> het
> volgende:
>
>
>>
>> Automatic IPv6 Connectivity Configuration Utility for users of a
>> IPv6 tunnel broker, developed by sixxs.net
>>
>> Signed-off-by: Michael Rommel <rommel@layer-7.net>
>> ---
>>  package/Config.in                                  |    1 +
>>  package/aiccu/Config.in                            |   21 ++++
>>  .../aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch |  104
>> ++++++++++++++++++++
>>  package/aiccu/aiccu.mk                             |   32 ++++++
>>  4 files changed, 158 insertions(+)
>>  create mode 100644 package/aiccu/Config.in
>>  create mode 100644 package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
>>  create mode 100644 package/aiccu/aiccu.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 4e3469f..5e71e9a 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -716,6 +716,7 @@ source "package/sound-theme-freedesktop/Config.in"
>>  endmenu
>>
>>  menu "Networking applications"
>> +source "package/aiccu/Config.in"
>>  source "package/aircrack-ng/Config.in"
>>  source "package/argus/Config.in"
>>  source "package/arptables/Config.in"
>> diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in
>> new file mode 100644
>> index 0000000..1c6f554
>> --- /dev/null
>> +++ b/package/aiccu/Config.in
>> @@ -0,0 +1,21 @@
>> +config BR2_PACKAGE_AICCU
>> +       bool "aiccu"
>> +       depends on BR2_INET_IPV6
>> +       depends on BR2_USE_WCHAR
>> +       select BR2_PACKAGE_GNUTLS
>> +       help
>> +         SixXS Automatic IPv6 Connectivity Client Utility
>> +
>> +         AICCU (Automatic IPv6 Connectivity Client Utility) makes it
>> +         easy for users to get IPv6 connectivity. After having
>> +         requested an account, tunnel and optionally a subnet, AICCU
>> +         can be used to automatically configure the tunnel. AICCU
>> +         supports TIC (Tunnel Information & Control protocol), which it
>> +         uses for retrieving the tunnel configuration information,
>> +         AYIYA, which allows tunnels to be created even behind
>> +         firewalls and NAT's.
>> +
>> +         http://www.sixxs.net/tools/aiccu/
>> +
>> +comment "aiccu requires a toolchain with IPv6 and WCHAR support"
>> +       depends on !(BR2_INET_IPV6 && BR2_USE_WCHAR)
>> diff --git a/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
>> b/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
>> new file mode 100644
>> index 0000000..d316f8f
>> --- /dev/null
>> +++ b/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
>> @@ -0,0 +1,104 @@
>> +aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and
>> types
>> +resolver.c: fixes for selection of wrong resolver function under uclibc
>> +
>> +Signed-off-by: Michael Rommel <rommel@layer-7.net>
>> +
>> +diff -purN aiccu_20070115.orig/common/aiccu.h
>> aiccu_20070115/common/aiccu.h
>> +--- aiccu_20070115.orig/common/aiccu.h 2007-01-15 13:01:43.000000000
>> +0100
>> ++++ aiccu_20070115/common/aiccu.h      2013-08-31 23:50:53.651936146
>> +0200
>> +@@ -111,7 +111,7 @@ struct AICCU_conf
>> + #endif
>> +
>> + #ifdef AICCU_GNUTLS
>> +-      gnutls_certificate_credentials  tls_cred;       /* GNUTLS
>> credentials */
>> ++      gnutls_certificate_credentials_t tls_cred;      /* GNUTLS
>> credentials */
>> + #endif
>> +
>> +       bool            daemonize;              /* Daemonize? */
>> +diff -purN aiccu_20070115.orig/common/common.c
>> aiccu_20070115/common/common.c
>> +--- aiccu_20070115.orig/common/common.c        2006-12-21
>> 15:08:50.000000000 +0100
>> ++++ aiccu_20070115/common/common.c     2013-09-01 01:21:36.031396740
>> +0200
>> +@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void);
>> + TLSSOCKET sock_alloc(void)
>> + {
>> + #ifdef AICCU_GNUTLS
>> +-      /* Allow connections to servers that have OpenPGP keys as well */
>> +-      const int       cert_type_priority[3] = { GNUTLS_CRT_X509,
>> GNUTLS_CRT_OPENPGP, 0 };
>> +       int             ret;
>> ++      const char      *err;
>> + #endif /* AICCU_GNUTLS*/
>> +
>> +       TLSSOCKET       sock;
>> +@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void)
>> +       }
>> +
>> +       /* Use default priorities */
>> +-      gnutls_set_default_priority(sock->session);
>> +-      /* XXX: Return value is not documented in GNUTLS documentation! */
>> +-
>> +-      gnutls_certificate_type_set_priority(sock->session,
>> cert_type_priority);
>> +-      /* XXX: Return value is not documented in GNUTLS documentation! */
>> ++      ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err);
>> ++      if (ret < 0)
>> ++      {
>> ++              if (ret == GNUTLS_E_INVALID_REQUEST)
>> ++              {
>> ++                      dolog( LOG_ERR, "TLS set priority failed, syntax
>> error at: %s\n", err);
>> ++              }
>> ++              free(sock);
>> ++              return NULL;
>> ++      }
>> +
>> +       /* Configure the x509 credentials for the current session */
>> +       gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE,
>> g_aiccu->tls_cred);
>> +@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock)
>> +       }
>> +
>> +       /* Set the transport */
>> +-      gnutls_transport_set_ptr(sock->session,
>> (gnutls_transport_ptr)sock->socket);
>> ++      gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t)
>> sock->socket);
>> +
>> +       /* Perform the TLS handshake */
>> +       ret = gnutls_handshake(sock->session);
>> +diff -purN aiccu_20070115.orig/common/common.h
>> aiccu_20070115/common/common.h
>> +--- aiccu_20070115.orig/common/common.h        2007-01-11
>> 15:50:51.000000000 +0100
>> ++++ aiccu_20070115/common/common.h     2013-08-31 23:26:13.683659455
>> +0200
>> +@@ -381,7 +381,7 @@ struct tlssocket
>> +       SOCKET                  socket;
>> + #ifdef AICCU_GNUTLS
>> +       bool                    tls_active;     /* TLS active? */
>> +-      gnutls_session          session;        /* The GnuTLS sesision */
>> ++      gnutls_session_t        session;        /* The GnuTLS sesision */
>> + #endif
>> + };
>> +
>> +diff -purN aiccu_20070115.orig/common/resolver.c
>> aiccu_20070115/common/resolver.c
>> +--- aiccu_20070115.orig/common/resolver.c      2006-07-23
>> 16:55:14.000000000 +0200
>> ++++ aiccu_20070115/common/resolver.c   2013-08-31 23:44:31.574866862
>> +0200
>> +@@ -26,7 +26,7 @@
>> +
>> + int getrrs(const char *label, int rrtype, void gotrec(unsigned int num,
>> int type, const char *record))
>> + {
>> +-#ifdef _LINUX
>> ++#if defined(_LINUX) && !defined(__UCLIBC__)
>> +       struct __res_state      res;
>> + #endif
>> +       unsigned char           answer[8192];
>> +@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype
>> +       uint16_t                type = 0, class = 0;
>> +       uint32_t                ttl = 0;
>> +
>> +-#ifdef _LINUX
>> ++#if defined(_LINUX) && !defined(__UCLIBC__)
>> +       memset(&res, 0, sizeof(res));
>> +       res.options = RES_DEBUG;
>> +       res_ninit(&res);
>> +@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype
>> + #endif
>> +
>> +       memset(answer, 0, sizeof(answer));
>> +-#ifdef _LINUX
>> ++#if defined(_LINUX) && !defined(__UCLIBC__)
>> +       ret = res_nquery(&res, label, C_IN, rrtype, answer,
>> sizeof(answer));
>> + #else
>> +       ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));
>> diff --git a/package/aiccu/aiccu.mk b/package/aiccu/aiccu.mk
>> new file mode 100644
>> index 0000000..05f4ba0
>> --- /dev/null
>> +++ b/package/aiccu/aiccu.mk
>> @@ -0,0 +1,32 @@
>>
>> +################################################################################
>> +#
>> +# aiccu
>> +#
>>
>> +################################################################################
>> +
>> +AICCU_VERSION = 20070115
>> +AICCU_SOURCE = aiccu_$(AICCU_VERSION).tar.gz
>> +AICCU_SITE = http://www.sixxs.net/archive/sixxs/aiccu/unix/
>> +AICCU_LICENSE = SixXS License, concise redistribution license
>> +AICCU_LICENSE_FILES = doc/LICENSE
>> +AICCU_DEPENDENCIES = gnutls
>> +
>> +define AICCU_BUILD_CMDS
>> +       $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
>> +endef
>> +
>> +define AICCU_INSTALL_TARGET_CMDS
>> +       $(INSTALL) -D -m 0755 $(@D)/unix-console/aiccu \
>> +               $(TARGET_DIR)/usr/sbin/aiccu
>> +       [ -f $(TARGET_DIR)/etc/aiccu.conf ] || \
>> +               $(INSTALL) -D -m 0644 $(@D)/doc/aiccu.conf \
>> +               $(TARGET_DIR)/etc/aiccu.conf
>> +endef
>> +
>> +define AICCU_INSTALL_INIT_SYSV
>> +       [ -f $(TARGET_DIR)/etc/init.d/S50aiccu ] || \
>> +               $(INSTALL) -D -m 0755 $(@D)/doc/aiccu.init \
>> +               $(TARGET_DIR)/etc/init.d/S50aiccu
>> +endef
>> +
>> +$(eval $(generic-package))
>> --
>> 1.7.9.5
>
> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

I tried compiling on a powerpc target, but this unfortunately failed:

strip aiccu
strip: Unable to recognise the format of the input file `aiccu'
make[2]: *** [aiccu] Error 1
make[2]: Leaving directory
`/home/tdescham/repo/contrib/buildroot-review/output/build/aiccu-20070115/unix-console'


The aiccu/unix-console/Makefile hardcodes the 'strip' command, but
this should be the cross-strip, provided by buildroot through
TARGET_STRIP. I think that aiccu should be patched to use STRIP, which
defaults to 'strip', and aiccu.mk in buildroot should then pass the
right STRIP command.
This patch could then also be upstreamed...

Best regards,
Thomas
Michael Rommel - Sept. 8, 2013, 3:28 p.m.
Hi there,

On Sep 8, 2013, at 5:18 , Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote:

> > On another note: I have received the last mail from the buildroot mailinglist yesterday evening 23:36, sent by you re. Lua.
> 
> > Given the high volume of this list, I wondered, whether something is wrong. I tried to subscribe again but even the 
> > subscription mail did not arrive...
> >
> > Is there someone, whom I could contact or are you experiencing the same quietness?
> 
> Don't worry, I have the same thing. The last patch was indeed my lua patch, a mail from Peter of its acceptance, and a mail from Thomas Petazzoni with an Acked-by. During weekends, activity often drops.
> You can compare the mails you received with the archives at http://lists.busybox.net/pipermail/buildroot/
> 


This is very strange, I receive emails from the list, when I am on Cc: or To:,  but do no longer get mails addressed to only the list itself or others. When I compare the mails I receive with the pipermail archive, I am definitely missing e.g. the build statistics from yesterday.

Is there someone who can look into that or who is experiencing this problem, too? (Probably if there was someone, he/she wouldn't receive this mail either...)

Thanks,

  Michael.
Thomas De Schampheleire - Sept. 8, 2013, 5:46 p.m.
Hi Michael,

On Sun, Sep 8, 2013 at 5:28 PM, Michael Rommel <rommel@layer-7.net> wrote:
>
> Hi there,
>
> On Sep 8, 2013, at 5:18 , Thomas De Schampheleire
> <patrickdepinguin@gmail.com> wrote:
>
>> On another note: I have received the last mail from the buildroot
>> mailinglist yesterday evening 23:36, sent by you re. Lua.
>
>> Given the high volume of this list, I wondered, whether something is
>> wrong. I tried to subscribe again but even the
>> subscription mail did not arrive...
>>
>> Is there someone, whom I could contact or are you experiencing the same
>> quietness?
>
> Don't worry, I have the same thing. The last patch was indeed my lua patch,
> a mail from Peter of its acceptance, and a mail from Thomas Petazzoni with
> an Acked-by. During weekends, activity often drops.
> You can compare the mails you received with the archives at
> http://lists.busybox.net/pipermail/buildroot/
>
>
> This is very strange, I receive emails from the list, when I am on Cc: or
> To:,  but do no longer get mails addressed to only the list itself or
> others. When I compare the mails I receive with the pipermail archive, I am
> definitely missing e.g. the build statistics from yesterday.

Here are some questions to try understand the problem:
- how long have you been subscribed to the buildroot mailing list, and
have you ever received mails from the list (when you weren't directly
in copy)?
- is there a spam/junk folder you can check for any lost mails. Is
there possibly a corporate filter that could block things?
- are you subscribed to other mailing lists, and are you having any
problems with these?
- I guess you are still subscribed to the list as you can send mail to
it. So you must have received a confirmation mail about that too, with
a password (or maybe you have chosen one yourself). You probably can
also log into the subscriber page at:
http://lists.busybox.net/mailman/listinfo/buildroot
The last form, where you enter your e-mail address, is the one you
want. You should get a page where you can set your name, and choose
some other options.

In general, I'm more thinking towards a problem at your end than on
the list. I haven't heard about problems with other subscribers
before.

>
> Is there someone who can look into that or who is experiencing this problem,
> too? (Probably if there was someone, he/she wouldn't receive this mail
> either...)

The list administrator is Peter Korsgaard (the maintainer of
buildroot). If you feel there is a problem on the list side, you could
contact him to see if he can find out more...

Best regards,
Thomas
Michael Rommel - Sept. 8, 2013, 6:28 p.m.
Hi,

thanks for your help!

On Sep 8, 2013, at 19:46 , Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote:

> 
> Here are some questions to try understand the problem:
> - how long have you been subscribed to the buildroot mailing list, and
> have you ever received mails from the list (when you weren't directly
> in copy)?


June: 1001 messages,
July: 1539 messages
August: 1177 messages
September: 482 messages

My procmail log file says:
root@ns1:/export/users/rommel# tail -350 ~rommel/mail/procmail/procmail.log |grep buildroot-bounces
From buildroot-bounces@busybox.net  Fri Sep  6 16:34:16 2013
From buildroot-bounces@busybox.net  Fri Sep  6 16:36:04 2013
From buildroot-bounces@busybox.net  Fri Sep  6 16:39:11 2013
From buildroot-bounces@busybox.net  Fri Sep  6 17:27:24 2013
From buildroot-bounces@busybox.net  Fri Sep  6 17:28:07 2013
From buildroot-bounces@busybox.net  Fri Sep  6 17:28:15 2013
From buildroot-bounces@busybox.net  Fri Sep  6 17:53:57 2013
From buildroot-bounces@busybox.net  Fri Sep  6 17:56:15 2013
From buildroot-bounces@busybox.net  Fri Sep  6 18:06:09 2013
From buildroot-bounces@busybox.net  Fri Sep  6 18:36:17 2013
From buildroot-bounces@busybox.net  Fri Sep  6 18:36:22 2013
From buildroot-bounces@busybox.net  Fri Sep  6 19:45:42 2013
From buildroot-bounces@busybox.net  Fri Sep  6 19:49:15 2013
From buildroot-bounces@busybox.net  Fri Sep  6 19:56:17 2013
From buildroot-bounces@busybox.net  Fri Sep  6 20:07:52 2013
From buildroot-bounces@busybox.net  Fri Sep  6 20:45:21 2013
From buildroot-bounces@busybox.net  Fri Sep  6 22:25:25 2013
From buildroot-bounces@busybox.net  Fri Sep  6 22:27:27 2013
From buildroot-bounces@busybox.net  Fri Sep  6 22:54:14 2013
From buildroot-bounces@busybox.net  Fri Sep  6 23:36:34 2013

It suddenly stops at that point in time.


> - is there a spam/junk folder you can check for any lost mails. Is
> there possibly a corporate filter that could block things?

The procmail sorts the mails from the buildroot mailing list in a different folder and
they do not go through the spamfilter.

> - are you subscribed to other mailing lists, and are you having any
> problems with these?

I am not on any other mailing lists.

> - I guess you are still subscribed to the list as you can send mail to
> it. So you must have received a confirmation mail about that too, with
> a password (or maybe you have chosen one yourself). You probably can
> also log into the subscriber page at:
> http://lists.busybox.net/mailman/listinfo/buildroot
> The last form, where you enter your e-mail address, is the one you
> want. You should get a page where you can set your name, and choose
> some other options.

I can log into this webinterface and see the options.

> In general, I'm more thinking towards a problem at your end than on
> the list. I haven't heard about problems with other subscribers
> before.

Well the fact that I can still send and receive e-mails from all over the world seems to indicate that the general setup is okay.

What wondered me is, that really the mailserver itself does not even receive a connection from buildroot!
These are the last entries on the postfix:

root@ns1:/var/log# grep buildroot mail.log.1
Sep  6 20:45:21 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=whitealder.osuosl.org, client_address=140.211.166.138, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
Sep  6 20:45:21 ns1 postfix/qmgr[500]: 4A5F31FFF4: from=<buildroot-bounces@busybox.net>, size=18060, nrcpt=1 (queue active)
Sep  6 22:25:25 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=silver.osuosl.org, client_address=140.211.166.136, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
Sep  6 22:25:25 ns1 postfix/qmgr[500]: 92704202C8: from=<buildroot-bounces@busybox.net>, size=10288, nrcpt=1 (queue active)
Sep  6 22:27:27 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=hemlock.osuosl.org, client_address=140.211.166.133, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
Sep  6 22:27:27 ns1 postfix/qmgr[500]: 76A4F202C8: from=<buildroot-bounces@busybox.net>, size=6662, nrcpt=1 (queue active)
Sep  6 22:54:14 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=fraxinus.osuosl.org, client_address=140.211.166.137, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
Sep  6 22:54:14 ns1 postfix/qmgr[500]: 9236F1FFF4: from=<buildroot-bounces@busybox.net>, size=5519, nrcpt=1 (queue active)
Sep  6 23:36:33 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=hemlock.osuosl.org, client_address=140.211.166.133, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
Sep  6 23:36:34 ns1 postfix/qmgr[500]: 0141C1FEB4: from=<buildroot-bounces@busybox.net>, size=6758, nrcpt=1 (queue active)

And we have routed about 400 mail through the server today.


> The list administrator is Peter Korsgaard (the maintainer of
> buildroot). If you feel there is a problem on the list side, you could
> contact him to see if he can find out more...


Since he is reading the mailing list and it seems that I can still send to the list, I refrain from mailing him separately - Peter, if you can see what's wrong with my address, I would be glad to know. I wonder if there is some kind of blacklist or blocker involved here. Our mailserver here is:

;; QUESTION SECTION:
;layer-7.net.			IN	MX

;; ANSWER SECTION:
layer-7.net.		86400	IN	MX	20 smtp.tschaeche.com.

;; ANSWER SECTION:
smtp.tschaeche.com.	84097	IN	A	188.40.196.194
smtp.tschaeche.com.	86400	IN	MX	30 smtp.tschaeche.com.
smtp.tschaeche.com.	86400	IN	MX	40 ns1.tschaeche.com.

Thank you in advance,

  Michael.
Thomas De Schampheleire - Sept. 9, 2013, 8:41 a.m.
On Sun, Sep 8, 2013 at 8:28 PM, Michael Rommel <rommel@layer-7.net> wrote:
> Hi,
>
> thanks for your help!
>
> On Sep 8, 2013, at 19:46 , Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote:
>
>>
>> Here are some questions to try understand the problem:
>> - how long have you been subscribed to the buildroot mailing list, and
>> have you ever received mails from the list (when you weren't directly
>> in copy)?
>
>
> June: 1001 messages,
> July: 1539 messages
> August: 1177 messages
> September: 482 messages
>
> My procmail log file says:
> root@ns1:/export/users/rommel# tail -350 ~rommel/mail/procmail/procmail.log |grep buildroot-bounces
> From buildroot-bounces@busybox.net  Fri Sep  6 16:34:16 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 16:36:04 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 16:39:11 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 17:27:24 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 17:28:07 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 17:28:15 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 17:53:57 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 17:56:15 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 18:06:09 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 18:36:17 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 18:36:22 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 19:45:42 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 19:49:15 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 19:56:17 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 20:07:52 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 20:45:21 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 22:25:25 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 22:27:27 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 22:54:14 2013
> From buildroot-bounces@busybox.net  Fri Sep  6 23:36:34 2013
>
> It suddenly stops at that point in time.
>
>
>> - is there a spam/junk folder you can check for any lost mails. Is
>> there possibly a corporate filter that could block things?
>
> The procmail sorts the mails from the buildroot mailing list in a different folder and
> they do not go through the spamfilter.
>
>> - are you subscribed to other mailing lists, and are you having any
>> problems with these?
>
> I am not on any other mailing lists.
>
>> - I guess you are still subscribed to the list as you can send mail to
>> it. So you must have received a confirmation mail about that too, with
>> a password (or maybe you have chosen one yourself). You probably can
>> also log into the subscriber page at:
>> http://lists.busybox.net/mailman/listinfo/buildroot
>> The last form, where you enter your e-mail address, is the one you
>> want. You should get a page where you can set your name, and choose
>> some other options.
>
> I can log into this webinterface and see the options.
>
>> In general, I'm more thinking towards a problem at your end than on
>> the list. I haven't heard about problems with other subscribers
>> before.
>
> Well the fact that I can still send and receive e-mails from all over the world seems to indicate that the general setup is okay.
>
> What wondered me is, that really the mailserver itself does not even receive a connection from buildroot!
> These are the last entries on the postfix:
>
> root@ns1:/var/log# grep buildroot mail.log.1
> Sep  6 20:45:21 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=whitealder.osuosl.org, client_address=140.211.166.138, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
> Sep  6 20:45:21 ns1 postfix/qmgr[500]: 4A5F31FFF4: from=<buildroot-bounces@busybox.net>, size=18060, nrcpt=1 (queue active)
> Sep  6 22:25:25 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=silver.osuosl.org, client_address=140.211.166.136, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
> Sep  6 22:25:25 ns1 postfix/qmgr[500]: 92704202C8: from=<buildroot-bounces@busybox.net>, size=10288, nrcpt=1 (queue active)
> Sep  6 22:27:27 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=hemlock.osuosl.org, client_address=140.211.166.133, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
> Sep  6 22:27:27 ns1 postfix/qmgr[500]: 76A4F202C8: from=<buildroot-bounces@busybox.net>, size=6662, nrcpt=1 (queue active)
> Sep  6 22:54:14 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=fraxinus.osuosl.org, client_address=140.211.166.137, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
> Sep  6 22:54:14 ns1 postfix/qmgr[500]: 9236F1FFF4: from=<buildroot-bounces@busybox.net>, size=5519, nrcpt=1 (queue active)
> Sep  6 23:36:33 ns1 postgrey[805]: action=pass, reason=triplet found, client_name=hemlock.osuosl.org, client_address=140.211.166.133, sender=buildroot-bounces@busybox.net, recipient=rommel@layer-7.net
> Sep  6 23:36:34 ns1 postfix/qmgr[500]: 0141C1FEB4: from=<buildroot-bounces@busybox.net>, size=6758, nrcpt=1 (queue active)
>
> And we have routed about 400 mail through the server today.
>
>
>> The list administrator is Peter Korsgaard (the maintainer of
>> buildroot). If you feel there is a problem on the list side, you could
>> contact him to see if he can find out more...
>
>
> Since he is reading the mailing list and it seems that I can still send to the list, I refrain from mailing him separately - Peter, if you can see what's wrong with my address, I would be glad to know. I wonder if there is some kind of blacklist or blocker involved here. Our mailserver here is:
>
> ;; QUESTION SECTION:
> ;layer-7.net.                   IN      MX
>
> ;; ANSWER SECTION:
> layer-7.net.            86400   IN      MX      20 smtp.tschaeche.com.
>
> ;; ANSWER SECTION:
> smtp.tschaeche.com.     84097   IN      A       188.40.196.194
> smtp.tschaeche.com.     86400   IN      MX      30 smtp.tschaeche.com.
> smtp.tschaeche.com.     86400   IN      MX      40 ns1.tschaeche.com.
>

>

Hmm, I also seem to be missing some mails now, with a standard gmail account.
Arnout Vandecappelle - Sept. 11, 2013, 6:07 a.m.
On 08/09/13 13:39, Thomas De Schampheleire wrote:
> I tried compiling on a powerpc target, but this unfortunately failed:
>
> strip aiccu
> strip: Unable to recognise the format of the input file `aiccu'
> make[2]: *** [aiccu] Error 1
> make[2]: Leaving directory
> `/home/tdescham/repo/contrib/buildroot-review/output/build/aiccu-20070115/unix-console'
>
>
> The aiccu/unix-console/Makefile hardcodes the 'strip' command, but
> this should be the cross-strip, provided by buildroot through
> TARGET_STRIP. I think that aiccu should be patched to use STRIP, which
> defaults to 'strip', and aiccu.mk in buildroot should then pass the
> right STRIP command.
> This patch could then also be upstreamed...

  Actually, it is better to remove the strip completely. We strip the 
target directory in a final step, so that you still have unstripped 
binaries in the build and staging directories. Most packages leave it up 
to the distro to strip the binaries - which makes it possible to build 
foo-dbg packages that have the debug symbols.

  Regards,
  Arnout

Patch

diff --git a/package/Config.in b/package/Config.in
index 4e3469f..5e71e9a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -716,6 +716,7 @@  source "package/sound-theme-freedesktop/Config.in"
 endmenu
 
 menu "Networking applications"
+source "package/aiccu/Config.in"
 source "package/aircrack-ng/Config.in"
 source "package/argus/Config.in"
 source "package/arptables/Config.in"
diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in
new file mode 100644
index 0000000..1c6f554
--- /dev/null
+++ b/package/aiccu/Config.in
@@ -0,0 +1,21 @@ 
+config BR2_PACKAGE_AICCU
+	bool "aiccu"
+	depends on BR2_INET_IPV6
+	depends on BR2_USE_WCHAR
+	select BR2_PACKAGE_GNUTLS
+	help
+	  SixXS Automatic IPv6 Connectivity Client Utility
+
+	  AICCU (Automatic IPv6 Connectivity Client Utility) makes it
+	  easy for users to get IPv6 connectivity. After having
+	  requested an account, tunnel and optionally a subnet, AICCU
+	  can be used to automatically configure the tunnel. AICCU
+	  supports TIC (Tunnel Information & Control protocol), which it
+	  uses for retrieving the tunnel configuration information,
+	  AYIYA, which allows tunnels to be created even behind
+	  firewalls and NAT's.
+
+	  http://www.sixxs.net/tools/aiccu/
+
+comment "aiccu requires a toolchain with IPv6 and WCHAR support"
+	depends on !(BR2_INET_IPV6 && BR2_USE_WCHAR)
diff --git a/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch b/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
new file mode 100644
index 0000000..d316f8f
--- /dev/null
+++ b/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
@@ -0,0 +1,104 @@ 
+aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and types
+resolver.c: fixes for selection of wrong resolver function under uclibc
+
+Signed-off-by: Michael Rommel <rommel@layer-7.net>
+
+diff -purN aiccu_20070115.orig/common/aiccu.h aiccu_20070115/common/aiccu.h
+--- aiccu_20070115.orig/common/aiccu.h	2007-01-15 13:01:43.000000000 +0100
++++ aiccu_20070115/common/aiccu.h	2013-08-31 23:50:53.651936146 +0200
+@@ -111,7 +111,7 @@ struct AICCU_conf
+ #endif
+ 
+ #ifdef AICCU_GNUTLS
+-	gnutls_certificate_credentials	tls_cred;	/* GNUTLS credentials */
++	gnutls_certificate_credentials_t tls_cred;	/* GNUTLS credentials */
+ #endif
+ 
+ 	bool		daemonize;		/* Daemonize? */
+diff -purN aiccu_20070115.orig/common/common.c aiccu_20070115/common/common.c
+--- aiccu_20070115.orig/common/common.c	2006-12-21 15:08:50.000000000 +0100
++++ aiccu_20070115/common/common.c	2013-09-01 01:21:36.031396740 +0200
+@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void);
+ TLSSOCKET sock_alloc(void)
+ {
+ #ifdef AICCU_GNUTLS
+-	/* Allow connections to servers that have OpenPGP keys as well */
+-	const int	cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
+ 	int		ret;
++	const char	*err;
+ #endif /* AICCU_GNUTLS*/
+ 
+ 	TLSSOCKET	sock;	
+@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void)
+ 	}
+ 
+ 	/* Use default priorities */
+-	gnutls_set_default_priority(sock->session);
+-	/* XXX: Return value is not documented in GNUTLS documentation! */
+-
+-	gnutls_certificate_type_set_priority(sock->session, cert_type_priority);
+-	/* XXX: Return value is not documented in GNUTLS documentation! */
++	ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err); 
++	if (ret < 0)
++	{
++		if (ret == GNUTLS_E_INVALID_REQUEST)
++		{
++			dolog( LOG_ERR, "TLS set priority failed, syntax error at: %s\n", err);
++		}
++		free(sock);
++		return NULL;
++	}
+ 
+ 	/* Configure the x509 credentials for the current session */
+ 	gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE, g_aiccu->tls_cred);
+@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock)
+ 	}
+ 
+ 	/* Set the transport */
+-	gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr)sock->socket);
++	gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t) sock->socket);
+ 
+ 	/* Perform the TLS handshake */
+ 	ret = gnutls_handshake(sock->session);
+diff -purN aiccu_20070115.orig/common/common.h aiccu_20070115/common/common.h
+--- aiccu_20070115.orig/common/common.h	2007-01-11 15:50:51.000000000 +0100
++++ aiccu_20070115/common/common.h	2013-08-31 23:26:13.683659455 +0200
+@@ -381,7 +381,7 @@ struct tlssocket
+ 	SOCKET			socket;
+ #ifdef AICCU_GNUTLS
+ 	bool			tls_active;	/* TLS active? */
+-	gnutls_session		session;	/* The GnuTLS sesision */
++	gnutls_session_t	session;	/* The GnuTLS sesision */
+ #endif
+ };
+ 
+diff -purN aiccu_20070115.orig/common/resolver.c aiccu_20070115/common/resolver.c
+--- aiccu_20070115.orig/common/resolver.c	2006-07-23 16:55:14.000000000 +0200
++++ aiccu_20070115/common/resolver.c	2013-08-31 23:44:31.574866862 +0200
+@@ -26,7 +26,7 @@
+ 
+ int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record))
+ {
+-#ifdef _LINUX
++#if defined(_LINUX) && !defined(__UCLIBC__)
+ 	struct __res_state	res;
+ #endif
+ 	unsigned char		answer[8192];
+@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype
+ 	uint16_t		type = 0, class = 0;
+ 	uint32_t		ttl = 0;
+ 
+-#ifdef _LINUX
++#if defined(_LINUX) && !defined(__UCLIBC__)
+ 	memset(&res, 0, sizeof(res));
+ 	res.options = RES_DEBUG;
+ 	res_ninit(&res);
+@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype
+ #endif
+ 
+ 	memset(answer, 0, sizeof(answer));
+-#ifdef _LINUX
++#if defined(_LINUX) && !defined(__UCLIBC__)
+ 	ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer));
+ #else
+ 	ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));
diff --git a/package/aiccu/aiccu.mk b/package/aiccu/aiccu.mk
new file mode 100644
index 0000000..05f4ba0
--- /dev/null
+++ b/package/aiccu/aiccu.mk
@@ -0,0 +1,32 @@ 
+################################################################################
+#
+# aiccu
+#
+################################################################################
+
+AICCU_VERSION = 20070115
+AICCU_SOURCE = aiccu_$(AICCU_VERSION).tar.gz
+AICCU_SITE = http://www.sixxs.net/archive/sixxs/aiccu/unix/
+AICCU_LICENSE = SixXS License, concise redistribution license
+AICCU_LICENSE_FILES = doc/LICENSE
+AICCU_DEPENDENCIES = gnutls
+
+define AICCU_BUILD_CMDS
+	$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
+endef
+
+define AICCU_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/unix-console/aiccu \
+		$(TARGET_DIR)/usr/sbin/aiccu
+	[ -f $(TARGET_DIR)/etc/aiccu.conf ] || \
+		$(INSTALL) -D -m 0644 $(@D)/doc/aiccu.conf \
+		$(TARGET_DIR)/etc/aiccu.conf
+endef
+
+define AICCU_INSTALL_INIT_SYSV
+	[ -f $(TARGET_DIR)/etc/init.d/S50aiccu ] || \
+		$(INSTALL) -D -m 0755 $(@D)/doc/aiccu.init \
+		$(TARGET_DIR)/etc/init.d/S50aiccu
+endef
+
+$(eval $(generic-package))