Compare commits

...

81 Commits

Author SHA1 Message Date
Peter Korsgaard
1d02d0be58 Update for 2017.08.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-29 08:37:49 +01:00
Bernd Kuhls
98ffc851e2 linux-headers: bump 3.2.x series
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit c8f0a823ef)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 23:55:03 +01:00
Yann E. MORIN
d7c7c1a2c7 package/dvb-apps: fix build with some perl version
perl can't find a module that is located in the current directory,
so help it locate it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit d8234d4400)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 23:53:48 +01:00
Thomas Petazzoni
57b3dc4375 google-breakpad: take into account host architecture dependencies
Building the target google-breakpad requires building the host variant
of google-breakpad. Just like the target google-breakpad only supports
a limited number of architectures, it is the same for the host
google-breakpad.

We therefore introduce a
BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS option that is used
where necessary to prevent the user from choosing Google Breakpad when
building on unsupported host platforms.

Fixes:

  http://autobuild.buildroot.net/results/c7c04483508f9e4d629efa54571afeb1feaa5f73/
  (build on a powerpc64le machine)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit fadc438393)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 23:51:27 +01:00
Yann E. MORIN
bce795fbdc package/dvb-apps: is not parallel-safe
This is invisible because the timings make it excessively difficult to
hit, but the Makefile is inherently flawed for parallel build, as it
contains:

    $(objects): atsc_psip_section.c atsc_psip_section.h

    atsc_psip_section.c atsc_psip_section.h:
        perl section_generate.pl atsc_psip_section.pl

and the perl script section_generate.pl will create both the .c and .h
files in one go, but given the construct above, there can be two such
script that run in parallel, which can clobber the generated .c and/or
.h files.

So, make dvb-apps a MAKE1 package.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit ba6796c7cc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 23:51:01 +01:00
Gaël PORTAY
f97e36db91 qt5webkit: fix URL for 5.6 download
The Qt community releases are not stored under submodules path
component.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 7780cef535)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 12:03:04 +01:00
Bernd Kuhls
49d0775fd3 linux-headers: bump 3.{2, 10}.x and 4.{1, 4, 9, 13}.x series
[Peter: drop 4.13.x bump]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 1b7b005313)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 11:08:43 +01:00
Peter Seiderer
8bb4b9c8df Fix makefile include order by using sort/wildcard.
The 'include' directive in GNU make supports wildcards, but their
expansion has no defined sort order (GLOB_NOSORT is passed to glob()).
Usually this doesn't matter. However, there is at least one case where
it does make a difference: toolchain/*/*.mk includes both the
definitions of the external toolchain packages and
pkg-toolchain-external.mk, but pkg-toolchain-external.mk must be
included first.

For predictability, use ordered 'include $(sort $(wildcard ...))'
instead of unordered direct 'include */*.mk' everywhere.

Fixes [1] reported by Petr Vorel:

  make: *** No rule to make target 'toolchain-external-custom', needed by '.../build/toolchain-external/.stamp_configured'.  Stop.

[1] http://lists.busybox.net/pipermail/buildroot/2017-November/206969.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Tested-by: Petr Vorel <petr.vorel@gmail.com>
[Arnout: also sort the one remaining include, of the external docs]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

(cherry picked from commit b9d2d4cb4e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 11:05:51 +01:00
Romain Naour
3f8e8050d6 package/google-breakpad: replace references to 'struct ucontext' with 'ucontext_t'
In glibc, since
https://sourceware.org/git/?p=glibc.git;h=251287734e89a52da3db682a8241eb6bccc050c9
the 'struct ucontext' tag has been replaced with 'struct ucontext_t'.
The tag itself is anyway not POSIX - only the 'ucontext_t' typedef is
specified. And that type has existed since at least 1997 in glibc.

Therefore, replace references to 'struct ucontext' with 'ucontext_t',
which works in all versions of glibc, uClibc and musl.

Fixes:
[arm]     http://autobuild.buildroot.net/results/6380341dbb6c114e4452c5cda37da6b44b80d178
[aarch64] http://autobuild.buildroot.net/results/4ecf770df7c984a62082d59f8fab632d3efbe06b
[mipsel]  http://autobuild.buildroot.net/results/e1473a12cf38ccf4dd3ed0f26a8ff9e6b57f0810

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Arnout: improve commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

(cherry picked from commit ca4009fc24)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 11:05:09 +01:00
Bernd Kuhls
98566da566 linux-headers: bump 4.{4, 9, 13}.x series
[Peter: drop 4.13.x bump]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit ee6840166f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:58:21 +01:00
Philippe Proulx
47ff6f7d22 lttng-tools: fix build errors and warnings for musl/uClibc-ng
Add 0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch to
detect if dlmopen() exists and disable parts of the build accordingly if
not. This fixes a bug when building with musl or uClibc-ng.

Add 0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch to
fix an #include bug when building with musl.

Add 0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch to
remove compilation warnings.

All three new patches are in upstream's master branch as of this date
and will be part of an eventual release.

Fixes:

  http://autobuild.buildroot.net/results/e37a5c69e2a9f9cd7c0705331e205c1ee20808e7/
  (musl)

  http://autobuild.buildroot.net/results/b2670e6d1928649aefa7fbc748858e6036585f01/
  (uclibc)

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 9dd25fe977)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:55:04 +01:00
Peter Seiderer
beb6eab502 localedef: fix xlocale.h related compile failure
Add upstream patch 'Don't include <xlocale.h>'.

Fixes Bug-10501 ([1]):

In file included from ./include/locale.h:1:0,
                 from /usr/include/libintl.h:103,
                 from ./include/libintl.h:2,
                 from glibc/locale/programs/charmap.c:25:
glibc/locale/locale.h:146:11: fatal error: xlocale.h: No such file or directory
 # include <xlocale.h>

[1] https://bugs.busybox.net/show_bug.cgi?id=10501

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit d5cc76c531)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:50:28 +01:00
Peter Korsgaard
773ba3870f samba4: security bump to version 4.6.11
Fixes the following security issues:

 - CVE-2017-14746:
   All versions of Samba from 4.0.0 onwards are vulnerable to a use after
   free vulnerability, where a malicious SMB1 request can be used to
   control the contents of heap memory via a deallocated heap pointer. It
   is possible this may be used to compromise the SMB server.

 - CVE-2017-15275:
   All versions of Samba from 3.6.0 onwards are vulnerable to a heap
   memory information leak, where server allocated heap memory may be
   returned to the client without being cleared.

   There is no known vulnerability associated with this error, but
   uncleared heap memory may contain previously used data that may help
   an attacker compromise the server via other methods. Uncleared heap
   memory may potentially contain password hashes or other high-value
   data.

For more details, see the release notes:
https://www.samba.org/samba/history/samba-4.6.11.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit df75c954bc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:46:21 +01:00
Thomas Petazzoni
b7a9f3301e oracle-mysql: fix build with gcc 7.x
This adjusts an existing patch to also fix gcc 7.x build issues on the
server side of MySQL.

Fixes:

  http://autobuild.buildroot.net/results/9e3a0b5b8f2506fb2ce2fcc3d5d3a494a14439cb

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 317b72f469)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:40:41 +01:00
Thomas Petazzoni
1d05a6dcac qt: add patch to fix build on non-x86 platforms
This commit adds a patch to Qt that adjusts its build system to
properly support building on non-x86 platforms. The problem was due to
the PLATFORM and XPLATFORM variables having the same value when
building on a ppc64le system targetting an uncommon architecture
(Xtensa or ARC for example). We fix this problem by making sure
PLATFORM and XPLATFORM will always be different.

Fixes the following build failures occuring on gcc112 (a ppc64le
autobuilder machine):

  http://autobuild.buildroot.net/results/527747a2fbb31195bb6fdb37cfdaa624e69b7d68/
  (qt on xtensa)

  http://autobuild.buildroot.net/results/7db1265f6f34be3a498881564292517a8fc0e44e/
  (qt on ARC)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit e86b74333e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:35:57 +01:00
Thomas Petazzoni
47764b0be4 libfastjson: indicate explicitly which gcc -std option to use
This commit fixes the following build issue of libfastjson with old
enough compilers (4.8) and wchar disabled:

json_object.c: In function 'fjson_object_object_delete':
json_object.c:385:3: error: 'for' loop initial declarations are only allowed in C99 mode
   for (int i = 0 ; i < FJSON_OBJECT_CHLD_PG_SIZE ; ++i) {
   ^

The code of libfastjson requires C99. If your compiler is recent
enough (gcc 5.x), then no problem, it is C99 by default, no additional
flags are needed.

If your compiler is older (for example gcc 4.8), then -std=c99 or
-std=gnu99 is explicitly needed to tell the compiler to accept C99
constructs. Testing the compiler for the availability of such flags is
done by libfastjson configure script. However, the test program used
by the configure script uses some wchar_t types, and therefore the
test checking for C99 availability fails on toolchains with wchar
disabled. From config.log:

configure:3928: checking for /home/test/buildroot/output/host/usr/bin/i586-buildroot-linux-uclibc-gcc option to accept ISO C99
[...]
configure:4077: /home/test/buildroot/output/host/usr/bin/i586-buildroot-linux-uclibc-gcc -std=gnu99 -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5
conftest.c:54:3: error: unknown type name 'wchar_t'
   const wchar_t *name;
   ^

So, just like we did in libv4l in commit
f01396a158 ("libv4l: fix uclibc-ng
configure/compile"), let's hint directly the configure script that it
should use -std=gnu99. This fixes the build of libfastjson with old
compilers and wchar disabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 90430237cc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:34:25 +01:00
Peter Korsgaard
b622ceef86 qt5webkit: backport upstream icu-59 fix from 5.9 branch to 5.6.3
icu-59.x slightly changed the API, breaking qt5webkit builds. For details, see:

https://bugreports.qt.io/browse/QTBUG-60532

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit cab0d0a8ac)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:32:30 +01:00
Peter Korsgaard
e8f6ccced4 qt5webkit: correct download URL and hash for 5.6 variant
Commit 06a4975d4b (qt5: bump LTS version to 5.6.3) added an empty hash
for the 5.6.3 variant of qt5webkit, causing failures.

It also forgot to adjust the download URL as the qt5webkit tarballs are no
longer available under official_releases/ like the other submodules, but only
under community_releases/.

Fix both issues.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit d4a119ccc4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-27 10:30:43 +01:00
Adam Duskett
dec223b017 libpjsip: fix ssl support
Currently, ssl support is implicitely disabled in the initial configure
options. This overrides the check for openssl below.

libpjsip is also currently only compatible with libopenssl. Change
the check to LIBOPENSSL instead of openssl, and depend on libopenssl.

[Peter: drop libopenssl change]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 9e479e65dc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 23:14:29 +01:00
Bernd Kuhls
a77ec2da59 linux-headers: bump 4.{4, 9, 13}.x series
[Peter: drop 4.13.x bump]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 5962717eb4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:43:10 +01:00
Bernd Kuhls
cd4890d821 package/samba4: bump version to 4.6.10
Quoting release notes
https://www.samba.org/samba/history/samba-4.6.10.html

"This is an additional bugfix release to address a possible data
 corruption issue. Please update immediately! For details, please see

  https://bugzilla.samba.org/show_bug.cgi?id=13130

 Samba 4.6.0 and newer is affected by this issue."

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 806e6becb7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:40:59 +01:00
Bernd Kuhls
b907edec11 package/samba4: bump version to 4.6.9
Release notes: https://www.samba.org/samba/history/samba-4.6.9.html

Added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2be90f4a24)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:40:50 +01:00
Peter Korsgaard
44441c766f mp4v2: add upstream patch fixing build issue with gcc 7+
Fixes:
http://autobuild.buildroot.net/results/fc0/fc0f51f3ee1364f55248e8fe713995bc07f877c6/
http://autobuild.buildroot.net/results/b0e/b0e68ad2aeb7c191cdaa9856a36bd2cae4bcd5f0/
http://autobuild.buildroot.net/results/a66/a66c89e3fb3f1d9802581aaffad87a547c6e67f5/

And many more.

Add an upstream patch fixing invalid code that now triggers a build error on gcc7+.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 0b1509107d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:39:33 +01:00
Bernd Kuhls
ec78314415 package/x11r7/xapp_xdriinfo: fix libgl dependency
Fixes
"mesa3d is in the dependency chain of xapp_xdriinfo that has added it
 to its _DEPENDENCIES variable without selecting it or depending on it
 from Config.in."
http://autobuild.buildroot.net/results/d8a/d8aeed2f64e21a277eb0bc5dc08d2339a14c682e/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 6d97e73257)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:37:29 +01:00
Luca Ceresoli
e3e99fb1d3 libpjsip: fix static build failures due to name clash
Several packages have a similar md5.c file, and each has a function
named byteReverse(). This generates link errors when building
statically ("multiple definition of `byteReverse'").

Fix by applying a patch from upstream:
  https://trac.pjsip.org/repos/changeset/5688

Fixes:
  http://autobuild.buildroot.org/results/5d7/5d72e0f8517a555399978d5a0e9f7efd0a278189/
  http://autobuild.buildroot.org/results/c47/c47ccbb9b40011cf0d79c7040bed061ddefd9629/
  http://autobuild.buildroot.org/results/419/419ab2c0e034cc68991281c51caa8271b0fadbab/

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 8d44fb6608)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:35:25 +01:00
Peter Korsgaard
2877808ddc ruby: security bump to version 2.4.2
Fixed the following security issues:

CVE-2017-0898: Buffer underrun vulnerability in Kernel.sprintf
CVE-2017-10784: Escape sequence injection vulnerability in the Basic
authentication of WEBrick
CVE-2017-14033: Buffer underrun vulnerability in OpenSSL ASN1 decode
CVE-2017-14064: Heap exposure in generating JSON

For more details, see the release notes:
https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-4-2-released/

Drop now upstreamed rubygems patches and add hashes for the license files
while we're at it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit f2c3530541)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:32:29 +01:00
Bernd Kuhls
2c640f48df package/imagemagick: security bump to version 7.0.7-10
Version 7.0.7-3 fixes CVE-2017-15218:
Stop potential leaks in the JNG decoder

Changelog: https://www.imagemagick.org/script/changelog.php

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 3c8dc54293)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:31:30 +01:00
Fabrice Fontaine
362b716f8f mesa3d: fix build with BR2_SHARED_STATIC_LIBS
mesa3d does not allow to enable both static and shared libraries so if
BR2_SHARED_STATIC_LIBS is set, disable static

Fixes https://bugs.busybox.net/show_bug.cgi?id=10326

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit dd09d500aa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:29:16 +01:00
Alex Suykov
01aef13b4b vboot-utils: fix ARCH detection
The package includes some target-specific code that is irrelevant
in a host package but gets built anyway. The target for this code
must be one of the supported ChromeOS targets.

Supplied Makefile apparently relies on the environment to provide
a valid target, with a simple fallback to host arch. This breaks
the build if no value is provided and the host arch is not among
the supported ones.

Should fix
http://autobuild.buildroot.net/results/d118a83b6c4f7f910d0d44c279f36251d7ba29e8/
and similar failures.

Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit bbb25c3ad7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:28:02 +01:00
Adam Duskett
cf6abc6dcf snmp++: security bump to v3.3.10
>From the changelong:
Set the FD_CLOEXEC flag on sockets, so they are not "leaked" to
spawned processes

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 6be1631bf2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:27:01 +01:00
Andrey Smirnov
922497b4b9 package/collectd: Specify FP layout based on endianness
Big-endian CPUs store floating point as big endian (at lest majority
of them do), so, in order for 'network' plugin to work correctly (and
potentially any user of htond() in collectd's codebase),
--with-fp-layout=endianflip as opposed to --with-fp-layout=nothing
needs to be specified during configuration phase.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit bdd8475b90)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:25:23 +01:00
Peter Korsgaard
a8eb60648a postgresql: security bump to version 9.6.6
Fixes the following security issues:

CVE-2017-12172: Start scripts permit database administrator to modify
root-owned files.

CVE-2017-15098: Memory disclosure in JSON functions.

CVE-2017-15099: INSERT ... ON CONFLICT DO UPDATE fails to enforce SELECT
privileges.

See the announcement for more details:
https://www.postgresql.org/about/news/1801/

While we're at it, also add a hash for the license file.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit b97353f2b5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:24:13 +01:00
Adam Duskett
aa66d51954 postgresql: security bump to version 9.6.5
Fixes the following security issues (9.6.4):

CVE-2017-7546: Empty password accepted in some authentication methods
CVE-2017-7547: The "pg_user_mappings" catalog view discloses passwords to users lacking server privileges
CVE-2017-7548: lo_put() function ignores ACLs

For more info, see https://www.postgresql.org/about/news/1772/

[Peter: extend commit message with security fixes info]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 95e284bd27)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:24:06 +01:00
Adrian Perez de Castro
8aadf3fdab webkitgtk: security bump to version 2.18.3
This is a maintenance release of the current stable WebKitGTK+ version,
which contains a minor rendering fix, another for the WebDriver
implementation, and security fixes for CVE-2017-13798, CVE-2017-13788,
and CVE-2017-13803.

Release notes:

    https://webkitgtk.org/2017/11/10/webkitgtk2.18.3-released.html

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 5ff18880e9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:21:09 +01:00
Adam Duskett
1413c5ac27 libpjsip: security bump to 2.7.1
Also add hash for license file

See release notes for details:
https://trac.pjsip.org/repos/milestone/release-2.7.1

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 4bdc4e492b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:20:18 +01:00
Adam Duskett
b7c16e3e11 libpjsip: bump to 2.7
Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 0f6dacb37a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:20:13 +01:00
Thomas Petazzoni
56ca7ab660 go-bootstrap: add BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS
go-bootstrap is a host package that builds a first stage Go compiler,
later used to build the final Go compiler. However, this first stage
compiler only supports building on x86, x86-64 and arm as host
architectures, so we need to add the relevant architecture
dependencies to avoid having go-bootstrap built on other unsupported
platforms.

We do this by introducing BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS
in a new package/go-bootstrap/Config.in.host file. This option is then
used by BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS to make sure we can't enable
Go packages when the host architecture doesn't allow building the Go
compiler.

Fixes:

  http://autobuild.buildroot.net/results/cbd419c6ab6fa8a6d18dc137c91f895867e53b8a/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit a3fda8e292)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:14:26 +01:00
Peter Korsgaard
560bb7b409 usb_modeswitch: update config.guess / config.sub
Fixes:
http://autobuild.buildroot.net/results/fbe/fbe21bd173e6566dd93dddd58d4a848de8a3465e/

The build system of the embedded jimtcl copy doesn't use autotools, but does
use an old version of gnuconfig which doesn't know all the architectures
supported by Buildroot, so update config.guess / config.sub like we do in
pkg-autotools.mk

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 90d86994f8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:13:44 +01:00
Peter Korsgaard
df449e6c3b jimtcl: update config.guess / config.sub
Fixes:
http://autobuild.buildroot.net/results/284/284876bd649cab26e5ecd696c03c71c077ea7411/

