diff options
114 files changed, 2182 insertions, 441 deletions
@@ -1,3 +1,38 @@ +2015.02, Released March 1st, 2015 + + Minor fixes. + + Updated/fixed packages: civetweb, ding-libs, + directfb-examples, glibc, gnupg, gnupg2, gpm, + gst-plugins-good, gst1-plugins-good, freetype, libao, libevas, + libevent, libfribidi, libgcrypt, libgtk2, libshout, libsrtp, + libtheora, libupnpp, libxmlrpc, linux, make, opus, pinentry, + rpi-firmware, shared-mime-info, vlc, vorbis-tools, + xcb-util-keysyms + + Removed packages: libgc + +2015.02-rc3, Released February 24th, 2015 + + Minor fixes. + + Cmake and rebar (erlang) infrastructure fixes. + + Updated/fixed packages: bind, btrfs-progs, busybox, e2fsprogs, + evtest, ffmpeg, fltk, gnutls, i2c-tools, imagemagick, libxcb, + make, mjpg-streamer, netsnmp, opentyrian, php, polarssl, + qt5base, samba, samba4, sudo, util-linux, xserver_xorg-server + +2015.02-rc2, Released February 15th, 2015 + + Minor fixes. + + raspberrypi: fix kernel sha1 for DT variant. + + Updated/fixed packages: dbus, dvdauthor, git, libsemanage, + libsepol, libssh2, mplayer, ntp, openvmtools, python3, + qt5base, qt5connectivity, xserver_xorg-server + 2015.02-rc1, Released February 8th, 2015 Fixes all over the tree and new features. @@ -167,8 +167,6 @@ config BR2_PRIMARY_SITE default if the file is not found. Valid URIs are URIs recognized by $(WGET) and scp URIs of the form scp://[user@]host:path. - NOTE: This works for all packages using the central package - infrastructure (generic, autotools, cmake, ...) config BR2_PRIMARY_SITE_ONLY bool "Only allow downloads from primary download site" diff --git a/Config.in.legacy b/Config.in.legacy index 8d99e2400a..0b87ddb59a 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -102,6 +102,14 @@ endif comment "Legacy options removed in 2015.02" +config BR2_PACKAGE_LIBGC + bool "libgc package removed" + select BR2_LEGACY + select BR2_PACKAGE_BDWGC + help + libgc has been removed because we have the same package under a + different name, bdwgc. + config BR2_PACKAGE_WDCTL bool "util-linux' wdctl option has been renamed" select BR2_LEGACY @@ -28,7 +28,7 @@ all: # Set and export the version string -export BR2_VERSION := 2015.02-rc1 +export BR2_VERSION := 2015.05-git # Check for minimal make version (note: this check will break at make 10.x) MIN_MAKE_VERSION = 3.81 @@ -865,7 +865,7 @@ help: @echo ' randconfig - New config with random answer to all options' @echo ' defconfig - New config with default answer to all options' @echo ' BR2_DEFCONFIG, if set, is used as input' - @echo ' savedefconfig - Save current config as ./defconfig (minimal config)' + @echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)' @echo ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New config where all options are answered with no' @echo ' randpackageconfig - New config with random answer to package options' diff --git a/configs/raspberrypi_dt_defconfig b/configs/raspberrypi_dt_defconfig index 956b215c1b..ca62084c4d 100644 --- a/configs/raspberrypi_dt_defconfig +++ b/configs/raspberrypi_dt_defconfig @@ -1,12 +1,22 @@ BR2_arm=y BR2_arm1176jzf_s=y + BR2_TARGET_GENERIC_GETTY_PORT="tty1" + +# Lock to 3.18 headers as the RPi kernel with +# DT support is based off the 3.18 branch +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="3.18" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y + BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="b9c9f8fc69aaba236169798c18dc1590fccf7acd" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="246530ff8a4f302b8666c6d9cf509407d8c1257a" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/raspberrypi/linux-3.18-rpi-dt.defconfig" BR2_LINUX_KERNEL_ZIMAGE=y + +# Install the DTB files BR2_PACKAGE_RPI_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS=y diff --git a/docs/website/download.html b/docs/website/download.html index 7d4e243a87..bfacd8284c 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -7,32 +7,32 @@ <p> -The latest stable release is <b>2014.11</b>, which can be downloaded +The latest stable release is <b>2015.02</b>, which can be downloaded here:<p> -<a href="/downloads/buildroot-2014.11.tar.gz">buildroot-2014.11.tar.gz</a> -(<a href="/downloads/buildroot-2014.11.tar.gz.sign">PGP signature</a>) +<a href="/downloads/buildroot-2015.02.tar.gz">buildroot-2015.02.tar.gz</a> +(<a href="/downloads/buildroot-2015.02.tar.gz.sign">PGP signature</a>) or -<a href="/downloads/buildroot-2014.11.tar.bz2">buildroot-2014.11.tar.bz2</a> -(<a href="/downloads/buildroot-2014.11.tar.bz2.sign">PGP signature</a>). +<a href="/downloads/buildroot-2015.02.tar.bz2">buildroot-2015.02.tar.bz2</a> +(<a href="/downloads/buildroot-2015.02.tar.bz2.sign">PGP signature</a>). <p> - -The latest release candidate is <b>2015.02-rc1</b>, which can be +<!-- +The latest release candidate is <b>2015.02-rc3</b>, which can be downloaded here:<p> -<a href="/downloads/buildroot-2015.02-rc1.tar.gz">buildroot-2015.02-rc1.tar.gz</a> -(<a href="/downloads/buildroot-2015.02-rc1.tar.gz.sign">PGP signature</a>) +<a href="/downloads/buildroot-2015.02-rc3.tar.gz">buildroot-2015.02-rc3.tar.gz</a> +(<a href="/downloads/buildroot-2015.02-rc3.tar.gz.sign">PGP signature</a>) or -<a href="/downloads/buildroot-2015.02-rc1.tar.bz2">buildroot-2015.02-rc1.tar.bz2</a> -(<a href="/downloads/buildroot-2015.02-rc1.tar.bz2.sign">PGP signature</a>). +<a href="/downloads/buildroot-2015.02-rc3.tar.bz2">buildroot-2015.02-rc3.tar.bz2</a> +(<a href="/downloads/buildroot-2015.02-rc3.tar.bz2.sign">PGP signature</a>). <p> This and earlier releases (and their PGP signatures) can always be downloaded from <a href="/downloads/">http://buildroot.net/downloads/</a>. <p> - +--> You can also obtain daily snapshots of the latest Buildroot source tree if you want to follow development, but cannot or do not wish to use Git. diff --git a/docs/website/news.html b/docs/website/news.html index 1b49ef2100..308152aaa4 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -8,12 +8,48 @@ <p> <ul> + <li><b>1 March 2015 -- 2015.02 released</b> + + <p>The stable 2015.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02">CHANGES</a> + file for more details, read the + <a href="http://lists.busybox.net/pipermail/buildroot/2015-March/120396.html">announcement</a> + and go to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2015.02.tar.bz2">2015.02 release</a>.</p> + + <li><b>24 February 2015 -- 2015.02-rc3 released</b> + + <p>Release candidate 3 is out with more cleanups and security / build fixes. See the <a + href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02-rc3">CHANGES</a> + file for details.</p> + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2015.02-rc3.tar.bz2">2015.02-rc3 + release candidate</a>, and report any problems found to the <a + href="lists.html">mailing list</a> or <a + href="https://bugs.uclibc.org">bug tracker</a>.</p> + + <li><b>15 February 2015 -- 2015.02-rc2 released</b> + + <p>Another week, another release candidate with more cleanups and + build fixes. See the <a + href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02-rc2">CHANGES</a> + file for details.</p> + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2015.02-rc2.tar.bz2">2015.02-rc2 + release candidate</a>, and report any problems found to the <a + href="support.html">mailing list</a> or <a + href="https://bugs.uclibc.org">bug tracker</a>.</p> + <li><b>8 February 2015 -- 2015.02-rc1 released</b> <p>We have a new release candidate! Lots of changes all over the tree, see the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02-rc1">CHANGES</a> - file for details.</p> + file for details, and read the + <a href="http://lists.busybox.net/pipermail/buildroot/2015-February/118982.html">announcement</a>.</p> <p>Head to the <a href="/downloads/">downloads page</a> to pick up the <a href="/downloads/buildroot-2015.02-rc1.tar.bz2">2015.02-rc1 diff --git a/linux/linux.mk b/linux/linux.mk index fc90fc554e..78e589e486 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -25,12 +25,14 @@ LINUX_SITE_METHOD = hg else LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order -# to use the $(word) function. We support versions such as 3.1, +# to use the $(word) function. We support versions such as 4.0, 3.1, # 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.) LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 -else +else ifeq ($(findstring x3.,x$(LINUX_VERSION)),x3.) LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x +else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.) +LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x endif # release candidates are in testing/ subdir ifneq ($(findstring -rc,$(LINUX_VERSION)),) diff --git a/package/Config.in b/package/Config.in index 3aa664ab3d..ba45f32208 100644 --- a/package/Config.in +++ b/package/Config.in @@ -956,7 +956,6 @@ menu "Other" source "package/libevdev/Config.in" source "package/libevent/Config.in" source "package/libffi/Config.in" - source "package/libgc/Config.in" source "package/libglib2/Config.in" source "package/libical/Config.in" source "package/liblinear/Config.in" diff --git a/package/bind/bind.hash b/package/bind/bind.hash index d715e541fc..aac0a84db5 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,2 +1,2 @@ -# Verified from ftp://ftp.isc.org/isc/bind9/9.9.6-P1/bind-9.9.6-P1.tar.gz.sha256.asc -sha256 dfedcb2b414d2803accd1a9c21d183178a288f40a2486af5ec0d3369a8cb8526 bind-9.9.6-P1.tar.gz +# Verified from ftp://ftp.isc.org/isc/bind9/9.9.6-P2/bind-9.9.6-P2.tar.gz.sha256.asc +sha256 5e882f453a8c799a121272f68bdb90936ce97bb857f8c2b3af1c8ba3d1b749ed bind-9.9.6-P2.tar.gz diff --git a/package/bind/bind.mk b/package/bind/bind.mk index a98a4c4e57..ad41330ff9 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.9.6-P1 +BIND_VERSION = 9.9.6-P2 BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION) BIND_INSTALL_STAGING = YES BIND_CONFIG_SCRIPTS = bind9-config isc-config.sh diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk index c6c36cf155..768660d27c 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -18,7 +18,7 @@ BTRFS_PROGS_MAKE_TARGET = static BTRFS_PROGS_MAKE_INSTALL_TARGET = install-static ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) # Add -lintl for libuuid -BTRFS_PROGS_MAKE_FLAGS += lib_LIBS="-luuid -lblkid -lm -lz -llzo2 -L. -lintl" +BTRFS_PROGS_MAKE_FLAGS += lib_LIBS="-luuid -lblkid -lz -llzo2 -L. -lintl -pthread" endif else BTRFS_PROGS_MAKE_TARGET = all diff --git a/package/busybox/0002-modprobe-small.patch b/package/busybox/0002-modprobe-small.patch new file mode 100644 index 0000000000..1bed4cb12b --- /dev/null +++ b/package/busybox/0002-modprobe-small.patch @@ -0,0 +1,171 @@ +Patch to fix busybox MODPROBE_SMALL from upstream: +http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-modprobe-small.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- busybox-1.23.1/modutils/modprobe-small.c ++++ busybox-1.23.1-modprobe-small/modutils/modprobe-small.c +@@ -552,9 +552,23 @@ static int already_loaded(const char *na + return ret; + } + #else +-#define already_loaded(name) is_rmmod ++#define already_loaded(name) 0 + #endif + ++static int rmmod(const char *filename) ++{ ++ int r; ++ char modname[MODULE_NAME_LEN]; ++ ++ filename2modname(filename, modname); ++ r = delete_module(modname, O_NONBLOCK | O_EXCL); ++ dbg1_error_msg("delete_module('%s', O_NONBLOCK | O_EXCL):%d", modname, r); ++ if (r != 0 && !(option_mask32 & OPT_q)) { ++ bb_perror_msg("remove '%s'", modname); ++ } ++ return r; ++} ++ + /* + * Given modules definition and module name (or alias, or symbol) + * load/remove the module respecting dependencies. +@@ -571,26 +585,36 @@ static void process_module(char *name, c + module_info **infovec; + module_info *info; + int infoidx; +- int is_rmmod = (option_mask32 & OPT_r) != 0; ++ int is_remove = (option_mask32 & OPT_r) != 0; + + dbg1_error_msg("process_module('%s','%s')", name, cmdline_options); + + replace(name, '-', '_'); + +- dbg1_error_msg("already_loaded:%d is_rmmod:%d", already_loaded(name), is_rmmod); ++ dbg1_error_msg("already_loaded:%d is_remove:%d", already_loaded(name), is_remove); ++ ++ if (applet_name[0] == 'r') { ++ /* rmmod. ++ * Does not remove dependencies, no need to scan, just remove. ++ * (compat note: this allows and strips .ko suffix) ++ */ ++ rmmod(name); ++ return; ++ } ++ + /* +- * We used to have "is_rmmod != already_loaded(name)" check here, but ++ * We used to have "is_remove != already_loaded(name)" check here, but + * modprobe -r pci:v00008086d00007010sv00000000sd00000000bc01sc01i80 + * won't unload modules (there are more than one) + * which have this alias. + */ +- if (!is_rmmod && already_loaded(name)) { ++ if (!is_remove && already_loaded(name)) { + dbg1_error_msg("nothing to do for '%s'", name); + return; + } + + options = NULL; +- if (!is_rmmod) { ++ if (!is_remove) { + char *opt_filename = xasprintf("/etc/modules/%s", name); + options = xmalloc_open_read_close(opt_filename, NULL); + if (options) +@@ -624,7 +648,7 @@ static void process_module(char *name, c + 0 /* depth */ + ); + dbg1_error_msg("dirscan complete"); +- /* Module was not found, or load failed, or is_rmmod */ ++ /* Module was not found, or load failed, or is_remove */ + if (module_found_idx >= 0) { /* module was found */ + infovec = xzalloc(2 * sizeof(infovec[0])); + infovec[0] = &modinfo[module_found_idx]; +@@ -637,7 +661,7 @@ static void process_module(char *name, c + + if (!infovec) { + /* both dirscan and find_alias found nothing */ +- if (!is_rmmod && applet_name[0] != 'd') /* it wasn't rmmod or depmod */ ++ if (!is_remove && applet_name[0] != 'd') /* it wasn't rmmod or depmod */ + bb_error_msg("module '%s' not found", name); + //TODO: _and_die()? or should we continue (un)loading modules listed on cmdline? + goto ret; +@@ -651,29 +675,15 @@ static void process_module(char *name, c + * a *list* of modinfo pointers from find_alias(). + */ + +- /* rmmod or modprobe -r? unload module(s) */ +- if (is_rmmod) { ++ /* modprobe -r? unload module(s) */ ++ if (is_remove) { + infoidx = 0; + while ((info = infovec[infoidx++]) != NULL) { +- int r; +- char modname[MODULE_NAME_LEN]; +- +- filename2modname( +- bb_get_last_path_component_nostrip(info->pathname), modname); +- r = delete_module(modname, O_NONBLOCK | O_EXCL); +- dbg1_error_msg("delete_module('%s', O_NONBLOCK | O_EXCL):%d", modname, r); ++ int r = rmmod(bb_get_last_path_component_nostrip(info->pathname)); + if (r != 0) { +- if (!(option_mask32 & OPT_q)) +- bb_perror_msg("remove '%s'", modname); +- goto ret; ++ goto ret; /* error */ + } + } +- +- if (applet_name[0] == 'r') { +- /* rmmod: do not remove dependencies, exit */ +- goto ret; +- } +- + /* modprobe -r: we do not stop here - + * continue to unload modules on which the module depends: + * "-r --remove: option causes modprobe to remove a module. +@@ -694,7 +704,7 @@ static void process_module(char *name, c + } + free(deps); + +- if (is_rmmod) ++ if (is_remove) + continue; + + /* We are modprobe: load it */ +@@ -897,10 +907,10 @@ int modprobe_main(int argc UNUSED_PARAM, + } + + #if ENABLE_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE +- /* If not rmmod, parse possible module options given on command line. ++ /* If not rmmod/-r, parse possible module options given on command line. + * insmod/modprobe takes one module name, the rest are parameters. */ + options = NULL; +- if ('r' != applet0) { ++ if (!(option_mask32 & OPT_r)) { + char **arg = argv; + while (*++arg) { + /* Enclose options in quotes */ +@@ -911,7 +921,7 @@ int modprobe_main(int argc UNUSED_PARAM, + } + } + #else +- if ('r' != applet0) ++ if (!(option_mask32 & OPT_r)) + argv[1] = NULL; + #endif + +@@ -935,10 +945,11 @@ int modprobe_main(int argc UNUSED_PARAM, + } + + /* Try to load modprobe.dep.bb */ +- load_dep_bb(); ++ if ('r' != applet0) /* not rmmod */ ++ load_dep_bb(); + + /* Load/remove modules. +- * Only rmmod loops here, modprobe has only argv[0] */ ++ * Only rmmod/modprobe -r loops here, insmod/modprobe has only argv[0] */ + do { + process_module(*argv, options); + } while (*++argv); diff --git a/package/busybox/0003-dc.patch b/package/busybox/0003-dc.patch new file mode 100644 index 0000000000..db20cf5296 --- /dev/null +++ b/package/busybox/0003-dc.patch @@ -0,0 +1,163 @@ +Fix dc inconsistency, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538685 +From upstream: http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-dc.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- busybox-1.23.1/miscutils/dc.c ++++ busybox-1.23.1-dc/miscutils/dc.c +@@ -196,14 +196,6 @@ struct op { + }; + + static const struct op operators[] = { +- {"+", add}, +- {"add", add}, +- {"-", sub}, +- {"sub", sub}, +- {"*", mul}, +- {"mul", mul}, +- {"/", divide}, +- {"div", divide}, + #if ENABLE_FEATURE_DC_LIBM + {"**", power}, + {"exp", power}, +@@ -216,28 +208,47 @@ static const struct op operators[] = { + {"not", not}, + {"eor", eor}, + {"xor", eor}, ++ {"+", add}, ++ {"add", add}, ++ {"-", sub}, ++ {"sub", sub}, ++ {"*", mul}, ++ {"mul", mul}, ++ {"/", divide}, ++ {"div", divide}, + {"p", print_no_pop}, + {"f", print_stack_no_pop}, + {"o", set_output_base}, + }; + ++/* Feed the stack machine */ + static void stack_machine(const char *argument) + { + char *end; +- double d; ++ double number; + const struct op *o; + +- d = strtod(argument, &end); +- if (end != argument && *end == '\0') { +- push(d); +- return; ++ next: ++ number = strtod(argument, &end); ++ if (end != argument) { ++ argument = end; ++ push(number); ++ goto next; + } + ++ /* We might have matched a digit, eventually advance the argument */ ++ argument = skip_whitespace(argument); ++ ++ if (*argument == '\0') ++ return; ++ + o = operators; + do { +- if (strcmp(o->name, argument) == 0) { ++ const size_t name_len = strlen(o->name); ++ if (strncmp(o->name, argument, name_len) == 0) { ++ argument += name_len; + o->function(); +- return; ++ goto next; + } + o++; + } while (o != operators + ARRAY_SIZE(operators)); +@@ -254,25 +265,11 @@ int dc_main(int argc UNUSED_PARAM, char + if (!argv[0]) { + /* take stuff from stdin if no args are given */ + char *line; +- char *cursor; +- char *token; + while ((line = xmalloc_fgetline(stdin)) != NULL) { +- cursor = line; +- while (1) { +- token = skip_whitespace(cursor); +- if (*token == '\0') +- break; +- cursor = skip_non_whitespace(token); +- if (*cursor != '\0') +- *cursor++ = '\0'; +- stack_machine(token); +- } ++ stack_machine(line); + free(line); + } + } else { +- // why? it breaks "dc -2 2 + p" +- //if (argv[0][0] == '-') +- // bb_show_usage(); + do { + stack_machine(*argv); + } while (*++argv); +--- busybox-1.23.1/testsuite/dc.tests ++++ busybox-1.23.1-dc/testsuite/dc.tests +@@ -0,0 +1,56 @@ ++#!/bin/sh ++# Copyright 2015 by Bernhard Reutner-Fischer ++# Licensed under GPLv2 or later, see file LICENSE in this source tree. ++ ++. ./testing.sh ++ ++# testing "test name" "command" "expected result" "file input" "stdin" ++ ++testing "dc basic syntax (stdin, multiple args)" \ ++ "dc" \ ++ "30\n" \ ++ "" "10 20+p" ++ ++testing "dc basic syntax (argv, single arg)" \ ++ "dc '10 20+p'" \ ++ "30\n" \ ++ "" "" ++ ++testing "dc basic syntax (argv, multiple args)" \ ++ "dc 10 20+p" \ ++ "30\n" \ ++ "" "" ++ ++testing "dc complex with spaces (single arg)" \ ++ "dc '8 8 * 2 2 + / p'" \ ++ "16\n" \ ++ "" "" ++ ++testing "dc complex without spaces (single arg)" \ ++ "dc '8 8*2 2+/p'" \ ++ "16\n" \ ++ "" "" ++ ++testing "dc complex with spaces (multiple args)" \ ++ "dc 8 8 \* 2 2 + / p" \ ++ "16\n" \ ++ "" "" ++ ++testing "dc complex without spaces (multiple args)" \ ++ "dc 8 8\*2 2+/p" \ ++ "16\n" \ ++ "" "" ++ ++exit $FAILCOUNT ++ ++# we do not support arguments ++testing "dc -e <exprs>" \ ++ "dc -e '10 2+f'" \ ++ "12\n" \ ++ "" "" ++ ++testing "dc -f <exprs-from-given-file>" \ ++ "dc -f input" \ ++ "12\n" \ ++ "10 2+f" "" ++ diff --git a/package/busybox/0004-wget.patch b/package/busybox/0004-wget.patch new file mode 100644 index 0000000000..e1ba51c0dc --- /dev/null +++ b/package/busybox/0004-wget.patch @@ -0,0 +1,185 @@ +Fix broken --header handling, see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744725 +From upstream: http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-wget.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- busybox-1.23.1/networking/wget.c ++++ busybox-1.23.1-wget/networking/wget.c +@@ -38,8 +38,14 @@ + + #if 0 + # define log_io(...) bb_error_msg(__VA_ARGS__) ++# define SENDFMT(fp, fmt, ...) \ ++ do { \ ++ log_io("> " fmt, ##__VA_ARGS__); \ ++ fprintf(fp, fmt, ##__VA_ARGS__); \ ++ } while (0); + #else + # define log_io(...) ((void)0) ++# define SENDFMT(fp, fmt, ...) fprintf(fp, fmt, ##__VA_ARGS__) + #endif + + +@@ -55,6 +61,36 @@ static const char P_FTP[] = "ftp"; + static const char P_HTTP[] = "http"; + static const char P_HTTPS[] = "https"; + ++#if ENABLE_FEATURE_WGET_LONG_OPTIONS ++/* User-specified headers prevent using our corresponding built-in headers. */ ++enum { ++ HDR_HOST = (1<<0), ++ HDR_USER_AGENT = (1<<1), ++ HDR_RANGE = (1<<2), ++ HDR_AUTH = (1<<3) * ENABLE_FEATURE_WGET_AUTHENTICATION, ++ HDR_PROXY_AUTH = (1<<4) * ENABLE_FEATURE_WGET_AUTHENTICATION, ++}; ++static const char wget_user_headers[] ALIGN1 = ++ "Host:\0" ++ "User-Agent:\0" ++ "Range:\0" ++# if ENABLE_FEATURE_WGET_AUTHENTICATION ++ "Authorization:\0" ++ "Proxy-Authorization:\0" ++# endif ++ ; ++# define USR_HEADER_HOST (G.user_headers & HDR_HOST) ++# define USR_HEADER_USER_AGENT (G.user_headers & HDR_USER_AGENT) ++# define USR_HEADER_RANGE (G.user_headers & HDR_RANGE) ++# define USR_HEADER_AUTH (G.user_headers & HDR_AUTH) ++# define USR_HEADER_PROXY_AUTH (G.user_headers & HDR_PROXY_AUTH) ++#else /* No long options, no user-headers :( */ ++# define USR_HEADER_HOST 0 ++# define USR_HEADER_USER_AGENT 0 ++# define USR_HEADER_RANGE 0 ++# define USR_HEADER_AUTH 0 ++# define USR_HEADER_PROXY_AUTH 0 ++#endif + + /* Globals */ + struct globals { +@@ -69,6 +105,7 @@ struct globals { + #if ENABLE_FEATURE_WGET_LONG_OPTIONS + char *post_data; + char *extra_headers; ++ unsigned char user_headers; /* Headers mentioned by the user */ + #endif + char *fname_out; /* where to direct output (-O) */ + const char *proxy_flag; /* Use proxies if env vars are set */ +@@ -830,43 +867,46 @@ static void download_one_url(const char + #endif + /* Send HTTP request */ + if (use_proxy) { +- fprintf(sfp, "GET %s://%s/%s HTTP/1.1\r\n", ++ SENDFMT(sfp, "GET %s://%s/%s HTTP/1.1\r\n", + target.protocol, target.host, + target.path); + } else { +- fprintf(sfp, "%s /%s HTTP/1.1\r\n", ++ SENDFMT(sfp, "%s /%s HTTP/1.1\r\n", + (option_mask32 & WGET_OPT_POST_DATA) ? "POST" : "GET", + target.path); + } +- +- fprintf(sfp, "Host: %s\r\nUser-Agent: %s\r\n", +- target.host, G.user_agent); ++ if (!USR_HEADER_HOST) ++ SENDFMT(sfp, "Host: %s\r\n", target.host); ++ if (!USR_HEADER_USER_AGENT) ++ SENDFMT(sfp, "User-Agent: %s\r\n", G.user_agent); + + /* Ask server to close the connection as soon as we are done + * (IOW: we do not intend to send more requests) + */ +- fprintf(sfp, "Connection: close\r\n"); ++ SENDFMT(sfp, "Connection: close\r\n"); + + #if ENABLE_FEATURE_WGET_AUTHENTICATION +- if (target.user) { +- fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6, ++ if (target.user && !USR_HEADER_AUTH) { ++ SENDFMT(sfp, "Proxy-Authorization: Basic %s\r\n"+6, + base64enc(target.user)); + } +- if (use_proxy && server.user) { +- fprintf(sfp, "Proxy-Authorization: Basic %s\r\n", ++ if (use_proxy && server.user && !USR_HEADER_PROXY_AUTH) { ++ SENDFMT(sfp, "Proxy-Authorization: Basic %s\r\n", + base64enc(server.user)); + } + #endif + +- if (G.beg_range != 0) +- fprintf(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range); ++ if (G.beg_range != 0 && !USR_HEADER_RANGE) ++ SENDFMT(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range); + + #if ENABLE_FEATURE_WGET_LONG_OPTIONS +- if (G.extra_headers) ++ if (G.extra_headers) { ++ log_io(G.extra_headers); + fputs(G.extra_headers, sfp); ++ } + + if (option_mask32 & WGET_OPT_POST_DATA) { +- fprintf(sfp, ++ SENDFMT(sfp, + "Content-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: %u\r\n" + "\r\n" +@@ -876,7 +916,7 @@ static void download_one_url(const char + } else + #endif + { +- fprintf(sfp, "\r\n"); ++ SENDFMT(sfp, "\r\n"); + } + + fflush(sfp); +@@ -1093,7 +1133,9 @@ int wget_main(int argc UNUSED_PARAM, cha + #if ENABLE_FEATURE_WGET_LONG_OPTIONS + applet_long_options = wget_longopts; + #endif +- opt_complementary = "-1" IF_FEATURE_WGET_TIMEOUT(":T+") IF_FEATURE_WGET_LONG_OPTIONS(":\xfe::"); ++ opt_complementary = "-1" ++ IF_FEATURE_WGET_TIMEOUT(":T+") ++ IF_FEATURE_WGET_LONG_OPTIONS(":\xfe::"); + getopt32(argv, "csqO:P:Y:U:T:" /*ignored:*/ "t:", + &G.fname_out, &G.dir_prefix, + &G.proxy_flag, &G.user_agent, +@@ -1106,16 +1148,32 @@ int wget_main(int argc UNUSED_PARAM, cha + + #if ENABLE_FEATURE_WGET_LONG_OPTIONS + if (headers_llist) { +- int size = 1; +- char *cp; ++ int size = 0; ++ char *hdr; + llist_t *ll = headers_llist; + while (ll) { + size += strlen(ll->data) + 2; + ll = ll->link; + } +- G.extra_headers = cp = xmalloc(size); ++ G.extra_headers = hdr = xmalloc(size + 1); + while (headers_llist) { +- cp += sprintf(cp, "%s\r\n", (char*)llist_pop(&headers_llist)); ++ int bit; ++ const char *words; ++ ++ size = sprintf(hdr, "%s\r\n", ++ (char*)llist_pop(&headers_llist)); ++ /* a bit like index_in_substrings but don't match full key */ ++ bit = 1; ++ words = wget_user_headers; ++ while (*words) { ++ if (strstr(hdr, words) == hdr) { ++ G.user_headers |= bit; ++ break; ++ } ++ bit <<= 1; ++ words += strlen(words) + 1; ++ } ++ hdr += size; + } + } + #endif diff --git a/package/busybox/0005-modinfo.patch b/package/busybox/0005-modinfo.patch new file mode 100644 index 0000000000..0a221f7f31 --- /dev/null +++ b/package/busybox/0005-modinfo.patch @@ -0,0 +1,17 @@ +Fix broken modinfo. + +From upstream: http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-modinfo.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- busybox-1.23.1/modutils/modinfo.c ++++ busybox-1.23.1-modinfo/modutils/modinfo.c +@@ -154,7 +154,7 @@ int modinfo_main(int argc UNUSED_PARAM, + if (colon == NULL) + continue; + *colon = '\0'; +- filename2modname(tokens[0], name); ++ filename2modname(bb_basename(tokens[0]), name); + for (i = 0; argv[i]; i++) { + if (fnmatch(argv[i], name, 0) == 0) { + modinfo(tokens[0], uts.release, &env); diff --git a/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch b/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch new file mode 100644 index 0000000000..aee3cfcbff --- /dev/null +++ b/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch @@ -0,0 +1,27 @@ +From 0821066f9adf8410891cd07684ecac50a9bc36a4 Mon Sep 17 00:00:00 2001 +From: Fabio Porcedda <fabio.porcedda@gmail> +Date: Wed, 25 Feb 2015 18:40:24 +0100 +Subject: [PATCH] Lua: fix a typo changing %(LFS_DIR) to $(LFS_DIR) + +Also this fix a error on GNU Make v4.0: + Makefile:203: *** mixed implicit and normal rules. Stop. + +Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail> +--- + resources/Makefile.in-lua | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/resources/Makefile.in-lua b/resources/Makefile.in-lua +index 0902f11..f3d95fd 100644 +--- a/resources/Makefile.in-lua ++++ b/resources/Makefile.in-lua +@@ -57,5 +57,5 @@ LFS_CFLAGS = -I$(LFS_DIR) + + OBJECTS += $(LUA_OBJECTS) $(SQLITE_OBJECTS) $(LFS_OBJECTS) + CFLAGS += $(LUA_CFLAGS) $(SQLITE_CFLAGS) $(LFS_CFLAGS) -DUSE_LUA -DUSE_LUA_SQLITE3 -DUSE_LUA_FILE_SYSTEM +-SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) %(LFS_DIR) ++SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) $(LFS_DIR) + +-- +2.3.0 + diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash index 2079929056..19113a6cd5 100644 --- a/package/dbus/dbus.hash +++ b/package/dbus/dbus.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 83425250a6a4c93b9ab4a349771a7700e8ddff2d73a5a088222ca47ae9ce1f1a dbus-1.8.14.tar.gz +# Locally calculated after checking pgp signature +sha256 7f795268efd343ff0498786acb35097564390d40b1b6158daf1b4f742b522b07 dbus-1.8.16.tar.gz diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index faad2b558c..200084f6a4 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_VERSION = 1.8.14 +DBUS_VERSION = 1.8.16 DBUS_SITE = http://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFLv2.1 GPLv2+ DBUS_LICENSE_FILES = COPYING diff --git a/package/ding-libs/Config.in b/package/ding-libs/Config.in index 6069ed9051..7af75b7b94 100644 --- a/package/ding-libs/Config.in +++ b/package/ding-libs/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_DING_LIBS bool "ding-libs" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT help The ding-libs packages contain a set of libraries used by diff --git a/package/ding-libs/ding-libs.mk b/package/ding-libs/ding-libs.mk index d7977eef2c..5b842ffa0e 100644 --- a/package/ding-libs/ding-libs.mk +++ b/package/ding-libs/ding-libs.mk @@ -7,7 +7,9 @@ DING_LIBS_VERSION = 0_4_0 DING_LIBS_SOURCE = ding_libs-$(DING_LIBS_VERSION).tar.xz DING_LIBS_SITE = https://git.fedorahosted.org/cgit/ding-libs.git/snapshot -DING_LIBS_DEPENDENCIES = $(if $(BR2_PACKAGE_GETTEXT),gettext) host-pkgconf +DING_LIBS_DEPENDENCIES = host-pkgconf \ + $(if $(BR2_PACKAGE_GETTEXT),gettext) \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) DING_LIBS_INSTALL_STAGING = YES DING_LIBS_LICENSE = LGPLv3+ (library),GPLv3+ (test programs) DING_LIBS_LICENSE_FILES = COPYING COPYING.LESSER diff --git a/package/directfb-examples/Config.in b/package/directfb-examples/Config.in index 51dd288d5a..f69cd3baf6 100644 --- a/package/directfb-examples/Config.in +++ b/package/directfb-examples/Config.in @@ -11,146 +11,146 @@ config BR2_PACKAGE_DIRECTFB_EXAMPLES if BR2_PACKAGE_DIRECTFB_EXAMPLES config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI - bool "usr/bin/df_andi" + bool "df_andi" help Penguin demo, press 'space' to form convergence logo, 's'/'d' to spawn/destroy 'a' penguin, 'r' to revive penguin after space was pressed, 'c' tests clipping. config BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD - bool "usr/bin/df_bltload" + bool "df_bltload" help Reads information from /proc/bltstat. config BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD - bool "usr/bin/df_cpuload" + bool "df_cpuload" help CPU Load with data from /proc/stat. config BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER - bool "usr/bin/df_databuffer" + bool "df_databuffer" help Simple test application for data buffers. config BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD - bool "usr/bin/df_dioload" + bool "df_dioload" help Disk IO with data from /proc/stat. config BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK - bool "usr/bin/df_dok" + bool "df_dok" help DirectFB benchmark application, runs some tests and displays benchmark results afterwards. config BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST - bool "usr/bin/df_drivertest" + bool "df_drivertest" help Tool to check drivers for bugs and accuracy. config BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE - bool "usr/bin/df_fire" + bool "df_fire" help The famous fire effect ported to DirectFB (16 bpp only). config BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP - bool "usr/bin/df_flip" + bool "df_flip" help Raw Flip() benchmark. config BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS - bool "usr/bin/df_fonts" + bool "df_fonts" help Takes a list of font files and shows character tables. config BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT - bool "usr/bin/df_input" + bool "df_input" help Test application for input devices. config BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK - bool "usr/bin/df_joystick" + bool "df_joystick" help A colored version of df_particle, fointain can be moved with joystick. The particles of different colors can be spawned with different joystick buttons (1-4). config BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES - bool "usr/bin/df_knuckles" + bool "df_knuckles" help 3D skull drawn using triangles that can be rotated using the mouse. 'Space' switches to wireframe, 'b' toggles backface culling. config BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER - bool "usr/bin/df_layer" + bool "df_layer" help Simple videoplayer with layers. config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX - bool "usr/bin/df_matrix" + bool "df_matrix" help Testing SetMatrix() for free transforms. config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER - bool "usr/bin/df_matrix_water" + bool "df_matrix_water" help Same as df_matrix, but using new Water API. config BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO - bool "usr/bin/df_neo" + bool "df_neo" help Port from a gdk-pixbuf demo to DirectFB, uses scaling, alpha blending and color modulation, use cursor keys and space to change parameters. config BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD - bool "usr/bin/df_netload" + bool "df_netload" help Network statistica from /proc/net/dev. config BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE - bool "usr/bin/df_palette" + bool "df_palette" help A example blitting from a surface with a rotating/morphing palette. config BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE - bool "usr/bin/df_particle" + bool "df_particle" help A moving fountain consisting of alphablended rectangles, nice and fast if hardware accelerated. config BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER - bool "usr/bin/df_porter" + bool "df_porter" help Shows porter/duff blending rules. config BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS - bool "usr/bin/df_stress" + bool "df_stress" help Stress tests surface manager, for debugging purposes only. config BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE - bool "usr/bin/df_texture" + bool "df_texture" help A simple texture example. The 3d windows can be rotated with the mouse. config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO - bool "usr/bin/df_video" + bool "df_video" help Shows window stack with alpha blending and video playback in a moving window. config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE - bool "usr/bin/df_video_particle" + bool "df_video_particle" help Same as df_particle, but the rectangles have been replaced by a video (via video4linux). Nice color effects. config BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW - bool "usr/bin/df_window" + bool "df_window" help Simple demonstration of the DirectFB window stack, follow the instructions in the upper left corner. Pass a video diff --git a/package/directfb-examples/directfb-examples.mk b/package/directfb-examples/directfb-examples.mk index 16d2a8623a..3ba33b41f1 100644 --- a/package/directfb-examples/directfb-examples.mk +++ b/package/directfb-examples/directfb-examples.mk @@ -12,6 +12,10 @@ DIRECTFB_EXAMPLES_LICENSE_FILES = COPYING DIRECTFB_EXAMPLES_INSTALL_STAGING = YES DIRECTFB_EXAMPLES_DEPENDENCIES = directfb +ifeq ($(BR2_STATIC_LIBS),y) + DIRECTFB_EXAMPLES_CONF_OPTS += LIBS=-lstdc++ +endif + DIRECTFB_EXAMPLES_TARGETS_ = DIRECTFB_EXAMPLES_TARGETS_y = @@ -94,7 +98,6 @@ define DIRECTFB_EXAMPLES_INSTALL_TARGET_CMDS $(Q)mkdir -p $(TARGET_DIR)/usr/share/directfb-examples/fonts/ $(Q)for file in $(DIRECTFB_EXAMPLES_TARGETS_y); do \ cp -dpf $(STAGING_DIR)/$$file $(TARGET_DIR)/$$file; \ - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/$$file; \ done $(Q)cp -rdpf $(STAGING_DIR)/usr/share/directfb-examples/fonts/decker.ttf $(TARGET_DIR)/usr/share/directfb-examples/fonts/ $(Q)for file in $(DIRECTFB_EXAMPLES_FONT_y); do \ diff --git a/package/dvdauthor/0001-configure.ac-fix-static-build.patch b/package/dvdauthor/0001-configure.ac-fix-static-build.patch new file mode 100644 index 0000000000..0e016b8cb4 --- /dev/null +++ b/package/dvdauthor/0001-configure.ac-fix-static-build.patch @@ -0,0 +1,55 @@ +From da77704c575f0583fa871ff02bd52906a7979576 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@openwide.fr> +Date: Sun, 15 Feb 2015 11:05:43 +0100 +Subject: [PATCH] configure.ac: fix static build + +Add LT_INIT macro to handle --enable-shared option. + +If enable-shared=no then add --static flag to resolve FREETYPE_LIBS. + +Otherwise, dvdauthor forget to link witk -lbz2 when linking with freetype2. + +Fixes: +http://autobuild.buildroot.net/results/1d8/1d83390a3dd9f6bb595e9fc7b321500b4dc533a8/ + +Signed-off-by: Romain Naour <romain.naour@openwide.fr> +--- + configure.ac | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c43df92..d78d56a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4,6 +4,7 @@ AM_CONFIG_HEADER(src/config.h) + AC_CONFIG_AUX_DIR(autotools) + + AM_INIT_AUTOMAKE ++LT_INIT + + AC_PROG_INSTALL + +@@ -39,6 +40,11 @@ PKG_CHECK_MODULES(LIBPNG, [libpng]) + AC_SUBST(LIBPNG_CFLAGS) + AC_SUBST(LIBPNG_LIBS) + ++config_static='' ++if test "$enable_shared" = 'no'; then ++ config_static='--static' ++fi ++ + usemagick=0 + + AC_CHECK_PROGS(MAGICKCONFIG, [Magick-config]) +@@ -95,7 +101,7 @@ AC_SUBST(FRIBIDI_LIBS) + AC_CHECK_PROGS(FREETYPECONFIG, [freetype-config]) + if test -n "$FREETYPECONFIG"; then + FREETYPE_CPPFLAGS="`$FREETYPECONFIG --cflags`" +- FREETYPE_LIBS="`$FREETYPECONFIG --libs`" ++ FREETYPE_LIBS="`$FREETYPECONFIG --libs $config_static`" + AC_DEFINE(HAVE_FREETYPE, 1, [Whether FreeType is available]) + + ac_save_CPPFLAGS="$CPPFLAGS" +-- +1.9.3 + diff --git a/package/dvdauthor/dvdauthor.mk b/package/dvdauthor/dvdauthor.mk index 7985599f33..68cce4fcb1 100644 --- a/package/dvdauthor/dvdauthor.mk +++ b/package/dvdauthor/dvdauthor.mk @@ -14,6 +14,11 @@ DVDAUTHOR_CONF_ENV = \ ac_cv_path_XML2_CONFIG=$(STAGING_DIR)/usr/bin/xml2-config \ ac_cv_prog_GMAGICKCONFIG= +# configure.ac patched by 0001-configure.ac-fix-static-build.patch +DVDAUTHOR_AUTORECONF = YES +# add host-gettext for AM_ICONV macro +DVDAUTHOR_DEPENDENCIES += host-gettext + ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y) DVDAUTHOR_DEPENDENCIES += imagemagick DVDAUTHOR_CONF_ENV += \ diff --git a/package/e2fsprogs/0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch b/package/e2fsprogs/0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch new file mode 100644 index 0000000000..bcf3083e71 --- /dev/null +++ b/package/e2fsprogs/0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch @@ -0,0 +1,59 @@ +From 49d0fe2a14f2a23da2fe299643379b8c1d37df73 Mon Sep 17 00:00:00 2001 +From: Theodore Ts'o <tytso@mit.edu> +Date: Fri, 6 Feb 2015 12:46:39 -0500 +Subject: [PATCH] libext2fs: fix potential buffer overflow in closefs() + +Upstream commit 49d0fe2a14f2. + +The bug fix in f66e6ce4446: "libext2fs: avoid buffer overflow if +s_first_meta_bg is too big" had a typo in the fix for +ext2fs_closefs(). In practice most of the security exposure was from +the openfs path, since this meant if there was a carefully crafted +file system, buffer overrun would be triggered when the file system was +opened. + +However, if corrupted file system didn't trip over some corruption +check, and then the file system was modified via tune2fs or debugfs, +such that the superblock was marked dirty and then written out via the +closefs() path, it's possible that the buffer overrun could be +triggered when the file system is closed. + +Also clear up a signed vs unsigned warning while we're at it. + +Thanks to Nick Kralevich <nnk@google.com> for asking me to look at +compiler warning in the code in question, which led me to notice the +bug in f66e6ce4446. + +Addresses: CVE-2015-1572 + +Signed-off-by: Theodore Ts'o <tytso@mit.edu> +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- + lib/ext2fs/closefs.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/ext2fs/closefs.c b/lib/ext2fs/closefs.c +index 1f9911311a1a..ab5b2fb2365e 100644 +--- a/lib/ext2fs/closefs.c ++++ b/lib/ext2fs/closefs.c +@@ -287,7 +287,7 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags) + dgrp_t j; + #endif + char *group_ptr; +- int old_desc_blocks; ++ blk64_t old_desc_blocks; + struct ext2fs_numeric_progress_struct progress; + + EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); +@@ -346,7 +346,7 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags) + group_ptr = (char *) group_shadow; + if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) { + old_desc_blocks = fs->super->s_first_meta_bg; +- if (old_desc_blocks > fs->super->s_first_meta_bg) ++ if (old_desc_blocks > fs->desc_blocks) + old_desc_blocks = fs->desc_blocks; + } else + old_desc_blocks = fs->desc_blocks; +-- +2.1.4 + diff --git a/package/efl/libevas/libevas.mk b/package/efl/libevas/libevas.mk index b5a2d72d68..10c3bc3af2 100644 --- a/package/efl/libevas/libevas.mk +++ b/package/efl/libevas/libevas.mk @@ -65,6 +65,8 @@ endif ifeq ($(BR2_PACKAGE_LIBEVAS_X11),y) LIBEVAS_CONF_OPTS += --enable-software-xlib LIBEVAS_DEPENDENCIES += xlib_libX11 xlib_libXext +else +LIBEVAS_CONF_OPTS += --disable-software-xlib endif ifeq ($(BR2_PACKAGE_LIBEVAS_X11_GLX),y) @@ -72,6 +74,8 @@ LIBEVAS_CONF_OPTS += --enable-gl-xlib LIBEVAS_DEPENDENCIES += \ xproto_glproto xlib_libX11 xlib_libXrender \ xlib_libXext libeet +else +LIBEVAS_CONF_OPTS += --disable-gl-xlib endif ifeq ($(BR2_PACKAGE_LIBEVAS_XCB),y) @@ -107,16 +111,25 @@ LIBEVAS_CONF_ENV += \ GL_EET_LIBS='-leet' endif +# libevas OpenGL flavor ifeq ($(BR2_PACKAGE_LIBEVAS_GL),y) LIBEVAS_DEPENDENCIES += mesa3d libeet endif ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_SGX),y) LIBEVAS_CONF_OPTS += --enable-gl-flavor-gles --enable-gles-variety-sgx +else +LIBEVAS_CONF_OPTS += --disable-gles-variety-sgx endif ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_S3C6410),y) LIBEVAS_CONF_OPTS += --enable-gl-flavor-gles --enable-gles-variety-s3c6410 +else +LIBEVAS_CONF_OPTS += --disable-gles-variety-s3c6410 +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_SGX)$(BR2_PACKAGE_LIBEVAS_GLES_S3C6410),) +LIBEVAS_CONF_OPTS += --disable-gl-flavor-gles endif # code options @@ -205,6 +218,20 @@ else LIBEVAS_CONF_OPTS += --disable-font-loader-eet endif +ifeq ($(BR2_PACKAGE_FONTCONFIG),y) +LIBEVAS_CONF_OPTS += --enable-fontconfig +LIBEVAS_DEPENDENCIES += fontconfig +else +LIBEVAS_CONF_OPTS += --disable-fontconfig +endif + +ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) +LIBEVAS_CONF_OPTS += --enable-fribidi +LIBEVAS_DEPENDENCIES += libfribidi +else +LIBEVAS_CONF_OPTS += --disable-fribidi +endif + # libevas installs the source code of examples on the target, which # are generally not useful. define LIBEVAS_REMOVE_EXAMPLES diff --git a/package/evtest/evtest.mk b/package/evtest/evtest.mk index 42a79999c7..1573f52460 100644 --- a/package/evtest/evtest.mk +++ b/package/evtest/evtest.mk @@ -13,4 +13,9 @@ EVTEST_DEPENDENCIES = host-pkgconf # needed because source package contains no generated files EVTEST_AUTORECONF = YES +# asciidoc used to generate manpages, which we don't need, and if it's +# present on the build host, it ends getting called with our host-python +# which doesn't have all the needed modules enabled, breaking the build +EVTEST_CONF_ENV = ac_cv_path_ASCIIDOC="" + $(eval $(autotools-package)) diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in index 5f86f52c36..7ce0f3ac84 100644 --- a/package/ffmpeg/Config.in +++ b/package/ffmpeg/Config.in @@ -1,10 +1,15 @@ comment "ffmpeg needs a toolchain w/ largefile, IPv6" depends on !(BR2_LARGEFILE && BR2_INET_IPV6) + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 menuconfig BR2_PACKAGE_FFMPEG bool "ffmpeg" depends on BR2_LARGEFILE depends on BR2_INET_IPV6 + # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 help FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk index a629b39d32..9b67bd32ae 100644 --- a/package/fltk/fltk.mk +++ b/package/fltk/fltk.mk @@ -8,8 +8,15 @@ FLTK_VERSION = 1.3.3 FLTK_SOURCE = fltk-$(FLTK_VERSION)-source.tar.gz FLTK_SITE = http://fltk.org/pub/fltk/$(FLTK_VERSION) FLTK_INSTALL_STAGING = YES +# We force --libdir=/usr/lib, because by default, it is set to +# ${exec_prefix}/lib, which doesn't match the condition used by the +# fltk build system to decide whether it should pass a -rpath,/usr/lib +# or not. Since this rpath breaks the build, we want the fltk build +# system to not pass it, which requires having --libdir set to +# /usr/lib. FLTK_CONF_OPTS = --enable-threads --with-x --disable-gl \ - --disable-localjpeg --disable-localpng --disable-localzlib + --disable-localjpeg --disable-localpng --disable-localzlib \ + --libdir=/usr/lib FLTK_DEPENDENCIES = jpeg libpng xlib_libX11 xlib_libXext xlib_libXt FLTK_CONFIG_SCRIPTS = fltk-config FLTK_LICENSE = LGPLv2 with exceptions diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 0de5ce3ded..56274cb436 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -98,6 +98,7 @@ HOST_FREETYPE_POST_INSTALL_HOOKS += HOST_FREETYPE_FIX_FREETYPE_INCLUDE $(eval $(autotools-package)) $(eval $(host-autotools-package)) -# freetype-patch uses autogen.sh so add it as a order-only-prerequisite -# because it is a phony target. -$(FREETYPE_TARGET_PATCH): | host-automake +# freetype-patch and host-freetype-patch use autogen.sh so add +# host-automake as a order-only-prerequisite because it is a phony +# target. +$(FREETYPE_TARGET_PATCH) $(HOST_FREETYPE_TARGET_PATCH): | host-automake diff --git a/package/git/git.mk b/package/git/git.mk index 30b5b7d66b..0672d6ee1f 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -14,6 +14,7 @@ GIT_DEPENDENCIES = zlib host-gettext ifeq ($(BR2_PACKAGE_OPENSSL),y) GIT_DEPENDENCIES += openssl GIT_CONF_OPTS += --with-openssl + GIT_CONF_ENV_LIBS += $(if $(BR2_STATIC_LIBS),-lz) else GIT_CONF_OPTS += --without-openssl endif @@ -41,7 +42,7 @@ endif ifeq ($(BR2_PACKAGE_LIBICONV),y) GIT_DEPENDENCIES += libiconv - GIT_CONF_ENV += LIBS=-liconv + GIT_CONF_ENV_LIBS += -liconv GIT_CONF_OPTS += --with-iconv=/usr/lib else GIT_CONF_OPTS += --without-iconv @@ -56,7 +57,7 @@ endif # assume yes for these tests, configure will bail out otherwise # saying error: cannot run test program while cross compiling -GIT_CONF_ENV += ac_cv_fread_reads_directories=yes \ - ac_cv_snprintf_returns_bogus=yes +GIT_CONF_ENV = ac_cv_fread_reads_directories=yes \ + ac_cv_snprintf_returns_bogus=yes LIBS='$(GIT_CONF_ENV_LIBS)' $(eval $(autotools-package)) diff --git a/package/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch b/package/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch new file mode 100644 index 0000000000..a0da626cbf --- /dev/null +++ b/package/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch @@ -0,0 +1,88 @@ +Fix CVE-2015-1472 - heap buffer overflow in wscanf +Backport from upstream: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06 +See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235 + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c +index aece3f2..8a2eb9e 100644 +--- a/libc/stdio-common/tst-sscanf.c ++++ b/libc/stdio-common/tst-sscanf.c +@@ -233,5 +233,38 @@ main (void) + } + } + ++ /* BZ #16618 ++ The test will segfault during SSCANF if the buffer overflow ++ is not fixed. The size of `s` is such that it forces the use ++ of malloc internally and this triggers the incorrect computation. ++ Thus the value for SIZE is arbitrariy high enough that malloc ++ is used. */ ++ { ++#define SIZE 131072 ++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s)); ++ if (s == NULL) ++ abort (); ++ for (size_t i = 0; i < SIZE; i++) ++ s[i] = L('0'); ++ s[SIZE] = L('\0'); ++ int i = 42; ++ /* Scan multi-digit zero into `i`. */ ++ if (SSCANF (s, L("%d"), &i) != 1) ++ { ++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n"); ++ result = 1; ++ } ++ if (i != 0) ++ { ++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n"); ++ result = 1; ++ } ++ free (s); ++ if (result != 1) ++ printf ("PASS: bug16618: Did not crash.\n"); ++#undef SIZE ++ } ++ ++ + return result; + } +diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c +index cd129a8..0e204e7 100644 +--- a/libc/stdio-common/vfscanf.c ++++ b/libc/stdio-common/vfscanf.c +@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + if (__glibc_unlikely (wpsize == wpmax)) \ + { \ + CHAR_T *old = wp; \ +- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \ +- ? UCHAR_MAX + 1 : 2 * wpmax); \ +- if (use_malloc || !__libc_use_alloca (newsize)) \ ++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \ ++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \ ++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \ ++ if (!__libc_use_alloca (newsize)) \ + { \ + wp = realloc (use_malloc ? wp : NULL, newsize); \ + if (wp == NULL) \ +@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + } \ + if (! use_malloc) \ + MEMCPY (wp, old, wpsize); \ +- wpmax = newsize; \ ++ wpmax = wpneed; \ + use_malloc = true; \ + } \ + else \ + { \ + size_t s = wpmax * sizeof (CHAR_T); \ +- wp = (CHAR_T *) extend_alloca (wp, s, \ +- newsize * sizeof (CHAR_T)); \ ++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \ + wpmax = s / sizeof (CHAR_T); \ + if (old != NULL) \ + MEMCPY (wp, old, wpsize); \ +-- +1.9.4 + diff --git a/package/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch b/package/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch new file mode 100644 index 0000000000..a0da626cbf --- /dev/null +++ b/package/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch @@ -0,0 +1,88 @@ +Fix CVE-2015-1472 - heap buffer overflow in wscanf +Backport from upstream: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06 +See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235 + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c +index aece3f2..8a2eb9e 100644 +--- a/libc/stdio-common/tst-sscanf.c ++++ b/libc/stdio-common/tst-sscanf.c +@@ -233,5 +233,38 @@ main (void) + } + } + ++ /* BZ #16618 ++ The test will segfault during SSCANF if the buffer overflow ++ is not fixed. The size of `s` is such that it forces the use ++ of malloc internally and this triggers the incorrect computation. ++ Thus the value for SIZE is arbitrariy high enough that malloc ++ is used. */ ++ { ++#define SIZE 131072 ++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s)); ++ if (s == NULL) ++ abort (); ++ for (size_t i = 0; i < SIZE; i++) ++ s[i] = L('0'); ++ s[SIZE] = L('\0'); ++ int i = 42; ++ /* Scan multi-digit zero into `i`. */ ++ if (SSCANF (s, L("%d"), &i) != 1) ++ { ++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n"); ++ result = 1; ++ } ++ if (i != 0) ++ { ++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n"); ++ result = 1; ++ } ++ free (s); ++ if (result != 1) ++ printf ("PASS: bug16618: Did not crash.\n"); ++#undef SIZE ++ } ++ ++ + return result; + } +diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c +index cd129a8..0e204e7 100644 +--- a/libc/stdio-common/vfscanf.c ++++ b/libc/stdio-common/vfscanf.c +@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + if (__glibc_unlikely (wpsize == wpmax)) \ + { \ + CHAR_T *old = wp; \ +- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \ +- ? UCHAR_MAX + 1 : 2 * wpmax); \ +- if (use_malloc || !__libc_use_alloca (newsize)) \ ++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \ ++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \ ++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \ ++ if (!__libc_use_alloca (newsize)) \ + { \ + wp = realloc (use_malloc ? wp : NULL, newsize); \ + if (wp == NULL) \ +@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + } \ + if (! use_malloc) \ + MEMCPY (wp, old, wpsize); \ +- wpmax = newsize; \ ++ wpmax = wpneed; \ + use_malloc = true; \ + } \ + else \ + { \ + size_t s = wpmax * sizeof (CHAR_T); \ +- wp = (CHAR_T *) extend_alloca (wp, s, \ +- newsize * sizeof (CHAR_T)); \ ++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \ + wpmax = s / sizeof (CHAR_T); \ + if (old != NULL) \ + MEMCPY (wp, old, wpsize); \ +-- +1.9.4 + diff --git a/package/glibc/2.19/0004-CVE-2015-1472.patch b/package/glibc/2.19/0004-CVE-2015-1472.patch new file mode 100644 index 0000000000..b2f8e49d46 --- /dev/null +++ b/package/glibc/2.19/0004-CVE-2015-1472.patch @@ -0,0 +1,88 @@ +Fix CVE-2015-1472 - heap buffer overflow in wscanf +Backport from upstream: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06 +See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235 + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c +index aece3f2..8a2eb9e 100644 +--- a/stdio-common/tst-sscanf.c ++++ b/stdio-common/tst-sscanf.c +@@ -233,5 +233,38 @@ main (void) + } + } + ++ /* BZ #16618 ++ The test will segfault during SSCANF if the buffer overflow ++ is not fixed. The size of `s` is such that it forces the use ++ of malloc internally and this triggers the incorrect computation. ++ Thus the value for SIZE is arbitrariy high enough that malloc ++ is used. */ ++ { ++#define SIZE 131072 ++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s)); ++ if (s == NULL) ++ abort (); ++ for (size_t i = 0; i < SIZE; i++) ++ s[i] = L('0'); ++ s[SIZE] = L('\0'); ++ int i = 42; ++ /* Scan multi-digit zero into `i`. */ ++ if (SSCANF (s, L("%d"), &i) != 1) ++ { ++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n"); ++ result = 1; ++ } ++ if (i != 0) ++ { ++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n"); ++ result = 1; ++ } ++ free (s); ++ if (result != 1) ++ printf ("PASS: bug16618: Did not crash.\n"); ++#undef SIZE ++ } ++ ++ + return result; + } +diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c +index cd129a8..0e204e7 100644 +--- a/stdio-common/vfscanf.c ++++ b/stdio-common/vfscanf.c +@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + if (__glibc_unlikely (wpsize == wpmax)) \ + { \ + CHAR_T *old = wp; \ +- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \ +- ? UCHAR_MAX + 1 : 2 * wpmax); \ +- if (use_malloc || !__libc_use_alloca (newsize)) \ ++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \ ++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \ ++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \ ++ if (!__libc_use_alloca (newsize)) \ + { \ + wp = realloc (use_malloc ? wp : NULL, newsize); \ + if (wp == NULL) \ +@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + } \ + if (! use_malloc) \ + MEMCPY (wp, old, wpsize); \ +- wpmax = newsize; \ ++ wpmax = wpneed; \ + use_malloc = true; \ + } \ + else \ + { \ + size_t s = wpmax * sizeof (CHAR_T); \ +- wp = (CHAR_T *) extend_alloca (wp, s, \ +- newsize * sizeof (CHAR_T)); \ ++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \ + wpmax = s / sizeof (CHAR_T); \ + if (old != NULL) \ + MEMCPY (wp, old, wpsize); \ +-- +1.9.4 + diff --git a/package/glibc/2.20/0003-CVE-2015-1472.patch b/package/glibc/2.20/0003-CVE-2015-1472.patch new file mode 100644 index 0000000000..b2f8e49d46 --- /dev/null +++ b/package/glibc/2.20/0003-CVE-2015-1472.patch @@ -0,0 +1,88 @@ +Fix CVE-2015-1472 - heap buffer overflow in wscanf +Backport from upstream: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06 +See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235 + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c +index aece3f2..8a2eb9e 100644 +--- a/stdio-common/tst-sscanf.c ++++ b/stdio-common/tst-sscanf.c +@@ -233,5 +233,38 @@ main (void) + } + } + ++ /* BZ #16618 ++ The test will segfault during SSCANF if the buffer overflow ++ is not fixed. The size of `s` is such that it forces the use ++ of malloc internally and this triggers the incorrect computation. ++ Thus the value for SIZE is arbitrariy high enough that malloc ++ is used. */ ++ { ++#define SIZE 131072 ++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s)); ++ if (s == NULL) ++ abort (); ++ for (size_t i = 0; i < SIZE; i++) ++ s[i] = L('0'); ++ s[SIZE] = L('\0'); ++ int i = 42; ++ /* Scan multi-digit zero into `i`. */ ++ if (SSCANF (s, L("%d"), &i) != 1) ++ { ++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n"); ++ result = 1; ++ } ++ if (i != 0) ++ { ++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n"); ++ result = 1; ++ } ++ free (s); ++ if (result != 1) ++ printf ("PASS: bug16618: Did not crash.\n"); ++#undef SIZE ++ } ++ ++ + return result; + } +diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c +index cd129a8..0e204e7 100644 +--- a/stdio-common/vfscanf.c ++++ b/stdio-common/vfscanf.c +@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + if (__glibc_unlikely (wpsize == wpmax)) \ + { \ + CHAR_T *old = wp; \ +- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \ +- ? UCHAR_MAX + 1 : 2 * wpmax); \ +- if (use_malloc || !__libc_use_alloca (newsize)) \ ++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \ ++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \ ++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \ ++ if (!__libc_use_alloca (newsize)) \ + { \ + wp = realloc (use_malloc ? wp : NULL, newsize); \ + if (wp == NULL) \ +@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, + } \ + if (! use_malloc) \ + MEMCPY (wp, old, wpsize); \ +- wpmax = newsize; \ ++ wpmax = wpneed; \ + use_malloc = true; \ + } \ + else \ + { \ + size_t s = wpmax * sizeof (CHAR_T); \ +- wp = (CHAR_T *) extend_alloca (wp, s, \ +- newsize * sizeof (CHAR_T)); \ ++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \ + wpmax = s / sizeof (CHAR_T); \ + if (old != NULL) \ + MEMCPY (wp, old, wpsize); \ +-- +1.9.4 + diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash index d6733f58a1..ba38d38fba 100644 --- a/package/gnupg/gnupg.hash +++ b/package/gnupg/gnupg.hash @@ -1,2 +1,2 @@ -# Locally calculated after checking pgp signature -sha256 b7b5fdda78849955e0cdbc5a085f3a08f8b7fba126c622085debb62def5d6388 gnupg-1.4.18.tar.bz2 +# From http://lists.gnupg.org/pipermail/gnupg-announce/2015q1/000363.html +sha1 5503f7faa0a0e84450838706a67621546241ca50 gnupg-1.4.19.tar.bz2 diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk index c0bf88c422..94f5d896aa 100644 --- a/package/gnupg/gnupg.mk +++ b/package/gnupg/gnupg.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG_VERSION = 1.4.18 +GNUPG_VERSION = 1.4.19 GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2 GNUPG_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg GNUPG_LICENSE = GPLv3+ diff --git a/package/gnupg2/Config.in b/package/gnupg2/Config.in index d24eaaee1f..e246fd79e3 100644 --- a/package/gnupg2/Config.in +++ b/package/gnupg2/Config.in @@ -1,3 +1,7 @@ +comment "gnupg2 needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_GNUPG2 bool "gnupg2" select BR2_PACKAGE_ZLIB @@ -9,6 +13,7 @@ config BR2_PACKAGE_GNUPG2 select BR2_PACKAGE_LIBPTHSEM_COMPAT select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_USE_MMU # libassuan + depends on !BR2_STATIC_LIBS help GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by RFC4880. GnuPG allows diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index e1512c284a..404c40bedd 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,2 +1,2 @@ -# Locally calculated after checking pgp signature -sha256 57646d3e4b919fa1e5c8f1c0cf5fe1215333041c493a5ebc4b8f2978dbe930f2 gnupg-2.0.27.tar.bz2 +# From http://lists.gnupg.org/pipermail/gnupg-announce/2015q1/000362.html +sha1 d065be185f5bac8ea07b210ab7756e79b83b63d4 gnupg-2.0.27.tar.bz2 diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index 6a6199ee12..0154b4da46 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -17,6 +17,7 @@ GNUTLS_DEPENDENCIES = host-pkgconf nettle pcre \ $(if $(BR2_PACKAGE_ZLIB),zlib) GNUTLS_CONF_OPTS = \ --with-libnettle-prefix=$(STAGING_DIR)/usr \ + --with-librt-prefix=$(STAGING_DIR) \ --disable-rpath \ --disable-doc \ --disable-guile \ diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk index dcf075a9c6..dee6208113 100644 --- a/package/gpm/gpm.mk +++ b/package/gpm/gpm.mk @@ -15,7 +15,8 @@ GPM_DEPENDENCIES = host-bison # if not already installed in staging dir, gpm Makefile may fail to find some # of the headers needed to generate build dependencies, the first time it is # built. CPPFLAGS is used to pass the right include path to dependency rules. -GPM_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -I$(@D)/src/headers/" +GPM_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -I$(@D)/src/headers/" \ + ac_cv_path_emacs=no # For some reason, Microblaze gcc does not define __ELF__, which gpm # configure script uses to determine whether the architecture uses ELF diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in index 3e2582032b..35bb692800 100644 --- a/package/gstreamer/gst-plugins-good/Config.in +++ b/package/gstreamer/gst-plugins-good/Config.in @@ -27,11 +27,11 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_BZ2 config BR2_PACKAGE_GST_PLUGINS_GOOD_ZLIB bool "zlib support" - depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_QTDEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA + depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ISOMP4 || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA select BR2_PACKAGE_ZLIB help Enable zlib support for the following plugins: - id3demux, qtdemux, matroska + id3demux, isomp4, matroska comment "dependency-less plugins" diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index 73c633fa48..9d15cbf023 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -34,11 +34,11 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2 config BR2_PACKAGE_GST1_PLUGINS_GOOD_ZLIB bool "zlib support" - depends on BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QTDEMUX || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA + depends on BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4 || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA select BR2_PACKAGE_ZLIB help Enable zlib support for the following plugins: - id3demux, qtdemux, matroska + id3demux, isomp4, matroska comment "dependency-less plugins" diff --git a/package/i2c-tools/Config.in b/package/i2c-tools/Config.in index 43f5e05ae8..e83dbd65fa 100644 --- a/package/i2c-tools/Config.in +++ b/package/i2c-tools/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_I2C_TOOLS a bus probing tool, a chip dumper, register-level access helpers, EEPROM decoding scripts, and more. - http://www.lm-sensors.org + http://www.lm-sensors.org/wiki/I2CTools diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 3a12a9c7ab..03c1bd4e06 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -6,10 +6,7 @@ IMAGEMAGICK_VERSION = 6.9.0-7 IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.xz -# The official ImageMagick site only keeps the latest versions -# available, which is annoying. Use an alternate site that keeps all -# older versions. -IMAGEMAGICK_SITE = ftp://ftp.nluug.nl/pub/ImageMagick +IMAGEMAGICK_SITE = http://www.imagemagick.org/download/releases IMAGEMAGICK_LICENSE = Apache-2.0 IMAGEMAGICK_LICENSE_FILES = LICENSE diff --git a/package/libao/libao.hash b/package/libao/libao.hash new file mode 100644 index 0000000000..64174dad8f --- /dev/null +++ b/package/libao/libao.hash @@ -0,0 +1,2 @@ +# From http://downloads.xiph.org/releases/ao/SHA256SUMS.txt +sha256 03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf libao-1.2.0.tar.gz diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk index c50b1d29f2..d67c73833b 100644 --- a/package/libevent/libevent.mk +++ b/package/libevent/libevent.mk @@ -26,6 +26,11 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBEVENT_DEPENDENCIES += openssl LIBEVENT_CONF_OPTS += --enable-openssl +# openssl needs zlib but configure forgets to link against it causing +# openssl detection to fail +ifeq ($(BR2_STATIC_LIBS),y) +LIBEVENT_CONF_ENV += OPENSSL_LIBADD='-lz' +endif else LIBEVENT_CONF_OPTS += --disable-openssl endif diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk index 20a5df097c..12e766408d 100644 --- a/package/libfribidi/libfribidi.mk +++ b/package/libfribidi/libfribidi.mk @@ -15,4 +15,10 @@ LIBFRIBIDI_INSTALL_STAGING = YES LIBFRIBIDI_AUTORECONF = YES LIBFRIBIDI_DEPENDENCIES = host-pkgconf +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) + LIBFRIBIDI_DEPENDENCIES += libglib2 +else + LIBFRIBIDI_CONF_OPTS += --with-glib=no +endif + $(eval $(autotools-package)) diff --git a/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch b/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch deleted file mode 100644 index 9190a01650..0000000000 --- a/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9cbd876ebc6ef8cbe647d4a914d03f527f822424 Mon Sep 17 00:00:00 2001 -Message-Id: <9cbd876ebc6ef8cbe647d4a914d03f527f822424.1398253762.git.baruch@tkos.co.il> -From: Baruch Siach <baruch@tkos.co.il> -Date: Wed, 23 Apr 2014 14:42:21 +0300 -Subject: [PATCH] Fix build on Linux/x86_64 under uClibc - -* include/private/gcconfig.h (GETCONTEXT_FPU_EXCMASK_BUG): don't define for -uClibc, as it may not have fenv.h - -Patch status: sent upstream - -Signed-off-by: Baruch Siach <baruch@tkos.co.il> ---- - include/private/gcconfig.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h -index de7998be0f54..f866cc4ed8cc 100644 ---- a/include/private/gcconfig.h -+++ b/include/private/gcconfig.h -@@ -2235,7 +2235,7 @@ - extern int etext[]; - # define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff)) - # endif --# if defined(__GLIBC__) -+# if defined(__GLIBC__) && !defined(__UCLIBC__) - /* At present, there's a bug in GLibc getcontext() on */ - /* Linux/x64 (it clears FPU exception mask). We define this */ - /* macro to workaround it. */ --- -1.9.2 - diff --git a/package/libgc/Config.in b/package/libgc/Config.in deleted file mode 100644 index 5e23b3da6b..0000000000 --- a/package/libgc/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -config BR2_PACKAGE_LIBGC - bool "libgc" - select BR2_PACKAGE_LIBATOMIC_OPS - depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS - help - The Boehm-Demers-Weiser conservative garbage collector can be used - as a garbage collecting replacement for C malloc or C++ new. It allows - you to allocate memory basically as you normally would, without - explicitly deallocating memory that is no longer useful. - - http://www.hboehm.info/gc/ diff --git a/package/libgc/libgc.mk b/package/libgc/libgc.mk deleted file mode 100644 index 536988dcda..0000000000 --- a/package/libgc/libgc.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# libgc -# -################################################################################ - -LIBGC_VERSION = 7.4.0 -LIBGC_SOURCE = gc-$(LIBGC_VERSION).tar.gz -LIBGC_SITE = http://www.hboehm.info/gc/gc_source -LIBGC_DEPENDENCIES = libatomic_ops host-pkgconf -LIBGC_LICENSE = Permissive X11-style -LIBGC_LICENSE_FILES = README.md -LIBGC_INSTALL_STAGING = YES - -$(eval $(autotools-package)) diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index 2ce7a67c92..9cad1c49b1 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,2 +1,2 @@ -# From http://lists.gnupg.org/pipermail/gnupg-announce/2014q3/000355.html -sha1 cc31aca87e4a3769cb86884a3f5982b2cc8eb7ec libgcrypt-1.6.2.tar.bz2 +# From http://lists.gnupg.org/pipermail/gnupg-announce/2015q1/000364.html +sha1 9456e7b64db9df8360a1407a38c8c958da80bbf1 libgcrypt-1.6.3.tar.bz2 diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index 4d64da8807..e2a4b392ea 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.6.2 +LIBGCRYPT_VERSION = 1.6.3 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPLv2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index dfc1f5b86a..f52dfaf6ed 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -69,7 +69,8 @@ LIBGTK2_CONF_ENV = \ ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/usr/bin/gtk-update-icon-cache \ ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/usr/bin/gdk-pixbuf-csource \ ac_cv_prog_F77=no \ - ac_cv_path_CUPS_CONFIG=no + ac_cv_path_CUPS_CONFIG=no \ + DB2HTML=false LIBGTK2_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no diff --git a/package/libsemanage/0002-workaround-blackfin-issue.patch b/package/libsemanage/0002-workaround-blackfin-issue.patch new file mode 100644 index 0000000000..5d00c6983b --- /dev/null +++ b/package/libsemanage/0002-workaround-blackfin-issue.patch @@ -0,0 +1,24 @@ +Do not make symbols hidden on Blackfin + +The libselinux logic to hide internal symbols from the DSO doesn't +work properly on Blackfin due to the USER_LABEL_PREFIX not being +handled properly. A real fix is not that simple, so this patch simply +disables the internal symbol hiding mechanism. This means that those +symbols are visible in the final DSO, which is not a problem for +proper execution, it just isn't as clean. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/src/dso.h +=================================================================== +--- a/src/dso.h ++++ b/src/dso.h +@@ -1,7 +1,7 @@ + #ifndef _SELINUX_DSO_H + #define _SELINUX_DSO_H 1 + +-#ifdef SHARED ++#if defined(SHARED) && !defined(__bfin__) + # define hidden __attribute__ ((visibility ("hidden"))) + # define hidden_proto(fct) __hidden_proto (fct, fct##_internal) + # define __hidden_proto(fct, internal) \ diff --git a/package/libsepol/0002-workaround-blackfin-issue.patch b/package/libsepol/0002-workaround-blackfin-issue.patch new file mode 100644 index 0000000000..5d00c6983b --- /dev/null +++ b/package/libsepol/0002-workaround-blackfin-issue.patch @@ -0,0 +1,24 @@ +Do not make symbols hidden on Blackfin + +The libselinux logic to hide internal symbols from the DSO doesn't +work properly on Blackfin due to the USER_LABEL_PREFIX not being +handled properly. A real fix is not that simple, so this patch simply +disables the internal symbol hiding mechanism. This means that those +symbols are visible in the final DSO, which is not a problem for +proper execution, it just isn't as clean. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/src/dso.h +=================================================================== +--- a/src/dso.h ++++ b/src/dso.h +@@ -1,7 +1,7 @@ + #ifndef _SELINUX_DSO_H + #define _SELINUX_DSO_H 1 + +-#ifdef SHARED ++#if defined(SHARED) && !defined(__bfin__) + # define hidden __attribute__ ((visibility ("hidden"))) + # define hidden_proto(fct) __hidden_proto (fct, fct##_internal) + # define __hidden_proto(fct, internal) \ diff --git a/package/libshout/libshout.hash b/package/libshout/libshout.hash new file mode 100644 index 0000000000..908bd991be --- /dev/null +++ b/package/libshout/libshout.hash @@ -0,0 +1,2 @@ +# From http://downloads.xiph.org/releases/libshout/SHA256SUMS +sha256 cf3c5f6b4a5e3fcfbe09fb7024aa88ad4099a9945f7cb037ec06bcee7a23926e libshout-2.3.1.tar.gz diff --git a/package/libsrtp/0002-A-autoconf-checks-for-libz-and-libdl-when-OpenSSL-is.patch b/package/libsrtp/0002-A-autoconf-checks-for-libz-and-libdl-when-OpenSSL-is.patch new file mode 100644 index 0000000000..acb2c9a272 --- /dev/null +++ b/package/libsrtp/0002-A-autoconf-checks-for-libz-and-libdl-when-OpenSSL-is.patch @@ -0,0 +1,33 @@ +From 3107a0161bf30f7e3e0c356c3d040d99634fbf5b Mon Sep 17 00:00:00 2001 +From: jfigus <foleyj@cisco.com> +Date: Thu, 26 Feb 2015 12:25:08 -0500 +Subject: [PATCH] A autoconf checks for libz and libdl when OpenSSL is enabled + to allow for static linking of OpenSSL (via CFLAGS=-static). + +[Romain: + Drop the configure part of the patch since Buildroot + use AUTORECONF in libsrtp.mk] + +Signed-off-by: Romain Naour <romain.naour@openwide.fr> +--- + configure.in | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/configure.in b/configure.in +index ee30daf..71df46b 100644 +--- a/configure.in ++++ b/configure.in +@@ -147,6 +147,10 @@ if test "$enable_openssl" = "yes"; then + LDFLAGS="$LDFLAGS $(pkg-config --libs openssl)"; + CFLAGS="$CFLAGS $(pkg-config --cflags openssl)"; + ++ AC_CHECK_LIB([dl], [dlopen], [], ++ [AC_MSG_FAILURE([can't find libdl])]) ++ AC_CHECK_LIB([z], [inflate], [], ++ [AC_MSG_FAILURE([can't find libz])]) + AC_CHECK_LIB([crypto], [EVP_EncryptInit], [], + [AC_MSG_FAILURE([can't find openssl >1.0.1 crypto lib])]) + AC_CHECK_LIB([crypto], [EVP_aes_128_ctr], [], +-- +1.9.3 + diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk index 5e622551d1..e5cf47b787 100644 --- a/package/libsrtp/libsrtp.mk +++ b/package/libsrtp/libsrtp.mk @@ -25,7 +25,8 @@ endif # host-pkgconf to make sure pkg-config is installed. LIBSRTP_DEPENDENCIES = host-pkgconf -ifeq ($(BR2_PACKAGE_OPENSSL),y) +# openssl handling needs libdl support +ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) LIBSRTP_DEPENDENCIES += openssl LIBSRTP_CONF_OPTS += --enable-openssl else diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk index c9f7059bc1..1a1a06f6f2 100644 --- a/package/libssh2/libssh2.mk +++ b/package/libssh2/libssh2.mk @@ -31,7 +31,8 @@ endif # Add zlib support if enabled ifeq ($(BR2_PACKAGE_ZLIB),y) LIBSSH2_DEPENDENCIES += zlib -LIBSSH2_CONF_OPTS += --with-libz +LIBSSH2_CONF_OPTS += --with-libz \ + --with-libz-prefix=$(STAGING_DIR)/usr else LIBSSH2_CONF_OPTS += --without-libz endif diff --git a/package/libtheora/libtheora.hash b/package/libtheora/libtheora.hash new file mode 100644 index 0000000000..daf245570a --- /dev/null +++ b/package/libtheora/libtheora.hash @@ -0,0 +1,2 @@ +# From http://downloads.xiph.org/releases/theora/SHA256SUMS +sha256 f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61 libtheora-1.1.1.tar.xz diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk index ad790f85ac..853a7244ea 100644 --- a/package/libupnpp/libupnpp.mk +++ b/package/libupnpp/libupnpp.mk @@ -11,4 +11,10 @@ LIBUPNPP_LICENSE_FILES = COPYING LIBUPNPP_INSTALL_STAGING = YES LIBUPNPP_DEPENDENCIES = expat libcurl libupnp +# configure script fails to link against the dependencies of libupnp +# causing upnp detection to fail when statically linking +ifeq ($(BR2_STATIC_LIBS),y) +LIBUPNPP_CONF_ENV += LIBS='-lthreadutil -lixml -pthread' +endif + $(eval $(autotools-package)) diff --git a/package/libxmlrpc/0004-use-correct-curl-config.patch b/package/libxmlrpc/0004-use-correct-curl-config.patch index c0646d3b81..b5816432d8 100644 --- a/package/libxmlrpc/0004-use-correct-curl-config.patch +++ b/package/libxmlrpc/0004-use-correct-curl-config.patch @@ -55,7 +55,7 @@ Index: b/lib/curl_transport/Makefile $(SRCDIR)/common.mk: srcdir blddir -CURL_VERSION := $(shell curl-config --vernum) -+CURL_VERSION := $(shell $CURL_CONFIG --vernum) ++CURL_VERSION := $(shell $(CURL_CONFIG) --vernum) # Some time at or before Curl 7.12, <curl/types.h> became an empty file # (no-op). Some time after Curl 7.18, <curl/types.h> ceased to exist. @@ -64,7 +64,7 @@ Index: b/lib/curl_transport/Makefile endif -CURL_INCLUDES := $(shell curl-config --cflags) -+CURL_INCLUDES := $(shell $CURL_CONFIG --cflags) ++CURL_INCLUDES := $(shell $(CURL_CONFIG) --cflags) # We expect that curl-config --cflags just gives us -I options, because # we need just the -I options for 'make dep'. Plus, it's scary to think # of what any other compiler flag would do to our compile. @@ -77,7 +77,7 @@ Index: b/src/cpp/test/Makefile ifeq ($(MUST_BUILD_CURL_CLIENT),yes) - LIBS += $(shell curl-config --libs) -+ LIBS += $(shell $CURL_CONFIG --libs) ++ LIBS += $(shell $(CURL_CONFIG) --libs) endif ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) LIBS += $(shell libwww-config --libs) @@ -90,7 +90,7 @@ Index: b/tools/common.mk endif ifeq ($(MUST_BUILD_CURL_CLIENT),yes) - CLIENT_LDLIBS += $(shell curl-config --libs) -+ CLIENT_LDLIBS += $(shell $CURL_CONFIG --libs) ++ CLIENT_LDLIBS += $(shell $(CURL_CONFIG) --libs) endif ifeq ($(MUST_BUILD_WININET_CLIENT),yes) CLIENT_LDLIBS += $(shell wininet-config --libs) diff --git a/package/make/make.mk b/package/make/make.mk index 20469ba3df..6e7a8f1aed 100644 --- a/package/make/make.mk +++ b/package/make/make.mk @@ -11,4 +11,16 @@ MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) MAKE_LICENSE = GPLv3+ MAKE_LICENSE_FILES = COPYING +# Disable the 'load' operation for static builds since it needs dlopen +ifeq ($(BR2_STATIC_LIBS),y) + MAKE_CONF_OPTS += --disable-load +endif + +ifeq ($(BR2_PACKAGE_GUILE),y) +MAKE_DEPENDENCIES += guile +MAKE_CONF_OPTS += --with-guile +else +MAKE_CONF_OPTS += --without-guile +endif + $(eval $(autotools-package)) diff --git a/package/mjpg-streamer/Config.in b/package/mjpg-streamer/Config.in index 7925d41e7c..f42c2a50db 100644 --- a/package/mjpg-streamer/Config.in +++ b/package/mjpg-streamer/Config.in @@ -3,14 +3,16 @@ config BR2_PACKAGE_MJPG_STREAMER depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # linux/uvcvideo.h depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS # plugins need dlopen() select BR2_PACKAGE_JPEG help - MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem - or other input plugins and streams them as M-JPEG via HTTP to - webbrowsers, VLC and other software. + MJPG-streamer takes JPGs from Linux-UVC compatible webcams, + filesystem or other input plugins and streams them as + M-JPEG via HTTP to webbrowsers, VLC and other software. http://mjpg-streamer.sourceforge.net -comment "mjpg-streamer needs a toolchain w/ threads, headers >= 3.0" +comment "mjpg-streamer needs a toolchain w/ threads, headers >= 3.0, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS diff --git a/package/mplayer/0005-Support-newer-GIFLIB-versions.patch b/package/mplayer/0005-Support-newer-GIFLIB-versions.patch new file mode 100644 index 0000000000..a43948947a --- /dev/null +++ b/package/mplayer/0005-Support-newer-GIFLIB-versions.patch @@ -0,0 +1,268 @@ +Support newer GIFLIB versions + +This is an adapted upstream patch. This patch is incomplete so a new +patch needs to be added after this one. + +Upstream commit: + + https://github.com/pigoz/mplayer-svn/commit/a0ddaef5457e222dade386901bf448c5e3ac7b89 + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> + +From a0ddaef5457e222dade386901bf448c5e3ac7b89 Mon Sep 17 00:00:00 2001 +From: al <al@b3059339-0415-0410-9bf9-f77b7e298cf2> +Date: Sat, 27 Jul 2013 21:16:06 +0000 +Subject: [PATCH] Support newer GIFLIB versions + +Work with GIFLIB version >= 4.2 + +Several functions have been renamed or changed in signature. + +GIFLIB is used by vo gif89a and demuxer gif. + +Note about GIFLIB Version 4.2: +It does not work with vanilla GIFLIB 4.2 but it works with +versions that have re-added quantize support like e.g. the +package from arch linux. + +Note about GIFLIB Version 5: +The newly added GCB functions use size_t but the necessary +standard headers are not included in gif_lib.h . To workaround +this: + +* configure: use statement_check_broken to include stdlib.h +* vo gif89: include gif_lib.h after stdlib.h +* demuxer gif: no workaround needed, + gif_lib.h is already included after stdlib.h + + + +git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36367 b3059339-0415-0410-9bf9-f77b7e298cf2 +--- + configure | 1 + + libmpdemux/demux_gif.c | 44 +++++++++++++++++++++++++++++++++++--------- + libvo/vo_gif89a.c | 35 ++++++++++++++++++++++++----------- + 3 files changed, 61 insertions(+), 21 deletions(-) + +diff --git a/configure b/configure +index e9152a8..4cd378d 100755 +--- a/configure ++++ b/configure +@@ -4938,6 +4938,7 @@ if test "$_gif" = auto ; then + _gif=no + for ld_gif in "-lungif" "-lgif" ; do + statement_check gif_lib.h 'QuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $ld_gif && _gif=yes && break ++ statement_check_broken stdlib.h gif_lib.h 'GifQuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $ld_gif && _gif=yes && break + done + fi + + +diff --git a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c +index 804ce8c..0a11322 100644 +--- a/libmpdemux/demux_gif.c ++++ b/libmpdemux/demux_gif.c +@@ -45,6 +45,32 @@ typedef struct { + + #define GIF_SIGNATURE (('G' << 16) | ('I' << 8) | 'F') + ++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5 ++#define DGifOpen(a, b) DGifOpen(a, b, NULL) ++#define DGifOpenFileHandle(a) DGifOpenFileHandle(a, NULL) ++#define GifError() (gif ? gif->Error : 0) ++#define GifErrorString() GifErrorString(gif->Error) ++#endif ++ ++/* >= 4.2 prior GIFLIB did not have MAJOR/MINOR defines */ ++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 4 ++static void print_gif_error(GifFileType *gif) ++{ ++ int err = GifError(); ++ char *err_str = GifErrorString(); ++ ++ if (err_str) ++ mp_msg(MSGT_DEMUX, MSGL_ERR, "\n[gif] GIF-LIB error: %s.\n", err_str); ++ else ++ mp_msg(MSGT_DEMUX, MSGL_ERR, "\n[gif] GIF-LIB undefined error %d.\n", err); ++} ++#else ++static void print_gif_error(GifFileType *gif) ++{ ++ PrintGifError(); ++} ++#endif ++ + #ifndef CONFIG_GIF_TVT_HACK + // not supported by certain versions of the library + static int my_read_gif(GifFileType *gif, uint8_t *buf, int len) +@@ -94,14 +120,14 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) + + while (type != IMAGE_DESC_RECORD_TYPE) { + if (DGifGetRecordType(gif, &type) == GIF_ERROR) { +- PrintGifError(); ++ print_gif_error(priv->gif); + return 0; // oops + } + if (type == TERMINATE_RECORD_TYPE) + return 0; // eof + if (type == SCREEN_DESC_RECORD_TYPE) { + if (DGifGetScreenDesc(gif) == GIF_ERROR) { +- PrintGifError(); ++ print_gif_error(priv->gif); + return 0; // oops + } + } +@@ -109,7 +135,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) + int code; + unsigned char *p = NULL; + if (DGifGetExtension(gif, &code, &p) == GIF_ERROR) { +- PrintGifError(); ++ print_gif_error(priv->gif); + return 0; // oops + } + if (code == 0xF9) { +@@ -138,7 +164,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) + comments[length] = 0; + printf("%s", comments); + if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) { +- PrintGifError(); ++ print_gif_error(priv->gif); + return 0; // oops + } + } +@@ -146,7 +172,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) + } + while (p != NULL) { + if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) { +- PrintGifError(); ++ print_gif_error(priv->gif); + return 0; // oops + } + } +@@ -154,7 +180,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) + } + + if (DGifGetImageDesc(gif) == GIF_ERROR) { +- PrintGifError(); ++ print_gif_error(priv->gif); + return 0; // oops + } + +@@ -167,7 +193,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) + memset(dp->buffer, gif->SBackGroundColor, priv->w * priv->h); + + if (DGifGetLine(gif, buf, len) == GIF_ERROR) { +- PrintGifError(); ++ print_gif_error(priv->gif); + free(buf); + free_demux_packet(dp); + return 0; // oops +@@ -261,7 +287,7 @@ static demuxer_t* demux_open_gif(demuxer_t* demuxer) + gif = DGifOpen(demuxer->stream, my_read_gif); + #endif + if (!gif) { +- PrintGifError(); ++ print_gif_error(NULL); + free(priv); + return NULL; + } +@@ -303,7 +329,7 @@ static void demux_close_gif(demuxer_t* demuxer) + gif_priv_t *priv = demuxer->priv; + if (!priv) return; + if (priv->gif && DGifCloseFile(priv->gif) == GIF_ERROR) +- PrintGifError(); ++ print_gif_error(priv->gif); + free(priv->refimg); + free(priv); + } +diff --git a/libvo/vo_gif89a.c b/libvo/vo_gif89a.c +index b808f81..160291a 100644 +--- a/libvo/vo_gif89a.c ++++ b/libvo/vo_gif89a.c +@@ -44,13 +44,13 @@ + * entire argument being interpretted as the filename. + */ + +-#include <gif_lib.h> +- + #include <stdio.h> + #include <stdlib.h> + #include <string.h> + #include <unistd.h> + ++#include <gif_lib.h> ++ + #include "config.h" + #include "subopt-helper.h" + #include "video_out.h" +@@ -69,6 +69,12 @@ static const vo_info_t info = { + + const LIBVO_EXTERN(gif89a) + ++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5 ++#define EGifOpenFileName(a, b) EGifOpenFileName(a, b, NULL) ++#define MakeMapObject GifMakeMapObject ++#define FreeMapObject GifFreeMapObject ++#define QuantizeBuffer GifQuantizeBuffer ++#endif + + // how many frames per second we are aiming for during output. + static float target_fps; +@@ -156,7 +162,7 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width, + uint32_t d_height, uint32_t flags, char *title, + uint32_t format) + { +-#ifdef CONFIG_GIF_4 ++#if defined CONFIG_GIF_4 || GIFLIB_MAJOR >= 5 + // these are control blocks for the gif looping extension. + char LB1[] = "NETSCAPE2.0"; + char LB2[] = { 1, 0, 0 }; +@@ -185,23 +191,25 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width, + return 1; + } + ++ new_gif = EGifOpenFileName(gif_filename, 0); ++ if (new_gif == NULL) { ++ mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: error opening file \"%s\" for output.\n", gif_filename); ++ return 1; ++ } ++ ++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5 ++ EGifSetGifVersion(new_gif, 1); ++#elif defined CONFIG_GIF_4 + // the EGifSetGifVersion line causes segfaults in certain + // earlier versions of libungif. i don't know exactly which, + // but certainly in all those before v4. if you have problems, + // you need to upgrade your gif library. +-#ifdef CONFIG_GIF_4 + EGifSetGifVersion("89a"); + #else + mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Your version of libungif needs to be upgraded.\n"); + mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Some functionality has been disabled.\n"); + #endif + +- new_gif = EGifOpenFileName(gif_filename, 0); +- if (new_gif == NULL) { +- mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: error opening file \"%s\" for output.\n", gif_filename); +- return 1; +- } +- + slice_data = malloc(img_width * img_height * 3); + if (slice_data == NULL) { + mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: malloc failed.\n"); +@@ -231,7 +239,12 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width, + + // set the initial width and height info. + EGifPutScreenDesc(new_gif, s_width, s_height, 256, 0, reduce_cmap); +-#ifdef CONFIG_GIF_4 ++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5 ++ EGifPutExtensionLeader(new_gif, 0xFF); ++ EGifPutExtensionBlock(new_gif, 11, LB1); ++ EGifPutExtensionBlock(new_gif, 3, LB2); ++ EGifPutExtensionTrailer(new_gif); ++#elif defined CONFIG_GIF_4 + // version 3 of libungif does not support multiple control blocks. + // looping requires multiple control blocks. + // therefore, looping is only enabled for v4 and up. +-- +1.7.1 + diff --git a/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch b/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch new file mode 100644 index 0000000000..271dce8b59 --- /dev/null +++ b/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch @@ -0,0 +1,44 @@ +Support newer GIFLIB versions - Part 2 + +Adding another patch to fix the problem with new versions of libgif. +This patch has been sent upstream: + + https://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2015-February/072848.html + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> + +Support newer GIFLIB versions - Part 2 + +This patch is necessary because the previous upstream patch is +incomplete. Without this one, MPlayer will fail to compile displaying +an error message like this one: + +libvo/vo_gif89a.c: In function 'uninit': +libvo/vo_gif89a.c:374:3: error: too few arguments to function 'EGifCloseFile' + EGifCloseFile(new_gif); // also frees gif storage space. + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> +--- + +diff -rup a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c +--- a/libmpdemux/demux_gif.c 2015-02-13 15:39:56.582310414 +0000 ++++ b/libmpdemux/demux_gif.c 2015-02-13 15:48:06.396837922 +0000 +@@ -48,6 +48,7 @@ typedef struct { + #if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5 + #define DGifOpen(a, b) DGifOpen(a, b, NULL) + #define DGifOpenFileHandle(a) DGifOpenFileHandle(a, NULL) ++#define DGifCloseFile(a) DGifCloseFile(a, NULL) + #define GifError() (gif ? gif->Error : 0) + #define GifErrorString() GifErrorString(gif->Error) + #endif +diff -rup a/libvo/vo_gif89a.c b/libvo/vo_gif89a.c +--- a/libvo/vo_gif89a.c 2015-02-13 15:39:56.631311186 +0000 ++++ b/libvo/vo_gif89a.c 2015-02-13 15:45:25.392168294 +0000 +@@ -71,6 +71,7 @@ const LIBVO_EXTERN(gif89a) + + #if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5 + #define EGifOpenFileName(a, b) EGifOpenFileName(a, b, NULL) ++#define EGifCloseFile(a) EGifCloseFile(a, NULL) + #define MakeMapObject GifMakeMapObject + #define FreeMapObject GifFreeMapObject + #define QuantizeBuffer GifQuantizeBuffer diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 655552c455..279a93dcd8 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -10,7 +10,7 @@ NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz NETSNMP_LICENSE = Various BSD-like NETSNMP_LICENSE_FILES = COPYING NETSNMP_INSTALL_STAGING = YES -NETSNMP_CONF_ENV = ac_cv_NETSNMP_CAN_USE_SYSCTL=yes +NETSNMP_CONF_ENV = ac_cv_NETSNMP_CAN_USE_SYSCTL=no NETSNMP_CONF_OPTS = \ --with-persistent-directory=/var/lib/snmp \ --with-defaults \ diff --git a/package/ntp/0001-fix-ntp-keygen-without-openssl.patch b/package/ntp/0001-fix-ntp-keygen-without-openssl.patch deleted file mode 100644 index b9883be1ee..0000000000 --- a/package/ntp/0001-fix-ntp-keygen-without-openssl.patch +++ /dev/null @@ -1,153 +0,0 @@ -Fix build breakage without openssl. -From upstream: http://bk1.ntp.org/ntp-stable/?PAGE=patch&REV=5497b345z5MNTuNvJWuqPSje25NQTg - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -Nura ntp-4.2.8.orig/configure.ac ntp-4.2.8/configure.ac ---- ntp-4.2.8.orig/configure.ac 2014-12-22 10:16:10.449311393 -0300 -+++ ntp-4.2.8/configure.ac 2014-12-22 10:17:30.757215905 -0300 -@@ -102,7 +102,7 @@ - enable_nls=no - LIBOPTS_CHECK_NOBUILD([sntp/libopts]) - --NTP_ENABLE_LOCAL_LIBEVENT -+NTP_LIBEVENT_CHECK_NOBUILD([2], [sntp/libevent]) - - NTP_LIBNTP - -@@ -771,6 +771,10 @@ - - #### - -+AC_CHECK_FUNCS([arc4random_buf]) -+ -+#### -+ - saved_LIBS="$LIBS" - LIBS="$LIBS $LDADD_LIBNTP" - AC_CHECK_FUNCS([daemon]) -diff -Nura ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c ntp-4.2.8/libntp/ntp_crypto_rnd.c ---- ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c 2014-12-22 10:16:10.430301237 -0300 -+++ ntp-4.2.8/libntp/ntp_crypto_rnd.c 2014-12-22 10:18:04.921468163 -0300 -@@ -24,6 +24,21 @@ - int crypto_rand_init = 0; - #endif - -+#ifndef HAVE_ARC4RANDOM_BUF -+static void -+arc4random_buf(void *buf, size_t nbytes); -+ -+void -+evutil_secure_rng_get_bytes(void *buf, size_t nbytes); -+ -+static void -+arc4random_buf(void *buf, size_t nbytes) -+{ -+ evutil_secure_rng_get_bytes(buf, nbytes); -+ return; -+} -+#endif -+ - /* - * As of late 2014, here's how we plan to provide cryptographic-quality - * random numbers: -diff -Nura ntp-4.2.8.orig/Makefile.am ntp-4.2.8/Makefile.am ---- ntp-4.2.8.orig/Makefile.am 2014-12-22 10:16:10.441307117 -0300 -+++ ntp-4.2.8/Makefile.am 2014-12-22 10:16:49.403122474 -0300 -@@ -3,6 +3,7 @@ - NULL = - - SUBDIRS = \ -+ sntp \ - scripts \ - include \ - libntp \ -@@ -17,7 +18,6 @@ - clockstuff \ - kernel \ - util \ -- sntp \ - tests \ - $(NULL) - -@@ -64,7 +64,6 @@ - .gcc-warning \ - libtool \ - html/.datecheck \ -- sntp/built-sources-only \ - $(srcdir)/COPYRIGHT \ - $(srcdir)/.checkChangeLog \ - $(NULL) -diff -Nura ntp-4.2.8.orig/sntp/configure.ac ntp-4.2.8/sntp/configure.ac ---- ntp-4.2.8.orig/sntp/configure.ac 2014-12-22 10:16:10.428300168 -0300 -+++ ntp-4.2.8/sntp/configure.ac 2014-12-22 10:24:11.238172928 -0300 -@@ -97,11 +97,14 @@ - enable_nls=no - LIBOPTS_CHECK - --AM_COND_IF( -- [BUILD_SNTP], -- [NTP_LIBEVENT_CHECK], -- [NTP_LIBEVENT_CHECK_NOBUILD] --) -+# From when we only used libevent for sntp: -+#AM_COND_IF( -+# [BUILD_SNTP], -+# [NTP_LIBEVENT_CHECK], -+# [NTP_LIBEVENT_CHECK_NOBUILD] -+#) -+ -+NTP_LIBEVENT_CHECK([2]) - - # Checks for libraries. - -diff -Nura ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4 ntp-4.2.8/sntp/m4/ntp_libevent.m4 ---- ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4 2014-12-22 10:16:10.417294288 -0300 -+++ ntp-4.2.8/sntp/m4/ntp_libevent.m4 2014-12-22 10:20:31.757915561 -0300 -@@ -1,4 +1,25 @@ --dnl NTP_ENABLE_LOCAL_LIBEVENT -*- Autoconf -*- -+# SYNOPSIS -*- Autoconf -*- -+# -+# NTP_ENABLE_LOCAL_LIBEVENT -+# NTP_LIBEVENT_CHECK([MINVERSION [, DIR]]) -+# NTP_LIBEVENT_CHECK_NOBUILD([MINVERSION [, DIR]]) -+# -+# DESCRIPTION -+# -+# AUTHOR -+# -+# Harlan Stenn -+# -+# LICENSE -+# -+# This file is Copyright (c) 2014 Network Time Foundation -+# -+# Copying and distribution of this file, with or without modification, are -+# permitted in any medium without royalty provided the copyright notice, -+# author attribution and this notice are preserved. This file is offered -+# as-is, without any warranty. -+ -+dnl NTP_ENABLE_LOCAL_LIBEVENT - dnl - dnl Provide only the --enable-local-libevent command-line option. - dnl -@@ -29,7 +50,7 @@ - dnl but DO NOT invoke DIR/configure if we are going to use our bundled - dnl version. This may be the case for nested packages. - dnl --dnl provide --enable-local-libevent . -+dnl provides --enable-local-libevent . - dnl - dnl Examples: - dnl -diff -Nura ntp-4.2.8.orig/util/Makefile.am ntp-4.2.8/util/Makefile.am ---- ntp-4.2.8.orig/util/Makefile.am 2014-12-22 10:16:10.435303910 -0300 -+++ ntp-4.2.8/util/Makefile.am 2014-12-22 10:21:02.500339706 -0300 -@@ -19,6 +19,7 @@ - LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS) - tg2_LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) - ntp_keygen_LDADD = version.o $(LIBOPTS_LDADD) ../libntp/libntp.a -+ntp_keygen_LDADD += $(LDADD_LIBEVENT) - ntp_keygen_LDADD += $(LDADD_LIBNTP) $(PTHREAD_LIBS) $(LDADD_NTP) $(LIBM) - ntp_keygen_SOURCES = ntp-keygen.c ntp-keygen-opts.c ntp-keygen-opts.h - diff --git a/package/ntp/0001-nano.patch b/package/ntp/0001-nano.patch new file mode 100644 index 0000000000..bce3478261 --- /dev/null +++ b/package/ntp/0001-nano.patch @@ -0,0 +1,28 @@ +Fixes issues with glibc header files, see +http://bugs.gentoo.org/show_bug.cgi?id=270483 + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +Rebase to apply cleanly. + +Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> + + +diff -purN a/include/ntp_syscall.h b/include/ntp_syscall.h +--- a/include/ntp_syscall.h 2015-02-11 08:42:37.794576469 -0500 ++++ b/include/ntp_syscall.h 2015-02-11 08:43:03.216957279 -0500 +@@ -10,6 +10,14 @@ + # include <sys/timex.h> + #endif + ++#if defined(ADJ_NANO) && !defined(MOD_NANO) ++#define MOD_NANO ADJ_NANO ++#endif ++ ++#if defined(ADJ_TAI) && !defined(MOD_TAI) ++#define MOD_TAI ADJ_TAI ++#endif ++ + #ifndef NTP_SYSCALLS_LIBC + # ifdef NTP_SYSCALLS_STD + # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t)) diff --git a/package/ntp/0002-nano.patch b/package/ntp/0002-nano.patch deleted file mode 100644 index d16046cb03..0000000000 --- a/package/ntp/0002-nano.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fixes issues with glibc header files, see -http://bugs.gentoo.org/show_bug.cgi?id=270483 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -Nura ntp-4.2.6p2.orig/include/ntp_syscall.h ntp-4.2.6p2/include/ntp_syscall.h ---- ntp-4.2.6p2.orig/include/ntp_syscall.h 2009-12-09 04:36:37.000000000 -0300 -+++ ntp-4.2.6p2/include/ntp_syscall.h 2011-01-27 13:09:05.072336628 -0300 -@@ -14,6 +14,14 @@ - # include <sys/timex.h> - #endif - -+#if defined(ADJ_NANO) && !defined(MOD_NANO) -+#define MOD_NANO ADJ_NANO -+#endif -+ -+#if defined(ADJ_TAI) && !defined(MOD_TAI) -+#define MOD_TAI ADJ_TAI -+#endif -+ - #ifndef NTP_SYSCALLS_LIBC - #ifdef NTP_SYSCALLS_STD - # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t)) diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash index 1d1b907adb..8336be8dc2 100644 --- a/package/ntp/ntp.hash +++ b/package/ntp/ntp.hash @@ -1,2 +1,2 @@ -# From http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8.tar.gz.md5 -md5 6972a626be6150db8cfbd0b63d8719e7 ntp-4.2.8.tar.gz +# From http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p1.tar.gz.md5 +md5 65d8cdfae4722226fbe29863477641ed ntp-4.2.8p1.tar.gz diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index 3a1a917575..7d5644a902 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -5,11 +5,9 @@ ################################################################################ NTP_VERSION_MAJOR = 4.2 -NTP_VERSION = $(NTP_VERSION_MAJOR).8 +NTP_VERSION = $(NTP_VERSION_MAJOR).8p1 NTP_SITE = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) NTP_DEPENDENCIES = host-pkgconf libevent -# For 0001-fix-ntp-keygen-without-openssl.patch -NTP_AUTORECONF = YES NTP_LICENSE = ntp license NTP_LICENSE_FILES = COPYRIGHT NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no diff --git a/package/opentyrian/0001-mingw_fixes-don-t-redefine-strchrnul-for-unix-system.patch b/package/opentyrian/0001-mingw_fixes-don-t-redefine-strchrnul-for-unix-system.patch new file mode 100644 index 0000000000..e20ab002d7 --- /dev/null +++ b/package/opentyrian/0001-mingw_fixes-don-t-redefine-strchrnul-for-unix-system.patch @@ -0,0 +1,42 @@ +From 1c64c2d103c9356750a3d3b559068329bb0c7e3c Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@openwide.fr> +Date: Fri, 20 Feb 2015 00:29:47 +0100 +Subject: [PATCH] mingw_fixes: don't redefine strchrnul for unix system + +On bfin architecture all symbols are prefixed with a underscore '_', hence a +conflict with the _strchrnul symbole from mingw_fixes.c and the one from uClibc. + +Path/to/sysroot/usr/lib/libc.a(strchrnul.o): In function `*___GI_strchrnul': +Path/to/uClibc/libc/string/generic/strchrnul.c:33: multiple definition of `_strchrnul' +obj/mingw_fixes.o:src/mingw_fixes.c:(.text+0x0): first defined here + +Since mingw_fixes.c is intended for WIN32 system, add a guard around strchrnul function +and use the one defined from string.h. + +Fixes: +http://autobuild.buildroot.net/results/a08/a085fb55269971e3c7b8ae8c167e7330c3c042a5/ + +Signed-off-by: Romain Naour <romain.naour@openwide.fr> +--- + src/mingw_fixes.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/mingw_fixes.c b/src/mingw_fixes.c +index d734438..2f4069e 100644 +--- a/src/mingw_fixes.c ++++ b/src/mingw_fixes.c +@@ -18,9 +18,11 @@ + */ + #include "mingw_fixes.h" + ++#ifndef TARGET_UNIX + char *strchrnul( const char *s, int c ) + { + for (; *s != c && *s != '\0'; ++s) + ; + return (char *)s; + } ++#endif +-- +1.9.3 + diff --git a/package/openvmtools/0006-ip_route_config.patch b/package/openvmtools/0006-ip_route_config.patch new file mode 100644 index 0000000000..2396413f1e --- /dev/null +++ b/package/openvmtools/0006-ip_route_config.patch @@ -0,0 +1,27 @@ +Patch from Fedora: + +http://pkgs.fedoraproject.org/cgit/open-vm-tools.git/commit/?id=f86513592cdc468f9af24c7ed29daae48e2cd26e + +Signed-off-by: Romain Naour <romain.naour@openwide.fr> + +--- open-vm-tools-9.4.6-1770165/configure.ac.orig 2015-02-03 18:42:39.431466158 -0800 ++++ open-vm-tools-9.4.6-1770165/configure.ac 2015-02-03 18:43:15.338468630 -0800 +@@ -1032,7 +1032,7 @@ + AM_CONDITIONAL(HAVE_GNU_LD, test "$with_gnu_ld" = "yes") + AM_CONDITIONAL(HAVE_GTKMM, test "$have_x" = "yes" -a "$with_gtkmm" = "yes") + AM_CONDITIONAL(HAVE_PAM, test "$with_pam" = "yes") +-AM_CONDITIONAL(USE_SLASH_PROC, test "os" = "linux" -a "$have_glib_2_14" = "yes") ++AM_CONDITIONAL(USE_SLASH_PROC, test "$os" = "linux" -a "$have_glib_2_14" = "yes") + AM_CONDITIONAL(USE_PRINTF_WRAPPERS, test "$bsdPrintfWrappers" = "yes") + + if test "$have_xsm" != "yes"; then +--- open-vm-tools-9.4.6-1770165/services/plugins/guestInfo/getlib/Makefile.am.orig 2015-02-03 18:48:55.528772952 -0800 ++++ open-vm-tools-9.4.6-1770165/services/plugins/guestInfo/getlib/Makefile.am 2015-02-03 18:52:51.597199001 -0800 +@@ -28,4 +28,6 @@ + libGuestInfo_la_CPPFLAGS += -I$(srcdir)/.. + + AM_CFLAGS = $(DNET_CPPFLAGS) +- ++if USE_SLASH_PROC ++AM_CFLAGS += -DUSE_SLASH_PROC ++endif diff --git a/package/openvmtools/0007-sizeof_argument.patch b/package/openvmtools/0007-sizeof_argument.patch new file mode 100644 index 0000000000..ec2a3f64e2 --- /dev/null +++ b/package/openvmtools/0007-sizeof_argument.patch @@ -0,0 +1,18 @@ +Patch from Fedora: + +http://pkgs.fedoraproject.org/cgit/open-vm-tools.git/commit/sizeof_argument.patch?id=3031fb5279096189aeb50d197b02313c12d701f3 + +Signed-off-by: Romain Naour <romain.naour@openwide.fr> + +--- open-vm-tools-9.4.6-1770165.orig/lib/syncDriver/syncDriverPosix.c 2014-07-15 13:42:21.043818478 -0700 ++++ open-vm-tools-9.4.6-1770165/lib/syncDriver/syncDriverPosix.c 2014-07-15 13:55:41.724103304 -0700 +@@ -72,8 +72,7 @@ + size_t i; + + for (i = 0; i < ARRAYSIZE(gRemoteFSTypes); i++) { +- if (Str_Strncmp(fsType, gRemoteFSTypes[i], +- sizeof gRemoteFSTypes[i]) == 0) { ++ if (Str_Strcmp(gRemoteFSTypes[i], fsType) == 0) { + return TRUE; + } + } diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk index 7aa04afa2e..e0ec6d6b34 100644 --- a/package/openvmtools/openvmtools.mk +++ b/package/openvmtools/openvmtools.mk @@ -22,7 +22,9 @@ OPENVMTOOLS_DEPENDENCIES += libfuse endif ifeq ($(BR2_PACKAGE_OPENVMTOOLS_PROCPS),y) -OPENVMTOOLS_CONF_ENV += CUSTOM_PROCPS_NAME=procps +# Set CUSTOM_PROCPS_LIBS to " " otherwise -L/lib is used by default. +OPENVMTOOLS_CONF_ENV += CUSTOM_PROCPS_NAME=procps \ + CUSTOM_PROCPS_LIBS=" " OPENVMTOOLS_CONF_OPTS += --with-procps OPENVMTOOLS_DEPENDENCIES += procps-ng else diff --git a/package/opus/opus.hash b/package/opus/opus.hash new file mode 100644 index 0000000000..9c4e34dd7d --- /dev/null +++ b/package/opus/opus.hash @@ -0,0 +1,2 @@ +# From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt +sha256 b9727015a58affcf3db527322bf8c4d2fcf39f5f6b8f15dbceca20206cbe1d95 opus-1.1.tar.gz diff --git a/package/php/php.hash b/package/php/php.hash index cd27b1020f..f8a1715f5c 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,2 +1,2 @@ # From http://php.net/downloads.php -md5 79664ce44f7c93f355a25a3fe3dcc91b php-5.5.21.tar.xz +md5 fb1704131d495f5b3e6ab3b087a8dbe6 php-5.5.22.tar.xz diff --git a/package/php/php.mk b/package/php/php.mk index 4bcbe1866d..dd52508cc8 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 5.5.21 +PHP_VERSION = 5.5.22 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES diff --git a/package/pinentry/pinentry.mk b/package/pinentry/pinentry.mk index f34cc0e107..c4d83ee809 100644 --- a/package/pinentry/pinentry.mk +++ b/package/pinentry/pinentry.mk @@ -21,7 +21,7 @@ endif # pinentry-ncurses backend ifeq ($(BR2_PACKAGE_PINENTRY_NCURSES),y) -PINENTRY_CONF_OPTS += --enable-ncurses +PINENTRY_CONF_OPTS += --enable-ncurses --with-ncurses-include-dir=none PINENTRY_DEPENDENCIES += ncurses else PINENTRY_CONF_OPTS += --disable-ncurses diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index 958639ffe8..2404c40122 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -218,7 +218,7 @@ endif ifeq ($(BR2_arm),y) CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT)l else ifeq ($(BR2_armeb),y) -CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSORARM_VARIANT)b +CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT)b else CMAKE_SYSTEM_PROCESSOR = $(BR2_ARCH) endif diff --git a/package/pkg-rebar.mk b/package/pkg-rebar.mk index 620316dc03..75facd55a3 100644 --- a/package/pkg-rebar.mk +++ b/package/pkg-rebar.mk @@ -43,7 +43,7 @@ REBAR_TARGET_DEPS_ENV = \ # Install an Erlang application from $(@D). # -# i.e., define a recipe that installs the "ebin priv $(2)" directories +# i.e., define a recipe that installs the "bin ebin priv $(2)" directories # from $(@D) to $(1)$($(PKG)_ERLANG_LIBDIR). # # argument 1 should typically be $(HOST_DIR), $(TARGET_DIR), @@ -57,7 +57,7 @@ REBAR_TARGET_DEPS_ENV = \ # define install-erlang-directories $(INSTALL) -d $(1)/$($(PKG)_ERLANG_LIBDIR) - for dir in ebin priv $(2); do \ + for dir in bin ebin priv $(2); do \ if test -d $(@D)/$$dir; then \ cp -r $(@D)/$$dir $(1)$($(PKG)_ERLANG_LIBDIR); \ fi; \ @@ -74,7 +74,7 @@ endef # For target packages for example, one uses this to setup symbolic # links from $(STAGING_DIR)/usr/share/rebar/deps/<erlang-app> to # $(STAGING_DIR)/usr/lib/erlang/lib/<erlang-app>-<version>. This -# infrastructure points rebar at the former in order to tell rebar do +# infrastructure points rebar at the former in order to tell rebar to # NOT download dependencies during the build stage, and instead use # the already available dependencies. # @@ -195,7 +195,7 @@ $(2)_DEPENDENCIES ?= $$(filter-out host-automake host-autoconf host-libtool \ host-gettext host-toolchain host-erlang-rebar $(1),\ $$(patsubst host-host-%,host-%,$$(addprefix host-,$$($(3)_DEPENDENCIES)))) else -# Same deal, if _USE_BUNLDED_REBAR is NO. +# Same deal, if _USE_BUNDLED_REBAR is NO. $(2)_DEPENDENCIES ?= $$(filter-out host-toolchain host-erlang-rebar $(1),\ $$(patsubst host-host-%,host-%,$$(addprefix host-,$$($(3)_DEPENDENCIES)))) endif @@ -209,7 +209,7 @@ $(2)_CONF_ENV += $$(REBAR_HOST_DEPS_ENV) ifndef $(2)_BUILD_CMDS define $(2)_BUILD_CMDS (cd $$(@D); \ - CC="$$(HOST_CC)" \ + CC="$$(HOSTCC)" \ CFLAGS="$$(HOST_CFLAGS)" \ LDFLAGS="$$(HOST_LDFLAGS)" \ $$(REBAR_HOST_DEPS_ENV) \ diff --git a/package/polarssl/0003-fix-CVE-2015-1182.patch b/package/polarssl/0003-fix-CVE-2015-1182.patch deleted file mode 100644 index 9309c9d281..0000000000 --- a/package/polarssl/0003-fix-CVE-2015-1182.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix CVE-2015-1182 - Remote attack using crafted certificates. -Patch status: from upstream see: -https://polarssl.org/tech-updates/security-advisories/polarssl-security-advisory-2014-04 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff --git a/library/asn1parse.c b/library/asn1parse.c -index a3a2b56..e2117bf 100644 ---- a/library/asn1parse.c -+++ b/library/asn1parse.c -@@ -278,6 +278,8 @@ int asn1_get_sequence_of( unsigned char **p, - if( cur->next == NULL ) - return( POLARSSL_ERR_ASN1_MALLOC_FAILED ); - -+ memset( cur->next, 0, sizeof( asn1_sequence ) ); -+ - cur = cur->next; - } - } diff --git a/package/polarssl/polarssl.hash b/package/polarssl/polarssl.hash index 9769788724..d68185b944 100644 --- a/package/polarssl/polarssl.hash +++ b/package/polarssl/polarssl.hash @@ -1,2 +1,2 @@ -# From https://polarssl.org/tech-updates/releases/polarssl-1.2.12-released -sha256 63dd60e78d25c438648607bb177b063dcf5fbf3ced9ee794fcb165d101940131 polarssl-1.2.12-gpl.tgz +# From https://polarssl.org/tech-updates/releases/polarssl-1.2.13-released +sha256 62f44f2a9f39b5cefb229e5dd2644ca20ead477cb1843d6ff30671624315b021 polarssl-1.2.13-gpl.tgz diff --git a/package/polarssl/polarssl.mk b/package/polarssl/polarssl.mk index 046c6bfd0c..83e18514dd 100644 --- a/package/polarssl/polarssl.mk +++ b/package/polarssl/polarssl.mk @@ -5,7 +5,7 @@ ################################################################################ POLARSSL_SITE = https://polarssl.org/code/releases -POLARSSL_VERSION = 1.2.12 +POLARSSL_VERSION = 1.2.13 POLARSSL_SOURCE = polarssl-$(POLARSSL_VERSION)-gpl.tgz POLARSSL_CONF_OPTS = \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_POLARSSL_PROGRAMS),ON,OFF) diff --git a/package/python3/018-ncursesw-remove-wrong-includedir.patch b/package/python3/018-ncursesw-remove-wrong-includedir.patch new file mode 100644 index 0000000000..ae87bbf7fa --- /dev/null +++ b/package/python3/018-ncursesw-remove-wrong-includedir.patch @@ -0,0 +1,21 @@ +Do not harcode invalid path to ncursesw headers + +Adding /usr/include/ncursesw is obviously invalid when +cross-compiling. Since the ncursesw headers are no longer installed in +usr/include/ncursesw/, but directly in usr/include, there is anyway no +need for a special header path. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/setup.py +=================================================================== +--- a/setup.py ++++ b/setup.py +@@ -1287,7 +1287,6 @@ + panel_library = 'panel' + if curses_library == 'ncursesw': + curses_defines.append(('HAVE_NCURSESW', '1')) +- curses_includes.append('/usr/include/ncursesw') + # Bug 1464056: If _curses.so links with ncursesw, + # _curses_panel.so must link with panelw. + panel_library = 'panelw' diff --git a/package/qt5/qt5base/0006-configure-fix-gold-linker-support-detection.patch b/package/qt5/qt5base/0006-configure-fix-gold-linker-support-detection.patch new file mode 100644 index 0000000000..053d4296e7 --- /dev/null +++ b/package/qt5/qt5base/0006-configure-fix-gold-linker-support-detection.patch @@ -0,0 +1,36 @@ +From 6e750053cd6d183173a4c39f2b1080b3c9814d76 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard <peter@korsgaard.com> +Date: Sun, 15 Feb 2015 22:58:07 +0100 +Subject: [PATCH] configure: fix gold linker support detection + +Submitted upstream: https://bugreports.qt.io/browse/QTBUG-44487 + +While the -fuse-ld=gold flag is related to linking, it is an argument to the +compiler driver to tell it what linker to execute, NOT an option to tell the +linker to behave differently. + +So it shouldn't get prefixed with -Wl when passed though the compiler driver. + +Fixes http://autobuild.buildroot.net/results/92c/92c3fb4ddb934115b228652bb8c972bb7459bb40/ + +Signed-off-by: Peter Korsgaard <peter@korsgaard.com> +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 043d9fc..987d7f0 100755 +--- a/configure ++++ b/configure +@@ -3263,7 +3263,7 @@ fi + + # auto-detect -fuse-ld=gold support + if [ "$CFG_USE_GOLD_LINKER" != "no" ]; then +- if linkerSupportsFlag $TEST_COMPILER -fuse-ld=gold; then ++ if compilerSupportsFlag $TEST_COMPILER -fuse-ld=gold; then + CFG_USE_GOLD_LINKER=yes + else + if [ "$CFG_USE_GOLD_LINKER" = "yes" ]; then +-- +2.1.3 + diff --git a/package/qt5/qt5base/0007-configure-add-psql_config-option.patch b/package/qt5/qt5base/0007-configure-add-psql_config-option.patch new file mode 100644 index 0000000000..7561314432 --- /dev/null +++ b/package/qt5/qt5base/0007-configure-add-psql_config-option.patch @@ -0,0 +1,60 @@ +From 95f2e4001f9c1721cbdb26d3f9c38511adae9c4b Mon Sep 17 00:00:00 2001 +From: Peter Seiderer <ps.report@gmx.net> +Date: Thu, 19 Feb 2015 22:41:02 +0100 +Subject: [PATCH] configure: add '-psql_config' option + +Allow setting of pg_config path for cross compilation (do +the same as for mysql_config). + +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + configure | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 0c66ecf..a832ae3 100755 +--- a/configure ++++ b/configure +@@ -578,6 +578,7 @@ CFG_WIDGETS=yes + CFG_QCONFIG=full + CFG_DEBUG=auto + CFG_MYSQL_CONFIG= ++CFG_PSQL_CONFIG= + CFG_DEBUG_RELEASE=no + CFG_FORCEDEBUGINFO=no + CFG_SHARED=yes +@@ -885,6 +886,7 @@ while [ "$#" -gt 0 ]; do + -arch| \ + -host-arch| \ + -mysql_config| \ ++ -psql_config| \ + -qpa| \ + -qconfig| \ + -qreal| \ +@@ -1066,6 +1068,9 @@ while [ "$#" -gt 0 ]; do + mysql_config) + CFG_MYSQL_CONFIG="$VAL" + ;; ++ psql_config) ++ CFG_PSQL_CONFIG="$VAL" ++ ;; + prefix) + QT_INSTALL_PREFIX="$VAL" + ;; +@@ -4369,10 +4374,11 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do + ;; + psql) + if [ "$CFG_SQL_psql" != "no" ]; then ++ [ -z "$CFG_PSQL_CONFIG" ] && CFG_PSQL_CONFIG=`"$WHICH" pg_config` + # Be careful not to use native pg_config when cross building. + if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then +- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null | filterIncludePath` +- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null | filterLibraryPath` ++ QT_CFLAGS_PSQL=`$CFG_PSQL_CONFIG --includedir 2>/dev/null | filterIncludePath` ++ QT_LFLAGS_PSQL=`$CFG_PSQL_CONFIG --libdir 2>/dev/null | filterLibraryPath` + fi + [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL" + [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL" +-- +2.1.4 + diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index aaf4da07f6..4d344feba2 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -67,8 +67,7 @@ QT5BASE_CONFIGURE_OPTS += -no-sql-mysql endif ifeq ($(BR2_PACKAGE_QT5BASE_PSQL),y) -QT5BASE_CONFIGURE_OPTS += -plugin-sql-psql -QT5BASE_CONFIGURE_ENV += PSQL_LIBS=-L$(STAGING_DIR)/usr/lib +QT5BASE_CONFIGURE_OPTS += -plugin-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config QT5BASE_DEPENDENCIES += postgresql else QT5BASE_CONFIGURE_OPTS += -no-sql-psql diff --git a/package/qt5/qt5connectivity/0002-bluez_data_p.h-Add-missing-include-byteswap.h.patch b/package/qt5/qt5connectivity/0002-bluez_data_p.h-Add-missing-include-byteswap.h.patch new file mode 100644 index 0000000000..fc4be10553 --- /dev/null +++ b/package/qt5/qt5connectivity/0002-bluez_data_p.h-Add-missing-include-byteswap.h.patch @@ -0,0 +1,46 @@ +bluez_data_p.h: Add missing "#include <byteswap.h>" + +This patch has been submitted upstream: + + https://bugreports.qt.io/browse/QTBUG-44421 + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> + +From 1e219701c61cdedf0e8cfda542ee2485f5fd059a Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera <Vincent.Riera@imgtec.com> +Date: Wed, 11 Feb 2015 18:11:05 +0000 +Subject: [PATCH] bluez_data_p.h: Add missing "#include <byteswap.h>" + +Building qtconnectivity fails for big endian platforms because the +bswap_16 function is not declared. This is the error message: + +In file included from bluez/hcimanager_p.h:52:0, + from bluez/hcimanager.cpp:35: +./bluez/bluez_data_p.h: In function 'quint16 bt_get_le16(const void*)': +./bluez/bluez_data_p.h:172:60: error: 'bswap_16' was not declared in +this scope + return bswap_16(bt_get_unaligned((const quint16 *) ptr)); + +bswap_16 is defined in byteswap.h so we can include this file in order +to fix this problem. + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> +--- + src/bluetooth/bluez/bluez_data_p.h | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/src/bluetooth/bluez/bluez_data_p.h b/src/bluetooth/bluez/bluez_data_p.h +index 9d2d96b..64c90dd 100644 +--- a/src/bluetooth/bluez/bluez_data_p.h ++++ b/src/bluetooth/bluez/bluez_data_p.h +@@ -48,6 +48,7 @@ + #include <QtCore/qglobal.h> + #include <sys/socket.h> + #include <QtBluetooth/QBluetoothUuid> ++#include <byteswap.h> + + #define BTPROTO_L2CAP 0 + #define BTPROTO_HCI 1 +-- +1.7.1 + diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 1db1f0ed01..cbcf790095 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 69b787b2cf9d1ba19bb018d74549699aeae075fb +RPI_FIRMWARE_VERSION = b9fac65dd9ff607d0c2c4ea1bbba2bbf3fbc4a10 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3c RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom @@ -12,6 +12,7 @@ RPI_FIRMWARE_INSTALL_TARGET = NO RPI_FIRMWARE_INSTALL_IMAGES = YES RPI_FIRMWARE_DEPENDENCIES += host-rpi-firmware + define RPI_FIRMWARE_INSTALL_DTB $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b.dtb $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b-plus.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b-plus.dtb diff --git a/package/samba/samba.hash b/package/samba/samba.hash new file mode 100644 index 0000000000..3a8581a3f2 --- /dev/null +++ b/package/samba/samba.hash @@ -0,0 +1,2 @@ +# Locally calculated after checking pgp signature +sha256 8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751 samba-3.6.25.tar.gz diff --git a/package/samba/samba.mk b/package/samba/samba.mk index d25e94eba2..064bfd1c23 100644 --- a/package/samba/samba.mk +++ b/package/samba/samba.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA_VERSION = 3.6.24 +SAMBA_VERSION = 3.6.25 SAMBA_SITE = http://ftp.samba.org/pub/samba/stable SAMBA_SUBDIR = source3 SAMBA_INSTALL_STAGING = YES diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index bff18a886e..721c3dc36c 100644 --- a/package/samba4/samba4.hash +++ b/package/samba4/samba4.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 12a09c167bfa25f50b82775bcbeda94c71c5d71d3b0d1210f6dae0f23020a87b samba-4.1.16.tar.gz +sha256 7aeb5d09e9c84bbeeb4b98d33404e9dbc4d99c54e64a447cc9c4d57e9255cb1d samba-4.1.17.tar.gz diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index 4239b42362..bd8ed1234b 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.1.16 +SAMBA4_VERSION = 4.1.17 SAMBA4_SITE = http://ftp.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_LICENSE = GPLv3+ diff --git a/package/shared-mime-info/shared-mime-info.mk b/package/shared-mime-info/shared-mime-info.mk index 978cd3157b..80a952687f 100644 --- a/package/shared-mime-info/shared-mime-info.mk +++ b/package/shared-mime-info/shared-mime-info.mk @@ -9,13 +9,14 @@ SHARED_MIME_INFO_SOURCE = shared-mime-info-$(SHARED_MIME_INFO_VERSION).tar.bz2 SHARED_MIME_INFO_SITE = http://freedesktop.org/~hadess SHARED_MIME_INFO_INSTALL_STAGING = YES SHARED_MIME_INFO_CONF_ENV = XMLLINT=$(HOST_DIR)/usr/bin/xmllint -SHARED_MIME_INFO_DEPENDENCIES = host-pkgconf host-libglib2 host-libxml2 host-shared-mime-info libxml2 libglib2 +SHARED_MIME_INFO_DEPENDENCIES = host-shared-mime-info libxml2 libglib2 SHARED_MIME_INFO_CONF_OPTS = --disable-update-mimedb SHARED_MIME_INFO_MAKE = $(MAKE1) SHARED_MIME_INFO_LICENSE = GPLv2 SHARED_MIME_INFO_LICENSE_FILES = COPYING -HOST_SHARED_MIME_INFO_DEPENDENCIES = host-pkgconf host-intltool +HOST_SHARED_MIME_INFO_DEPENDENCIES = \ + host-pkgconf host-intltool host-libxml2 host-libglib2 HOST_SHARED_MIME_INFO_CONF_OPTS = --disable-update-mimedb HOST_SHARED_MIME_INFO_MAKE = $(MAKE1) diff --git a/package/sudo/0001-make-signame-include-unistd_h.patch b/package/sudo/0001-make-signame-include-unistd_h.patch new file mode 100644 index 0000000000..234cd716f0 --- /dev/null +++ b/package/sudo/0001-make-signame-include-unistd_h.patch @@ -0,0 +1,20 @@ +signame.c uses sudo_compat.h which in turn uses gid_t definitions +that are normally defined in unistd.h. +This doesn't seem to cause issues with (e)glibc systems, but it does break +uClibc-based builds. + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff -Nura sudo-1.8.12.orig/lib/util/mksigname.c sudo-1.8.12/lib/util/mksigname.c +--- sudo-1.8.12.orig/lib/util/mksigname.c 2015-02-09 15:40:10.000000000 -0300 ++++ sudo-1.8.12/lib/util/mksigname.c 2015-02-17 09:20:05.126701093 -0300 +@@ -44,6 +44,9 @@ + + printf("#include <config.h>\n"); + printf("#include <signal.h>\n"); ++ printf("#ifdef HAVE_UNISTD_H\n"); ++ printf("#include <unistd.h>\n"); ++ printf("#endif /* HAVE_UNISTD_H */\n"); + printf("#include \"sudo_compat.h\"\n\n"); + printf("const char *const sudo_sys_signame[NSIG] = {\n"); + for (i = 0; i < NSIG; i++) { diff --git a/package/sudo/0001-no-netgroup.patch b/package/sudo/0001-no-netgroup.patch deleted file mode 100644 index 64b870c67a..0000000000 --- a/package/sudo/0001-no-netgroup.patch +++ /dev/null @@ -1,29 +0,0 @@ -# HG changeset patch -# User Todd C. Miller <Todd.Miller@courtesan.com> -# Date 1406550172 21600 -# Node ID 57deb66ef8ffc0f551d460e15a34f7df78f54d2a -# Parent f547bf80c436c07ddb1c7385d22db96862ae7e4f -Fix compilation on systems w/o netgroups. - -Status: upstream - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -r f547bf80c436 -r 57deb66ef8ff plugins/sudoers/match.c ---- a/plugins/sudoers/match.c Sat Jul 26 06:07:34 2014 -0600 -+++ b/plugins/sudoers/match.c Mon Jul 28 06:22:52 2014 -0600 -@@ -972,12 +972,12 @@ - rc = true; - else if (lhost != shost && innetgr(netgr, shost, user, domain)) - rc = true; --#endif /* HAVE_INNETGR */ - - sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO, - "netgroup %s matches (%s|%s, %s, %s): %s", netgr, lhost ? lhost : "", - shost ? shost : "", user ? user : "", domain ? domain : "", - rc ? "true" : "false"); -+#endif /* HAVE_INNETGR */ - - debug_return_bool(rc); - } - diff --git a/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch b/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch deleted file mode 100644 index 9f09656d19..0000000000 --- a/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch +++ /dev/null @@ -1,21 +0,0 @@ -Don't use SSP_CFLAGS and PIE_CFLAGS for host tools. -http://www.sudo.ws/bugs/show_bug.cgi?id=662 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -Nura sudo-1.8.10p3.orig/compat/Makefile.in sudo-1.8.10p3/compat/Makefile.in ---- sudo-1.8.10p3.orig/compat/Makefile.in 2014-03-07 18:51:19.000000000 -0300 -+++ sudo-1.8.10p3/compat/Makefile.in 2014-09-20 07:29:30.913108029 -0300 -@@ -96,10 +96,10 @@ - ./mksigname > $@ - - mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(incdir)/missing.h $(top_builddir)/config.h -- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@ -+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@ - - mksigname: $(srcdir)/mksigname.c $(srcdir)/mksigname.h $(incdir)/missing.h $(top_builddir)/config.h -- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@ -+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@ - - fnm_test: fnm_test.o libreplace.la - $(LIBTOOL) --mode=link $(CC) -o $@ fnm_test.o libreplace.la $(PIE_LDFLAGS) $(SSP_LDFLAGS) diff --git a/package/sudo/sudo.hash b/package/sudo/sudo.hash index ba657730b6..4f4df16c07 100644 --- a/package/sudo/sudo.hash +++ b/package/sudo/sudo.hash @@ -1,3 +1,2 @@ -# From announcement http://www.sudo.ws/pipermail/sudo-announce/2014-May/000132.html -md5 fcd8d0d9f9f0397d076ee901e242ed39 sudo-1.8.10p3.tar.gz -sha256 6eda135fa68163108f1c24de6975de5ddb09d75730bb62d6390bda7b04345400 sudo-1.8.10p3.tar.gz +# From http://www.sudo.ws/pipermail/sudo-announce/2015-February/000136.html +sha256 163b51841de8ad19276581a6782d61f5948f1f72a0a843371a1c167d3dc4f3b0 sudo-1.8.12.tar.gz diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index dafd717ff5..3048557364 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,13 +4,12 @@ # ################################################################################ -SUDO_VERSION = 1.8.10p3 +SUDO_VERSION = 1.8.12 SUDO_SITE = http://www.sudo.ws/sudo/dist SUDO_LICENSE = ISC BSD-3c SUDO_LICENSE_FILES = doc/LICENSE -# Ships a beta libtool version hence our patch doesn't apply. -# Run autoreconf to regenerate ltmain.sh. -SUDO_AUTORECONF = YES +# This is to avoid sudo's make install from chown()ing files which fails +SUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install SUDO_CONF_OPTS = \ --without-lecture \ --without-sendmail \ @@ -23,8 +22,8 @@ SUDO_CONF_OPTS = \ # mksigname/mksiglist needs to run on build host to generate source files define SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST $(MAKE) $(HOST_CONFIGURE_OPTS) \ - CPPFLAGS="$(HOST_CPPFLAGS) -I../include -I.." \ - -C $(@D)/compat mksigname mksiglist + CPPFLAGS="$(HOST_CPPFLAGS) -I../../include -I../.." \ + -C $(@D)/lib/util mksigname mksiglist endef SUDO_POST_CONFIGURE_HOOKS += SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index c33e08eb93..0c818b9815 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -221,6 +221,7 @@ config BR2_PACKAGE_UTIL_LINUX_SETPRIV config BR2_PACKAGE_UTIL_LINUX_SETTERM bool "setterm" + select BR2_PACKAGE_NCURSES help Set terminal attributes @@ -231,6 +232,7 @@ config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT config BR2_PACKAGE_UTIL_LINUX_UL bool "ul" + select BR2_PACKAGE_NCURSES help Do underlining diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash new file mode 100644 index 0000000000..718a0e6cda --- /dev/null +++ b/package/vlc/vlc.hash @@ -0,0 +1,2 @@ +# From http://get.videolan.org/vlc/2.1.6/vlc-2.1.6.tar.xz.sha256 +sha256 1b76cf4b96e18cf224d21b91343f7e579790c5d3e499c8a230f53da695687c04 vlc-2.1.6.tar.xz diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index 9d99de636f..56006b5b46 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 2.1.5 +VLC_VERSION = 2.1.6 VLC_SITE = http://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPLv2+ LGPLv2.1+ diff --git a/package/vorbis-tools/vorbis-tools.hash b/package/vorbis-tools/vorbis-tools.hash new file mode 100644 index 0000000000..8f40eda9d2 --- /dev/null +++ b/package/vorbis-tools/vorbis-tools.hash @@ -0,0 +1,2 @@ +# From http://downloads.xiph.org/releases/vorbis/SHA256SUMS +sha256 a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc vorbis-tools-1.4.0.tar.gz diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk index da2f1922ce..f4a3aa96dd 100644 --- a/package/x11r7/libxcb/libxcb.mk +++ b/package/x11r7/libxcb/libxcb.mk @@ -16,8 +16,8 @@ LIBXCB_DEPENDENCIES = \ host-libxslt libpthread-stubs xcb-proto xlib_libXdmcp xlib_libXau \ host-xcb-proto host-python host-pkgconf -LIBXCB_CONF_OPTS = --disable-build-docs -HOST_LIBXCB_CONF_OPTS = --disable-build-docs +LIBXCB_CONF_OPTS = --with-doxygen=no +HOST_LIBXCB_CONF_OPTS = --with-doxygen=no $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/x11r7/xcb-util-keysyms/Config.in b/package/x11r7/xcb-util-keysyms/Config.in index ef42eb2920..0c1d8cc474 100644 --- a/package/x11r7/xcb-util-keysyms/Config.in +++ b/package/x11r7/xcb-util-keysyms/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XCB_UTIL_KEYSYMS bool "xcb-util-keysyms" + select BR2_PACKAGE_LIBXCB help The XCB util modules provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension diff --git a/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk b/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk index 0f653c3fed..6bc0a796e7 100644 --- a/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk +++ b/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk @@ -13,4 +13,6 @@ XCB_UTIL_KEYSYMS_LICENSE = MIT XCB_UTIL_KEYSYMS_INSTALL_STAGING = YES +XCB_UTIL_KEYSYMS_DEPENDENCIES = host-pkgconf libxcb + $(eval $(autotools-package)) diff --git a/package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch b/package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch new file mode 100644 index 0000000000..08944d6205 --- /dev/null +++ b/package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch @@ -0,0 +1,90 @@ +backtrace.c: Fix word cast to a pointer + +This patch fixes a compilation problem of Xorg + libunwind support when +building it on MIPS variants with 32-bit pointers. + +Related: + + http://lists.busybox.net/pipermail/buildroot/2014-December/114404.html + +Patch submitted upstream: + + http://lists.x.org/archives/xorg-devel/2015-January/045226.html + +Patch reviewed by an Xorg developer: + + http://lists.x.org/archives/xorg-devel/2015-January/045383.html + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> + +From 84f04e0274661401a91efd4e9b21dccc1396e1d6 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera <Vincent.Riera@imgtec.com> +Date: Wed, 3 Dec 2014 11:34:47 +0000 +Subject: [PATCH] backtrace.c: Fix word cast to a pointer + +backtrace.c uses a word size provided by libunwind. In some +architectures like MIPS, libunwind makes that word size 64-bit for all +variants of the architecture. + +In the lines #90 and #98, backtrace.c tries to do a cast to a pointer, +which fails in all MIPS variants with 32-bit pointers, like MIPS32 or +MIPS64 n32, because it's trying to do a cast from a 64-bit wide variable +to a 32-bit pointer: + +Making all in os +make[2]: Entering directory +`/home/test/test/1/output/build/xserver_xorg-server-1.15.1/os' + CC WaitFor.lo + CC access.lo + CC auth.lo + CC backtrace.lo +backtrace.c: In function 'xorg_backtrace': +backtrace.c:90:20: error: cast to pointer from integer of different size +[-Werror=int-to-pointer-cast] + if (dladdr((void *)(pip.start_ip + off), &dlinfo) && +dlinfo.dli_fname && + ^ +backtrace.c:98:13: error: cast to pointer from integer of different size +[-Werror=int-to-pointer-cast] + (void *)(pip.start_ip + off)); + ^ +cc1: some warnings being treated as errors +make[2]: *** [backtrace.lo] Error 1 +make[2]: *** Waiting for unfinished jobs.... + +Making the cast to a pointer-sized integer, and then to a pointer fixes +the problem. + +Related: + https://bugs.freedesktop.org/show_bug.cgi?id=79939 + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> +--- + os/backtrace.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/os/backtrace.c b/os/backtrace.c +index 3d1195b..fd129ef 100644 +--- a/os/backtrace.c ++++ b/os/backtrace.c +@@ -87,7 +87,7 @@ xorg_backtrace(void) + procname[1] = 0; + } + +- if (dladdr((void *)(pip.start_ip + off), &dlinfo) && dlinfo.dli_fname && ++ if (dladdr((void *)(uintptr_t)(pip.start_ip + off), &dlinfo) && dlinfo.dli_fname && + *dlinfo.dli_fname) + filename = dlinfo.dli_fname; + else +@@ -95,7 +95,7 @@ xorg_backtrace(void) + + ErrorFSigSafe("%u: %s (%s%s+0x%x) [%p]\n", i++, filename, procname, + ret == -UNW_ENOMEM ? "..." : "", (int)off, +- (void *)(pip.start_ip + off)); ++ (void *)(uintptr_t)(pip.start_ip + off)); + + ret = unw_step(&cursor); + if (ret < 0) +-- +1.7.1 + diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 472c0bc671..bb5381c1c6 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -145,9 +145,7 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y) XSERVER_XORG_SERVER_DEPENDENCIES += freetype endif -# libunwind support is broken on all MIPS variants with 32-bit pointers -# https://bugs.freedesktop.org/show_bug.cgi?id=79939 -ifeq ($(BR2_PACKAGE_LIBUNWIND)-$(BR2_MIPS_OABI32)-$(BR2_MIPS_NABI32),y--) +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) XSERVER_XORG_SERVER_DEPENDENCIES += libunwind XSERVER_XORG_SERVER_CONF_OPTS += --enable-libunwind else diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index 48a5536eca..fad7ae9c74 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -73,9 +73,11 @@ td.lotsofpatches { autotools_packages=0 cmake_packages=0 +kconfig_packages=0 luarocks_package=0 perl_packages=0 python_packages=0 +rebar_packages=0 virtual_packages=0 generic_packages=0 manual_packages=0 @@ -92,6 +94,7 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do if test \ $i = "boot/common.mk" -o \ + $i = "linux/linux-ext-fbtft.mk" -o \ $i = "linux/linux-ext-xenomai.mk" -o \ $i = "linux/linux-ext-rtai.mk" -o \ $i = "package/efl/efl.mk" -o \ @@ -104,11 +107,14 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do $i = "package/opengl/opengl.mk" -o \ $i = "package/qt5/qt5.mk" -o \ $i = "package/x11r7/x11r7.mk" -o \ + $i = "package/doc-asciidoc.mk" -o \ $i = "package/pkg-autotools.mk" -o \ $i = "package/pkg-cmake.mk" -o \ + $i = "package/pkg-kconfig.mk" -o \ $i = "package/pkg-luarocks.mk" -o \ $i = "package/pkg-perl.mk" -o \ $i = "package/pkg-python.mk" -o \ + $i = "package/pkg-rebar.mk" -o \ $i = "package/pkg-virtual.mk" -o \ $i = "package/pkg-download.mk" -o \ $i = "package/pkg-generic.mk" -o \ @@ -134,6 +140,11 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do hastarget=1 fi + if grep -E "\(kconfig-package\)" $i > /dev/null ; then + infratype="kconfig" + hastarget=1 + fi + if grep -E "\(host-luarocks-package\)" $i > /dev/null ; then infratype="luarocks" hashost=1 @@ -163,6 +174,17 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do infratype="python" hastarget=1 fi + + if grep -E "\(host-rebar-package\)" $i > /dev/null ; then + infratype="rebar" + hashost=1 + fi + + if grep -E "\(rebar-package\)" $i > /dev/null ; then + infratype="rebar" + hastarget=1 + fi + if grep -E "\(host-virtual-package\)" $i > /dev/null ; then infratype="virtual" hashost=1 @@ -207,12 +229,16 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do autotools_packages=$(($autotools_packages+1)) elif [ ${infratype} = "cmake" ]; then cmake_packages=$(($cmake_packages+1)) + elif [ ${infratype} = "kconfig" ]; then + kconfig_packages=$(($kconfig_packages+1)) elif [ ${infratype} = "luarocks" ]; then luarocks_packages=$(($luarocks_packages+1)) elif [ ${infratype} = "perl" ]; then perl_packages=$(($perl_packages+1)) elif [ ${infratype} = "python" ]; then python_packages=$(($python_packages+1)) + elif [ ${infratype} = "rebar" ]; then + rebar_packages=$(($rebar_packages+1)) elif [ ${infratype} = "virtual" ]; then virtual_packages=$(($virtual_packages+1)) elif [ ${infratype} = "generic" ]; then @@ -321,6 +347,10 @@ echo "<td>Packages using the <i>luarocks</i> infrastructure</td>" echo "<td>$luarocks_packages</td>" echo "</tr>" echo "<tr>" +echo "<td>Packages using the <i>kconfig</i> infrastructure</td>" +echo "<td>$kconfig_packages</td>" +echo "</tr>" +echo "<tr>" echo "<td>Packages using the <i>perl</i> infrastructure</td>" echo "<td>$perl_packages</td>" echo "</tr>" @@ -329,6 +359,10 @@ echo "<td>Packages using the <i>python</i> infrastructure</td>" echo "<td>$python_packages</td>" echo "</tr>" echo "<tr>" +echo "<td>Packages using the <i>rebar</i> infrastructure</td>" +echo "<td>$rebar_packages</td>" +echo "</tr>" +echo "<tr>" echo "<td>Packages using the <i>virtual</i> infrastructure</td>" echo "<td>$virtual_packages</td>" echo "</tr>" diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 999a354d06..ab73f9a073 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -6,9 +6,10 @@ # # This package implements the support for external toolchains, i.e -# toolchains that have not been produced by Buildroot itself and that -# Buildroot can download from the Web or that are already available on -# the system on which Buildroot runs. So far, we have tested this +# toolchains that are available pre-built, ready to use. Such toolchain +# may either be readily available on the Web (Linaro, Sourcery +# CodeBench, from processor vendors) or may be built with tools like +# Crosstool-NG or Buildroot itself. So far, we have tested this # with: # # * Toolchains generated by Crosstool-NG |