Gustavo Zacarias [Sun, 28 Aug 2016 13:11:39 +0000 (10:11 -0300)]
webkitgtk: security bump to version 2.12.4
Fixes:
CVE-2016-4590 - mishandles about: URLs, which allows remote attackers to
bypass the Same Origin Policy via a crafted web site.
CVE-2016-4591 - mishandles the location variable, which allows remote
attackers to access the local filesystem via unspecified vectors.
CVE-2016-4622 - allows remote attackers to execute arbitrary code or
cause a denial of service (memory corruption) via a crafted web site, a
different vulnerability than CVE-2016-4589, CVE-2016-4623, and
CVE-2016-4624.
CVE-2016-4624 - allows remote attackers to execute arbitrary code or
cause a denial of service (memory corruption) via a crafted web site, a
different vulnerability than CVE-2016-4589, CVE-2016-4622, and
CVE-2016-4623.
bfin: change default to bf532, internal toolchain !bf6xx
The default Blackfin processor in Buildroot isn't supported by
gcc 6.1.0, so use bf532 as default. Disable any bf6xx processors
for internal toolchain users.
Rahul Bedarkar [Mon, 22 Aug 2016 17:31:57 +0000 (23:01 +0530)]
jack2: fix build issue with glibc
With glibc 2.16, we get following build error when building jack2:
[193/247] cxx: tests/iodelay.cpp -> build/tests/iodelay.cpp.4.o
../tests/iodelay.cpp:171:43: error: 'UINT32_MAX' was not declared in this scope
../tests/iodelay.cpp:171:55: error: 'UINT32_MAX' was not declared in this scope
../tests/iodelay.cpp:172:44: error: 'UINT32_MAX' was not declared in this scope
../tests/iodelay.cpp:172:56: error: 'UINT32_MAX' was not declared in this scope
In glibc 2.17 or older version, Header <stdint.h> defines these macros
for C++ only if explicitly requested by defining __STDC_LIMIT_MACROS.
We can't use <cstdint> since it requires C++11 standard.
Noé Rubinstein [Fri, 26 Aug 2016 09:27:36 +0000 (11:27 +0200)]
trousers: fix build with musl
The trousers code uses getpwent_r, which is not available in musl.
Detect the availability of getpwent_r in the trousers build system, and
use it conditionally.
This broke the build of tpm-tools because linking with libtspi.so
failed.
Runtime-tested by running tpm_version in a chroot and verifying that it
creates a "user.data" file with both the Buildroot-provided CodeSourcery
and Musl toolchains on x86_64.
Jörg Krause [Sat, 27 Aug 2016 00:17:03 +0000 (02:17 +0200)]
package/protobuf: uses fork(), not available on no-MMU platforms
This was not noticed until now because:
1/ The older Blackfin toolchain doesn't have libatomic, so it didn't
provide the atomic operations that protobuf needs, so protobuf was
never built.
2/ The ARM Cortex-M toolchain is static-only, and protobuf requires
dynamic library support.
So it's only with the new Blackfin toolchain, which is based on gcc
6.x (and therefore provides libatomic) and is FDPIC-based (and therefore
has dynamic library support) that this problem appeared.
Since protobuf already has a BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS option,
we use it to add the BR2_USE_MMU dependency (which is architecture
related), which avoids the need to propagate the dependency.
Signed-off-by: Jörg Krause <[email protected]>
[Thomas:
- move the BR2_USE_MMU dependency under
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS and remove the propagation to
reverse dependencies of protobuf, since they already depend on
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS.
- improve commit log.] Signed-off-by: Thomas Petazzoni <[email protected]>
The LTO support in the kmsxx package uses the host gcc-ar and gcc-ranlib
instead of the ones from the cross-toolchain. Add a patch that tries to
find the right one based on CMAKE_C_COMPILER.
Possibly also fixes:
http://autobuild.buildroot.net/results/f3c/f3c48da3a9706cd366c0e0a96c3cd0ff959f2a78
(it fails later, possibly because an incompatible host ar)
Thomas Petazzoni [Fri, 26 Aug 2016 20:44:58 +0000 (22:44 +0200)]
pixman: properly enable/disable ARM optimizations
The pixman ARM optimized code assumes that ARM instructions are
available. Unfortunately, the configure.ac checks do not detect that the
platform is Thumb-only for Cortex-M builds, so it enables the ARM
optimizations, leading to failures like:
error: /home/test/autobuild/run/instance-3/output/host/usr/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libpixman-1.a(pixman-arm-simd-asm-scaled.o): Conflicting CPU architectures 13/1
When building programs linked with pixman on Thumb-only
architectures. This is due to the fact that some object files in
libpixman-1.a are built for the ARM instruction set.
To resolve this, we give better hints to the pixman configure script
about which ARM optimizations to use: the ARM SIMD optimizations need at
least a CPU that supports ARM instructions, and obviously the ARM NEON
optimizations need NEON support.
Signed-off-by: Thomas Petazzoni <[email protected]> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
[Thomas: add a comment above the --enable-arm-simd option, as suggested
by Arnout.] Signed-off-by: Thomas Petazzoni <[email protected]>
Peter Korsgaard [Fri, 26 Aug 2016 12:51:35 +0000 (14:51 +0200)]
imagemagick: security bump to 7.0.2-9
Fixes a number of buffer overflows / use-after-free issues:
http://git.imagemagick.org/repos/ImageMagick/blob/master/ChangeLog
* Prevent buffer overflow in BMP & SGI coders (bug report from
pwchen&rayzhong of tencent).
* Prevent buffer overflow and other problems in SIXEL, PDB, MAP, TIFF and
CALS coders (bug report from Donghai Zhu).
* Prevent buffer overflow (bug report from Max Thrane).
* Prevent memory use after free (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30245).
Peter Korsgaard [Fri, 26 Aug 2016 09:52:20 +0000 (11:52 +0200)]
board/raspberrypi/post-build.sh: only tweak /etc/inittab if available
As pointed out in bug #9161, we don't always have an inittab file (if
systemd or no init is used), so the post build script should only try to
tweak it if present.
Peter Korsgaard [Fri, 26 Aug 2016 09:52:19 +0000 (11:52 +0200)]
board/minnowboard/post-build.sh: only tweak /etc/inittab if available
As pointed out in bug #9161, we don't always have an inittab file (if
systemd or no init is used), so the post build script should only try to
tweak it if present.
Peter Korsgaard [Thu, 25 Aug 2016 21:53:41 +0000 (23:53 +0200)]
boa: boa.conf: run under the nogroup group
The default boa.conf we install specifies that boa should run under the
nobody group, but we don't have such a group in our default skeleton (and
boa doesn't add it), causing boa to fail to start:
[01/Jan/1970:00:00:10 +0000] No such group: nobody
Instead use the nogroup group, which is presumably what was meant.
libgcrypt pulls in gpg-error which links with libintl if available.
Since iputils doesn't use libtool, -lintl has to be passed explicitly
for static builds.
package/libgpg-error: optionally depends on gettext
configure.ac has AM_GNU_GETTEXT(), which will enable i18n if a gettext
library is found. For uClibc, it is found if the gettext package has
been built, and it will add -lintl to the link flags. For musl and
glibc, it is always found, in libc itself so nothing is added to the
link flags.
Thomas Petazzoni [Fri, 26 Aug 2016 08:52:11 +0000 (10:52 +0200)]
domoticz: fix patch for uClibc compatibility
The source files in the domoticz tarballs have DOS line endings, which
don't appear when fetching the source code from Git. Therefore, a patch
generated from the Git repository doesn't apply directly on the source
code extracted from the tarball.
This commit fixes the patch so that it applies cleanly to the
tarball. Notice that the CMakeLists.txt file is not affected, only the
domoticz.cpp file uses DOS line endings.
While we're at it, we change the patch title prefix from [PATCH 1/1] to
just [PATCH].
Rahul Bedarkar [Thu, 25 Aug 2016 17:01:06 +0000 (22:31 +0530)]
domoticz: fix build with uClibc
domoticz.cpp currently assumes that on GNU/Linux systems header
<execinfo.h> is available. But that is not true. Since it provided by
C library and uClibc can be built without backtrace support. And in
such cases we get following build error.
domoticz-3.4834/main/domoticz.cpp:48:22: fatal error: execinfo.h: No such file or directory
#include <execinfo.h>
^
compilation terminated.
This commit adds patch for detecting presence of <execinfo.h>
and guards code accordingly.
Yann E. MORIN [Thu, 25 Aug 2016 18:45:51 +0000 (20:45 +0200)]
package/uboot-tols: fix dependency of comment about FIT support
When commit 031130a4 added the dependency on shared libs for FIT support
in uboot-tools, the dependency of the comment was added exactly as the
dependency of the symbol.
That means the comment is shown when FIT support is possible, and hidden
when it is not, while we want it the other way around...
Yann E. MORIN [Thu, 18 Aug 2016 21:01:21 +0000 (23:01 +0200)]
package/lldpd: disable use of libbsd
libbsd installs at least one .pc file that contains a -isystem include
path (-isystem /usr.include/bsd), but -isystem is not munged by
pkg-config, so we end up using /usr/include/bsd which is not suitable
for the target. And breaks big time (see failures, below).
But using libbsd is completely optional. In fact, our lldpd.mk did not
even express the dependency on libbsd, so we may well have had builds
without libbsd.
The functionality brought in by using libbsd is very minor (just setting
the neighbour name in /proc/self/cmdline), so we just make lldpd not use
libbsd at all. There is no --disable-libbsd or such, so we just patch it
out of configure.ac.
m68k: disable BR2_BINFMT_FLAT_SEP_DATA for coldfire
BR2_BINFMT_FLAT_SEP_DATA can be used to create XIP userland and works fine
for m68k. Unfortunately a lot of basic packages as pcre are not compileable
because of a CPU or hardware limitation. The reason for failing are very
big functions used in the libraries or application code.
Typical errors are:
Fatal error: Tried to convert PC relative branch to absolute jump
or
error: value -yyyyy out of range
Signed-off-by: Waldemar Brodkorb <[email protected]>
[Thomas: add comment in Config.in file about sep-data existing on m68k,
but being disabled due to build issues with numerous packages.] Signed-off-by: Thomas Petazzoni <[email protected]>
m68k: flat one memory region works with small kernel patch
Greg Ungerer fixed recently a bug in the Linux kernel, which
allows to use one memory region again.
Signed-off-by: Waldemar Brodkorb <[email protected]>
[Thomas: cherry-picked from next to master, in order to be able to use
BR2_BINFMT_FLAT_ONE by default on m68k, since BR2_BINFMT_FLAT_SEP_DATA
causes too much problems.] Signed-off-by: Peter Korsgaard <[email protected]>
Erico Nunes [Mon, 22 Aug 2016 21:49:15 +0000 (23:49 +0200)]
configs/pc_x86_64_efi_defconfig: enable kernel EFI support
The pc_x86_64_efi reference defconfig is targeted towards an EFI
environment but the kernel which comes with it does not enable EFI
support by default.
Booting this defconfig without kernel EFI support on a qemu virtual
machine with EFI firmware resulted in no output to tty1 or ttyS0.
Enabling EFI support in the kernel fixed this and seems saner for an EFI
reference Buildroot defconfig.
Adding CONFIG_EFI to board/pc/linux-extras.config also affects
pc_x86_64_bios_defconfig which doesn't require it, however it was
observed that the extra overhead is small and so this is preferred
rather than having a separate config file.
This was tested with qemu 2.6.0 running with kvm enabled and firmware
EFI v2.60 by EDK II. Also built and verified bios defconfig on the same
setup but with BIOS firmware instead.
Thomas Petazzoni [Sat, 20 Aug 2016 12:36:01 +0000 (14:36 +0200)]
openblas: fix build with old binutils versions
Older toolchains that use binutils <= 2.23.2 are affected by binutils
bug #14887 (https://sourceware.org/bugzilla/show_bug.cgi?id=14887),
where:
someinstruction [ foo, something ]
is not accepted, due to the whitespace after [ and before ], causing the
following build failures for OpenBLAS:
ARM register expected -- `pld [ r1,#512 ]'
Since we don't have any mechanism to add dependencies on binutils
versions, we work around this problem by patching the code to remove the
problematic whitespaces. As there are many many instances of this in the
ARM assembly code of OpenBLAS, we use a sed expression to make this
modification rather than a patch.
A gcc bug is triggered when Os/O2/O3 is used to compile the function.
Just force O1 for the problematic function for Blackfin.
See gcc bug report:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77311
Romain Naour [Sun, 21 Aug 2016 21:36:48 +0000 (23:36 +0200)]
package/trousers: needs host-pkgconf
Otherwise the build fail with this error:
configure.in:53: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.in:95: error: possibly undefined macro: AM_CONDITIONAL
Baruch Siach [Sun, 21 Aug 2016 06:39:19 +0000 (09:39 +0300)]
quagga: fix static link with zlib
quagga links with zlib indirectly via netsnmp -> openssl -> zlib. quagga and
zlib both define the identically named but otherwise unrelated 'zcalloc'
symbol. This breaks static linking. Add a patch that renames the offending
symbol, thus fixing the build.
Baruch Siach [Sun, 21 Aug 2016 15:06:38 +0000 (18:06 +0300)]
wireshark: fix static build with libpcap+libusb
The wireshark autoconf acinclude.m4 source calls AC_PATH_TOOL() to find
pcap-config only when --with-pcap is missing. Otherwise it just trusts the
PCAP_CONFIG environment variable. Since we use --with-pcap, seeding
ac_cv_path_PCAP_CONFIG gives nothing. Set PCAP_CONFIG instead to let the
configure script discover the dependencies of libpcap. This fixes static build
when libpcap links with libusb.
Yann E. MORIN [Sun, 21 Aug 2016 13:38:02 +0000 (15:38 +0200)]
package/ncurses: fix build on noMMU uclinux targets
The ncurses buildsystem does not recognise 'uclinux' as being a 'linux',
so it falls back to generic checks, especially when trying to decide
what macros to define. So it misses defining absolutely required macros
when doing widechar, which break the bui,d.
But 'uclinux' is just a 'linux' like any other in this respect.
We fix both aclocal.m4 and the generated ./configure script because
ncurses does not autoreconf correctly (see comment in 0001-*.patch).
Thomas Petazzoni [Sat, 20 Aug 2016 14:00:36 +0000 (16:00 +0200)]
pinentry: fix build issue with gcc 5.x
pinentry currently fails to build with gcc 5.x, because it uses some
functionality from std::string that requires C++11 without passing the
appropriate -std= value. We fix this by passing a proper -std= option
when gcc >= 5.x. Note that this can be removed once pinentry is bumped
to the newest version (currently 0.9.7) because they no longer use
std::string in the Qt part.
Gustavo Zacarias [Sat, 20 Aug 2016 16:48:51 +0000 (13:48 -0300)]
glib-networking: specify ca-certificates pathspec
Otherwise the configure script will probe the distro directories for it
and it may not match what we use, for example fedora uses /etc/pki
instead of /etc/ssl.
Peter Seiderer [Sat, 20 Aug 2016 19:09:54 +0000 (21:09 +0200)]
qt5base: remove libudev dependency from kms
Use upstream patch [1]
Fixes [2]:
KMS auto-detection... ()
Project ERROR: libudev development package not found
KMS disabled.
KMS support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
Thomas Petazzoni [Fri, 19 Aug 2016 13:50:29 +0000 (15:50 +0200)]
lirc-tools: fix build issue related to clock_gettime()
In some older versions of glibc, clock_gettime() is in librt, so we need
to link with librt when clock_gettime() is used. This commit adds a
lirc-tools patch to make sure we link with librt when needed.
Thomas Petazzoni [Sat, 20 Aug 2016 10:21:52 +0000 (12:21 +0200)]
linknx: add additional upstream URL
While the SourceForge page still exists, it seems to be a bit outdated,
and there is now a much newer Github repository with recent activity, so
mention it as well in the Config.in help text.
bfin: fix issues with internal toolchain, re-enable C++ support
The three patches allow to compile applications using TLS emulation from
libgcc or C++ applications.
The patches 892-libgcc-mkmap-symver-support-skip_underscore.patch and
893-libgcc-config-bfin-use-the-generic-linker-version-in.patch fixes how
libgcc is generated, by making the necessary libgcc symbols declared
"GLOBAL", and therefore visible outside of libgcc. This fixes a large
number of undefined reference issues (for either C++ applications or
applications using TLS emulation). This was reported as gcc PR74748.
The patch 894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
allows to build DWARF in FDPIC mode. This patch replaces the older
892-disable-dwarf-bfin.patch, as instead of disabling DWARF support, it
fixes it. This was reported as gcc PR68468.
In order to get C++ working without unresolved symbols, we also need to
disable symbol versioning (--disable-symvers). This is a remaining issue
in gcc which will be investigated at a later point.
Since this commit fixes C++ support in Blackfin, it re-enables the
selection of C++ support for this architecture.
Rahul Bedarkar [Sat, 20 Aug 2016 09:09:20 +0000 (14:39 +0530)]
jack2: fix build with gcc 6
With gcc version 6, we get the following error when building jack2:
../tests/iodelay.cpp:170:49: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
jack_latency_range_t capture_latency = {-1, -1};
^
../tests/iodelay.cpp:170:49: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
../tests/iodelay.cpp:171:50: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
jack_latency_range_t playback_latency = {-1, -1};
^
../tests/iodelay.cpp:171:50: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
binutils configure script has CC variable that stores compiler for
target and CC_FOR_BUILD variable that stores compiler for host.
WARN_FLAGS are verified by the script to be compatible only with CC
compiler but not with CC_FOR_BUILD compiler. Despite this WARN_FLAGS
are passed to both CC and CC_FOR_BUILD compilers. This leads to
unevident errors when cross-compiling. More information you can find
in the binutils mailing list:
https://sourceware.org/ml/binutils/2016-08/msg00117.html
We are going to write a patch for bunutils that fixes the initial
issue. Current patch contains temporary workaround. It should be
deleted after real fix.
Rahul Bedarkar [Fri, 19 Aug 2016 17:15:03 +0000 (22:45 +0530)]
logrotate: fix build with gcc 6
With gcc version 6, we get the following error when building logrotate:
logrotate.c: In function 'postrotateSingleLog':
logrotate.c:1784:5: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
if (!state->doRotate)
^~
logrotate.c:1787:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
if (!hasErrors && log->flags & LOG_FLAG_TMPFILENAME) {
^~
config.c: In function 'strndup':
config.c:87:10: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare]
if(!s)
^
cc1: all warnings being treated as errors
make[2]: *** [config.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
make[2]: *** [logrotate.o] Error 1
This is due to logrotate providing its own implementation of
strndup(). We could fix it, but it much better to simply use the one
provided by the C library, by fixing the detection method for strndup
availability. This is done in patch
0002-Use-autoconf-checks-for-strndup-and-asprintf.patch.
Cc: Thomas Petazzoni <[email protected]> Signed-off-by: Rahul Bedarkar <[email protected]>
[Thomas: replace fix for the nonnull issue with a different one.] Signed-off-by: Thomas Petazzoni <[email protected]>
Thomas Petazzoni [Fri, 19 Aug 2016 20:20:30 +0000 (22:20 +0200)]
imx-uuc: uses fork(), needs MMU
The imx-uuc source code uses fork(), so it can only be compiled and used
on MMU-capable platforms. This commit adds the necessary Config.in
dependencies to express this.
Fabrice Fontaine [Fri, 19 Aug 2016 12:19:36 +0000 (14:19 +0200)]
tinycbor: exclude Blackfin ADI toolchain
As tinycbor uses fopencookie() which is not available with the Blackfin
ADI external toolchain (UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not enabled),
add a dependency on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX.
This avoids the following build failure:
src/open_memstream.c: In function ‘open_memstream’:
src/open_memstream.c:105: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vtable’
src/open_memstream.c:105: error: ‘vtable’ undeclared (first use in this function)
src/open_memstream.c:105: error: (Each undeclared identifier is reported only once
src/open_memstream.c:105: error: for each function it appears in.)
src/open_memstream.c:105: error: expected expression before ‘{’ token
src/open_memstream.c:111: warning: implicit declaration of function ‘fopencookie’
src/open_memstream.c:111: warning: return makes pointer from integer without a cast
Until tinycbor 0.4 is released, patch from dev branch is needed to
remove the usage of unnamed union which are not supported by all
targets such as blackfin, more details can be found here:
https://patchwork.ozlabs.org/patch/652187/
Fabrice Fontaine [Fri, 19 Aug 2016 12:19:34 +0000 (14:19 +0200)]
tinycbor: bump to version 0.3.2
tinycbor 0.3.2 includes the buildroot patch that fixes the installation
with old Makefile used by targets such as blackfin, more details can be
found here: https://patchwork.ozlabs.org/patch/652187
Romain Naour [Thu, 18 Aug 2016 21:48:21 +0000 (23:48 +0200)]
package/connman: disable for musl toolchains
Connman doesn't build with musl toolchains due to several "classic"
musl issues [1] (mixes userspace and kernel headers, missing header)
Upstream received some fixes [2] but they are not yet merged.
Also, gresolv.c use res_ninit() function which is not available
with musl. A fix from Alpinelinux is available [3] but it require
some invasive changes.
Disable connman for musl toolchains for now, and wait for upstream
fixes.
As Thomas already noticed [0], the two interesting rules above are not
dependent one on the other, so can be run in parallel. So, while one is
doing its rm'n'ln dance, the other can be running an ldconfig, which has
the side effect of creating the missing symlinks. So, we can see this
sequence:
Yann E. MORIN [Thu, 18 Aug 2016 21:50:16 +0000 (23:50 +0200)]
package/android-tools: drop musl-compatibility cdefs patching out
We now always have a sys/cdefs.h, so we no longer need to patch it out.
Simplify the patch by removing any hunk removing cdefs.h or the use of
__BEGIN_DECLS/__END_DECLS. However, it must be included when macros it
defines are being used.
Also, renumber patches to guarantee ordering (static patch was added
before big-endian one).
Yann E. MORIN [Thu, 18 Aug 2016 21:50:14 +0000 (23:50 +0200)]
package/rpcbind: fix musl build
rpcbind uses the __P() macro defined in sys/cdefs.h but does not
includes it explicitly, relying on the glibc behaviour to include it
from its own headers.
But this macro does nothing but expands as its argument. In the past,
it did provide support for pre-ANSI compilers that did not support
function prototypes. Those are now gone, and glibc provides this macro
for legacy code.
Yann E. MORIN [Thu, 18 Aug 2016 21:50:13 +0000 (23:50 +0200)]
package/musl-compat-headers: provide compatibility headers not in musl
musl provides neither sys/queue.h nor sys/cdefs.h. Those two headers are
however quite widely used in a lot of packages (though they should at
least not use cdefs.h which is only full of mostly-legacy macros, and
which is mostly an internal header of glibc and was never really meant to
be exposed to, and used by packages).
But we don't live in an ideal world, so a lot of packages break when
those two headers are missing.
We already took care of sys/queue.h with the netbsd-queue package. But
the need for cdefs.h is getting more and more pressing.
We rename the netbsd-queue package into musl-compat-headers, and we
make it install sys/queue.h (from NetBSD) and sys/cdefs.h (a minimalist
one we bundle in Buildroot). We can't use the cdefs.h from NetBSD
because it includes machine-dependent headers; instead we bundle a very
minimalistic one, that covers only what we need.
Yann E. MORIN [Fri, 19 Aug 2016 09:09:53 +0000 (11:09 +0200)]
linux: cpupower needs gettext
The cpupower linux tool needs gettext, always (even without locales).
We need to disable NLS, otherwise it tries to compile the .po files.
We also need to pass -lintl, otherwise it forgets to link with it
(because, the world is glibc-only, you did not know? And glibc does not
need we link with -lintl, so why would we? Oh, yes, we also reinvented
our super intelligent one-off Makefile rather than use one of the
standard buildsystems).
Fixes #9181:
CC utils/helpers/sysfs.o
In file included from utils/helpers/amd.c:9:0: ./utils/helpers/helpers.h:13:21: fatal error: libintl.h: No such file or directory
#include <libintl.h>
^
Without NLS=false (yes, we could depend on host-gettext):
MSGFMT po/de.gmo
make[3]: msgfmt: Command not found
Without LDFLAGS=-lintl:
CC cpupower
./utils/cpupower.o: In function `main':
cpupower.c:(.text.startup+0x1a4): undefined reference to `libintl_textdomain'
./utils/idle_monitor/cpupower-monitor.o: In function `list_monitors':
cpupower-monitor.c:(.text+0x5dc): undefined reference to `libintl_gettext'
./utils/cpupower-set.o: In function `cmd_set':
cpupower-set.c:(.text+0x38): undefined reference to `libintl_textdomain'
./utils/cpupower-info.o: In function `cmd_info':
cpupower-info.c:(.text+0x20): undefined reference to `libintl_textdomain'
collect2: error: ld returned 1 exit status
Romain Naour [Mon, 15 Aug 2016 16:33:02 +0000 (18:33 +0200)]
package/rt-tests: add syscall-number for sched_(gs)etattr() for SH4
The dependency on kernel headers >= 3.14 was added by b9fa6c00b1213fd038f2aed52057f22c7e18fd4b since
librttest requires __NR_sched_setattr and
__NR_sched_getattr syscalls (rt-sched).
But these syscalls have just been added to kernel 4.8 for SH4.
Romain Naour [Wed, 17 Aug 2016 16:01:08 +0000 (18:01 +0200)]
core/pkg-autotools: don't use APPLY_PATCHES for libtool patches
Since [1] <package>-reconfigure target is broken.
$ make elementary-reconfigure
Applying buildroot-libtool-v2.4.4.patch using patch:
Error: duplicate filename 'buildroot-libtool-v2.4.4.patch'
Conflicting files are:
already applied: buildroot/support/libtool/buildroot-libtool-v2.4.4.patch
to be applied : buildroot/support/libtool/buildroot-libtool-v2.4.4.patch
When a package uses AUTORECONF, the libtool patch can be applied a
second time on the same ltmain.sh in the same directory as the
<package>-reconfigure target is called. This is not a problem since
autoreconf will overwrite the previously patched files. But with the
check introduced by [1], apply-patches.sh throw an error when the
package is reconfigured since the libtool patch is already present in
.applied_patches_list.
In addition to this, the .applied_patches_list file generated by
apply-patches.sh while patching ltmain.sh is not in the top-level
package source directory. Instead a duplicated .applied_patches_list
is generated beside the patched ltmain.sh which can be in a
subdirectory.
As noticed by Arnout Vandecappelle [2], the apply-patches.sh script
doesn't bring anything for the libtool patches.
"apply_patches.sh does the following:
* It handles directories -> not needed here.
* It handles compressed patches and tarballs -> not needed.
* It handles series files -> not needed.
* It handles errors in case of multiple patches -> not needed since
it's only one patch.
* It detects errors based on *.rej files -> not needed since it's only
a single patch so patch exit code is OK.
* It writes the patch list -> for libtool, this is quite silly because
it will be written in the directory where ltmain.sh is found, not in the
top-level directory, so you have these patch lists spread over the
source tree."
Signed-off-by: Waldemar Brodkorb <[email protected]>
[Thomas: drop comment about the NPTL dependency being related to
alsa-lib, as it's not the case. Suggested by Baruch.] Signed-off-by: Thomas Petazzoni <[email protected]>