The build system doesn't use autotools, but does use an old version of
gnuconfig which doesn't know all the architectures supported by Buildroot,
so update config.guess / config.sub like we do in pkg-autotools.mk

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit bca1d4af9b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:13:31 +01:00
Fabio Estevam
f8cb606e0c linux-headers: bump 4.{4, 9, 13}.x series
[Peter: drop 4.13.x bump]
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2aa12565d6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:11:41 +01:00
André Hentschel
6436feaabe wireshark: bump version to 2.2.10 (security)
Security fixes since 2.2.7:

- wnpa-sec-2017-22
  Bazaar dissector infinite loop (Bug 13599) CVE-2017-9352
- wnpa-sec-2017-23
  DOF dissector read overflow (Bug 13608) CVE-2017-9348
- wnpa-sec-2017-24
  DHCP dissector read overflow (Bug 13609, Bug 13628) CVE-2017-9351
- wnpa-sec-2017-25
  SoulSeek dissector infinite loop (Bug 13631) CVE-2017-9346
- wnpa-sec-2017-26
  DNS dissector infinite loop (Bug 13633) CVE-2017-9345
- wnpa-sec-2017-27
  DICOM dissector infinite loop (Bug 13685) CVE-2017-9349
- wnpa-sec-2017-28
  openSAFETY dissector memory exhaustion (Bug 13649) CVE-2017-9350
- wnpa-sec-2017-29
  BT L2CAP dissector divide by zero (Bug 13701) CVE-2017-9344
- wnpa-sec-2017-30
  MSNIP dissector crash (Bug 13725) CVE-2017-9343
- wnpa-sec-2017-31
  ROS dissector crash (Bug 13637) CVE-2017-9347
- wnpa-sec-2017-32
  RGMP dissector crash (Bug 13646) CVE-2017-9354
- wnpa-sec-2017-33
  IPv6 dissector crash (Bug 13675) CVE-2017-9353
- wnpa-sec-2017-13
  WBMXL dissector infinite loop (Bug 13477, Bug 13796) CVE-2017-7702, CVE-2017-11410
  Note: This is an update for a fix in Wireshark 2.2.6 and 2.0.12.
- wnpa-sec-2017-28
  openSAFETY dissector memory exhaustion (Bug 13649, Bug 13755) CVE-2017-9350, CVE-2017-11411
  Note: This is an update for a fix in Wireshark 2.2.7.
- wnpa-sec-2017-34
  AMQP dissector crash. (Bug 13780) CVE-2017-11408
- wnpa-sec-2017-35
  MQ dissector crash. (Bug 13792) CVE-2017-11407
- wnpa-sec-2017-36
  DOCSIS infinite loop. (Bug 13797) CVE-2017-11406
- wnpa-sec-2017-38
  MSDP dissector infinite loop (Bug 13933)
- wnpa-sec-2017-39
  Profinet I/O buffer overrun (Bug 13847)
- wnpa-sec-2017-41
  IrCOMM dissector buffer overrun (Bug 13929)

Full release notes:

  https://www.wireshark.org/docs/relnotes/wireshark-2.2.10.html

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 708316f49f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:07:46 +01:00
Arnout Vandecappelle (Essensium/Mind)
bb0c2b5e20 gstreamer: needs dynamic libraries
Fixes:
http://autobuild.buildroot.net/results/49d/49dcec0bd2f3bb78c18675a9fa5c9c53cc183fd2/

g_cclosure_marshal_VOID__VOID is defined both in libgobject.a and
libgstreamer.a. It is probably possible to fix this, but gstreamer0.10
has been deprecated for a long time now and is anyway unlikely to be
used in static-only situations, so let's just require dynamic linking.

Propagate to the reverse dependencies. opencv3 already did depend on
dynamic libs.

[Peter: add autobuild reference]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

(cherry picked from commit 0eee5465e5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:01:03 +01:00
Yann E. MORIN
4db7d0af29 suport/download: force svn to be non-interactive
Fixes:
    http://autobuild.buildroot.org/results/2af/2af7412846c576089f8596857ab8c81ac31c1bed/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: André Hentschel <nerv@dawncrow.de>
Reviewed-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 4013f11a5b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 22:00:53 +01:00
Thomas Petazzoni
a226597189 libglib2: needs autoreconf
Patch 0002-disable-tests.patch modifies Makefile.am, so we have to
autoreconf. It hasn't been seen until now, but becomes very clear
since the bump of automake to 1.15.1, as we're seeing build failures
such as:

configure.ac:66: error: version mismatch.  This is Automake 1.15.1,
configure.ac:66: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:66: comes from Automake 1.15.  You should recreate
configure.ac:66: aclocal.m4 with aclocal and run automake again.

Fixes:

  http://autobuild.buildroot.net/results/3402357d8e90f1866dfeaee7bb61119d80dc8bcb/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 45fbec12e7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:37:17 +01:00
Peter Korsgaard
32ea3609e4 kvm-unit-test: x86-64 variant only available on x86-64 hosts
We use the host compiler for x86-64 builds, so ensure it is only available
on x86-64 hosts.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit a13029996f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:31:03 +01:00
Peter Korsgaard
5a7ffef239 usb_modeswitch: explicitly set --host / --build for the embedded jimtcl
Fixes:
http://autobuild.buildroot.net/results/106/106af20196089e74c35daabdae46f030981600bd/

Otherwise the (handwritten) configure script uses a config.guess script from
2010 to figure out the build host, breaking builds on ppc64le hosts.

The result of --host / --build is only used to detect if we are building for
Windows or not, which is why things are working on x86(-64) build hosts
without specifying --host even though we are cross compiling - But this may
change in the future, so we better pass the correct values.

Passing extra jimtcl configure flags is unfortunately not forseen in the
usb_modeswitch Makefile, so add a small patch making this possible.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 29cccab447)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:30:33 +01:00
Peter Korsgaard
dd2c5e9150 jimtcl: explicitly set --host / --build
Fixes:
http://autobuild.buildroot.net/results/d13/d137680bf1c0ebfacef635cb2f0fc14524759143/

Otherwise the (handwritten) configure script uses a config.guess script from
2010 to figure out the build host, breaking builds on ppc64le hosts.

The result of --host / --build is only used to detect if we are building for
Windows or not, which is why things are working on x86(-64) build hosts
without specifying --host even though we are cross compiling - But this may
change in the future, so we better pass the correct values.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 962561a575)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:30:25 +01:00
Bernd Kuhls
c467f422b7 package/libplist: needs threads
Upstream added a mandatory pthread check:
eec2e855b4

Fixes
http://autobuild.buildroot.net/results/863/863bb43db222f8e63d60b1fc4a53299575727de1/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit dbd9915caa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:26:08 +01:00
Bernd Kuhls
16a8fa922f package/libplist: security bump to version 2.0.0
Release notes:
https://github.com/libimobiledevice/libplist/blob/master/NEWS

This version bump fixes
  * CVE-2017-6440
  * CVE-2017-6439
  * CVE-2017-6438
  * CVE-2017-6437
  * CVE-2017-6436
  * CVE-2017-6435
  * CVE-2017-5836
  * CVE-2017-5835
  * CVE-2017-5834
  * CVE-2017-5545
  * CVE-2017-5209
... and several others that didn't receive any CVE (yet).

The dependency to libxml2 was removed.
Autoreconf is not needed anymore, the upstream tarball includes a
configure script.

[Peter: also drop host-pkgconf dependency, only used for cython]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

(cherry picked from commit 4c38202487)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:25:39 +01:00
Andrey Smirnov
36ff040f8a fs: add missing $$(sep) to pre- and post-command hooks code
When multiple hooks are registred, both pre-a and post-command hooks'
foreach loops need to have a separator at the end in order for the
code to work as intended. Without the separator all hooks end up as a
one single line command thus making all but the first hook into
no-ops.

Fixes: 4628b6f3b4 ("fs: add pre- and post-command hooks")
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit 3f9476df07)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:23:34 +01:00
Peter Korsgaard
df0447944c luajit: only available on x86(-64) hosts
The -m32 compiler flag is used for 32bit builds and host-luajit has
limited architecture support. Building for a 32-bit target on a 32-bit
host should always work, but we haven't tested that and it's very
unlikely that someone needs it. So just limit to x86(-64) hosts.

Fixes:
http://autobuild.buildroot.net/results/5f5b5edb058efe976c003678e21bcc28a87cc828/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Arnout: clarify that it might work on 32-bit hosts for a 32-bit target]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

(cherry picked from commit 9b9347ee9f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:20:17 +01:00
Peter Korsgaard
e533807bab ti-gfx: only available on x86(-64) hosts
ti-gfx is provided as a x86 self extracting executable, so it is only
available on x86(-64) hosts.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit e480e88169)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 21:18:41 +01:00
Matt Weber
fb2f02ebaf python-config.sh: don't reassign ${prefix}
When prefix is set to a path like /usr during crossbuild
the sed operations end up executing twice, once for the prefix
reassignment and another for includedir if it is set as a string
including the ${prefix} variable.  This results in an issue
when the build directory is under /usr.

This patch updates the remaining location which uses the prefix
variable to also sed and update to use the real path.

Upstream bug report:
https://bugs.python.org/issue31713

Buildroot bug:
https://bugs.busybox.net/show_bug.cgi?id=10361

Fixes failures like the following:
dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b6273c1b470513f5492258a6d8853

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Arnout: refer to autobuild failures that still exist]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

(cherry picked from commit 04d1699ba4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 20:57:06 +01:00
Yann E. MORIN
1ecf38cb2f core/reproducible: do not override SOURCE_DATE_EPOCH
SOURCE_DATE_EPOCH is currently forcibly set (to either the git commit
date, or the last release date).

However, the spec mandates that it should not be modified if already
set: https://reproducible-builds.org/specs/source-date-epoch/

    Build systems MUST NOT overwrite this variable for child
    processes to consume if it is already present.

Abide by the rule, and only set it if not already set.

This will allow users to pass it from an upper-layer buildsystem (e.g. a
jenkins or gitlab-ci job, for example), when they have a reson to do so.

Reported-by: Peter Korsgaard <peter@korsgaard.com>
Reported-by: Einar Jón Gunnarsson <tolvupostur@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Einar Jón Gunnarsson <tolvupostur@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 0437d2f8f6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 20:49:13 +01:00
Peter Korsgaard
30dcd11d52 moarvm: use host-lua instead of host-luajit
host-luajit has limited architecture support, and moarvm does not need
anything luajit specific - So use host-lua instead.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit a7e2168458)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 20:26:34 +01:00
Bernd Kuhls
cdad5c529e package/openssl: security bump to version 1.0.2m
Fixes the following CVEs:
bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736)
Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735)

Release notes: https://www.openssl.org/news/secadv/20171102.txt

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 63023c407f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 20:12:18 +01:00
Fabio Estevam
fe37e7bb1d linux-headers: bump 4.{4, 9, 13}.x series
[Peter: drop 4.13.x bump]
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 64b0cd16dc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:31:47 +01:00
Baruch Siach
fee92f4f9e azure-iot-sdk-c: use github for homepage
Many Buildroot users can not read Dutch. Although there is an English
version of this page, the github page looks more suitable as a link for
the software package itself, and the readme.md file is pretty
informative.

Cc: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 5a001b3e6c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:30:02 +01:00
Thomas Petazzoni
e1e24385cf libidn: fix build with gcc 7.x
Fixes:

  http://autobuild.buildroot.net/results/f7fc775584ad35349f0d66ed8632ab18f3859f9c/

Note: this problem wasn't seen until now because we were only testing
gcc 7.x/glibc, and the problematic code is not built when glibc is
used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 11ed80169c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:20:44 +01:00
Matt Weber
3e4634157f argp-standalone: fix build with gcc 7.x
Back in commit a662ff7e79
("package/argp-standalone: Fix build with c99 compilers"), we fixed
the build of argp-standalone with compilers defaulting to C99 inline
semantics, i.e starting from gcc 5.x.

This was done as part of a patch that used "inline" instead of "extern
inline". However, using "inline" once again broke the build with gcc
7.x. To fix this, revert back to using just "extern inline" (hence
removing a patch of patch 0003-fix_build_with_c99_compilers.patch) and
instead use -fgnu89-inline in the CFLAGS.

See https://gcc.gnu.org/gcc-5/porting_to.html for more details.

Fixes:

  http://autobuild.buildroot.net/results/a9cedc54829b7bd2dd7ae6ff2bd6c6db242f1c35/

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Thomas: also drop the patch of
0003-fix_build_with_c99_compilers.patch that is no longer needed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

(cherry picked from commit f0b65bd90c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:16:23 +01:00
Peter Korsgaard
76625912e0 quagga: add upstream security fix for CVE-2017-16227
>From the advisory:
http://www.openwall.com/lists/oss-security/2017/10/30/4

It was discovered that the bgpd daemon in the Quagga routing suite does
not properly calculate the length of multi-segment AS_PATH UPDATE
messages, causing bgpd to drop a session and potentially resulting in
loss of network connectivity.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit d77d7220a7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:13:02 +01:00
Peter Korsgaard
3218c1bca2 openssh: fix getpagesize() related static linking issue
Fixes:
http://autobuild.buildroot.net/results/8cc/8cc30818a400c7a392a3de787cabc9cd8425495f/

The configure script checks for getpagesize() and sets HAVE_GETPAGESIZE in
config.h, but bsd-getpagesize.c forgot to include includes.h (which
indirectly includes config.h) so the checks always fails, causing linker
issues when linking statically on systems with getpagesize().

Fix it by including includes.h.

Patch submitted upstream:
https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036413.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit cc856401e8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:11:21 +01:00
Maksim Salau
51936fb291 swupdate: Fix SHA256 hash verification
swupdate 2017.07 has a bug which makes hash verification faulty.
The commit adds a patch to fix the issue. The fix has already been
pushed to upstream and is a copy of the commit
dba95dcd3739c604a81ffa2df2545e7a4cd430cf in the swupdate repo [1].

[1] https://github.com/sbabic/swupdate

Signed-off-by: Maksim Salau <msalau@iotecha.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 7386925e2d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:06:09 +01:00
Baruch Siach
d030e29fb2 apr-util: security bump to version 1.6.1
Fixes CVE-2017-12618: Out-of-bounds access in corrupted SDBM database.

Switch to bz2 compressed tarball.

Use upstream provided SHA256 hash.

Add license hash.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 1d3c611dee)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:04:51 +01:00
Baruch Siach
080fb1e2e7 apr: security bump to version 1.6.3
Fixes CVE-2017-12613: Out-of-bounds array deref in apr_time_exp*()
functions.

Use upstream provided SHA256 hash.

Add license has.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit c91981a985)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 10:04:42 +01:00
Scott Ellis
122f854074 package/python-pyqt5: fix build with Qt 5.6.3
This commit adds 5_6_3 to the Timeline patch that fixed the build with
Qt 5.6.2.

Signed-off-by: Scott Ellis <scott@jumpnowtek.com>
[Thomas: adjust patch existing patch description.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

(cherry picked from commit 063b2a8121)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-26 09:10:28 +01:00
Matt Weber
b05215d9d8 uboot-tools: disable pylibfdt
The current U-Boot build system assumes that if swig is installed on
the host system, it should build pylibfdt, without checking if other
dependencies are available. This causes a number of build failures.

This commit fixes that by using concepts from the future upstream fix
(post 2017.11), which sets up a kconfig variable for pylibfdt and
conditionally enables the swig wrapper creation (default=n).

Relevant upstream patches under review:

 - https://patchwork.ozlabs.org/patch/826742/
 - https://patchwork.ozlabs.org/patch/826752/

This patch only affects uboot-tools, in which we never need
pylibfdt. The logic in the uboot package, with its
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT option, remains unchanged.

Fixes (one of many):

  http://autobuild.buildroot.net/results/f9e13caae9b31c9dcde7d24caecc036324f269cc

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Tested-by: Jan Kundrát <jan.kundrat@cesnet.cz>
Reviewed-by: Jan Kundrát <jan.kundrat@cesnet.cz>
[Thomas: improved commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

(cherry picked from commit 0bcd09ffca)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-16 15:32:03 +01:00
Peter Seiderer
f9d8efd7d1 qt5: bump LTS version to 5.6.3
qt5base:
  - move hash file to 5.6.3
  - move 0001-eglfs-rasp-pi-header-inclusion.patch to 5.6.3
  - remove 0002-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch (upstream committed [1])

qt5declarative:
  - move patches to 5.6.3

qt5quickcontrols2:
  - move hash file to 5.6.3

qt5webkit:
  - move patches to 5.6.3

[1] http://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.6&id=f1b4bd4790860e1ff5afcec111a359bc3a91cfda

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 06a4975d4b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-16 11:06:28 +01:00
Thomas Petazzoni
a0b501bb65 support/testing: update ISO9660 test case Linux kernel
The Linux 4.0 kernel doesn't build with gcc 6.x, which is used since
the toolchain update in commit
193dfffa83 ("support/testing: use more
recent toolchains"). So let's update to Linux 4.11 instead (like the
existing Qemu x86 defconfig does), and update the kernel configuration
file accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-15 21:49:02 +01:00
Thomas Petazzoni
6671231fb7 support/testing: use more recent toolchains
With the hard disk crash of autobuild.b.o, we lost old toolchains, so
use the latest toolchains, which have been restored.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-15 21:49:02 +01:00
Peter Korsgaard
b3f1c844a6 wget: add optional zlib support
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit aff7673602)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:47:46 +01:00
Peter Korsgaard
d35d6ff502 wget: security bump to version 1.19.2
Fixes the following security issues:

CVE-2017-13089: The http.c:skip_short_body() function is called in some
circumstances, such as when processing redirects.  When the response is sent
chunked, the chunk parser uses strtol() to read each chunk's length, but
doesn't check that the chunk length is a non-negative number.  The code then
tries to skip the chunk in pieces of 512 bytes by using the MIN() macro, but
ends up passing the negative chunk length to connect.c:fd_read().  As
fd_read() takes an int argument, the high 32 bits of the chunk length are
discarded, leaving fd_read() with a completely attacker controlled length
argument.

CVE-2017-13090: The retr.c:fd_read_body() function is called when processing
OK responses.  When the response is sent chunked, the chunk parser uses
strtol() to read each chunk's length, but doesn't check that the chunk
length is a non-negative number.  The code then tries to read the chunk in
pieces of 8192 bytes by using the MIN() macro, but ends up passing the
negative chunk length to retr.c:fd_read().  As fd_read() takes an int
argument, the high 32 bits of the chunk length are discarded, leaving
fd_read() with a completely attacker controlled length argument.  The
attacker can corrupt malloc metadata after the allocated buffer.

Drop now upstreamed patch and change to .tar.lz as .tar.xz is no longer
available.

Also add a hash for the license file while we're at it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 86eb94636e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:47:27 +01:00
Bernd Kuhls
afe60d8349 linux-headers: bump 4.{4, 9, 13}.x series
[Peter: drop 4.13.x bump]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit ec2851f4b9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:46:34 +01:00
Adrian Perez de Castro
d9dd0cb06a webkitgtk: security bump to version 2.18.2
This is a maintenance release of the current stable WebKitGTK+ version,
which contains bugfixes; mostly for crashes and rendering issues, plus
one important fix for the layout or Arabic text.

Release notes:

    https://webkitgtk.org/2017/10/27/webkitgtk2.18.2-released.html

Even though an acconpanying security advisory has not been published
for this release, the release contains fixes for several crashes (one
of them for the decoder of the very common GIF image format), which
arguably can be considered potential security issues.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit e3459fd9c5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:44:23 +01:00
Peter Korsgaard
633c49b3a3 openssh: security bump to version 7.6p1
Fixes CVE-2017-15906 - The process_open function in sftp-server.c in OpenSSH
before 7.6 does not properly prevent write operations in readonly mode,
which allows attackers to create zero-length files.

For more details, see the release notes:
https://www.openssh.com/txt/release-7.6

Also add a hash for the license file while we're at it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 70663a9a4f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:43:30 +01:00
Peter Korsgaard
34aba0a9e7 redis: bump to version 3.2.11
3.2.11 fixes important issues. From the release notes:

================================================================================
Redis 3.2.11     Released Thu Sep 21 15:47:53 CEST 2017
================================================================================

Upgrade urgency HIGH: Potentially critical bugs fixed.

AOF flush on SHUTDOWN did not cared to really write the AOF buffers
(not in the kernel but in the Redis process memory) to disk before exiting.
Calling SHUTDOWN during traffic resulted into not every operation to be
persisted on disk.

Also add a hash for the license file while we're at it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 751cd4cfab)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 58ea6ad528)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:42:40 +01:00
Peter Korsgaard
a532c29d7f sdl2: security bump to version 2.0.7
Fixes CVE-2017-2888 - An exploitable integer overflow vulnerability exists
when creating a new RGB Surface in SDL 2.0.5.  A specially crafted file can
cause an integer overflow resulting in too little memory being allocated
which can lead to a buffer overflow and potential code execution.  An
attacker can provide a specially crafted image file to trigger this
vulnerability.

Also add a hash for the license file while we're at it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 07a9f0200c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:41:36 +01:00
Peter Korsgaard
09c8d7e575 sdl2: explicitly disable raspberry pi video backend
Fixes:
http://autobuild.buildroot.net/results/d59/d5992dcc9a49ee77afaebdcc9448ac1868fa7de1/
http://autobuild.buildroot.net/results/e89/e894f21ce1983ee3bd8d65a8e59e1adab9a62707/

The configure script automatically enables support for the raspberry pi
video backend if it detects the rpi-userland package.  Unfortunately it
hardcodes a number of include/linker paths unsuitable for cross compilation,
breaking the build:

    if test x$enable_video = xyes -a x$enable_video_rpi = xyes; then
..
     RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
     RPI_LDFLAGS="-L/opt/vc/lib -lbcm_host"
    fi

So explicitly disable it until the configure script is fixed.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 3a798acf23)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:41:24 +01:00
Olivier Schonken
1b865bc112 sdl2: Bump version to 2.0.6
Bump version and remove patches that were merged upstream

Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 3800932386)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-15 19:39:55 +01:00
Peter Korsgaard
16796fadf7 libcurl: security bump to version 7.56.1
Fixes CVE-2017-1000257 - IMAP FETCH response out of bounds read

