Compare commits
75 Commits
2015.02-rc2
...
2015.02
| Author | SHA1 | Date | |
|---|---|---|---|
| 6bf057b0f2 | |||
| 4ba55e2287 | |||
| c2eca9eb90 | |||
| a74ed49f66 | |||
| 40fa6dcdcc | |||
| c9ba844ed0 | |||
| b6997c8e4c | |||
| b3db3aba6e | |||
| 67cebbdf5f | |||
| ce6a0e685e | |||
| 1c499247ff | |||
| a9079c7d86 | |||
| 7cbfc35ed3 | |||
| 63f5f44e61 | |||
| 5f91f5765a | |||
| 9d13019edd | |||
| fb56d37163 | |||
| a0e44a348a | |||
| c6c8fbcdf4 | |||
| b17e5352ca | |||
| 10900c0715 | |||
| 6a56d7d9d2 | |||
| f29bb169cf | |||
| 0278ba33bb | |||
| b1f83fefcb | |||
| b3d1a543f7 | |||
| 38ee8a8e16 | |||
| 5d15655964 | |||
| db2cbeee44 | |||
| 3cf45f5697 | |||
| 9f90ce88d5 | |||
| 4ef6b9ff86 | |||
| f6b985be30 | |||
| c07a1bd122 | |||
| 489af59473 | |||
| 752dd650b5 | |||
| 345f32e67d | |||
| 4a0fbffa3e | |||
| 1b54fbc925 | |||
| d6c233b799 | |||
| 340f0a802d | |||
| f583f2bf8f | |||
| 4b41073b65 | |||
| fdfbd27f34 | |||
| d3c08a79aa | |||
| f6a62127af | |||
| cc42daf98a | |||
| 3f79f5e76a | |||
| 59abbae847 | |||
| 3986a99182 | |||
| a125d213b4 | |||
| b7905227c5 | |||
| 5de0a51278 | |||
| 694dc0c8ee | |||
| 120a3efeec | |||
| 5f3fdb8534 | |||
| f31b251e10 | |||
| b58d58c74a | |||
| 367a50d7c5 | |||
| 0645153bb3 | |||
| 235879bab5 | |||
| e6b614c9c6 | |||
| 74aca655bb | |||
| ad951abd86 | |||
| f08a9db47e | |||
| 7f484d8a1b | |||
| b2ef5c4aa7 | |||
| 2e3895a1d7 | |||
| 7af66e5053 | |||
| a02045ca26 | |||
| 13a98d3d56 | |||
| 12a6c5b12c | |||
| 0a3dd68fe6 | |||
| 3bd38b4eca | |||
| b34c63375a |
@@ -1,3 +1,28 @@
|
||||
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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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-rc2
|
||||
export BR2_VERSION := 2015.02
|
||||
|
||||
# Check for minimal make version (note: this check will break at make 10.x)
|
||||
MIN_MAKE_VERSION = 3.81
|
||||
|
||||
@@ -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="03d0d9c73c17f74a7afa64ed9f022565e89b8dd5"
|
||||
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
|
||||
|
||||
+12
-12
@@ -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-rc2</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-rc2.tar.gz">buildroot-2015.02-rc2.tar.gz</a>
|
||||
(<a href="/downloads/buildroot-2015.02-rc2.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-rc2.tar.bz2">buildroot-2015.02-rc2.tar.bz2</a>
|
||||
(<a href="/downloads/buildroot-2015.02-rc2.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.
|
||||
|
||||
|
||||
@@ -8,6 +8,27 @@
|
||||
<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,
|
||||
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
|
||||
|
||||
+4
-2
@@ -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)),)
|
||||
|
||||
@@ -948,7 +948,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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
@@ -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" ""
|
||||
+
|
||||
@@ -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
|
||||
@@ -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);
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -8,8 +8,15 @@ FLTK_VERSION = 1.3.2
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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+
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 7758e30dc382ae7a7167ed41b7f936aa50af5ea2d6fccdef663b5b750b65b8e0 gnupg-2.0.26.tar.bz2
|
||||
# From http://lists.gnupg.org/pipermail/gnupg-announce/2015q1/000362.html
|
||||
sha1 d065be185f5bac8ea07b210ab7756e79b83b63d4 gnupg-2.0.27.tar.bz2
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GNUPG2_VERSION = 2.0.26
|
||||
GNUPG2_VERSION = 2.0.27
|
||||
GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2
|
||||
GNUPG2_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg
|
||||
GNUPG2_LICENSE = GPLv3+
|
||||
|
||||
@@ -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 \
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
|
||||
IMAGEMAGICK_VERSION = 6.9.0-4
|
||||
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
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# From http://downloads.xiph.org/releases/ao/SHA256SUMS.txt
|
||||
sha256 03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf libao-1.2.0.tar.gz
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/
|
||||
@@ -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))
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# From http://downloads.xiph.org/releases/libshout/SHA256SUMS
|
||||
sha256 cf3c5f6b4a5e3fcfbe09fb7024aa88ad4099a9945f7cb037ec06bcee7a23926e libshout-2.3.1.tar.gz
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# From http://downloads.xiph.org/releases/theora/SHA256SUMS
|
||||
sha256 f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61 libtheora-1.1.1.tar.xz
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt
|
||||
sha256 b9727015a58affcf3db527322bf8c4d2fcf39f5f6b8f15dbceca20206cbe1d95 opus-1.1.tar.gz
|
||||
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -212,7 +212,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
|
||||
|
||||
@@ -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) \
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
RPI_FIRMWARE_VERSION = 393dcc0e76f18f6ac1b67ba45d36058410670034
|
||||
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
|
||||
@@ -16,7 +16,7 @@ RPI_FIRMWARE_DEPENDENCIES += host-rpi-firmware
|
||||
# The Device Tree blobs are not yet in the master branch of the
|
||||
# raspberrypi firmware project, so we have to use a separate branch
|
||||
# for now.
|
||||
RPI_FIRMWARE_VERSION = 09627457b9e15bf4ea4e6751d3c173a3fb65df07
|
||||
RPI_FIRMWARE_VERSION = 6c0acfbbdba9908a4a4d21eab63c49ab72cb528b
|
||||
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
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751 samba-3.6.25.tar.gz
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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+
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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++) {
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -223,6 +223,7 @@ config BR2_PACKAGE_UTIL_LINUX_SETPRIV
|
||||
|
||||
config BR2_PACKAGE_UTIL_LINUX_SETTERM
|
||||
bool "setterm"
|
||||
select BR2_PACKAGE_NCURSES
|
||||
help
|
||||
Set terminal attributes
|
||||
|
||||
@@ -233,6 +234,7 @@ config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
|
||||
|
||||
config BR2_PACKAGE_UTIL_LINUX_UL
|
||||
bool "ul"
|
||||
select BR2_PACKAGE_NCURSES
|
||||
help
|
||||
Do underlining
|
||||
|
||||
|
||||
@@ -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
|
||||
+1
-1
@@ -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+
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# From http://downloads.xiph.org/releases/vorbis/SHA256SUMS
|
||||
sha256 a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc vorbis-tools-1.4.0.tar.gz
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user