... otherwise we would end up forcefully enabling the linguist tool even
when wireshark would not be enabled.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For packages that use a version control repository rather than a pre-made
tarball, the directory prefix used inside the tarball is currently
FOO_BASE_NAME, which can be 'foo' or 'host-foo'.
This means that the hash of such tarball will be different for target and
host packages, even though the contents are exactly the same. Hence, if the
hash file is created based on 'foo', and later a fresh build is made where
'host-foo' happens to be built before 'foo' (with a different config, for
example), the hash will be detected as incorrect and a new download is
started.
This problem does not affect many packages/users, due to the number of
conditions to be met:
- the package should be available for target _and_ host
- the package needs to use a VCS download method, e.g. git, hg, svn, ...
This does not include standard github downloads, which download a pre-made
archive.
- there should be a hash file containing the hash of the downloaded archive.
Since normally there is no hash file for packages with sources coming from
a version control system, this restricts even further. Some examples of
packages in this category that do have a hash file (but not necessarily
match the earlier conditions): expedite, vexpress-firmware, squashfs, ...
- the archive needs to be stored in a 'primary site' after initial archiving
and thus be downloaded later using a non-version-controlled method, like
wget or scp. This is because the version control download methods do not
receive a '-H' parameter pointing to the hash file and thus no hashes are
checked at all even if the file is present.
While packages matching the third condition could be considered to be 'wrong'
and need to be fixed, it does actually makes sense to have a hash file for
packages from version control, in particular if they are stored in a
primary site as mentioned in the last condition.
Regardless of any different opinions on the previous paragraph, it is also
not conceptually correct that a tarball of a package source can contain a
Buildroot-specific directory prefix 'host-'. Therefore, use
FOO_RAW_BASE_NAME instead of FOO_BASE_NAME when calling the dl-wrapper.
Example test scenario that exhibits the problem:
$ rm -rf /tmp/dl dl/squashfs-9c1db6d13a51a2e009f0027ef336ce03624eac0d.tar.gz
$ make qemu_x86_64_defconfig
$ make host-squashfs-dirclean host-squashfs-source
$ mkdir /tmp/dl
$ mv dl/squashfs-9c1db6d13a51a2e009f0027ef336ce03624eac0d.tar.gz /tmp/dl/
$ sed -i -e 's,BR2_PRIMARY_SITE=.*,BR2_PRIMARY_SITE="file:///tmp/dl",' \
-e '/BR2_PRIMARY_SITE/aBR2_PRIMARY_SITE_ONLY=y' .config
$ make host-squashfs-dirclean host-squashfs-source
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit fa6feff (wireshark: needs the qt5tools lrelease utility)
introduced a circular dependency chain in Kconfig:
package/qt5/qt5base/Config.in:118:error: recursive dependency detected!
package/qt5/qt5base/Config.in:118: symbol BR2_PACKAGE_QT5BASE_GUI is selected by BR2_PACKAGE_QT5TOOLS_PIXELTOOL
package/qt5/qt5tools/Config.in:19: symbol BR2_PACKAGE_QT5TOOLS_PIXELTOOL depends on BR2_PACKAGE_QT5TOOLS
package/qt5/qt5tools/Config.in:1: symbol BR2_PACKAGE_QT5TOOLS is selected by BR2_PACKAGE_QT5BASE_WIDGETS
package/qt5/qt5base/Config.in:131: symbol BR2_PACKAGE_QT5BASE_WIDGETS is selected by BR2_PACKAGE_QT5X11EXTRAS
package/qt5/qt5x11extras/Config.in:1: symbol BR2_PACKAGE_QT5X11EXTRAS depends on BR2_PACKAGE_QT5BASE_XCB
package/qt5/qt5base/Config.in:186: symbol BR2_PACKAGE_QT5BASE_XCB depends on BR2_PACKAGE_QT5BASE_GUI
Fix that by dropping the select on the Qt5Tools, and introduce an
intermediate kconfig-level variable to represent the new condition, to
simplify the .mk file.
That would make the condition for enabling/disabling the GUI to be a
little bit more complex by adding yet another (long-ish) variable.
So we also introduce an intermediate kconfig-level variable that
represent the condition to enable the GUI.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Tested-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Free Electrons sponsored the Buildroot Developers Meeting at ELCE 2016
in Berlin by making a donation to IN-Berlin, the organization who hosted
the 3-day event.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit updates the Free Electrons logo of the Buildroot website to
the new logo of the company.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
While fixing
http://autobuild.buildroot.net/results/d95/d9572bcafc1776eebe88bbcaf031a05cd6ee4b23/
by using http://patchwork.ozlabs.org/patch/674337/ the build stopped at
a later stage with
/home/buildroot/br4/output/build/vlc-2.2.4/src/.libs/libvlccore.so: undefined reference to `__atomic_fetch_add_4'
/home/buildroot/br4/output/build/vlc-2.2.4/src/.libs/libvlccore.so: undefined reference to `__atomic_fetch_sub_4'
/home/buildroot/br4/output/build/vlc-2.2.4/src/.libs/libvlccore.so: undefined reference to `__atomic_fetch_or_1'
/home/buildroot/br4/output/build/vlc-2.2.4/src/.libs/libvlccore.so: undefined reference to `__atomic_compare_exchange_4'
/home/buildroot/br4/output/build/vlc-2.2.4/src/.libs/libvlccore.so: undefined reference to `__atomic_exchange_1'
collect2: error: ld returned 1 exit status
so libatomic must be pulled in if necessary.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Output of get-developers script in our manual uses --cc for developers,
but actual output of get-developers script uses --to. This patch makes
code consistent with documentation, by using --cc for developers.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The commandline paramter to enable/disable postgresql support is
called '--with-pgsql/--without-pgsql' and not '--with-postgresql/
--without-postgresql'.
Fixes [1] in case postgresql development files are installed on the host:
checking for PostgreSQL... testing
checking autodect pgsql headers... yes /usr/include/postgresql
checking autodect pgsql libs... /usr/lib64
checking for PQconnectStart in -lpq... no
configure: error: PostgreSQL support can't build without PostgreSQL libraries
[1] http://autobuild.buildroot.net/results/749/7497730da2affffe0e5b9b790081de10c269f416
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-march=m6201 is not yet supported in GCC upstream, so disabling all
versions when selecting this core.
Note that M6201 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for M6201 as
well.
The external Codescape IMG GNU Linux Toolchain has support for this
core.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For consistency use 'libraries' and 'program' as component names and
adjust license string for readability when we conditionally specify
license for server program.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
library libdtc is dual licensed under BSD-2c or GPLv2+ and dtc programs
are licensed under GPLv2+.
This patch annotates licenses with components and uses correct format to
specify dual licensing that is separating licenses with 'or' keyword
instead of '/'.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
library libkmod.so is licensed under LGPLv2.1+ and kmod tools are
licensed under GPLv2+.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
While BR2_EXTERNAL_<NAME>_PATH was already documented, it was not
made obvious that it could be reused in post-biuld, post-image and
in-fakeroot scripts.
The BR2_EXTERNAL_<NAME>_DESC variable was not documented at all.
Update the manual to fix this.
Note: a2x chokes on this:
.Note:
Both +BR2_EXTERNAL_$(NAME)_PATH+ and +BR2_EXTERNAL_$(NAME)_DESC+ are
available [...]
and spits out a totally useless error message:
a2x: ERROR: "xsltproc" --stringparam toc.section.depth 1 --stringparam
callout.graphics 0 --stringparam navig.graphics 0 --stringparam
admon.textlabel 1 --stringparam admon.graphic 0 --stringparam
chunk.section.depth 0 --output "/home/ymorin/dev/buildroot/O/docs/manual/manual.html"
"/etc/asciidoc/docbook-xsl/xhtml.xsl"
"/home/ymorin/dev/buildroot/O/docs/manual/manual.xml" returned
non-zero exit status 6
So, we had to resort to using different quoting styles for each
variables. They are not semantically equivalent, but the rendering
is the same with the default CSS (which we are using). That's gonna
be good-enough for now...
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Benoît Allard <benoit.allard@greenbone.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be noted: that link will only be valid once we have a released
manual. In the meantime, it's accessible on the nightly manual:
http://nightly.buildroot.org/#br2-external-converting
Reported-by: Benoît Allard <benoit.allard@greenbone.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Benoît Allard <benoit.allard@greenbone.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that we support multiple br2-external trees, BR2_EXTERNAL is no
longer exported in the environment.
This means that post-build scripts in a br2-external tree can no longer
find their own files (well, they could re-invent the path by stripping
their known-relative path, but that'd be ugly, especially since we can
very well provide it).
Export the path for each br2-external trees as environment variables.
Do so for the description as well, as a courtesy.
Also, re-order variable definitions to be more logical: first, purely
internal variables, then exported variables.
Reported-by: Benoît Allard <benoit.allard@greenbone.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Benoît Allard <benoit.allard@greenbone.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When $(CURDIR) and/or $(O) contain symlinks in their paths, they can be
resolved differently, depending on each package build-system (whether it
uses the given paths or get the absolute canonical ones).
Using absolute canonical paths will help achieving reproducible builds and
will make easier tracking down host machine paths leaking into the host,
target or staging trees.
So, this change ensures the build takes place with the CURDIR and O
variables are set to their absolute canonical paths.
In order to recall the toplevel makefile with absolute canonical paths
for $(CURDIR) and $(O), we need to:
1- Compute the absolute canonical paths for $(CURDIR) and $(O) that will
be passed to the sub-make. This is achieved using the 'realpath' make
primitive. However, some care must be taken when manipulating O:
- the out-of-tree makefile wrapper happens a trailing "/.", we need
to strip this part away to not break the comparison driving the
sub-make call;
- the user can leave a trailing '/' to $(O);
- according to [1,2], realpath returns an empty string in case of
non-existing entry. So, to avoid passing an empty O= variable to
sub-make, it is necessary to define the output directory and create
it prior to call realpath on it (because on the first invocation,
$(O) usually does not yet exists), hence the trick doing the mkdir
right before calling realpath.
2- Update EXTRAMAKEARGS with the absolute canonical $(O) and use it
when call recalling the top-level makefile with umask and paths
correctly set.
3- Lastly, update the condition for setting the CONFIG_DIR and
NEED_WRAPPER variables.
Note:
* This change takes care of the makefile wrapper installed in $(O) to
avoid unneeded make recursion.
[1] https://www.gnu.org/software/make/manual/html_node/File-Name-Functions.html
[2] http://man7.org/linux/man-pages/man3/realpath.3.html
Reported-by: Matthew Weber <matt@thewebers.ws>
Cc: Matthew Weber <matt@thewebers.ws>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This change only moves things around and comments what is done in the
top-level Makefile file, in order to prepare the next changes.
Note that moving the definition of $(O) before or after re-entering make
does not change anything on the buildroot behavior.
This change also renames the variable UMASK to REQ_UMASK.
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This change uncorrolates the CONFIG_DIR and NEED_WRAPPER definition from
the presence of the O variable in the command line.
Now, the condition used to set these variables is the value of O itself.
This change is a preparatory work since the O definition will need to
be moved around when we will make Buildroot run with absolute canonical
paths for both its root directory and the output location.
This will be addressed in a follow-up patch.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Some distros provide a 'qtchooser' utility to select Qt library
version. Make sure not to use that host provided utility.
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Drop aarch64 support patch; no longer needed.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Main additions are:
- Support for i.MX6SX, i.MX6UL and i.MX7
- Support for secure booting on i.MX6/i.MX7
- Various bug fixes
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit fixes an issue introduced in commit
ac16793eaa. This commit creates a link
$(@D)/bin/python pointing to the host Python 2, and adds $(@D)/bin/ to
the PATH. However, the QT5WEBKIT_INSTALL_TARGET_CMDS variable copies the
contents of $(@D)/bin/ to the target filesystem, in order to install
binaries produced by the qt5webkit build. By doing this, we overwrite
the 'python' symbolic link on the target.
In order to fix this, we simply create the 'python' symbolic link used
to trick qt5webkit to use python2 on the host in the $(@D)/host-bin/
sub-directory.
Signed-off-by: Johan Derycke <johan.derycke@barco.com>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: rework commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>