https://curl.haxx.se/docs/adv_20171023.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 62d4dd2999)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-26 15:19:56 +02:00
Peter Korsgaard
5b5d3581f8 irssi: security bump to version 1.0.5
Fixes the following security issues:

(a) When installing themes with unterminated colour formatting
    sequences, Irssi may access data beyond the end of the
    string. (CWE-126) Found by Hanno Böck.

    CVE-2017-15228 was assigned to this issue.

(b) While waiting for the channel synchronisation, Irssi may
    incorrectly fail to remove destroyed channels from the query list,
    resulting in use after free conditions when updating the state
    later on. Found by Joseph Bisch. (CWE-416 caused by CWE-672)

    CVE-2017-15227 was assigned to this issue.

(c) Certain incorrectly formatted DCC CTCP messages could cause NULL
    pointer dereference. Found by Joseph Bisch. This is a separate,
    but similar issue to CVE-2017-9468. (CWE-690)

    CVE-2017-15721 was assigned to this issue.

(d) Overlong nicks or targets may result in a NULL pointer dereference
    while splitting the message. Found by Joseph Bisch. (CWE-690)

    CVE-2017-15723 was assigned to this issue.

(e) In certain cases Irssi may fail to verify that a Safe channel ID
    is long enough, causing reads beyond the end of the string. Found
    by Joseph Bisch. (CWE-126)

    CVE-2017-15722 was assigned to this issue.

For more details, see the advisory:
https://irssi.org/security/irssi_sa_2017_10.txt

While we're at it, also add a hash for the license file.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit a9a4ec0dcc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-26 15:19:48 +02:00
130 changed files with 1938 additions and 1192 deletions

35
CHANGES
View File

@@ -1,3 +1,38 @@
2017.08.2, Released November 28th, 2017
Important / security related fixes.
Qt: 5.6 version updated to 5.6.3.
Reproducible: Do not override SOURCE_DATE_EPOCH if already set
in the environment.
Makefiles: Workaround include order issues for certain make
versions by explicitly sorting the result of wildcard where it
matters.
Updated/fixed packages: apr, apr-util, arqp-standalone,
azure-iot-sdk-c, collectd, dvb-apps, ffmpeg, go-bootstrap,
google-breakpad, gstreamer, imagemagick, irssi, jimtcl,
kvm-unit-test, libcurl, libfastjson, libglib2, libidn,
libpjsip, libplist, localedef, lttng-tools, luajit, mesa3d,
moarvm, mp4v2, openssh, openssl, oracle-mysql, postgresql,
python3, python-pyqt5, qt, qt5base, qt5canvas3d,
qt5connectivity, qt5declarative, qt5engineio,
qt5graphicaleffects, qt5imageformats, qt5location,
qt5multimedia, qt5quickcontrols, qt5quickcontrols2, qt5script,
qt5sensors, qt5serialbus, qt5serialport, qt5svg, qt5tools,
qt5webchannel, qt5webkit, qt5websockets, qt5x11extras,
qt5xmlpatterns, quagga, redis, ruby, samba4, sdl2, snmppp,
swupdate, ti-gfx, uboot-tools, usb_modeswitch, vboot-utils,
webkitgtk, wget, wireshark, xapp_xdriinfo.
Issues resolved (http://bugs.buildroot.org):
10326: mesa3d package fails to build when BR2_SHARED_STATIC_LIBS=y
10361: python3 python-config script generates invalid includes
10501: host-localedef fails to compile on Ubuntu 17.10
2017.08.1, Released October 23rd, 2017
Important / security related fixes.

View File

@@ -539,6 +539,7 @@ config BR2_GOOGLE_BREAKPAD_ENABLE
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
help
This option will enable the use of google breakpad, a library
and tool suite that allows you to distribute an application to

View File

@@ -87,9 +87,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2017.08.1
export BR2_VERSION := 2017.08.2
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1508790000
BR2_VERSION_EPOCH = 1511938000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@@ -254,7 +254,7 @@ export LANG = C
export LC_ALL = C
export GZIP = -n
BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at)
export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
export SOURCE_DATE_EPOCH ?= $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
DEPENDENCIES_HOST_PREREQ += host-fakedate
endif
@@ -483,13 +483,13 @@ include system/system.mk
include package/Makefile.in
# arch/arch.mk.* must be after package/Makefile.in because it may need to
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
-include $(wildcard arch/arch.mk.*)
-include $(sort $(wildcard arch/arch.mk.*))
include support/dependencies/dependencies.mk
PACKAGES += $(DEPENDENCIES_HOST_PREREQ)
include toolchain/*.mk
include toolchain/*/*.mk
include $(sort $(wildcard toolchain/*.mk))
include $(sort $(wildcard toolchain/*/*.mk))
# Include the package override file if one has been provided in the
# configuration.
@@ -1109,7 +1109,7 @@ print-version:
./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@
include docs/manual/manual.mk
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))
.PHONY: $(noconfig_targets)

View File

@@ -96,13 +96,13 @@ endif
echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \
echo $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep))
$$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT))
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
ifeq ($$(BR2_REPRODUCIBLE),y)
echo "find $$(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$$(SOURCE_DATE_EPOCH)" >> $$(FAKEROOT_SCRIPT)
endif
$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
$$(foreach hook,$$(ROOTFS_POST_CMD_HOOKS),\
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT))
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
chmod a+x $$(FAKEROOT_SCRIPT)
PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
$$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE)

View File

@@ -17,6 +17,8 @@ menu "Host utilities"
source "package/genimage/Config.in.host"
source "package/genpart/Config.in.host"
source "package/go/Config.in.host"
source "package/go-bootstrap/Config.in.host"
source "package/google-breakpad/Config.in.host"
source "package/gptfdisk/Config.in.host"
source "package/imx-usb-loader/Config.in.host"
source "package/jq/Config.in.host"

View File

@@ -1,2 +1,4 @@
# From http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz.sha1
sha1 72cc3ac693b52fb831063d5c0de18723bc8e0095 apr-util-1.5.4.tar.gz
# From http://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2.sha256
sha256 d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b apr-util-1.6.1.tar.bz2
# Locally calculated
sha256 ef5609d18601645ad6fe22c6c122094be40e976725c1d0490778abacc836e7a2 LICENSE

View File

@@ -4,7 +4,8 @@
#
################################################################################
APR_UTIL_VERSION = 1.5.4
APR_UTIL_VERSION = 1.6.1
APR_UTIL_SOURCE = apr-util-$(APR_UTIL_VERSION).tar.bz2
APR_UTIL_SITE = http://archive.apache.org/dist/apr
APR_UTIL_LICENSE = Apache-2.0
APR_UTIL_LICENSE_FILES = LICENSE

View File

@@ -1,2 +1,4 @@
# From http://archive.apache.org/dist/apr/apr-1.6.2.tar.bz2.sha1
sha1 01b0d4faa0194825e8e525b9ac7ccfb832471d50 apr-1.6.2.tar.bz2
# From http://www.apache.org/dist/apr/apr-1.6.3.tar.bz2.sha256
sha256 131f06d16d7aabd097fa992a33eec2b6af3962f93e6d570a9bd4d85e95993172 apr-1.6.3.tar.bz2
# Locally calculated
sha256 f854aeef66ecd55a126226e82b3f26793fc3b1c584647f6a0edc5639974c38ad LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
APR_VERSION = 1.6.2
APR_VERSION = 1.6.3
APR_SOURCE = apr-$(APR_VERSION).tar.bz2
APR_SITE = http://archive.apache.org/dist/apr
APR_LICENSE = Apache-2.0

View File

@@ -66,15 +66,3 @@ index e797b11..828f435 100644
/* Internal routines. */
extern void _argp_fmtstream_update (argp_fmtstream_t __fs);
@@ -216,7 +220,11 @@
#endif
#ifndef ARGP_FS_EI
+#if defined(__GNUC__) && !defined(__GNUC_STDC_INLINE__)
#define ARGP_FS_EI extern inline
+#else
+#define ARGP_FS_EI inline
+#endif
#endif
ARGP_FS_EI size_t

View File

@@ -10,7 +10,7 @@ ARGP_STANDALONE_INSTALL_STAGING = YES
ARGP_STANDALONE_LICENSE = LGPL-2.0+
ARGP_STANDALONE_CONF_ENV = \
CFLAGS="$(TARGET_CFLAGS) -fPIC"
CFLAGS="$(TARGET_CFLAGS) -fPIC -fgnu89-inline"
define ARGP_STANDALONE_INSTALL_STAGING_CMDS
$(INSTALL) -D $(@D)/libargp.a $(STAGING_DIR)/usr/lib/libargp.a

View File

@@ -11,7 +11,7 @@ config BR2_PACKAGE_AZURE_IOT_SDK_C
Microsoft Azure IoT Hub device SDK for C is used
to connect devices running C code to Azure IoT Hub.
https://docs.microsoft.com/nl-nl/azure/iot-hub/iot-hub-device-sdk-c-intro
https://github.com/Azure/azure-iot-sdk-c
comment "azure-iot-sdk-c needs a toolchain w/ C++ and NPTL"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL

View File

@@ -24,9 +24,23 @@ COLLECTD_PLUGINS_DISABLE = \
COLLECTD_CONF_ENV += LIBS="-lm"
#
# NOTE: There's also a third availible setting "intswap", which might
# be needed on some old ARM hardware (see [2]), but is not being
# accounted for as per discussion [1]
#
# [1] http://lists.busybox.net/pipermail/buildroot/2017-November/206100.html
# [2] http://lists.busybox.net/pipermail/buildroot/2017-November/206251.html
#
ifeq ($(BR2_ENDIAN),"BIG")
COLLECTD_FP_LAYOUT=endianflip
else
COLLECTD_FP_LAYOUT=nothing
endif
COLLECTD_CONF_OPTS += \
--with-nan-emulation \
--with-fp-layout=nothing \
--with-fp-layout=$(COLLECTD_FP_LAYOUT) \
--with-perl-bindings=no \
$(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \
$(if $(BR2_PACKAGE_COLLECTD_AGGREGATION),--enable-aggregation,--disable-aggregation) \

View File

@@ -15,6 +15,8 @@ DVB_APPS_DEPENDENCIES = libiconv
DVB_APPS_LDLIBS += -liconv
endif
DVB_APPS_MAKE_OPTS = PERL5LIB=$(@D)/util/scan
ifeq ($(BR2_STATIC_LIBS),y)
DVB_APPS_MAKE_OPTS += enable_shared=no
else ifeq ($(BR2_SHARED_LIBS),y)
@@ -25,7 +27,7 @@ DVB_APPS_INSTALL_STAGING = YES
define DVB_APPS_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) LDLIBS="$(DVB_APPS_LDLIBS)" \
$(MAKE) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \
$(MAKE1) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \
$(DVB_APPS_MAKE_OPTS)
endef

View File

@@ -0,0 +1,7 @@
config BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS
bool
# See src/cmd/dist/unix.c for the list of support
# architectures
default y if BR2_HOSTARCH = "x86"
default y if BR2_HOSTARCH = "x86_64"
default y if BR2_HOSTARCH = "arm"

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
bool
default y
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS
depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \
|| BR2_i386 || BR2_x86_64 || BR2_powerpc64le \
|| BR2_mips64 || BR2_mips64el

View File

@@ -0,0 +1,257 @@
From 7975a962e1d6dbad5a46792a54e647abd7caf5f1 Mon Sep 17 00:00:00 2001
From: Mark Mentovai <mark@chromium.org>
Date: Tue, 19 Sep 2017 22:48:30 -0400
Subject: [PATCH] Replace remaining references to 'struct ucontext' with
'ucontext_t'
This relands
https://chromium.googlesource.com/breakpad/breakpad/src/+/e3035bc406cee8a4d765e59ad46eb828705f17f4,
which was accidentally committed to breakpad/breakpad/src, the read-only
mirror of src in breakpad/breakpad. (Well, it should have been
read-only.) See https://crbug.com/766164.
This fixes issues with glibc-2.26.
See https://bugs.gentoo.org/show_bug.cgi?id=628782 ,
https://sourceware.org/git/?p=glibc.git;h=251287734e89a52da3db682a8241eb6bccc050c9 , and
https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html for context.
Change-Id: Id66f474d636dd2afa450bab925c5514a800fdd6f
Reviewed-on: https://chromium-review.googlesource.com/674304
Reviewed-by: Mark Mentovai <mark@chromium.org>
(cherry picked from commit bddcc58860f522a0d4cbaa7e9d04058caee0db9d)
[Romain: backport from upstream]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
.../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++-----------
.../linux/dump_writer_common/ucontext_reader.h | 14 +++++-----
src/client/linux/handler/exception_handler.cc | 10 +++----
src/client/linux/handler/exception_handler.h | 6 ++--
.../linux/microdump_writer/microdump_writer.cc | 2 +-
.../linux/minidump_writer/minidump_writer.cc | 2 +-
6 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc
index c80724d..052ce37 100644
--- a/src/client/linux/dump_writer_common/ucontext_reader.cc
+++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
@@ -36,19 +36,19 @@ namespace google_breakpad {
// Minidump defines register structures which are different from the raw
// structures which we get from the kernel. These are platform specific
-// functions to juggle the ucontext and user structures into minidump format.
+// functions to juggle the ucontext_t and user structures into minidump format.
#if defined(__i386__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_ESP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_EIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp) {
const greg_t* regs = uc->uc_mcontext.gregs;
@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
#elif defined(__x86_64)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RSP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fpregs) {
const greg_t* regs = uc->uc_mcontext.gregs;
@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
#elif defined(__ARM_EABI__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
out->context_flags = MD_CONTEXT_ARM_FULL;
out->iregs[0] = uc->uc_mcontext.arm_r0;
@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
#elif defined(__aarch64__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs) {
out->context_flags = MD_CONTEXT_ARM64_FULL;
@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
#elif defined(__mips__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
#if _MIPS_SIM == _ABI64
out->context_flags = MD_CONTEXT_MIPS64_FULL;
#elif _MIPS_SIM == _ABIO32
diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h
index b6e77b4..2de80b7 100644
--- a/src/client/linux/dump_writer_common/ucontext_reader.h
+++ b/src/client/linux/dump_writer_common/ucontext_reader.h
@@ -39,23 +39,23 @@
namespace google_breakpad {
-// Wraps platform-dependent implementations of accessors to ucontext structs.
+// Wraps platform-dependent implementations of accessors to ucontext_t structs.
struct UContextReader {
- static uintptr_t GetStackPointer(const struct ucontext* uc);
+ static uintptr_t GetStackPointer(const ucontext_t* uc);
- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
+ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
- // Juggle a arch-specific ucontext into a minidump format
+ // Juggle a arch-specific ucontext_t into a minidump format
// out: the minidump structure
// info: the collection of register structures.
#if defined(__i386__) || defined(__x86_64)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp);
#elif defined(__aarch64__)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs);
#else
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
#endif
};
diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
index b63f973..3d809b8 100644
--- a/src/client/linux/handler/exception_handler.cc
+++ b/src/client/linux/handler/exception_handler.cc
@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
// Fill in all the holes in the struct to make Valgrind happy.
memset(&g_crash_context_, 0, sizeof(g_crash_context_));
memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
#if defined(__aarch64__)
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
struct fpsimd_context* fp_ptr =
(struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
if (fp_ptr->head.magic == FPSIMD_MAGIC) {
@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
}
#elif !defined(__ARM_EABI__) && !defined(__mips__)
// FP state is not part of user ABI on ARM Linux.
- // In case of MIPS Linux FP state is already part of struct ucontext
+ // In case of MIPS Linux FP state is already part of ucontext_t
// and 'float_state' is not a member of CrashContext.
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
if (uc_ptr->uc_mcontext.fpregs) {
memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
sizeof(g_crash_context_.float_state));
@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
// ExceptionHandler::HandleSignal().
siginfo.si_code = SI_USER;
siginfo.si_pid = getpid();
- struct ucontext context;
+ ucontext_t context;
getcontext(&context);
return HandleSignal(sig, &siginfo, &context);
}
diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h
index 591c310..42f4055 100644
--- a/src/client/linux/handler/exception_handler.h
+++ b/src/client/linux/handler/exception_handler.h
@@ -191,11 +191,11 @@ class ExceptionHandler {
struct CrashContext {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
- struct ucontext context;
+ ucontext_t context;
#if !defined(__ARM_EABI__) && !defined(__mips__)
// #ifdef this out because FP state is not part of user ABI for Linux ARM.
- // In case of MIPS Linux FP state is already part of struct
- // ucontext so 'float_state' is not required.
+ // In case of MIPS Linux FP state is already part of ucontext_t so
+ // 'float_state' is not required.
fpstate_t float_state;
#endif
};
diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc
index 6f5b435..a508667 100644
--- a/src/client/linux/microdump_writer/microdump_writer.cc
+++ b/src/client/linux/microdump_writer/microdump_writer.cc
@@ -571,7 +571,7 @@ class MicrodumpWriter {
void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
- const struct ucontext* const ucontext_;
+ const ucontext_t* const ucontext_;
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_;
#endif
diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc
index 86009b9..f2aec73 100644
--- a/src/client/linux/minidump_writer/minidump_writer.cc
+++ b/src/client/linux/minidump_writer/minidump_writer.cc
@@ -1248,7 +1248,7 @@ class MinidumpWriter {
const int fd_; // File descriptor where the minidum should be written.
const char* path_; // Path to the file where the minidum should be written.
- const struct ucontext* const ucontext_; // also from the signal handler
+ const ucontext_t* const ucontext_; // also from the signal handler
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
--
2.9.5

View File

@@ -12,6 +12,7 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
select BR2_PACKAGE_LINUX_SYSCALL_SUPPORT
help
Google-Breakpad is a library and tool suite that allows you
@@ -36,6 +37,7 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD
comment "google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++, gcc >= 4.8"
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || \
!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) || \

View File

@@ -0,0 +1,8 @@
config BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
bool
default y if BR2_HOSTARCH = "x86_64"
default y if BR2_HOSTARCH = "x86"
default y if BR2_HOSTARCH = "arm"
default y if BR2_HOSTARCH = "aarch64"
default y if BR2_HOSTARCH = "mips"
default y if BR2_HOSTARCH = "mipsel"

View File

@@ -1 +1 @@
include package/gstreamer/*/*.mk
include $(sort $(wildcard package/gstreamer/*/*.mk))

View File

@@ -1,12 +1,14 @@
comment "gstreamer 0.10 needs a toolchain w/ wchar, threads"
comment "gstreamer 0.10 needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS
config BR2_PACKAGE_GSTREAMER
bool "gstreamer 0.10"
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBGLIB2
help
GStreamer is an open source multimedia framework.

View File

@@ -1 +1 @@
include package/gstreamer1/*/*.mk
include $(sort $(wildcard package/gstreamer1/*/*.mk))

