[Buildroot] [PATCH 1/1] libical: Create option to use builtin tzdata

Yann E. MORIN yann.morin.1998 at free.fr
Tue Aug 9 20:56:19 UTC 2016


Marc, All,

On 2016-08-09 10:02 -0400, Marc Khouri spake thusly:
> libical requires time zone data (either system or internal) in order
> to use time zone related functions. This commit adds an option to
> build libical with its internal time zone data. If no time zone data
> is present, segfaults occur in applications which use time zone functions.
> 
> Option documentation:
> https://github.com/libical/libical/blob/v1.0.1/CMakeLists.txt#L23
> 
> Signed-off-by: Marc Khouri <marc at khouri.ca>
> ---
>  package/libical/Config.in  | 12 ++++++++++++
>  package/libical/libical.mk |  4 ++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/package/libical/Config.in b/package/libical/Config.in
> index 48170e9..e183ad0 100644
> --- a/package/libical/Config.in
> +++ b/package/libical/Config.in
> @@ -9,6 +9,18 @@ config BR2_PACKAGE_LIBICAL
>  
>  	  http://libical.github.io/libical
>  
> +if BR2_PACKAGE_LIBICAL
> +
> +config BR2_PACKAGE_LIBICAL_BUILTIN_TZDATA
> +	bool "use built-in timezone data"
> +	help
> +	  Build using libical's (instead of the system's) timezone data.
> +
> +	  libical requires either built-in or system timezone data in order
> +	  to support time zone functions.
> +
> +endif

As already discussed in other replies, we believe it is better to rely
on the existing TZ info that can be used system-wide.

A ver recent commit makes this available for all types of toolchains,
not just glibc or uClibc.

So, your change can now easily be changed to use:

    config BR2_PACKAGE_LIBICAL
        bool "libical"
        depends on exiting-blabla
        select BR2_TARGET_TZ_INFO

>  comment "libical needs a toolchain w/ C++, dynamic library, wchar"
>  	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
>  		BR2_STATIC_LIBS
> diff --git a/package/libical/libical.mk b/package/libical/libical.mk
> index e8cb3f8..a8bcefb 100644
> --- a/package/libical/libical.mk
> +++ b/package/libical/libical.mk
> @@ -14,4 +14,8 @@ LIBICAL_LICENSE_FILES = LICENSE
>  # Gentoo/alpinelinux as well
>  LIBICAL_CONF_OPTS = -DSHARED_ONLY=true
>  
> +ifeq ($(BR2_PACKAGE_LIBICAL_BUILTIN_TZDATA),y)
> +LIBICAL_CONF_OPTS += -DUSE_BUILTIN_TZDATA=true
> +endif

And of course you can now drop this change, although I would still keep
it as:

    LIBICAL_CONF_OPTS += -DUSE_BUILTIN_TZDATA=OFF

to be sure it does not get used.

Thanks!

Regards,
Yann E. MORIN.

>  $(eval $(cmake-package))
> -- 
> 2.8.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list