Commit d879be30495 (package/libbsd: enable for non-glibc toolchains)
enabled build of libbsd with uClibc. libbsd requires wchar support.
Disable libbsd when uClibc does not provide wchar support.
Commit d879be30495 (package/libbsd: enable for non-glibc toolchains)
enabled libbsd for openrisc. Unfortunately uClibc does not define the
EM_OPENRISC macro that libbsd expects for ELF e_machine ID. Add patch
making libbsd fallback to the equivalent EM_OR1K macro that uClibc does
provide.
Evgeniy Didin [Tue, 3 Apr 2018 17:48:17 +0000 (20:48 +0300)]
Synopsys: Cleanup files related to Synopsys
Add missing entries in DEVELOPERS file for synopsys boards.
Add missing readme.txt for recently introduced synopsys/hsdk board.
Reduce size of FAT partition for HSDK image.
core/download: fix when the BR2_DL_DIR does not accept hardlinks
When the BR2_DL_DIR is a mountpoint (presumably shared between various
machine, or mounted from the local host when running in a VM), it is
possible that it does not support hardlinks (e.g. samba, or the VMWare
VMFS, etc...).
If the hardlink fails, fallback to copying the file. As a last resort,
if that also fails, eventually fallback to doing the download.
Note: this means that the dl-wrapper is no longer atomic-safe: the code
suffers of a TOCTTOU condition: the file may be created in-between the
check and the moment we try to ln/cp it. Fortunately, the dl-wrapper is
now run under an flock, so we're still safe. If we eventually go for a
more fine-grained implementation, we'll have to be careful then.
Carlos Santos [Mon, 2 Apr 2018 16:53:57 +0000 (13:53 -0300)]
tpm2-abrmd: disable for musl
The current version requires macros and funtions not availabe on musl
(TEMP_FAILURE_RETRY, srand48_r, etc). We could try to circumvent the
problem by means of local patches but for the moment let's disable the
package for musl toolchains and watch the issue reported upstream at
Commit d879be30495 (package/libbsd: enable for non-glibc toolchains)
implicitly enabled libbsd for the uClibc only architectures xtensa and
blackfin. But libbsd does not support these architectures, since its
local-elf.h header lacks the required target specific definitions.
With the change to the DOWNLOAD macro, packages using FOO_ACTUAL_SOURCE_TARBALL fails:
>>> skeleton-init-common Collecting legal info
sourceryg++-2017.05-4-nios2-linux-gnu.src.tar.bz2: OK (md5: 529a7fecf33d0d113a446413b9d1e173)
sourceryg++-2017.05-4-nios2-linux-gnu.src.tar.bz2: OK (sha256: 6e65878d0453708ee19098d3d68985bda244938d35999f3859915a2f5574fa08)
/bin/bash: line 1: @mkdir: command not found
package/pkg-generic.mk:148: recipe for target '/accts/mlweber1/rclinux/rc-buildroot-test/scripts/instance-1/output/build/toolchain-external-codesourcery-niosII-2017.05-4/.stamp_actual_downloaded' failed
Which is caused by the continuation character '\'. This has been present
since the make target was introduced in commit eace9d6133b9
(core/legal-info: ensure legal-info works in off-line mode). It isn't clear
to me why it was done like that, but it fails with the DOWNLOAD macro
rework, so drop it.
The brotli package has recently been added to Buildroot. Add brotli an
an optional dependency to libcurl to make the build consistent.
It turns out that libcurl configure script uses pkg-config to figure
out link libraries only when --with-brotli is explicitly set. So this
also fixes static build failure.
zynq-boot-bin: use HOST_ZYNQ_BOOT_BIN_DL_DIR instead of ZYNQ_BOOT_BIN_DL_DIR
The infrastructure only provides HOST_ZYNQ_BOOT_BIN_DL_DIR, because this
package is host only. Ideally the infra should provide ZYNQ_BOOT_BIN_DL_DIR,
but it doesn't currently, and that requires more significant changes.
ti-cgt-pru: use HOST_TI_CGT_PRU_DL_DIR instead of TI_CGT_PRU_DL_DIR
The infrastructure only provides HOST_TI_CGT_PRU_DL_DIR, because this
package is host only. Ideally the infra should provide TI_CGT_PRU_DL_DIR,
but it doesn't currently, and that requires more significant changes.
rust-bin: use HOST_RUST_BIN_DL_DIR instead of RUST_BIN_DL_DIR
The infrastructure only provides HOST_RUST_BIN_DL_DIR, because this
package is host only. Ideally the infra should provide RUST_BIN_DL_DIR,
but it doesn't currently, and that requires more significant changes.
cryptopp: use HOST_CRYPTOPP_DL_DIR instead of CRYPTOPP_DL_DIR
The infrastructure only provides HOST_CRYPTOPP_DL_DIR, because this
package is host only. Ideally the infra should provide CRYPTOPP_DL_DIR,
but it doesn't currently, and that requires more significant changes.
cargo: use HOST_CARGO_DL_DIR instead of CARGO_DL_DIR
The infrastructure only provides HOST_CARGO_DL_DIR, because this
package is host only. Ideally the infra should provide CARGO_DL_DIR,
but it doesn't currently, and that requires more significant changes.
If one runs "make host-sam-ba" from a clean build, sam-ba.mk cannot
create its symbolic link because $(HOST_DIR)/bin doesn't exist. So
let's create this directory.
>>> host-sam-ba 2.16 Installing to host directory
mkdir -p /buildroot/output/host/opt/sam-ba/
cp -a /buildroot/output/build/host-sam-ba-2.16/* /buildroot/output/host/opt/sam-ba/
ln -sf ../opt/sam-ba/sam-ba_64 /buildroot/output/host/bin/sam-ba
ln: failed to create symbolic link '/buildroot/output/host/bin/sam-ba': No such file or directory
make[1]: *** [package/pkg-generic.mk:234: /buildroot/output/build/host-sam-ba-2.16/.stamp_host_installed] Error 1
make: *** [Makefile:79: _all] Error 2
sam-ba: use HOST_SAM_BA_DL_DIR instead of SAM_BA_DL_DIR
The infrastructure only provides HOST_SAM_BA_DL_DIR, because this
package is host only. Ideally the infra should provide SAM_BA_DL_DIR,
but it doesn't currently, and that requires more significant changes.
The infrastructure only provides HOST_WAF_DL_DIR, because this package
is host only. Ideally the infra should provide WAF_DL_DIR, but it
doesn't currently, and that requires more significant changes.
Alexander Mukhin [Sat, 30 Dec 2017 15:57:36 +0000 (18:57 +0300)]
hostapd: drop default dependency on netlink
Get rid of netlink dependency if the options selected allow that.
Signed-off-by: Alexander Mukhin <[email protected]> Reviewed-by: Sam Voss <[email protected]>
[Thomas/Arnout: use a if BR2_PACKAGE_HOSTAPD_VLAN .. endif block.] Signed-off-by: Thomas Petazzoni <[email protected]>
Alexander Mukhin [Sat, 30 Dec 2017 15:57:35 +0000 (18:57 +0300)]
hostapd: make ACS dependent on nl80211
According to hostapd's defconfig file, ACS is currently only supported
through the nl80211 driver. Search through the source code also confirms
that ACS machinery is present in the nl80211 driver only.
Although hostapd can be built with ACS enabled and nl80211 disabled, an
attempt to use ACS with other drivers by setting a wireless channel to 0
results in a runtime failure (driver doesn't accept this value). So we
might save a user from selecting a meaningless combination by making ACS
dependent on nl80211.
Alexander Mukhin [Sat, 30 Dec 2017 15:57:34 +0000 (18:57 +0300)]
hostapd: select driver support
Add support for the wired driver. Add configuration options to select
which drivers to build. Select DRIVER_NONE if no other drivers enabled
(this may be the case when building hostapd as a standalone RADIUS
server).
Update makefile logic and apply wireless-specific options only if at
least one wireless driver enabled. Otherwise, an attempt to build a
wired-only or RADIUS-only hostapd will fail.
Now we keep the git clone that we download and generates our tarball
from there.
The main goal here is that if you change the version of a package (say
Linux), instead of cloning all over again, you will simply 'git fetch'
from the repo the missing objects, then generates the tarball again.
This should speed the 'source' part of the build significantly.
The drawback is that the DL_DIR will grow much larger; but time is more
important than disk space nowadays.
core/download: look for archives in the global download dir first
For existing setups, the global donload directory may have a lot of the
required archives, so look into there before attempting a download.
We simply hard-link them if found there and not in the new per-package
loaction. Then we resume the existing procedure (which means the new
hardlink will get removed if it happened to not match the hash).
The infrastructure needs to give the 'dl_dir' to the dl-wrapper which in its
turn needs to give it to the helper. It will only be used by the 'git'
helper as of now.
In order to introduce the cache mechanisms, we need to have a lock on the
$(LIBFOO_DL_DIR), otherwise it would be impossible to do parallel download
(a shared DL_DIR for two buildroot instances) without risking conflicts.
Theses packages are given as an example of the use of the *_DL_SUBDIR feature.
There maybe other packages that would benefit from that feature, they
would need to be added on a case by case basis.
This per package variable can be used to specify the download
subdirectory used by that package.
The use case here is for example linux-headers and linux, which share
the same sources (because they are the same upstream project), so we
don't want to download twice the kernel, nor store it multiple times
either.
With all the previous changes, we are now ready to add a subdirectory to
the DL_DIR.
The structure will now be DL_DIR/PKG_NAME/{FILE1,FILE2}
This is needed for multiple reasons:
- Avoid patches with name like SHA1.patch laying flat in DL_DIR,
which makes it hard to know to which packages they apply
- Avoid possible collisions if two releases have the same name
(e.g: v01.tar)
- Allow the possibility to handle a git cache per package in the
newly created subdirectory.
Lothar Felten [Thu, 15 Feb 2018 11:37:18 +0000 (12:37 +0100)]
configs: beaglebone: bump kernel and uboot version
Switch to Linux kernel version 4.9.59 from the TI SDK 04.02.00.09
(TI SDK release date: 23.12.2017)
Updated uboot to version 2018.01
uEnv.txt corrected to boot from sd card on the ti-am335x-evm
Gaël PORTAY [Thu, 15 Mar 2018 19:50:54 +0000 (15:50 -0400)]
qt5: bump latest version to 5.10.1
The tarball filename has changed since 5.10. The module suffix
*opensource-src* has changed to *everywhere-src*. I introduced the
*QT5_SOURCE_TARBALL_PREFIX* variable to set the right filename according
to the Qt version.
qtwebengine:
Select libnss. It is a requirement[1] because OpenSSL
certificate validation[2] and NSS bundle[3] was dropped.
Add host-libnss and host-libpng to satisfy new requirement to
build an internal host-tool.
Set ninja host pkg-config tool using environment variable
$GN_PKG_CONFIG_HOST[4]. The build system uses pkg-config to get
package data for both host and target architectures. Using the
same call to pkg-config for both target and host leads to build
mismatches: it tries to link a host-tool using target libraries.
qt5base:
sqlite plugin now uses sqlite3_column_table_name16() so select
BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA to make sure it is
available.
qt5multimedia:
libqgsttools was renamed to libQtMultimediaGstTools. The latter
name matches the libQt5Multimedia*.so.* pattern so no additional
copy command is needed for it anymore.
qt5xmlpatterns:
Names of the license files have changed: LICENSE.(L)GPLv3 ->
LICENSE.(L)GPL3. The new files in fact already existed in 5.9.4
but the old ones were not removed yet. The new files are
slightly different: there used to be a Qt header in front of it
which is now removed. Also LICENSE.LGPL3 is rewrapped.
qt5location, qt5quickcontrols, qt5serialport:
Same license files issue, and for LICENSE.GPLv2 as well.
LICENSE.GPL2 has the "How to Apply These Terms to Your New
Programs" text appended to it.
qt5script:
Similar license file issues, but the new license files were not
present yet. LICENSE.GPLv21 was removed so there is no longer a
license file for the LGPL-2.1-covered Qt code.
Signed-off-by: Gaël PORTAY <[email protected]>
[Peter:
- fix sqlite plugin support in qt5base;
- fix target installation of qt5multimedia
] Signed-off-by: Peter Seiderer <[email protected]>
[Arnout:
- create a local host-pkg-config tool instead of extending pkgconf;
- pass the same options to host-pkg-config as we do for other packages;
- carry the EGL mesa3d X11 headers patch;
- update license file names and hashes
] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
The license information in qt5script was just copied from all the other
qt5 modules, but it is different (and complicated).
- libQt5Script itself contains the third-party JavaScriptCore source.
JavaScriptCore has a number of licenses: BSD-2-Clause, BSD-3-Clause,
LGPL-2.0+, LGPL-2.1+. Since it is all linked together, the end
result will be BSD-3-Clause and LGPL-2.1+.
The different BSD licenses are all slightly different (different
authors, which affects the third clause in particular). Only one
separate license file is provided, so let's use that one.
There is an LGPL-2.0 license file, which is slightly different from
the top-level LICENSE.LGPLv21, so let's add that one as well.
- libQt5Script also contains Qt-specific code which is all licensed
under LGPL-2.1 only. This is covered by the LICENSE.LGPLv21 file.
It merges with the LGPL-2.1+ from JavaScriptCore but limits it to
2.1 only.
- libQt5ScriptTools is a separate libary containing just the script
debugger. It is covered by the usual Qt license:
* LGPL-2.1 or LGPL-3.0 with exception for Qt 5.6;
* LGPL-3.0 or GPL-2.0+ for Qt 5.9 (actually it is GPL-2.0 or GPL-3.0
or any later version approved by the KDE Qt foundation, but let's
keep it simple :-). Note that there is no LICENSE.GPLv2 provided,
only LICENSE.GPLv3. Also, there is an LGPL_EXCEPTION.txt file but
no mention of an exception anywhere in the sources.
Update the license information with all of the above. Also add hashes
for the new license files from JavaScriptCore.
Some arguments can be empty, so we need to add single quote around them
But since they are sinple quote; double quote inside them are now not
interpreted by the shell and as such must be removed; hence the use of
qstrip.
Carlos Santos [Mon, 27 Nov 2017 10:41:29 +0000 (08:41 -0200)]
nmap: add sub-options for ncat, nping and ndiff
The forthcoming "libvirt" package will need a "nc" command with support
for Unix domain sockets in order to permit remote management using the
virt-manager utility. netcat-openbsd provides such command but requires
glibc, so we would not have remote management on uClibc-based systems.
Ncat is a much-improved reimplementation of the venerable Netcat and is
compatible with uClibc and musl. It provides features not available in
the ancient GNU netcat and its Busybox double like IPv6, proxies, and
Unix sockets.
Since 'nmap' itself is a fairly big program (~2.3 MB), we want to be
able to install only ncat. In addition, nmap requires an external
library, pcre.
So this commit adds sub-options to selectively enable/disable the
different programs part of nmap: nmap, nping, ndiff and ncat.
Finally, we symlink 'nc' to ncat if neiter netcat nor netcat-openbsd
is selected, even though ncat does not have the same interface as
netcat-openbsd. However, since Fedora/RHEL install nmap-ncat as 'nc',
it can be assumed that packages that depend on 'nc' know how to deal
with this diversity. For example, the virt-manager package does
that. Also user-supplied scripts can be assumed to do the right thing,
since the user also selects whether nmap-ncat, netcat or
netcat-openbsd is installed.
Signed-off-by: Carlos Santos <[email protected]>
[Thomas:
- don't just handle the ncat case in a special way: create
sub-options for all nmap tools, and use <pkg>_MAKE_OPTS and
<pkg>_INSTALL_TARGET_OPTS to select which ones should be
built/installed.] Signed-off-by: Thomas Petazzoni <[email protected]>
tar 1.27 subtly changed the tar format when a GNU long link entry is added
(which is done for path elements > 100 characters). The code used to set
the permission mode of the link entry to 0:
header = start_private_header ("././@LongLink", size, time (NULL));
FILL (header->header.mtime, '0');
FILL (header->header.mode, '0');
FILL (header->header.uid, '0');
FILL (header->header.gid, '0');
FILL (header->header.devmajor, 0);
FILL (header->header.devminor, 0);
This got dropped in 1.27 by commit df7b55a8f6354e3 (Fix some problems with
negative and out-of-range integers), so the settings from
start_private_header() are used directly - Which are:
The end result is that tar >= 1.27 sets mode to 644.
The consequence of this is that we create different tar files when long path
names are encountered (which often happens when a package downloads a
specific sha1 from a git repo) depending on the host tar version used,
causing hash mismatches.
As a workaround, bump our minimum tar version to 1.27. It would be nicer to
only do this if we have packages from bzr/git/hg enabled, but that is an
exercise for later.
The goal here is to simplify the infrastructure by putting most of the
code in the dl-wrapper as it is easier to implement and to read.
Most of the functions were common already, this patch finalizes it by
making the pkg-download.mk pass all the parameters needed to the
dl-wrapper which in turn will pass everything to every backend.
The backend will then cherry-pick what it needs from these arguments
and act accordingly.
It eases the transition to the addition of a sub directory per package
in the DL_DIR, and later on, a git cache.
[Peter: drop ';' in BR_NO_CHECK_HASH_FOR in DOWNLOAD macro and swap cd/rm
-rf as mentioned by Yann, fix typos] Signed-off-by: Maxime Hadjinlian <[email protected]> Tested-by: Luca Ceresoli <[email protected]> Reviewed-by: Luca Ceresoli <[email protected]> Reviewed-by: "Yann E. MORIN" <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
core/pkg-download: change all helpers to use common options
Currently all download helpers accepts the local output file, the remote
locations, the changesets and so on... as positional arguments.
This was well and nice when that's was all we needed.
But then we added an option to quiesce their verbosity, and that was
shoehorned with a trivial getopts, still keeping all the existing
positional arguments as... positional arguments.
Adding yet more options while keeping positional arguments will not be
very easy, even if we do not envision any new option in the foreseeable
future (but 640K ought to be enough for everyone, remember? ;-) ).
Change all helpers to accept a set of generic options (-q for quiet and
-o for the output file) as well as helper-specific options (like -r for
the repository, -c for a changeset...).
Maxime:
Changed -R to -r for recurse (only for the git backend)
Changed -r to -u for URI (for all backend)
Change -R to -c for cset (for CVS and SVN backend)
Add the export of the BR_BACKEND_DL_GETOPTS so all the backend wrapper
can use the same option easily
Now all the backends use the same common options.
"""
This is a bugfix release, but it primarily disables the UDP protocol by
default.
In the last few days reports of UDP amplification attacks utilizing
inesure memcached instances have surfaced. Attackers are able to set
large values into memcached, then send requests via spoofed UDP packets.
Memcached will then send a very large number of very large UDP packets
back in response.
"""
configs: switch to a wget download for kernels on github
The linux git trees on github can be huge, and takes a long time to
download, which is not very nice nor convenient for newcomers.
Switch them to using a wget, with the github macro.
A nice side effect of this conversion, is that we no longer need to wait
for the git clone to finish to notice that the ref is gone; doing a wget
will instantly fail in that case.
Mechanical patch, obtained by running (hang-on tight):
Carlos Santos [Fri, 15 Dec 2017 15:38:29 +0000 (13:38 -0200)]
iqvlinux: bump to version 1.2.0.3
This package is really annoying since the archive name doesn't contain
the version (iqvlinux.tar.gz), so we have added an
iqvlinux-1.2.0.3.tar.gz tarball on sources.buildroot.net. The package
will try to download iqvlinux-1.2.0.3.tar.gz from the upstream
sourceforge location, which will fail, and then fallback to the backup
mirror, where it will successfully find iqvlinux-1.2.0.3.tar.gz.
Also add hashes for license files.
Signed-off-by: Carlos Santos <[email protected]>
[Thomas: don't add custom logic for download, use
iqvlinux-1.2.0.3.tar.gz, which is hosted on sources.buildroot.net.] Signed-off-by: Thomas Petazzoni <[email protected]>
- Remove both patches (applied upstream), and therefore remove
AUTORECONF = YES.
- Remove --disable-python as python support has been removed
(https://github.com/lxc/lxc/commit/e144a06bd792f99c96395a9d4c16cf7c656fb99d)
- Remove lua optional dependency as lua support has been removed
(https://github.com/lxc/lxc/commit/b52a5bef6fa56481a6d817f4c73cb91ed012fe2c)
if test "x$with_libpcre_libraries" != "xno"; then
LDFLAGS="${LDFLAGS} -L${with_libpcre_libraries}"
else
LDFLAGS="${LDFLAGS} `pcre-config --libs`"
fi
So if you don't pass --with-libpcre-libraries, it calls pcre-config as
available in the PATH. So it picks up pcre-config from $(HOST_DIR) or
the system, which return results inappropriate for cross-compilation.
So, let's explicitly pass --with-libpcre-includes and
--with-libpcre-libraries to avoid those issues.
When ncurses is built with wide support, we install libncursesw (plus a
libncurses symlink) but NOT ncursesw.h, only ncurses.h. This combination
confuses the ncmpc build system as it expects a ncursesw.h when it finds
libncursesw:
meson.build:92:4: ERROR: Problem encountered: No ncursesw header found
The ncurses/ncursesw logic in the build system is only used to know what
header file to #include, and what library to link with. As we already
provide a libncurses symlink when building with wide support we can simply
force ncmpc to use the ncurses variant.
Gaël PORTAY [Thu, 1 Mar 2018 21:34:25 +0000 (16:34 -0500)]
qt5base: fix build issue with mesa3d w/out xcb
The mesa's EGL/eglplatform.h header includes X11 headers unless the flag
MESA_EGL_NO_X11_HEADERS is defined[1].
A build issue happens when mesa3d is selected as then OpenGL EGL backend
but the XCB library is not selected. For instance, with this defconfig:
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_FPU_VFPV3D16=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_NONE=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_EGLFS=y
BR2_PACKAGE_QT5WEBKIT=y
Also the odroid-mali EGL backend suffers the same problem.
This commit backports the patch from the Gerrit of Qt which is in
review[5]. It extends the QMAKE_CXXFLAGS with cflags contained in the
egl.pc file.
In this situation, the define MESA_EGL_NO_X11_HEADERS is given to the
compiler that prevent from including the missing X headers.
The issues QTBUG-61712[3] and QTBUG-66233[4] are opened in the Qt
tracker.
Carlos Santos [Sun, 1 Apr 2018 15:39:05 +0000 (17:39 +0200)]
coreutils: use single binary in symlink method
The symlink method is faster, since there is no shell fork/exec, and
provides extra space savings.
Signed-off-by: Carlos Santos <[email protected]>
[Thomas: use the symlinks method not only for the merged /usr case,
but also in the non-merged case to be consistent, and therefore adjust
the logic that was moving the shell wrappers to a logic that recreates
the symlinks.] Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
The check-package script finds base_dir (= the Buildroot directory) and
cd's into it. To be able to support relative paths as arguments, it
first recalculates the arguments relative to base_dir.
However, if there is a symlink anywhere on the path to the
check-package script, the relative paths will be wrong. To solve this,
use realpath() instead of abspath(), so symlinks are resolved before
calculating the relative path.
This commit adds the support for <pkg>-show-recursive-depends and
<pkg>-show-recursive-rdepends which respectively show the list of all
dependencies or reverse dependencies for a given package. The existing
show-depends and show-rdepends only show the first-level dependencies,
while show-recursive-depends and show-recursive-rdepends show
recursively the dependencies.
It is worth mentioning that while show-recursive-depends really shows
all dependencies, show-recursive-rdepends is a bit limited because the
reverse dependencies of host packages are not properly accounted
for. But that's a limitation that already exists in show-rdepends, and
that cannot easily be solved.
Signed-off-by: George Redivo <[email protected]>
[Thomas:
- split from the patch that was also changing graph-depends
- rename show-rrdepends to show-recursive-rdepends
- add show-recursive-depends
- don't create GRAPHS_DIR.] Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
graph-depends currently spits out a graph in .dot format. However, as
part of the upcoming introduction of <pkg>-show-recursive-depends and
<pkg>-show-recursive-rdepends, we need graph-depends to be able to
display a flat list.
Signed-off-by: George Redivo <[email protected]>
[Thomas:
- Rebase on top of graph-depends changes
- Do not display the package name itself in the list, only its
dependencies (or reverse dependencies)
- Display the result on a single line, instead of one package per
line, in order to match what <pkg>-show-depends and
<pkg>-show-rdepends are doing today.] Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
Yegor Yefremov [Thu, 15 Feb 2018 13:32:35 +0000 (14:32 +0100)]
poco: add new options for Json, CppParser, MongoDB, PDF and Redis
New options allow to build following components:
* Json
* Redis
* MongoDB
* CppParser
* PDF
This allows to significantly reduce the size of the POCO
libraries. Even though it breaks backward compatibility because those
features were enabled and are now disable by default, Buildroot's
policy is to build the minimal feature-set by default. And users will
get a very clear build failure, which should be easy to fix.
Signed-off-by: Yegor Yefremov <[email protected]>
[Thomas: add an explanation about backward compatibility.] Signed-off-by: Thomas Petazzoni <[email protected]>
Fabrice Fontaine [Tue, 27 Mar 2018 21:24:01 +0000 (23:24 +0200)]
i2pd: new package
i2pd (I2P Daemon) is a full-featured C++ implementation of I2P
client.
I2P (Invisible Internet Protocol) is a universal anonymous
network layer.
All communications over I2P are anonymous and end-to-end
encrypted, participants don't reveal their real IP addresses.
http://i2pd.website
Signed-off-by: Fabrice Fontaine <[email protected]>
[Thomas:
- Add third patch to not install the license file in /usr/LICENSE and
the source code in /usr/src instead of using a post-install-target
hook to remove /usr/LICENSE and /usr/src. Indeed, we're not sure if
/usr/src contains only stuff installed by this package.
- Clarify the comment that explains why -DTHREADS_PTHREAD_ARG=OFF is
passed, especially because it's only needed for older versions of
CMake, and causes a warning with newer versions of CMake.
- Propagate architecture dependencies to the Config.in comment about
the exception_ptr requirement.] Signed-off-by: Thomas Petazzoni <[email protected]>
Gaël PORTAY [Fri, 2 Mar 2018 16:28:12 +0000 (11:28 -0500)]
qt5webkit: fix build issue with 32-bits armv8-a
Adds WTF platform support for the 32-bits armv8-a architectures.
Fixes:
In file included from ./config.h:30:0,
from ...
./wtf/Platform.h:323:6: error: #error "Not supported ARM architecture"
# error "Not supported ARM architecture"
^~~~~
from this defconfig:
Thomas Petazzoni [Sat, 31 Mar 2018 16:35:40 +0000 (18:35 +0200)]
support/scripts/graph-depends: use colors instead of colours
The graph-depends was not very consistent in colors vs. colours: some
parts were using colours, some parts were using colors.
Let's settle on the US spelling, colors.
This change the user-visble option --colours to --colors, but it is
unlikely that a lot of users customize the colors through
BR2_GRAPH_DEPS_OPTS, so this user interface change is considered
reasonable.
Thomas Petazzoni [Sat, 31 Mar 2018 16:35:39 +0000 (18:35 +0200)]
support/scripts/graph-depends: remove global code and most global variables
The graph-depends script had no main() function, and the main code was
actually spread between the function definitions, which was a real
mess.
This commit moves the global code into a main() function, which allows
to more easily follow the flow of the script. The argument parsing
code is moved into a parse_args() function.
Most of the global variables are removed, and are instead passed as
argument when appropriate. This has the side-effect that the
print_pkg_deps() function takes a lot of argument, but this is
considered better than tons of global variables.
The global variables that are removed are: max_depth, transitive,
mode, root_colour, target_colour, host_colour, outfile, dict_deps,
dict_version, stop_list, exclude_list, arrow_dir.
The root_colour/target_colour/host_colour variables are entirely
removed, and instead a single colours array is passed, and it's the
function using the colors that actually uses the different entries in
the array.
The way the print_attrs() function determines if we're display the
root node is not is changed. Instead of relying on the package name
and the mode (which requires passing the root package name, and the
mode), it relies on the depth: when the depth is 0, we're at the root
node.