View File

@@ -1,2 +1,2 @@
# Locally computed
sha256 5a45e29509dbb23793a9c8db5c47ef1114c1ee82c9ca60053eaf06b3fc243e2c 7.0.7-1.tar.gz
sha256 924d1161ed2399bcb72f98419072b3130a466e07d9a6fce43d27458ffa907ffa 7.0.7-10.tar.gz

View File

@@ -4,7 +4,7 @@
#
################################################################################
IMAGEMAGICK_VERSION = 7.0.7-1
IMAGEMAGICK_VERSION = 7.0.7-10
IMAGEMAGICK_SOURCE = $(IMAGEMAGICK_VERSION).tar.gz
IMAGEMAGICK_SITE = https://github.com/ImageMagick/ImageMagick/archive
IMAGEMAGICK_LICENSE = Apache-2.0

View File

@@ -1,2 +1,4 @@
# Locally calculated after checking pgp signature
sha256 b85c07dbafe178213eccdc69f5f8f0ac024dea01c67244668f91ec1c06b986ca irssi-1.0.4.tar.xz
sha256 c2556427e12eb06cabfed40839ac6f57eb8b1aa6365fab6dfcd331b7a04bb914 irssi-1.0.5.tar.xz
# Locally calculated
sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING

View File

@@ -4,7 +4,7 @@
#
################################################################################
IRSSI_VERSION = 1.0.4
IRSSI_VERSION = 1.0.5
IRSSI_SOURCE = irssi-$(IRSSI_VERSION).tar.xz
# Do not use the github helper here. The generated tarball is *NOT* the
# same as the one uploaded by upstream for the release.

View File

@@ -38,10 +38,18 @@ define JIMTCL_INSTALL_LIB
endef
endif
# build system doesn't use autotools, but does use an old version of
# gnuconfig which doesn't know all the architectures supported by
# Buildroot, so update config.guess / config.sub like we do in
# pkg-autotools.mk
JIMTCL_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK
define JIMTCL_CONFIGURE_CMDS
(cd $(@D); \
$(TARGET_CONFIGURE_OPTS) CCACHE=none \
./configure --prefix=/usr \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
$(JIMTCL_SHARED) \
)
endef

View File

@@ -15,6 +15,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS
# x86-64 we use the host gcc (see .mk file for details)
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386
depends on BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_x86_64
depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64
select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y
help
kvm-unit-tests is a project as old as KVM. As its name

View File

@@ -1,4 +1,4 @@
# Locally calculated after checking pgp signature
# https://curl.haxx.se/download/curl-7.56.0.tar.xz.asc
sha256 32437bcca0e9434384329fdc733547879d25ba70335b3cf9e3d9cbc3e71fd172 curl-7.56.0.tar.xz
# https://curl.haxx.se/download/curl-7.56.1.tar.xz.asc
sha256 8eed282cf3a0158d567a0feaa3c4619e8e847970597b5a2c81879e8f0d1a39d1 curl-7.56.1.tar.xz
sha256 cbcf511f5702f7baf5424193a792bc9c18fab22bcbec2e6a587598389dc632c2 COPYING

View File

@@ -4,7 +4,7 @@
#
################################################################################
LIBCURL_VERSION = 7.56.0
LIBCURL_VERSION = 7.56.1
LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz
LIBCURL_SITE = https://curl.haxx.se/download
LIBCURL_DEPENDENCIES = host-pkgconf \

View File

@@ -7,6 +7,7 @@
LIBFASTJSON_VERSION = v0.99.4
LIBFASTJSON_SITE = $(call github,rsyslog,libfastjson,$(LIBFASTJSON_VERSION))
LIBFASTJSON_INSTALL_STAGING = YES
LIBFASTJSON_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
# From git
LIBFASTJSON_AUTORECONF = YES
LIBFASTJSON_LICENSE = MIT

View File

@@ -10,6 +10,8 @@ LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz
LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
LIBGLIB2_LICENSE = LGPL-2.0+
LIBGLIB2_LICENSE_FILES = COPYING
# 0002-disable-tests.patch
LIBGLIB2_AUTORECONF = YES
LIBGLIB2_INSTALL_STAGING = YES
LIBGLIB2_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install

View File

@@ -0,0 +1,333 @@
From bd705da12e244dda18474a54a2942591e5ef5148 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
Date: Wed, 1 Feb 2017 10:44:36 +0100
Subject: [PATCH] Update intprops.h for gcc-7 compatibility
[Backport from upstream commit 230930b3bc3e431b819eb45420cb42475d83ca93.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
gl/intprops.h | 65 ++++++++++++++++++++++++++++++--------------------
lib/gltests/intprops.h | 65 ++++++++++++++++++++++++++++++--------------------
2 files changed, 78 insertions(+), 52 deletions(-)
diff --git a/gl/intprops.h b/gl/intprops.h
index e1fce5c9..eb06b691 100644
--- a/gl/intprops.h
+++ b/gl/intprops.h
@@ -1,18 +1,18 @@
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2017 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3 of the License, or
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Written by Paul Eggert. */
@@ -47,12 +47,16 @@
/* Minimum and maximum values for integer types and expressions. */
+/* The width in bits of the integer type or expression T.
+ Padding bits are not supported; this is checked at compile-time below. */
+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
+
/* The maximum and minimum values for the integer type T. */
#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
#define TYPE_MAXIMUM(t) \
((t) (! TYPE_SIGNED (t) \
? (t) -1 \
- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
/* The maximum and minimum values for the type of the expression E,
after integer promotion. E should not have side effects. */
@@ -65,7 +69,13 @@
? _GL_SIGNED_INT_MAXIMUM (e) \
: _GL_INT_NEGATE_CONVERT (e, 1))
#define _GL_SIGNED_INT_MAXIMUM(e) \
- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
+
+/* Work around OpenVMS incompatibility with C99. */
+#if !defined LLONG_MAX && defined __INT64_MAX
+# define LLONG_MAX __INT64_MAX
+# define LLONG_MIN __INT64_MIN
+#endif
/* This include file assumes that signed types are two's complement without
padding bits; the above macros have undefined behavior otherwise.
@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
#endif
+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */
+#ifdef UINT_WIDTH
+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
+#endif
/* Does the __typeof__ keyword work? This could be done by
'configure', but for now it's easier to do it by hand. */
-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+#if (2 <= __GNUC__ \
+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
|| (0x5110 <= __SUNPRO_C && !__STDC__))
# define _GL_HAVE___TYPEOF__ 1
#else
@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
signed, this macro may overestimate the true bound by one byte when
applied to unsigned types of size 2, 4, 16, ... bytes. */
#define INT_STRLEN_BOUND(t) \
- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
- - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ _GL_SIGNED_TYPE_OR_EXPR (t))
/* Bound on buffer size needed to represent an integer type or expression T,
@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
? (a) < (min) >> (b) \
: (max) >> (b) < (a))
-/* True if __builtin_add_overflow (A, B, P) works when P is null. */
-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
+
+/* True if __builtin_add_overflow_p (A, B, C) works. */
+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
/* The _GL*_OVERFLOW macros have the same restrictions as the
*_RANGE_OVERFLOW macros, except that they do not assume that operands
(e.g., A and B) have the same type as MIN and MAX. Instead, they assume
that the result (e.g., A + B) has that type. */
-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
-# define _GL_ADD_OVERFLOW(a, b, min, max)
- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
+#if _GL_HAS_BUILTIN_OVERFLOW_P
+# define _GL_ADD_OVERFLOW(a, b, min, max) \
+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
#else
# define _GL_ADD_OVERFLOW(a, b, min, max) \
((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
_GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
#define INT_SUBTRACT_OVERFLOW(a, b) \
_GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+#if _GL_HAS_BUILTIN_OVERFLOW_P
# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
#else
# define INT_NEGATE_OVERFLOW(a) \
@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
#define INT_MULTIPLY_WRAPV(a, b, r) \
_GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
-#ifndef __has_builtin
-# define __has_builtin(x) 0
-#endif
-
/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
https://llvm.org/bugs/show_bug.cgi?id=25390
@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
the operation. BUILTIN is the builtin operation, and OVERFLOW the
overflow predicate. Return 1 if the result overflows. See above
for restrictions. */
-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
+#if _GL_HAS_BUILTIN_OVERFLOW
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
# else
# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
_GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
- long int, LONG_MIN, LONG_MAX))
+ long int, LONG_MIN, LONG_MAX)
# endif
#endif
diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h
index e1fce5c9..eb06b691 100644
--- a/lib/gltests/intprops.h
+++ b/lib/gltests/intprops.h
@@ -1,18 +1,18 @@
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2017 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3 of the License, or
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Written by Paul Eggert. */
@@ -47,12 +47,16 @@
/* Minimum and maximum values for integer types and expressions. */
+/* The width in bits of the integer type or expression T.
+ Padding bits are not supported; this is checked at compile-time below. */
+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
+
/* The maximum and minimum values for the integer type T. */
#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
#define TYPE_MAXIMUM(t) \
((t) (! TYPE_SIGNED (t) \
? (t) -1 \
- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
/* The maximum and minimum values for the type of the expression E,
after integer promotion. E should not have side effects. */
@@ -65,7 +69,13 @@
? _GL_SIGNED_INT_MAXIMUM (e) \
: _GL_INT_NEGATE_CONVERT (e, 1))
#define _GL_SIGNED_INT_MAXIMUM(e) \
- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
+
+/* Work around OpenVMS incompatibility with C99. */
+#if !defined LLONG_MAX && defined __INT64_MAX
+# define LLONG_MAX __INT64_MAX
+# define LLONG_MIN __INT64_MIN
+#endif
/* This include file assumes that signed types are two's complement without
padding bits; the above macros have undefined behavior otherwise.
@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
#endif
+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */
+#ifdef UINT_WIDTH
+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
+#endif
/* Does the __typeof__ keyword work? This could be done by
'configure', but for now it's easier to do it by hand. */
-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+#if (2 <= __GNUC__ \
+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
|| (0x5110 <= __SUNPRO_C && !__STDC__))
# define _GL_HAVE___TYPEOF__ 1
#else
@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
signed, this macro may overestimate the true bound by one byte when
applied to unsigned types of size 2, 4, 16, ... bytes. */
#define INT_STRLEN_BOUND(t) \
- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
- - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ _GL_SIGNED_TYPE_OR_EXPR (t))
/* Bound on buffer size needed to represent an integer type or expression T,
@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
? (a) < (min) >> (b) \
: (max) >> (b) < (a))
-/* True if __builtin_add_overflow (A, B, P) works when P is null. */
-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
+
+/* True if __builtin_add_overflow_p (A, B, C) works. */
+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
/* The _GL*_OVERFLOW macros have the same restrictions as the
*_RANGE_OVERFLOW macros, except that they do not assume that operands
(e.g., A and B) have the same type as MIN and MAX. Instead, they assume
that the result (e.g., A + B) has that type. */
-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
-# define _GL_ADD_OVERFLOW(a, b, min, max)
- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
+#if _GL_HAS_BUILTIN_OVERFLOW_P
+# define _GL_ADD_OVERFLOW(a, b, min, max) \
+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
#else
# define _GL_ADD_OVERFLOW(a, b, min, max) \
((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
_GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
#define INT_SUBTRACT_OVERFLOW(a, b) \
_GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+#if _GL_HAS_BUILTIN_OVERFLOW_P
# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
#else
# define INT_NEGATE_OVERFLOW(a) \
@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
#define INT_MULTIPLY_WRAPV(a, b, r) \
_GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
-#ifndef __has_builtin
-# define __has_builtin(x) 0
-#endif
-
/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
https://llvm.org/bugs/show_bug.cgi?id=25390
@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
the operation. BUILTIN is the builtin operation, and OVERFLOW the
overflow predicate. Return 1 if the result overflows. See above
for restrictions. */
-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
+#if _GL_HAS_BUILTIN_OVERFLOW
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
# else
# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
_GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
- long int, LONG_MIN, LONG_MAX))
+ long int, LONG_MIN, LONG_MAX)
# endif
#endif
--
2.13.6

View File

@@ -0,0 +1,26 @@
Re #2059 (misc): Fixed possible function name clash with md5 due to non-static function.
Backported from: https://trac.pjsip.org/repos/changeset/5688
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Index: pjlib-util/src/pjlib-util/md5.c
===================================================================
diff --git a/pjproject/pjlib-util/src/pjlib-util/md5.c b/pjproject/pjlib-util/src/pjlib-util/md5.c
--- a/pjlib-util/src/pjlib-util/md5.c (revision 5687)
+++ b/pjlib-util/src/pjlib-util/md5.c (revision 5688)
@@ -29,13 +29,13 @@
#ifndef HIGHFIRST
#define byteReverse(buf, len) /* Nothing */
#else
-void byteReverse(unsigned char *buf, unsigned longs);
+static void byteReverse(unsigned char *buf, unsigned longs);
#ifndef ASM_MD5
/*
* Note: this code is harmless on little-endian machines.
*/
-void byteReverse(unsigned char *buf, unsigned longs)
+static void byteReverse(unsigned char *buf, unsigned longs)
{
pj_uint32_t t;
do {

View File

@@ -1,5 +1,6 @@
# From http://www.pjsip.org/release/2.6/MD5SUM.TXT
md5 c347a672679e7875ce572e18517884b2 pjproject-2.6.tar.bz2
# From http://www.pjsip.org/release/2.7.1/MD5SUM.TXT
md5 99a64110fa5c2debff40e0e8d4676380 pjproject-2.7.1.tar.bz2
# Locally computed
sha256 2f5a1da1c174d845871c758bd80fbb580fca7799d3cfaa0d3c4e082b5161c7b4 pjproject-2.6.tar.bz2
sha256 59fabc62a02b2b80857297cfb10e2c68c473f4a0acc6e848cfefe8421f2c3126 pjproject-2.7.1.tar.bz2
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING

View File

@@ -4,7 +4,7 @@
#
################################################################################
LIBPJSIP_VERSION = 2.6
LIBPJSIP_VERSION = 2.7.1
LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.bz2
LIBPJSIP_SITE = http://www.pjsip.org/release/$(LIBPJSIP_VERSION)
LIBPJSIP_DEPENDENCIES = libsrtp
@@ -50,7 +50,6 @@ LIBPJSIP_CONF_OPTS = \
--disable-openh264 \
--disable-libyuv \
--disable-ipp \
--disable-ssl \
--disable-silk \
--with-external-srtp

View File

@@ -20,11 +20,13 @@ config BR2_PACKAGE_LIBPLAYER_GSTREAMER
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on !BR2_STATIC_LIBS # gstreamer
select BR2_PACKAGE_GSTREAMER
comment "gstreamer backend needs a toolchain w/ wchar, threads"
comment "gstreamer backend needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS
endif
comment "libplayer needs a toolchain w/ threads"

View File

@@ -1,12 +1,12 @@
config BR2_PACKAGE_LIBPLIST
bool "libplist"
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_LIBXML2
depends on BR2_TOOLCHAIN_HAS_THREADS
help
libplist is a client for manipulating Apple Property List
(.plist) files
http://www.libimobiledevice.org/
comment "libplist needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
comment "libplist needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -1,2 +1,2 @@
# Locally calculated
sha256 0effdedcb3de128c4930d8c03a3854c74c426c16728b8ab5f0a5b6bdc0b644be libplist-1.12.tar.bz2
sha256 3a7e9694c2d9a85174ba1fa92417cfabaea7f6d19631e544948dc7e17e82f602 libplist-2.0.0.tar.bz2

View File

@@ -4,17 +4,13 @@
#
################################################################################
LIBPLIST_VERSION = 1.12
LIBPLIST_VERSION = 2.0.0
LIBPLIST_SOURCE = libplist-$(LIBPLIST_VERSION).tar.bz2
LIBPLIST_SITE = http://www.libimobiledevice.org/downloads
LIBPLIST_DEPENDENCIES = libxml2 host-pkgconf
LIBPLIST_INSTALL_STAGING = YES
LIBPLIST_LICENSE = LGPL-2.1+
LIBPLIST_LICENSE_FILES = COPYING
# Straight out of the git tree:
LIBPLIST_AUTORECONF = YES
# Disable building Python bindings, because it requires host-cython, which
# is not packaged in Buildroot at all.
LIBPLIST_CONF_OPTS = --without-cython

View File

@@ -231,13 +231,13 @@ endchoice
config BR2_DEFAULT_KERNEL_HEADERS
string
default "3.2.94" if BR2_KERNEL_HEADERS_3_2
default "3.2.96" if BR2_KERNEL_HEADERS_3_2
default "3.4.113" if BR2_KERNEL_HEADERS_3_4
default "3.10.107" if BR2_KERNEL_HEADERS_3_10
default "3.10.108" if BR2_KERNEL_HEADERS_3_10
default "3.12.74" if BR2_KERNEL_HEADERS_3_12
default "4.1.45" if BR2_KERNEL_HEADERS_4_1
default "4.4.94" if BR2_KERNEL_HEADERS_4_4
default "4.9.58" if BR2_KERNEL_HEADERS_4_9
default "4.1.46" if BR2_KERNEL_HEADERS_4_1
default "4.4.102" if BR2_KERNEL_HEADERS_4_4
default "4.9.65" if BR2_KERNEL_HEADERS_4_9
default "4.10.17" if BR2_KERNEL_HEADERS_4_10
default "4.11.12" if BR2_KERNEL_HEADERS_4_11
default "4.12.14" if BR2_KERNEL_HEADERS_4_12

View File

@@ -0,0 +1,50 @@
From: Bernhard Walle <bernhard@bwalle.de>
Date: Mon, 2 Oct 2017 16:55:23 +0200
Subject: [PATCH] Don't include <xlocale.h>
This header has been removed in glibc 2.26:
https://abi-laboratory.pro/tracker/changelog/glibc/2.26/log.html
------------------------ >8 ------------------------
* The nonstandard header <xlocale.h> has been removed. Most programs should
use <locale.h> instead. If you have a specific need for the definition of
locale_t with no other declarations, please contact
libc-alpha@sourceware.org and explain.
------------------------ 8< ------------------------
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Upstream: https://git.pengutronix.de/cgit/ptxdist/tree/patches/localedef-eglibc-2.14.1-r17443-ptx1/0003-Don-t-include-xlocale.h.patch
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
eglibc/locale/langinfo.h | 2 +-
eglibc/locale/locale.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/eglibc/locale/langinfo.h b/eglibc/locale/langinfo.h
index 0a5336507196..76707a4584c1 100644
--- a/eglibc/locale/langinfo.h
+++ b/eglibc/locale/langinfo.h
@@ -589,7 +589,7 @@ extern char *nl_langinfo (nl_item __item) __THROW;
more information. */
/* Get locale datatype definition. */
-# include <xlocale.h>
+# include <locale.h>
/* Just like nl_langinfo but get the information from the locale object L. */
extern char *nl_langinfo_l (nl_item __item, __locale_t __l);
diff --git a/eglibc/locale/locale.h b/eglibc/locale/locale.h
index 2aa19e76acb2..18be711a2d40 100644
--- a/eglibc/locale/locale.h
+++ b/eglibc/locale/locale.h
@@ -143,7 +143,7 @@ __END_NAMESPACE_STD
This is a proof-of-concept implementation. */
/* Get locale datatype definition. */
-# include <xlocale.h>
+# include_next <locale.h>
/* Return a reference to a data structure representing a set of locale
datasets. Unlike for the CATEGORY parameter for `setlocale' the

View File

@@ -0,0 +1,249 @@
From bc1d8ca01415710d40224de312c7ecf6f4223301 Mon Sep 17 00:00:00 2001
From: Philippe Proulx <eeppeliteloop@gmail.com>
Date: Mon, 6 Nov 2017 18:46:41 -0500
Subject: [PATCH] Fix: detect dlmopen() and disable corresponding tests if not
available
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
musl and uClibc-ng are known not to support dlmopen(). LTTng-UST has
this dlmopen() detection.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
[Philippe: backport from upstream commit bc1d8ca0
edited to remove .gitignore part]
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
---
.gitignore | 1 +
configure.ac | 25 ++++++++++++++++++++++
tests/regression/ust/ust-dl/prog.c | 17 +++++++++++++--
tests/regression/ust/ust-dl/test_ust-dl | 32 ----------------------------
tests/regression/ust/ust-dl/test_ust-dl.in | 34 ++++++++++++++++++++++++++++++
tests/regression/ust/ust-dl/test_ust-dl.py | 9 +++++++-
tests/utils/test_utils.py | 3 +++
7 files changed, 86 insertions(+), 35 deletions(-)
delete mode 100755 tests/regression/ust/ust-dl/test_ust-dl
create mode 100644 tests/regression/ust/ust-dl/test_ust-dl.in
diff --git a/configure.ac b/configure.ac
index 016c56ec..b6ea39c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -196,6 +196,30 @@ AC_CHECK_FUNCS([ \
# add -lrt to LIBS
AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete])
+# Checks for dl.
+AC_CHECK_LIB([dl], [dlopen], [
+ have_libdl=yes
+ libdl_name=dl
+], [
+ # libdl not found, check for dlopen in libc.
+ AC_CHECK_LIB([c], [dlopen], [
+ have_libc_dl=yes
+ libdl_name=c
+ ], [
+ AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
+ ])
+])
+
+# Check if libdl has dlmopen support.
+AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."])
+AC_CHECK_LIB([$libdl_name], [dlmopen], [
+ AC_DEFINE([HAVE_DLMOPEN], [1])
+ HAVE_DLMOPEN=1
+], [
+ HAVE_DLMOPEN=0
+])
+AC_SUBST(HAVE_DLMOPEN)
+
# Babeltrace viewer check
AC_ARG_WITH([babeltrace-bin],
AS_HELP_STRING([--with-babeltrace-bin],
@@ -1100,6 +1124,7 @@ AC_CONFIG_FILES([
AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging])
# Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script.
AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw])
+AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl])
AC_OUTPUT
diff --git a/tests/regression/ust/ust-dl/prog.c b/tests/regression/ust/ust-dl/prog.c
index e8e4b264..669792d9 100644
--- a/tests/regression/ust/ust-dl/prog.c
+++ b/tests/regression/ust/ust-dl/prog.c
@@ -13,7 +13,12 @@
*/
int main(int argc, char **argv)
{
- void *h0, *h1, *h2, *h3, *h4;
+ void *h0, *h2, *h3, *h4;
+
+#ifdef HAVE_DLMOPEN
+ void *h1;
+#endif
+
char *error;
int (*foo)(void);
@@ -21,10 +26,14 @@ int main(int argc, char **argv)
if (!h0) {
goto get_error;
}
+
+#ifdef HAVE_DLMOPEN
h1 = dlmopen(LM_ID_BASE, "libfoo.so", RTLD_LAZY);
if (!h1) {
goto get_error;
}
+#endif
+
h2 = dlopen("libzzz.so", RTLD_LAZY);
if (!h2) {
goto get_error;
@@ -38,7 +47,7 @@ int main(int argc, char **argv)
goto get_error;
}
- foo = dlsym(h1, "foo");
+ foo = dlsym(h3, "foo");
error = dlerror();
if (error != NULL) {
goto error;
@@ -49,9 +58,13 @@ int main(int argc, char **argv)
if (dlclose(h0)) {
goto get_error;
}
+
+#ifdef HAVE_DLMOPEN
if (dlclose(h1)) {
goto get_error;
}
+#endif
+
if (dlclose(h2)) {
goto get_error;
}
diff --git a/tests/regression/ust/ust-dl/test_ust-dl b/tests/regression/ust/ust-dl/test_ust-dl
deleted file mode 100755
index 1f2934db..00000000
--- a/tests/regression/ust/ust-dl/test_ust-dl
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) - 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License, version 2 only, as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-CURDIR=$(dirname $0)
-TESTDIR=${CURDIR}/../../..
-
-source $TESTDIR/utils/utils.sh
-
-if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then
- diag "No shared object generated. Skipping all tests."
- exit 0
-fi
-
-start_lttng_sessiond_notap
-
-python3 ${CURDIR}/test_ust-dl.py
-
-stop_lttng_sessiond_notap
diff --git a/tests/regression/ust/ust-dl/test_ust-dl.in b/tests/regression/ust/ust-dl/test_ust-dl.in
new file mode 100644
index 00000000..61d00d21
--- /dev/null
+++ b/tests/regression/ust/ust-dl/test_ust-dl.in
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright (C) - 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License, version 2 only, as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 51
+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+CURDIR=$(dirname $0)
+TESTDIR=${CURDIR}/../../..
+
+source $TESTDIR/utils/utils.sh
+
+if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then
+ diag "No shared object generated. Skipping all tests."
+ exit 0
+fi
+
+export LTTNG_TOOLS_HAVE_DLMOPEN=@HAVE_DLMOPEN@
+
+start_lttng_sessiond_notap
+
+python3 ${CURDIR}/test_ust-dl.py
+
+stop_lttng_sessiond_notap
diff --git a/tests/regression/ust/ust-dl/test_ust-dl.py b/tests/regression/ust/ust-dl/test_ust-dl.py
index 81972a7d..72459840 100644
--- a/tests/regression/ust/ust-dl/test_ust-dl.py
+++ b/tests/regression/ust/ust-dl/test_ust-dl.py
@@ -31,6 +31,9 @@ sys.path.append(test_utils_path)
from test_utils import *
+have_dlmopen = (os.environ.get('LTTNG_TOOLS_HAVE_DLMOPEN') == '1')
+
+
NR_TESTS = 14
current_test = 1
print("1..{0}".format(NR_TESTS))
@@ -113,7 +116,11 @@ current_test += 1
print_test_result(dlopen_event_found > 0, current_test, "lttng_ust_dl:dlopen event found in resulting trace")
current_test += 1
-print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace")
+if have_dlmopen:
+ print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace")
+else:
+ skip_test(current_test, 'dlmopen() is not available')
+
current_test += 1
print_test_result(build_id_event_found > 0, current_test, "lttng_ust_dl:build_id event found in resulting trace")
diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py
index 4b38630c..02e632a2 100644
--- a/tests/utils/test_utils.py
+++ b/tests/utils/test_utils.py
@@ -62,6 +62,9 @@ def print_test_result(result, number, description):
result_string += " {0} - {1}".format(number, description)
print(result_string)
+def skip_test(number, description):
+ print('ok {} # skip {}'.format(number, description))
+
def enable_ust_tracepoint_event(session_info, event_name):
event = Event()
event.name = event_name
--
2.15.0

View File

@@ -0,0 +1,31 @@
From 40dde31f7eeb71af169b97b82d8fd1739895dfc3 Mon Sep 17 00:00:00 2001
From: Philippe Proulx <eeppeliteloop@gmail.com>
Date: Wed, 8 Nov 2017 15:19:24 -0500
Subject: [PATCH] Fix: src/common/pipe.h: include <sys/types.h> for ssize_t and
mode_t
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
[Philippe: backport from upstream commit 40dde31f]
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
---
src/common/pipe.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/common/pipe.h b/src/common/pipe.h
index 2d4fc967..30f7c3f3 100644
--- a/src/common/pipe.h
+++ b/src/common/pipe.h
@@ -20,6 +20,7 @@
#include <pthread.h>
#include <common/macros.h>
+#include <sys/types.h>
enum lttng_pipe_state {
LTTNG_PIPE_STATE_OPENED = 1,
--
2.15.0

View File

@@ -0,0 +1,32 @@
From 56efeab366da412ee4196107c08174f32ed83c9a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?=
<jeremie.galarneau@efficios.com>
Date: Mon, 13 Nov 2017 10:31:29 -0500
Subject: [PATCH] Fix warning: src/bin/lttng/utils.c: cast incompatible pointer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Reported-by: Philippe Proulx <eeppeliteloop@gmail.com>
[Philippe: backport from upstream commit 56efeab3]
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
---
src/bin/lttng/utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c
index 885f498b..52a2440e 100644
--- a/src/bin/lttng/utils.c
+++ b/src/bin/lttng/utils.c
@@ -387,7 +387,7 @@ int check_relayd(void)
* A successful connect means the relayd exists thus returning 0 else a
* negative value means it does NOT exists.
*/
- ret = connect(fd, &sin, sizeof(sin));
+ ret = connect(fd, (struct sockaddr *) &sin, sizeof(sin));
if (ret < 0) {
/* Not found. */
ret = 0;
--
2.15.0

View File

@@ -10,7 +10,8 @@ LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2
LTTNG_TOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ (include/lttng/*, src/lib/lttng-ctl/*)
LTTNG_TOOLS_LICENSE_FILES = gpl-2.0.txt lgpl-2.1.txt LICENSE
LTTNG_TOOLS_CONF_OPTS += --disable-man-pages
# 0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch
LTTNG_LIBUST_AUTORECONF = YES
LTTNG_TOOLS_DEPENDENCIES = liburcu libxml2 popt util-linux
ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y)

View File

@@ -1,5 +1,8 @@
config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
bool
# -m32 flag is used for 32bit builds and host-luajit has
# limited architecture support
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
default y if BR2_i386 || \
(BR2_x86_64 && BR2_HOSTARCH='x86_64') || \
BR2_powerpc || BR2_arm || BR2_armeb || \

View File

@@ -26,6 +26,12 @@ MESA3D_DEPENDENCIES = \
# Disable assembly usage.
MESA3D_CONF_OPTS = --disable-asm
# Disable static, otherwise configure will fail with: "Cannot enable both static
# and shared."
ifeq ($(BR2_SHARED_STATIC_LIBS),y)
MESA3D_CONF_OPTS += --disable-static
endif
# The Sourcery MIPS toolchain has a special (non-upstream) feature to
# have "compact exception handling", which unfortunately breaks with
# mesa3d, so we disable it here by passing -mno-compact-eh.

View File

@@ -10,7 +10,7 @@ MOARVM_SOURCE = MoarVM-$(MOARVM_VERSION).tar.gz
MOARVM_LICENSE = Artistic-2.0
MOARVM_LICENSE_FILES = Artistic2.txt
MOARVM_INSTALL_STAGING = YES
MOARVM_DEPENDENCIES = host-luajit host-pkgconf libuv libtommath libatomic_ops
MOARVM_DEPENDENCIES = host-lua host-pkgconf libuv libtommath libatomic_ops
MOARVM_CONF_OPTS = \
--build=$(GNU_HOST_NAME) \
@@ -20,7 +20,7 @@ MOARVM_CONF_OPTS = \
--ld="$(TARGET_CC)" \
--prefix="/usr" \
--pkgconfig=$(PKG_CONFIG_HOST_BINARY) \
--lua=$(HOST_DIR)/bin/luajit \
--lua=$(HOST_DIR)/bin/lua \
--has-libuv \
--has-libtommath \
--has-libatomic

View File

@@ -0,0 +1,32 @@
From 855e9674232808ff3be7191b697dfb56917db21f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Wed, 8 Feb 2017 00:56:32 +0000
Subject: [PATCH] Fix GCC7 build
if (*pSlash != '\0') {
As it stands the body of that if will always execute and when there are
no encoding parameters ppEncodingParams will be returned as a pointer to
an empty string rather than as a null pointer
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
src/rtphint.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rtphint.cpp b/src/rtphint.cpp
index e07309d..1eb01f5 100644
--- a/src/rtphint.cpp
+++ b/src/rtphint.cpp
@@ -339,7 +339,7 @@ void MP4RtpHintTrack::GetPayload(
pSlash = strchr(pSlash, '/');
if (pSlash != NULL) {
pSlash++;
- if (pSlash != '\0') {
+ if (*pSlash != '\0') {
length = (uint32_t)strlen(pRtpMap) - (pSlash - pRtpMap);
*ppEncodingParams = (char *)MP4Calloc(length + 1);
strncpy(*ppEncodingParams, pSlash, length);
--
2.11.0

View File

@@ -208,13 +208,16 @@ config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
depends on BR2_USE_MMU # gstreamer -> libglib2
depends on BR2_USE_WCHAR # gstreamer -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer -> libglib2
depends on !BR2_STATIC_LIBS # gstreamer
select BR2_PACKAGE_GSTREAMER
select BR2_PACKAGE_GST_PLUGINS_BASE
select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
comment "gstreamer-0.10 support needs a toolchain w/ wchar, threads"
comment "gstreamer-0.10 support needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS
config BR2_PACKAGE_OPENCV_WITH_GSTREAMER1
bool "gstreamer-1.x"

View File

@@ -0,0 +1,35 @@
From 9a43657a3dcb868b4f36ade3aba5dcf0871fb412 Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Mon, 30 Oct 2017 23:36:56 +0100
Subject: [PATCH] openbsd-compat/bsd-getpagesize.c: include includes.h for
config.h defines
The configure script checks for getpagesize() and sets HAVE_GETPAGESIZE in
config.h, but bsd-getpagesize.c forgot to include includes.h (which
indirectly includes config.h) so the checks always fails, causing linker
issues when linking statically on systems with getpagesize():
http://autobuild.buildroot.net/results/8cc/8cc30818a400c7a392a3de787cabc9cd8425495f/build-end.log
Fix it by including includes.h
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
openbsd-compat/bsd-getpagesize.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/openbsd-compat/bsd-getpagesize.c b/openbsd-compat/bsd-getpagesize.c
index 9daddfbd..416a8d4c 100644
--- a/openbsd-compat/bsd-getpagesize.c
+++ b/openbsd-compat/bsd-getpagesize.c
@@ -1,5 +1,7 @@
/* Placed in the public domain */
+#include "includes.h"
+
#ifndef HAVE_GETPAGESIZE
#include <unistd.h>
--
2.11.0

View File

@@ -1,2 +1,4 @@
# From http://www.openssh.com/txt/release-7.5 (base64 encoded)
sha256 9846e3c5fab9f0547400b4d2c017992f914222b3fd1f8eee6c7dc6bc5e59f9f0 openssh-7.5p1.tar.gz
# From http://www.openssh.com/txt/release-7.6 (base64 encoded)
sha256 a323caeeddfe145baaa0db16e98d784b1fbc7dd436a6bf1f479dfd5cd1d21723 openssh-7.6p1.tar.gz
# Locally calculated
sha256 05a4c25ef464e19656c5259bd4f4da8428efab01044f3541b79fbb3ff209350f LICENCE

View File

@@ -4,7 +4,7 @@
#
################################################################################
OPENSSH_VERSION = 7.5p1
OPENSSH_VERSION = 7.6p1
OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable
OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain
OPENSSH_LICENSE_FILES = LICENCE

View File

@@ -1,5 +1,5 @@
# From https://www.openssl.org/source/openssl-1.0.2l.tar.gz.sha256
sha256 ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c openssl-1.0.2l.tar.gz
# From https://www.openssl.org/source/openssl-1.0.2m.tar.gz.sha256
sha256 8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f openssl-1.0.2m.tar.gz
# Locally computed
sha256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
sha256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d

View File

@@ -4,7 +4,7 @@
#
################################################################################
OPENSSL_VERSION = 1.0.2l
OPENSSL_VERSION = 1.0.2m
OPENSSL_SITE = http://www.openssl.org/source
OPENSSL_LICENSE = OpenSSL or SSLeay
OPENSSL_LICENSE_FILES = LICENSE

View File

@@ -4,15 +4,17 @@ mysql.cc: In function 'void build_completion_hash(bool, bool)':
mysql.cc:2687:37: error: invalid conversion from 'char' to 'char*' [-fpermissive]
field_names[i][num_fields*2]= '\0';
^~~~
Patch was partly backported from upstream commit:
https://github.com/mysql/mysql-server/commit/ae21683d980d5fe9e39bd0193827ea3604256eb9
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: add more gcc 7.x fixes in instance_map.cc.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
diff -uNr mysql-5.1.73.org/client/mysql.cc mysql-5.1.73/client/mysql.cc
--- mysql-5.1.73.org/client/mysql.cc 2013-11-04 19:52:27.000000000 +0100
+++ mysql-5.1.73/client/mysql.cc 2017-05-13 19:52:10.125101101 +0200
Index: b/client/mysql.cc
===================================================================
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -2684,7 +2684,7 @@
mysql_free_result(fields);
break;
@@ -22,3 +24,22 @@ diff -uNr mysql-5.1.73.org/client/mysql.cc mysql-5.1.73/client/mysql.cc
j=0;
while ((sql_field=mysql_fetch_field(fields)))
{
Index: b/server-tools/instance-manager/instance_map.cc
===================================================================
--- a/server-tools/instance-manager/instance_map.cc
+++ b/server-tools/instance-manager/instance_map.cc
@@ -526,12 +526,12 @@
Options::Main::config_file);
argv_options[1]= defaults_file_arg;
- argv_options[2]= '\0';
+ argv_options[2]= NULL;
argc= 2;
}
else
- argv_options[1]= '\0';
+ argv_options[1]= NULL;
/*
If the routine failed, we'll simply fallback to defaults in

View File

@@ -1,2 +1,4 @@
# From https://ftp.postgresql.org/pub/source/v9.6.3/postgresql-9.6.3.tar.bz2.sha256
sha256 1645b3736901f6d854e695a937389e68ff2066ce0cde9d73919d6ab7c995b9c6 postgresql-9.6.3.tar.bz2
# From https://ftp.postgresql.org/pub/source/v9.6.6/postgresql-9.6.6.tar.bz2.sha256
sha256 399cdffcb872f785ba67e25d275463d74521566318cfef8fe219050d063c8154 postgresql-9.6.6.tar.bz2
# License file, Locally calculated
sha256 7dc8de32741ad1b03e21710771b55a1b9d460671d47f28a8840f917e38c66676 COPYRIGHT

View File

@@ -4,7 +4,7 @@
#
################################################################################
POSTGRESQL_VERSION = 9.6.3
POSTGRESQL_VERSION = 9.6.6
POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2
POSTGRESQL_SITE = http://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION)
POSTGRESQL_LICENSE = PostgreSQL

View File

@@ -1,15 +1,15 @@
Fix the build with Qt 5.6.2
Fix the build with Qt 5.6.{2,3}
Building PyQt 5.7 with versions of Qt older than Qt 5.7 is supposed to
work, but currently fails in practice. In fact, this is due to the
fact that the %Timeline variable in QtCoremod.sip didn't contain the
5.6.2 Qt version, so if this version was used, PyQt was assuming it
5.6.{2,3} Qt versions, so if this version was used, PyQt was assuming it
was the later version 5.7, and therefore started enabling APIs only
available in Qt 5.7, causing build failures when building against Qt
5.6.2.
5.6.{2,3}.
Adding Qt_5_6_2 to the timeline fixes this problem. This fix was
suggested by Phil Thompson <phil@riverbankcomputing.com>.
Adding Qt_5_6_2 and Qt_5_6_3 to the timeline fixes this problem. This
fix was suggested by Phil Thompson <phil@riverbankcomputing.com>.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
@@ -22,7 +22,7 @@ Index: PyQt5_gpl-5.7/sip/QtCore/QtCoremod.sip
%Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", version=1)
-%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_7_0}
+%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_7_0}
+%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_7_0}
%Platforms {WS_X11 WS_WIN WS_MACX}

View File

@@ -0,0 +1,53 @@
From 21f787cb9bf0c1440981262f03bc881c5b77c0d8 Mon Sep 17 00:00:00 2001
From: Matt Weber <matthew.weber@rockwellcollins.com>
Date: Fri, 6 Oct 2017 09:54:15 -0500
Subject: [PATCH] python-config.sh: don't reassign ${prefix}
When prefix is set to a path like /usr during crossbuild
the sed operations end up executing twice, once for the prefix
reassignment and another for includedir if it is set as a string
including the ${prefix} variable. This results in an issue
when the build directory is under /usr.
This patch updates the remaining location which uses the prefix
variable to also sed and update to use the real path.
Upstream bug report:
https://bugs.python.org/issue31713
Buildroot bug:
https://bugs.busybox.net/show_bug.cgi?id=10361
Fixes failures like the following:
dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b6273c1b470513f5492258a6d8853
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
---
Misc/python-config.sh.in | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
index f905a71..e06be0f 100644
--- a/Misc/python-config.sh.in
+++ b/Misc/python-config.sh.in
@@ -29,7 +29,7 @@ prefix_real=$(installed_prefix "$0")
# Use sed to fix paths from their built-to locations to their installed-to
# locations.
-prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#")
+prefix=$prefix_build
exec_prefix_build="@exec_prefix@"
exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#")
includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#")
@@ -47,7 +46,7 @@ LINKFORSHARED="@LINKFORSHARED@"
OPT="@OPT@"
PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
LDVERSION="@LDVERSION@"
-LIBDEST=${prefix}/lib/python${VERSION}
+LIBDEST=$( echo "${prefix}/lib/python${VERSION}" | sed "s#^$prefix_build#$prefix_real#")
LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#")
SO="@EXT_SUFFIX@"
PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
--
1.8.3.1

View File

@@ -0,0 +1,146 @@
From 02e9698c96ca78342b82fa7239e93bab4aa45db2 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Fri, 17 Nov 2017 22:20:06 +0100
Subject: [PATCH] configure: fix build on non-x86 platforms
When building for an uncommon platform on a ppc64le machine, Qt build
fails because it builds qmake with the target compiler instead of
using the host compiler. This is due to the fact that Qt configure
script believes that both the host and target platforms are "powerpc",
even though the target really is Xtensa or ARC for example.
Qt's configure script defines a variable called PLATFORM that points to
the mkspecs describing the host machine. For x86, its value is
qws/linux-x86-g++ and for x86-64, its value is
qws/linux-x86_64-g++. For any other host architecture, its value is
qws/linux-generic-g++.
In parallel to this, Qt's configure script defines a variable called
XPLATFORM that points to the mkspecs describing the target machine. It
points to qws/linux-${CFG_EMBEDDED}-g++, where CFG_EMBEDDED is
simply "generic" for most uncommon architectures.
Therefore, when we're building for an uncommon architecture, on a
ppc64le machine, we have:
PLATFORM = qws/linux-generic-g++
XPLATFORM = qws/linux-generic-g++
i.e, both values are equal. Due to this, the following condition is
false:
if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
which causes Qt's configure script to fallback to:
elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
CFG_ARCH=$CFG_HOST_ARCH
fi
because CFG_ARCH is not defined, and therefore gets defined to
CFG_HOST_ARCH. So we have CFG_ARCH == CFG_HOST_ARCH, and Qt believes
we're doing a native build.
Therefore, we need to ensure that PLATFORM and XPLATFORM always have a
different value. To achieve this, we create a
qws/linux-host-generic-g++ mkspecs, which is always used as
PLATFORM. It is identical to qws/linux-x86-g++. Compared to
qws/linux-x86_64-g++, the only difference is that we're not passing
the -m64 flag, but that isn't needed when building host tools.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
configure | 8 +----
mkspecs/qws/linux-host-generic-g++/qmake.conf | 10 ++++++
mkspecs/qws/linux-host-generic-g++/qplatformdefs.h | 42 ++++++++++++++++++++++
3 files changed, 53 insertions(+), 7 deletions(-)
create mode 100644 mkspecs/qws/linux-host-generic-g++/qmake.conf
create mode 100644 mkspecs/qws/linux-host-generic-g++/qplatformdefs.h
diff --git a/configure b/configure
index 10ad7ca0b0..d25f90be1e 100755
--- a/configure
+++ b/configure
@@ -2806,14 +2806,8 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
Linux:*)
if [ -z "$PLATFORM" ]; then
case "$UNAME_MACHINE" in
- *86)
- PLATFORM=qws/linux-x86-g++
- ;;
- *86_64)
- PLATFORM=qws/linux-x86_64-g++
- ;;
*)
- PLATFORM=qws/linux-generic-g++
+ PLATFORM=qws/linux-host-generic-g++
;;
esac
fi
diff --git a/mkspecs/qws/linux-host-generic-g++/qmake.conf b/mkspecs/qws/linux-host-generic-g++/qmake.conf
new file mode 100644
index 0000000000..55011ec52b
--- /dev/null
+++ b/mkspecs/qws/linux-host-generic-g++/qmake.conf
@@ -0,0 +1,10 @@
+#
+# qmake configuration for building with linux-g++
+#
+
+include(../../common/linux.conf)
+include(../../common/gcc-base-unix.conf)
+include(../../common/g++-unix.conf)
+include(../../common/qws.conf)
+
+load(qt_config)
diff --git a/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h
new file mode 100644
index 0000000000..a654aa78a2
--- /dev/null
+++ b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../linux-g++/qplatformdefs.h"
--
2.13.6

View File

@@ -10,7 +10,7 @@ QT5_VERSION = $(QT5_VERSION_MAJOR).1
QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
else
QT5_VERSION_MAJOR = 5.6
QT5_VERSION = $(QT5_VERSION_MAJOR).2
QT5_VERSION = $(QT5_VERSION_MAJOR).3
QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules
endif

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qt3d-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 a21786db6e0f5c6c70213fe1a3530ed3d7f28f28401a0f793970e9bc860ce941 qt3d-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qt3d-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 10d05a30e925fcad971126c7f47a5e32c39f007dab96b298b2094501f9607ffe qt3d-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qt3d-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 4f1fe5b812d78987341b854e7f2907f0375dc188cfa6cf9db101b26e9dfd4996 qt3d-opensource-src-5.9.1.tar.xz

View File

@@ -1,53 +0,0 @@
From b6c602e4264021f98ec2c72316e2a2000bf35e82 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Mon, 14 Nov 2016 23:42:25 +0100
Subject: [PATCH] eglfs: fix eglfs_mali compile for odroid-mali
Avoid duplicated struct fbdev_window definition (introduced by [1]) by
renaming struct fbdev_window to shadow_fbdev_window.
Fixes the following buildroot compile failure ([2]):
qeglfsmaliintegration.cpp:45:8: error: redefinition of 'struct fbdev_window'
struct fbdev_window {
^
In file included from /accts/mlweber1/rc-buildroot-test/scripts/instance-0/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/EGL/eglplatform.h:28:0,
from /accts/mlweber1/rc-buildroot-test/scripts/instance-0/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/EGL/egl.h:36,
from ../../../eglfs/qeglfsglobal.h:45,
from ../../../eglfs/qeglfsdeviceintegration.h:48,
from qeglfsmaliintegration.h:37,
from qeglfsmaliintegration.cpp:34:
[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?h=dev&id=58bed4cda98e8e25db8adc61c7db73b6853077dc
[2] http://autobuild.buildroot.net/results/48c/48c458c035162169e8ca7c34ae65e9064822f25a
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
.../eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp
index 43decdf..aeba83f 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp
@@ -42,7 +42,7 @@
QT_BEGIN_NAMESPACE
-struct fbdev_window {
+struct shadow_fbdev_window {
unsigned short width;
unsigned short height;
};
@@ -85,7 +85,7 @@ EGLNativeWindowType QEglFSMaliIntegration::createNativeWindow(QPlatformWindow *w
Q_UNUSED(window);
Q_UNUSED(format);
- fbdev_window *fbwin = reinterpret_cast<fbdev_window *>(malloc(sizeof(fbdev_window)));
+ shadow_fbdev_window *fbwin = reinterpret_cast<shadow_fbdev_window *>(malloc(sizeof(shadow_fbdev_window)));
if (NULL == fbwin)
return 0;
--
2.8.1

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtbase-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 2f6eae93c5d982fe0a387a01aeb3435571433e23e9d9d9246741faf51f1ee787 qtbase-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtbase-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 fef48529a6fc2617a30d75d952cb327c6be341fd104154993922184b3b3b4da1 qtbase-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtbase-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 bc9a21e9f6fff9629019fdf9f989f064751d5073c3a28dc596def92f4d4275c6 qtbase-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtcanvas3d-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 d7584d006b03f99692ccabce922e755a6f12bb1ed1fbc99c2b84842b9e0aa0ad qtcanvas3d-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtcanvas3d-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 e99e0e159f2fba539b7947a1921072f6807f20958d32809edbf12aac571f56ff qtcanvas3d-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtcanvas3d-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 4b8bf09330f03d2b3998f5447991546704715478c54f4f8d82d00bee3047de81 qtcanvas3d-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtconnectivity-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 1b672923e0703d62f605ccec97b454b1a04c1f0db47f54b687d009e84eabedf9 qtconnectivity-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtconnectivity-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 fa406e3d63fa4a2acc8ecae6d110f20c766f19a21c7061a12f3c167deb07ccde qtconnectivity-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtconnectivity-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 40638b715517bff8509fe9fe1e6a4e45e0f66e68920605048e080dd023ae7fd5 qtconnectivity-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtdeclarative-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 0086a986bc36b398ba518c404d08cdff0a0d7978c30aa3fa2ab73d71654209da qtdeclarative-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 f63fc053d0d16b8a9ca9308f8ead77874b470ae31b66057e2bd336bf648191fc qtdeclarative-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtdeclarative-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 d2fe6c9c1a9f19af6e96553c6d75366ab8f397bc232acd67d31476955fee94ff qtdeclarative-opensource-src-5.9.1.tar.xz

View File

@@ -1,2 +1,2 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtenginio-opensource-src-1.6.2.tar.xz.mirrorlist
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtenginio-opensource-src-1.6.2.tar.xz.mirrorlist
sha256 90ffc38d214a75ab0ef90a4760843f12bc073ae49c17de24c677d1d403bddcc3 qtenginio-opensource-src-1.6.2.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtgraphicaleffects-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 1e9f0fac2c72a812d396db74b2d9d12f513d2ec9135d5982ca85aee7f00be75e qtgraphicaleffects-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtgraphicaleffects-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 c742592d5e45b122b29df60b69be23ba7c817f2dc471db86e054f6ea24a999ed qtgraphicaleffects-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtgraphicaleffects-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 5f86c38e36d9553049cfbe56d4869e73cf8ab920905402cbcafb56dd8a1a59ff qtgraphicaleffects-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtimageformats-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 4fb153be62dac393cbcebab65040b3b9d6edecd1ebbe5e543401b0e45bd147e4 qtimageformats-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtimageformats-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 efe4da3c90c976c9b9a2eb6b081d2b8e1435935695104456276ce98e8a5848c3 qtimageformats-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtimageformats-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 79fee307310a66100bd3d907ea69bd039dcd727c15f27e990167e7a27d1b8a47 qtimageformats-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtlocation-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 7a8995206ed0220f943a33c037527a1a8243d5386f5ca77bf88152675c28d23a qtlocation-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtlocation-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 b7a81c58cc331fb15bea8fba21d3c9a59f6dc6ad2e4855e30a14ce59a2af1466 qtlocation-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtlocation-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 4bc43c1df69c5322f982588711d4a65f8408b71a36e43ba19b39d1aae87e1515 qtlocation-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtmultimedia-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 cb9a70a7c6c0eb5be4a3fcaf9590863479e95a255308bbf07d5b7aa303bb8caf qtmultimedia-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtmultimedia-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 ae36039ea8037742342f1615687e0ca2188f3ed0d700627a5e5be546c15e1b46 qtmultimedia-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtmultimedia-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 e48fbe71b4418eb7caba5ef5aa422483fb28d0e894cbc41f3d8b73b3d7fee6e4 qtmultimedia-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 5ed0f2292be10222dfb1b57a05472798fd759279f65455d91c02ef4fb746102c qtquickcontrols-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 31bb0fc8f21b855af6ff02c415be3246128b523d0ef7c05e248e92281ab0db8e qtquickcontrols-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtquickcontrols-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 520ed0e110f9d0977eb873ea0e05a3d205c9c1b1ad2dd606875708848b21ec2e qtquickcontrols-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols2-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 09dc1710aa4701aebe145829eb99bab94d0870cf578f7dddcec0af92286dfec1 qtquickcontrols2-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols2-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 ec5078470abe2da888c2be5d1749b5961ef5132487c180ce4d4aa19ea7ff81cb qtquickcontrols2-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtquickcontrols2-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 203be0321112d1513b722fce463f9e30d7d00befb33349901d9517f4f13408ff qtquickcontrols2-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtscript-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 e06ef6b271cae2187b57cd4ffdd6759428fd47f94a060e2ed2af024a8c14110e qtscript-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtscript-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 f08720dd0e3a70377c1cb7fa3b129e24f4cdedade279e51b67c9271ab470b389 qtscript-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtscript-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 176a08865d5f66437b0f279fc5d7f381f359f20bafbffcebdcac61e86415188f qtscript-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtsensors-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 a7809081aab4f2f0d7a4f40c3abb02e1690bb390d1dd410d7c6c5019a5053427 qtsensors-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsensors-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 7502d4dc5571865a7eea2a4180c3be396dfb8ce22df4c4f3d7e9ff32ab334973 qtsensors-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtsensors-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 5af19397aa8ccd88c1fbb7cda4ee2a583f05bdf8ae090eb616bb276ff2e9e29c qtsensors-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtserialbus-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 b39260091691532382935ed51de9ead8e66cfb5f7a6e5410c17cd0695ccaf826 qtserialbus-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialbus-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 71c89be3879414e2a11cad93a4882758f9259b1c0aec980560309192c99f9a9e qtserialbus-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtserialbus-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 caa9feefbf1d51b38d6bc923428009d524c0c5eb77f30e4b6d84fec1ce19f3c3 qtserialbus-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtserialport-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 af76281bad2c2bd283189635316b46091f6712134b845ae1b9e3016eec94f376 qtserialport-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialport-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 082d1fee2703aed19f840c4e4031e37c9b929e5bd8ebef2ebac4b28c509bae1a qtserialport-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtserialport-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 e1fe85bf292929c3a62cb4d21efaaa4e89f70f48ea10914da07d0670ec617a69 qtserialport-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtsvg-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 f7a361bf661b31ae7779513559dd0b774171911bc57f5cfb6bed6878ddc8bc4e qtsvg-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsvg-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 100f183517b46554079beabd8d2cabe3070a74dd0a2e64b6a304eac71cfadcec qtsvg-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtsvg-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 99f294f874b13553e4ed49cd9465580ad0c9b92e29cdfa47b2e4096835c1e2e5 qtsvg-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qttools-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 db2bb4318786257a47172c377d9c456d5d5ec760d5d69240a4693dc87989e1b7 qttools-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qttools-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 1a63ba838058d73cb540040589b235ded77f76402693decfd6d4d3c75ea67926 qttools-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qttools-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 c4eb56cf24a75661b8317b566be37396c90357b4f6730ef12b8c97a7079ca0e8 qttools-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebchannel-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 700efdef5f51bdb77093f4db212afe275ad35a710ea08ba0e9e9cbc8f09f1a52 qtwebchannel-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebchannel-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 8eb1b0ac2286653c7932758c21e7760788a5d7cfd6162da09afa926d5be50713 qtwebchannel-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebchannel-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 80425f5a6df8784f5221809ffd664486ed38427f514ab4ec174e20456b027000 qtwebchannel-opensource-src-5.9.1.tar.xz

View File

@@ -0,0 +1,93 @@
From bf172ae289a1348842005a9421797970f9b72060 Mon Sep 17 00:00:00 2001
From: Konstantin Tokarev <annulen@yandex.ru>
Date: Thu, 4 May 2017 15:12:37 +0300
Subject: [PATCH] Fix compilation with ICU 59
Upstream fix: https://bugs.webkit.org/show_bug.cgi?id=171612
Task-number: QTBUG-60532
Change-Id: I6014feea213aa70ebe40b09d9d1a03fd1ed3c843
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
Source/JavaScriptCore/API/JSStringRef.cpp | 6 +++---
Source/JavaScriptCore/runtime/DateConversion.cpp | 3 ++-
Source/WTF/wtf/TypeTraits.h | 3 +++
Source/WebKit2/Shared/API/c/WKString.cpp | 2 +-
4 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp
index 812f3d413..77a3fd0f4 100644
--- a/Source/JavaScriptCore/API/JSStringRef.cpp
+++ b/Source/JavaScriptCore/API/JSStringRef.cpp
@@ -37,7 +37,7 @@ using namespace WTF::Unicode;
JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
{
initializeThreading();
- return OpaqueJSString::create(chars, numChars).leakRef();
+ return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
}
JSStringRef JSStringCreateWithUTF8CString(const char* string)
@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* string)
JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
{
initializeThreading();
- return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
+ return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
}
JSStringRef JSStringRetain(JSStringRef string)
@@ -83,7 +83,7 @@ size_t JSStringGetLength(JSStringRef string)
const JSChar* JSStringGetCharactersPtr(JSStringRef string)
{
- return string->characters();
+ return reinterpret_cast<const JSChar*>(string->characters());
}
size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp b/Source/JavaScriptCore/runtime/DateConversion.cpp
index 0b57f012d..05e27338b 100644
--- a/Source/JavaScriptCore/runtime/DateConversion.cpp
+++ b/Source/JavaScriptCore/runtime/DateConversion.cpp
@@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool as
#if OS(WINDOWS)
TIME_ZONE_INFORMATION timeZoneInformation;
GetTimeZoneInformation(&timeZoneInformation);
- const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
+ const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
+ String timeZoneName(reinterpret_cast<const UChar*>(winTimeZoneName));
#else
struct tm gtm = t;
char timeZoneName[70];
diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h
index 9df2c95cf..f5d6121fd 100644
--- a/Source/WTF/wtf/TypeTraits.h
+++ b/Source/WTF/wtf/TypeTraits.h
@@ -72,6 +72,9 @@ namespace WTF {
template<> struct IsInteger<unsigned long> { static const bool value = true; };
template<> struct IsInteger<long long> { static const bool value = true; };
template<> struct IsInteger<unsigned long long> { static const bool value = true; };
+#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
+ template<> struct IsInteger<char16_t> { static const bool value = true; };
+#endif
#if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
template<> struct IsInteger<wchar_t> { static const bool value = true; };
#endif
diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp b/Source/WebKit2/Shared/API/c/WKString.cpp
index cbac67dd8..23400a64e 100644
--- a/Source/WebKit2/Shared/API/c/WKString.cpp
+++ b/Source/WebKit2/Shared/API/c/WKString.cpp
@@ -55,7 +55,7 @@ size_t WKStringGetLength(WKStringRef stringRef)
size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
{
COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
- return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
+ return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
}
size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
--
2.11.0

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/snapshots/qt/5.6/5.6.2/latest_src/submodules/qtwebkit-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 528a6b8b1c5095367b26e8ce4f3a46bb739e2e9913ff4dfc6ef58a04fcd73966 qtwebkit-opensource-src-5.6.2.tar.xz
# Hash from: http://download.qt.io/community_releases/5.6/5.6.3/qtwebkit-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 098c6bb25798fbf1b619b540621287787064efc9b586d76ac0ce7e39b87a3896 qtwebkit-opensource-src-5.6.3.tar.xz
# hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 28a560becd800a4229bfac317c2e5407cd3cc95308bc4c3ca90dba2577b052cf qtwebkit-opensource-src-5.9.1.tar.xz

View File

@@ -5,7 +5,12 @@
################################################################################
QT5WEBKIT_VERSION = $(QT5_VERSION)
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5WEBKIT_SITE = $(QT5_SITE)
else
QT5WEBKIT_SITE = http://download.qt.io/community_releases/5.6/$(QT5_VERSION)
endif
QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz
QT5WEBKIT_DEPENDENCIES = \
host-bison host-flex host-gperf host-python host-ruby \

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebsockets-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 3cd9d4bbff8e6be5e252f00fc9ecb9ac2d8a193020288c7d1e82583daeb5ba35 qtwebsockets-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebsockets-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 a2439045616c89dfe06333734ff4726075c92e01db6e6b6863bc138e39c028eb qtwebsockets-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebsockets-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 01277362430b5a75c19a16ded8cf4c53a3bccddcc0ba2f50648e0f2985f23464 qtwebsockets-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtx11extras-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 71ffde1cfaeec310677b69ecd16cb5992e8885cf3e73b4cec7d6e7a115b40ced qtx11extras-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtx11extras-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 1e7a8e96e0629f2b2b78de684b156b357210cf5df6b42f30789423f2cb07677f qtx11extras-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtx11extras-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 a63d0e28958331d672dbd0f8c554bdaddbc974a27be37601f7f221a2ef1ad601 qtx11extras-opensource-src-5.9.1.tar.xz

View File

@@ -1,5 +1,5 @@
# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtxmlpatterns-opensource-src-5.6.2.tar.xz.mirrorlist
sha256 7c6df3eebf188d8ce6822a22cebbc63da5ac27047cf1bd7236d5b988244782cc qtxmlpatterns-opensource-src-5.6.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtxmlpatterns-opensource-src-5.6.3.tar.xz.mirrorlist
sha256 a461ff9f0d7310de9b9904ff9cd34919e958bf4071a6fc7096450b8990ab51f6 qtxmlpatterns-opensource-src-5.6.3.tar.xz
# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtxmlpatterns-opensource-src-5.9.1.tar.xz.mirrorlist
sha256 b584686496ad1b1b3426d642bd705cab3fc02313b067a33d1b826a27aee29c24 qtxmlpatterns-opensource-src-5.9.1.tar.xz

View File

@@ -0,0 +1,33 @@
From 7a42b78be9a4108d98833069a88e6fddb9285008 Mon Sep 17 00:00:00 2001
From: Andreas Jaggi <aj@open.ch>
Date: Mon, 2 Oct 2017 19:38:43 +0530
Subject: [PATCH] bgpd: Fix AS_PATH size calculation for long paths
If you have an AS_PATH with more entries than
what can be written into a single AS_SEGMENT_MAX
it needs to be broken up. The code that noticed
that the AS_PATH needs to be broken up was not
correctly calculating the size of the resulting
message. This patch addresses this issue.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
bgpd/bgp_aspath.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c
index b7af5e88..d813bfba 100644
--- a/bgpd/bgp_aspath.c
+++ b/bgpd/bgp_aspath.c
@@ -903,7 +903,7 @@ aspath_put (struct stream *s, struct aspath *as, int use32bit )
assegment_header_put (s, seg->type, AS_SEGMENT_MAX);
assegment_data_put (s, seg->as, AS_SEGMENT_MAX, use32bit);
written += AS_SEGMENT_MAX;
- bytes += ASSEGMENT_SIZE (written, use32bit);
+ bytes += ASSEGMENT_SIZE (AS_SEGMENT_MAX, use32bit);
}
/* write the final segment, probably is also the first */
--
2.11.0

View File

@@ -1,2 +1,4 @@
# From https://github.com/antirez/redis-hashes/blob/master/README
sha256 6eaacfa983b287e440d0839ead20c2231749d5d6b78bbe0e0ffa3a890c59ff26 redis-3.2.9.tar.gz
sha256 31ae927cab09f90c9ca5954aab7aeecc3bb4da6087d3d12ba0a929ceb54081b5 redis-3.2.11.tar.gz
# Locally calculated
sha256 cbf420a3672475a6e2765e3c0984c1f81efe0212afb94a3c998ee63bfd661063 COPYING

View File

@@ -4,7 +4,7 @@
#
################################################################################
REDIS_VERSION = 3.2.9
REDIS_VERSION = 3.2.11
REDIS_SITE = http://download.redis.io/releases
REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components)
REDIS_LICENSE_FILES = COPYING

View File

@@ -1,445 +0,0 @@
[PATCH] bump rubygems to 2.6.12
Downloaded from upstream:
https://bugs.ruby-lang.org/attachments/download/6692/rubygems-2612-ruby24.patch
And converted to patch-p1.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
diff --git a/lib/rubygems.rb b/lib/rubygems.rb
index 5cd1a4c47a..bc5bf9b4c2 100644
--- a/lib/rubygems.rb
+++ b/lib/rubygems.rb
@@ -10,7 +10,7 @@
require 'thread'
module Gem
- VERSION = "2.6.11"
+ VERSION = "2.6.12"
end
# Must be first since it unloads the prelude from 1.9.2
@@ -234,6 +234,7 @@ def self.needs
def self.finish_resolve(request_set=Gem::RequestSet.new)
request_set.import Gem::Specification.unresolved_deps.values
+ request_set.import Gem.loaded_specs.values.map {|s| Gem::Dependency.new(s.name, s.version) }
request_set.resolve_current.each do |s|
s.full_spec.activate
diff --git a/lib/rubygems/commands/open_command.rb b/lib/rubygems/commands/open_command.rb
index a89b7421e3..059635e835 100644
--- a/lib/rubygems/commands/open_command.rb
+++ b/lib/rubygems/commands/open_command.rb
@@ -72,7 +72,7 @@ def open_editor path
end
def spec_for name
- spec = Gem::Specification.find_all_by_name(name, @version).last
+ spec = Gem::Specification.find_all_by_name(name, @version).first
return spec if spec
diff --git a/lib/rubygems/commands/query_command.rb b/lib/rubygems/commands/query_command.rb
index f25d120b88..70f8127292 100644
--- a/lib/rubygems/commands/query_command.rb
+++ b/lib/rubygems/commands/query_command.rb
@@ -86,7 +86,7 @@ def execute
name = Array(options[:name])
else
args = options[:args].to_a
- name = options[:exact] ? args : args.map{|arg| /#{arg}/i }
+ name = options[:exact] ? args.map{|arg| /\A#{Regexp.escape(arg)}\Z/ } : args.map{|arg| /#{arg}/i }
end
prerelease = options[:prerelease]
diff --git a/lib/rubygems/commands/sources_command.rb b/lib/rubygems/commands/sources_command.rb
index 9832afd214..7e46963a4c 100644
--- a/lib/rubygems/commands/sources_command.rb
+++ b/lib/rubygems/commands/sources_command.rb
@@ -44,7 +44,7 @@ def add_source source_uri # :nodoc:
source = Gem::Source.new source_uri
begin
- if Gem.sources.include? source_uri then
+ if Gem.sources.include? source then
say "source #{source_uri} already present in the cache"
else
source.load_specs :released
diff --git a/lib/rubygems/dependency_list.rb b/lib/rubygems/dependency_list.rb
index 35fe7c4c1a..d8314eaf60 100644
--- a/lib/rubygems/dependency_list.rb
+++ b/lib/rubygems/dependency_list.rb
@@ -104,7 +104,7 @@ def find_name(full_name)
end
def inspect # :nodoc:
- "#<%s:0x%x %p>" % [self.class, object_id, map { |s| s.full_name }]
+ "%s %p>" % [super[0..-2], map { |s| s.full_name }]
end
##
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
index f4d3e728de..967543c2d1 100644
--- a/lib/rubygems/installer.rb
+++ b/lib/rubygems/installer.rb
@@ -214,7 +214,7 @@ def check_executable_overwrite filename # :nodoc:
ruby_executable = true
existing = io.read.slice(%r{
- ^(
+ ^\s*(
gem \s |
load \s Gem\.bin_path\( |
load \s Gem\.activate_bin_path\(
@@ -701,6 +701,8 @@ def verify_gem_home(unpack = false) # :nodoc:
# Return the text for an application file.
def app_script_text(bin_file_name)
+ # note that the `load` lines cannot be indented, as old RG versions match
+ # against the beginning of the line
return <<-TEXT
#{shebang bin_file_name}
#
@@ -723,7 +725,12 @@ def app_script_text(bin_file_name)
end
end
+if Gem.respond_to?(:activate_bin_path)
load Gem.activate_bin_path('#{spec.name}', '#{bin_file_name}', version)
+else
+gem #{spec.name.dump}, version
+load Gem.bin_path(#{spec.name.dump}, #{bin_file_name.dump}, version)
+end
TEXT
end
diff --git a/lib/rubygems/platform.rb b/lib/rubygems/platform.rb
index d22d91ae54..2dd9ed5782 100644
--- a/lib/rubygems/platform.rb
+++ b/lib/rubygems/platform.rb
@@ -112,7 +112,7 @@ def initialize(arch)
end
def inspect
- "#<%s:0x%x @cpu=%p, @os=%p, @version=%p>" % [self.class, object_id, *to_a]
+ "%s @cpu=%p, @os=%p, @version=%p>" % [super[0..-2], *to_a]
end
def to_a
diff --git a/lib/rubygems/security.rb b/lib/rubygems/security.rb
index 119d6d56f7..6963ca156f 100644
--- a/lib/rubygems/security.rb
+++ b/lib/rubygems/security.rb
@@ -455,7 +455,7 @@ def self.create_cert_self_signed subject, key, age = ONE_YEAR,
##
# Creates a new key pair of the specified +length+ and +algorithm+. The
- # default is a 2048 bit RSA key.
+ # default is a 3072 bit RSA key.
def self.create_key length = KEY_LENGTH, algorithm = KEY_ALGORITHM
algorithm.new length
diff --git a/lib/rubygems/server.rb b/lib/rubygems/server.rb
index 81df0e608e..df4eb566d3 100644
--- a/lib/rubygems/server.rb
+++ b/lib/rubygems/server.rb
@@ -657,7 +657,7 @@ def root(req, res)
"only_one_executable" => true,
"full_name" => "rubygems-#{Gem::VERSION}",
"has_deps" => false,
- "homepage" => "http://docs.rubygems.org/",
+ "homepage" => "http://guides.rubygems.org/",
"name" => 'rubygems',
"ri_installed" => true,
"summary" => "RubyGems itself",
diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
index a2f289d162..500f0af768 100644
--- a/lib/rubygems/specification.rb
+++ b/lib/rubygems/specification.rb
@@ -2105,7 +2105,7 @@ def inspect # :nodoc:
if $DEBUG
super
else
- "#<#{self.class}:0x#{__id__.to_s(16)} #{full_name}>"
+ "#{super[0..-2]} #{full_name}>"
end
end
diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb
index 86b68e1efb..4e48f1eb4c 100644
--- a/lib/rubygems/test_case.rb
+++ b/lib/rubygems/test_case.rb
@@ -484,7 +484,7 @@ def git_gem name = 'a', version = 1
system @git, 'add', gemspec
system @git, 'commit', '-a', '-m', 'a non-empty commit message', '--quiet'
- head = Gem::Util.popen('git', 'rev-parse', 'master').strip
+ head = Gem::Util.popen(@git, 'rev-parse', 'master').strip
end
return name, git_spec.version, directory, head
@@ -1498,6 +1498,8 @@ def self.key_path key_name
begin
gem 'rdoc'
require 'rdoc'
+
+ require 'rubygems/rdoc'
rescue LoadError, Gem::LoadError
end
@@ -1514,3 +1516,4 @@ def self.key_path key_name
pid = $$
END {tmpdirs.each {|dir| Dir.rmdir(dir)} if $$ == pid}
Gem.clear_paths
+Gem.loaded_specs.clear
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
index a605f9cdfe..62b36dfd41 100644
--- a/test/rubygems/test_gem.rb
+++ b/test/rubygems/test_gem.rb
@@ -75,6 +75,29 @@ def test_self_finish_resolve_wtf
end
end
+ def test_self_finish_resolve_respects_loaded_specs
+ save_loaded_features do
+ a1 = new_spec "a", "1", "b" => "> 0"
+ b1 = new_spec "b", "1", "c" => ">= 1"
+ b2 = new_spec "b", "2", "c" => ">= 2"
+ c1 = new_spec "c", "1"
+ c2 = new_spec "c", "2"
+
+ install_specs c1, c2, b1, b2, a1
+
+ a1.activate
+ c1.activate
+
+ assert_equal %w(a-1 c-1), loaded_spec_names
+ assert_equal ["b (> 0)"], unresolved_names
+
+ Gem.finish_resolve
+
+ assert_equal %w(a-1 b-1 c-1), loaded_spec_names
+ assert_equal [], unresolved_names
+ end
+ end
+
def test_self_install
spec_fetcher do |f|
f.gem 'a', 1
@@ -492,7 +515,7 @@ def test_self_find_files_with_gemfile
skip if RUBY_VERSION <= "1.8.7"
cwd = File.expand_path("test/rubygems", @@project_dir)
- $LOAD_PATH.unshift cwd
+ actual_load_path = $LOAD_PATH.unshift(cwd).dup
discover_path = File.join 'lib', 'sff', 'discover.rb'
@@ -518,12 +541,12 @@ def test_self_find_files_with_gemfile
expected = [
File.expand_path('test/rubygems/sff/discover.rb', @@project_dir),
File.join(foo1.full_gem_path, discover_path)
- ]
+ ].sort
- assert_equal expected, Gem.find_files('sff/discover')
- assert_equal expected, Gem.find_files('sff/**.rb'), '[ruby-core:31730]'
+ assert_equal expected, Gem.find_files('sff/discover').sort
+ assert_equal expected, Gem.find_files('sff/**.rb').sort, '[ruby-core:31730]'
ensure
- assert_equal cwd, $LOAD_PATH.shift unless RUBY_VERSION <= "1.8.7"
+ assert_equal cwd, actual_load_path.shift unless RUBY_VERSION <= "1.8.7"
end
def test_self_find_latest_files
diff --git a/test/rubygems/test_gem_commands_open_command.rb b/test/rubygems/test_gem_commands_open_command.rb
index 3ec38972e6..a96fa6ea23 100644
--- a/test/rubygems/test_gem_commands_open_command.rb
+++ b/test/rubygems/test_gem_commands_open_command.rb
@@ -24,7 +24,8 @@ def test_execute
@cmd.options[:args] = %w[foo]
@cmd.options[:editor] = "#{Gem.ruby} -e0 --"
- spec = gem 'foo'
+ gem 'foo', '1.0.0'
+ spec = gem 'foo', '1.0.1'
mock = MiniTest::Mock.new
mock.expect(:call, true, [spec.full_gem_path])
diff --git a/test/rubygems/test_gem_commands_query_command.rb b/test/rubygems/test_gem_commands_query_command.rb
index 223f205b2d..d8d682b136 100644
--- a/test/rubygems/test_gem_commands_query_command.rb
+++ b/test/rubygems/test_gem_commands_query_command.rb
@@ -642,7 +642,7 @@ def test_execute_local_details
assert_equal expected, @ui.output
end
- def test_execute_exact
+ def test_execute_exact_remote
spec_fetcher do |fetcher|
fetcher.spec 'coolgem-omg', 3
fetcher.spec 'coolgem', '4.2.1'
@@ -665,6 +665,60 @@ def test_execute_exact
assert_equal expected, @ui.output
end
+ def test_execute_exact_local
+ spec_fetcher do |fetcher|
+ fetcher.spec 'coolgem-omg', 3
+ fetcher.spec 'coolgem', '4.2.1'
+ fetcher.spec 'wow_coolgem', 1
+ end
+
+ @cmd.handle_options %w[--exact coolgem]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ expected = <<-EOF
+
+*** LOCAL GEMS ***
+
+coolgem (4.2.1)
+ EOF
+
+ assert_equal expected, @ui.output
+ end
+
+ def test_execute_exact_multiple
+ spec_fetcher do |fetcher|
+ fetcher.spec 'coolgem-omg', 3
+ fetcher.spec 'coolgem', '4.2.1'
+ fetcher.spec 'wow_coolgem', 1
+
+ fetcher.spec 'othergem-omg', 3
+ fetcher.spec 'othergem', '1.2.3'
+ fetcher.spec 'wow_othergem', 1
+ end
+
+ @cmd.handle_options %w[--exact coolgem othergem]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ expected = <<-EOF
+
+*** LOCAL GEMS ***
+
+coolgem (4.2.1)
+
+*** LOCAL GEMS ***
+
+othergem (1.2.3)
+ EOF
+
+ assert_equal expected, @ui.output
+ end
+
private
def add_gems_to_fetcher
diff --git a/test/rubygems/test_gem_commands_sources_command.rb b/test/rubygems/test_gem_commands_sources_command.rb
index 014b4b4c12..d5b6d99419 100644
--- a/test/rubygems/test_gem_commands_sources_command.rb
+++ b/test/rubygems/test_gem_commands_sources_command.rb
@@ -108,6 +108,58 @@ def test_execute_add_redundant_source
assert_equal '', @ui.error
end
+ def test_execute_add_redundant_source_trailing_slash
+ # Remove pre-existing gem source (w/ slash)
+ repo_with_slash = "http://gems.example.com/"
+ @cmd.handle_options %W[--remove #{repo_with_slash}]
+ use_ui @ui do
+ @cmd.execute
+ end
+ source = Gem::Source.new repo_with_slash
+ assert_equal false, Gem.sources.include?(source)
+
+ expected = <<-EOF
+#{repo_with_slash} removed from sources
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+
+ # Re-add pre-existing gem source (w/o slash)
+ repo_without_slash = "http://gems.example.com"
+ @cmd.handle_options %W[--add #{repo_without_slash}]
+ use_ui @ui do
+ @cmd.execute
+ end
+ source = Gem::Source.new repo_without_slash
+ assert_equal true, Gem.sources.include?(source)
+
+ expected = <<-EOF
+http://gems.example.com/ removed from sources
+http://gems.example.com added to sources
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+
+ # Re-add original gem source (w/ slash)
+ @cmd.handle_options %W[--add #{repo_with_slash}]
+ use_ui @ui do
+ @cmd.execute
+ end
+ source = Gem::Source.new repo_with_slash
+ assert_equal true, Gem.sources.include?(source)
+
+ expected = <<-EOF
+http://gems.example.com/ removed from sources
+http://gems.example.com added to sources
+source http://gems.example.com/ already present in the cache
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+ end
+
def test_execute_add_http_rubygems_org
http_rubygems_org = 'http://rubygems.org'
diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb
index 6ceb2c6dfc..882981d344 100644
--- a/test/rubygems/test_gem_installer.rb
+++ b/test/rubygems/test_gem_installer.rb
@@ -62,7 +62,12 @@ def test_app_script_text
end
end
+if Gem.respond_to?(:activate_bin_path)
load Gem.activate_bin_path('a', 'executable', version)
+else
+gem "a", version
+load Gem.bin_path("a", "executable", version)
+end
EOF
wrapper = @installer.app_script_text 'executable'
diff --git a/test/rubygems/test_require.rb b/test/rubygems/test_require.rb
index dd606e44d4..936f78fb2a 100644
--- a/test/rubygems/test_require.rb
+++ b/test/rubygems/test_require.rb
@@ -301,6 +301,17 @@ def test_default_gem_only
assert_equal %w(default-2.0.0.0), loaded_spec_names
end
+ def test_realworld_default_gem
+ skip "no default gems on ruby < 2.0" unless RUBY_VERSION >= "2"
+ cmd = <<-RUBY
+ $stderr = $stdout
+ require "json"
+ puts Gem.loaded_specs["json"].default_gem?
+ RUBY
+ output = Gem::Util.popen(Gem.ruby, "-e", cmd).strip
+ assert_equal "true", output
+ end
+
def test_default_gem_and_normal_gem
default_gem_spec = new_default_spec("default", "2.0.0.0",
nil, "default/gem.rb")

View File

@@ -1,364 +0,0 @@
[PATCH] bump rubygems to 2.6.12
Downloaded from upstream:
https://bugs.ruby-lang.org/attachments/download/6693/rubygems-2613-ruby24.patch
And converted to patch-p1.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
diff --git a/lib/rubygems.rb b/lib/rubygems.rb
index bc5bf9b4c2..55aa85b8b2 100644
--- a/lib/rubygems.rb
+++ b/lib/rubygems.rb
@@ -10,7 +10,7 @@
require 'thread'
module Gem
- VERSION = "2.6.12"
+ VERSION = "2.6.13"
end
# Must be first since it unloads the prelude from 1.9.2
diff --git a/lib/rubygems/commands/query_command.rb b/lib/rubygems/commands/query_command.rb
index 70f8127292..44144203e0 100644
--- a/lib/rubygems/commands/query_command.rb
+++ b/lib/rubygems/commands/query_command.rb
@@ -226,7 +226,7 @@ def output_versions output, versions
end
end
- output << make_entry(matching_tuples, platforms)
+ output << clean_text(make_entry(matching_tuples, platforms))
end
end
@@ -353,7 +353,8 @@ def spec_platforms entry, platforms
end
def spec_summary entry, spec
- entry << "\n\n" << format_text(spec.summary, 68, 4)
+ summary = truncate_text(spec.summary, "the summary for #{spec.full_name}")
+ entry << "\n\n" << format_text(summary, 68, 4)
end
end
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
index 967543c2d1..6fd3399dd4 100644
--- a/lib/rubygems/installer.rb
+++ b/lib/rubygems/installer.rb
@@ -697,6 +697,11 @@ def verify_gem_home(unpack = false) # :nodoc:
unpack or File.writable?(gem_home)
end
+ def verify_spec_name
+ return if spec.name =~ Gem::Specification::VALID_NAME_PATTERN
+ raise Gem::InstallError, "#{spec} has an invalid name"
+ end
+
##
# Return the text for an application file.
@@ -823,6 +828,8 @@ def pre_install_checks
ensure_loadable_spec
+ verify_spec_name
+
if options[:install_as_default]
Gem.ensure_default_gem_subdirectories gem_home
else
diff --git a/lib/rubygems/remote_fetcher.rb b/lib/rubygems/remote_fetcher.rb
index e6a13d4b8c..8f0cf0b402 100644
--- a/lib/rubygems/remote_fetcher.rb
+++ b/lib/rubygems/remote_fetcher.rb
@@ -110,7 +110,7 @@ def api_endpoint(uri)
else
target = res.target.to_s.strip
- if /\.#{Regexp.quote(host)}\z/ =~ target
+ if URI("http://" + target).host.end_with?(".#{host}")
return URI.parse "#{uri.scheme}://#{target}#{uri.path}"
end
diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
index 500f0af768..88e320c05a 100644
--- a/lib/rubygems/specification.rb
+++ b/lib/rubygems/specification.rb
@@ -108,6 +108,8 @@ class Gem::Specification < Gem::BasicSpecification
private_constant :LOAD_CACHE if defined? private_constant
+ VALID_NAME_PATTERN = /\A[a-zA-Z0-9\.\-\_]+\z/ # :nodoc:
+
# :startdoc:
##
@@ -2671,9 +2673,15 @@ def validate packaging = true
end
end
- unless String === name then
+ if !name.is_a?(String) then
raise Gem::InvalidSpecificationException,
- "invalid value for attribute name: \"#{name.inspect}\""
+ "invalid value for attribute name: \"#{name.inspect}\" must be a string"
+ elsif name !~ /[a-zA-Z]/ then
+ raise Gem::InvalidSpecificationException,
+ "invalid value for attribute name: #{name.dump} must include at least one letter"
+ elsif name !~ VALID_NAME_PATTERN then
+ raise Gem::InvalidSpecificationException,
+ "invalid value for attribute name: #{name.dump} can only include letters, numbers, dashes, and underscores"
end
if raw_require_paths.empty? then
diff --git a/lib/rubygems/text.rb b/lib/rubygems/text.rb
index 732f1b99f2..b944b62c27 100644
--- a/lib/rubygems/text.rb
+++ b/lib/rubygems/text.rb
@@ -6,13 +6,26 @@
module Gem::Text
+ ##
+ # Remove any non-printable characters and make the text suitable for
+ # printing.
+ def clean_text(text)
+ text.gsub(/[\000-\b\v-\f\016-\037\177]/, ".".freeze)
+ end
+
+ def truncate_text(text, description, max_length = 100_000)
+ raise ArgumentError, "max_length must be positive" unless max_length > 0
+ return text if text.size <= max_length
+ "Truncating #{description} to #{max_length.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse} characters:\n" + text[0, max_length]
+ end
+
##
# Wraps +text+ to +wrap+ characters and optionally indents by +indent+
# characters
def format_text(text, wrap, indent=0)
result = []
- work = text.dup
+ work = clean_text(text)
while work.length > wrap do
if work =~ /^(.{0,#{wrap}})[ \n]/ then
diff --git a/test/rubygems/test_gem_commands_query_command.rb b/test/rubygems/test_gem_commands_query_command.rb
index d8d682b136..469223c6c0 100644
--- a/test/rubygems/test_gem_commands_query_command.rb
+++ b/test/rubygems/test_gem_commands_query_command.rb
@@ -116,6 +116,86 @@ def test_execute_details
This is a lot of text. This is a lot of text. This is a lot of text.
This is a lot of text.
+pl (1)
+ Platform: i386-linux
+ Author: A User
+ Homepage: http://example.com
+
+ this is a summary
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+ end
+
+ def test_execute_details_cleans_text
+ spec_fetcher do |fetcher|
+ fetcher.spec 'a', 2 do |s|
+ s.summary = 'This is a lot of text. ' * 4
+ s.authors = ["Abraham Lincoln \x01", "\x02 Hirohito"]
+ s.homepage = "http://a.example.com/\x03"
+ end
+
+ fetcher.legacy_platform
+ end
+
+ @cmd.handle_options %w[-r -d]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ expected = <<-EOF
+
+*** REMOTE GEMS ***
+
+a (2)
+ Authors: Abraham Lincoln ., . Hirohito
+ Homepage: http://a.example.com/.
+
+ This is a lot of text. This is a lot of text. This is a lot of text.
+ This is a lot of text.
+
+pl (1)
+ Platform: i386-linux
+ Author: A User
+ Homepage: http://example.com
+
+ this is a summary
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+ end
+
+ def test_execute_details_truncates_summary
+ spec_fetcher do |fetcher|
+ fetcher.spec 'a', 2 do |s|
+ s.summary = 'This is a lot of text. ' * 10_000
+ s.authors = ["Abraham Lincoln \x01", "\x02 Hirohito"]
+ s.homepage = "http://a.example.com/\x03"
+ end
+
+ fetcher.legacy_platform
+ end
+
+ @cmd.handle_options %w[-r -d]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ expected = <<-EOF
+
+*** REMOTE GEMS ***
+
+a (2)
+ Authors: Abraham Lincoln ., . Hirohito
+ Homepage: http://a.example.com/.
+
+ Truncating the summary for a-2 to 100,000 characters:
+#{" This is a lot of text. This is a lot of text. This is a lot of text.\n" * 1449} This is a lot of te
+
pl (1)
Platform: i386-linux
Author: A User
diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb
index 882981d344..dd049214fb 100644
--- a/test/rubygems/test_gem_installer.rb
+++ b/test/rubygems/test_gem_installer.rb
@@ -1448,6 +1448,26 @@ def test_pre_install_checks_wrong_rubygems_version
end
end
+ def test_pre_install_checks_malicious_name
+ spec = util_spec '../malicious', '1'
+ def spec.full_name # so the spec is buildable
+ "malicious-1"
+ end
+ def spec.validate; end
+
+ util_build_gem spec
+
+ gem = File.join(@gemhome, 'cache', spec.file_name)
+
+ use_ui @ui do
+ @installer = Gem::Installer.at gem
+ e = assert_raises Gem::InstallError do
+ @installer.pre_install_checks
+ end
+ assert_equal '#<Gem::Specification name=../malicious version=1> has an invalid name', e.message
+ end
+ end
+
def test_shebang
util_make_exec @spec, "#!/usr/bin/ruby"
diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb
index cb994462cd..fbb7d89019 100644
--- a/test/rubygems/test_gem_remote_fetcher.rb
+++ b/test/rubygems/test_gem_remote_fetcher.rb
@@ -241,6 +241,21 @@ def test_api_endpoint_ignores_trans_domain_values_that_end_with_original
dns.verify
end
+ def test_api_endpoint_ignores_trans_domain_values_that_end_with_original_in_path
+ uri = URI.parse "http://example.com/foo"
+ target = MiniTest::Mock.new
+ target.expect :target, "evil.com/a.example.com"
+
+ dns = MiniTest::Mock.new
+ dns.expect :getresource, target, [String, Object]
+
+ fetch = Gem::RemoteFetcher.new nil, dns
+ assert_equal URI.parse("http://example.com/foo"), fetch.api_endpoint(uri)
+
+ target.verify
+ dns.verify
+ end
+
def test_api_endpoint_timeout_warning
uri = URI.parse "http://gems.example.com/foo"
diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb
index d43289d745..0fcc11e78f 100644
--- a/test/rubygems/test_gem_specification.rb
+++ b/test/rubygems/test_gem_specification.rb
@@ -2985,7 +2985,37 @@ def test_validate_name
@a1.validate
end
- assert_equal 'invalid value for attribute name: ":json"', e.message
+ assert_equal 'invalid value for attribute name: ":json" must be a string', e.message
+
+ @a1.name = []
+ e = assert_raises Gem::InvalidSpecificationException do
+ @a1.validate
+ end
+ assert_equal "invalid value for attribute name: \"[]\" must be a string", e.message
+
+ @a1.name = ""
+ e = assert_raises Gem::InvalidSpecificationException do
+ @a1.validate
+ end
+ assert_equal "invalid value for attribute name: \"\" must include at least one letter", e.message
+
+ @a1.name = "12345"
+ e = assert_raises Gem::InvalidSpecificationException do
+ @a1.validate
+ end
+ assert_equal "invalid value for attribute name: \"12345\" must include at least one letter", e.message
+
+ @a1.name = "../malicious"
+ e = assert_raises Gem::InvalidSpecificationException do
+ @a1.validate
+ end
+ assert_equal "invalid value for attribute name: \"../malicious\" can only include letters, numbers, dashes, and underscores", e.message
+
+ @a1.name = "\ba\t"
+ e = assert_raises Gem::InvalidSpecificationException do
+ @a1.validate
+ end
+ assert_equal "invalid value for attribute name: \"\\ba\\t\" can only include letters, numbers, dashes, and underscores", e.message
end
def test_validate_non_nil
diff --git a/test/rubygems/test_gem_text.rb b/test/rubygems/test_gem_text.rb
index a6e22e04da..04f3f605e8 100644
--- a/test/rubygems/test_gem_text.rb
+++ b/test/rubygems/test_gem_text.rb
@@ -36,6 +36,10 @@ def test_format_text_trailing # for two spaces after .
assert_equal expected, format_text(text, 78)
end
+ def test_format_removes_nonprintable_characters
+ assert_equal "text with weird .. stuff .", format_text("text with weird \x1b\x02 stuff \x7f", 40)
+ end
+
def test_min3
assert_equal 1, min3(1, 1, 1)
assert_equal 1, min3(1, 1, 2)
@@ -74,4 +78,11 @@ def test_levenshtein_distance_replace
assert_equal 7, levenshtein_distance("xxxxxxx", "ZenTest")
assert_equal 7, levenshtein_distance("zentest", "xxxxxxx")
end
+
+ def test_truncate_text
+ assert_equal "abc", truncate_text("abc", "desc")
+ assert_equal "Truncating desc to 2 characters:\nab", truncate_text("abc", "desc", 2)
+ s = "ab" * 500_001
+ assert_equal "Truncating desc to 1,000,000 characters:\n#{s[0, 1_000_000]}", truncate_text(s, "desc", 1_000_000)
+ end
end

Some files were not shown because too many files have changed in this diff Show More