Commit Graph

1361 Commits

Author SHA1 Message Date
Giulio Benetti
e9c3541bad docs/manual: add genimage.cfg file coding style standard
This patch adds the explanation for the genimage.cfg files coding standard.
A real standard is not defined upstream by the genimage utility
developers[1], but I try to give one here in Buildroot for consistency.

[1]: https://github.com/pengutronix/genimage

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-11-08 23:03:55 +01:00
Peter Korsgaard
0df2928afe Update for 2021.11-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-11-08 11:37:48 +01:00
Thomas Petazzoni
a9dc2de551 docs/manual/contribute.txt: rewrite the section dedicated to runtime tests
The current documentation was poorly organized, with for example the
"Here is an example walk through of running a test case" sentence
followed by the explanation of how to list available test cases, but
not how to run one.

Many other aspects of the wording were confusing, or not really
accurate.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-10-27 21:44:51 +02:00
Thomas Petazzoni
18bbeefb99 docs/manual/contribute.txt: fix typo
The directory that containts tests is "support/testing/tests/", not
"supporting/testing/test".

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-10-27 21:33:20 +02:00
Thomas Petazzoni
23186356a1 support/scripts/generate-gitlab-ci-yml: allow multiple tests in one pipeline
The current Gitlab CI mechanism allows to trigger all tests in a CI
pipeline by pushing a branch named <something>-runtime-tests, or to
trigger a single test in a CI pipeline by pushing a branch name
<something>-tests.<name of test>.

However, there are cases where it is useful to run a suite of tests,
for example to run all tests in tests.init.test_busybox.

This commit makes that possible by extending the current semantic of
<something>-tests.<name of test> to not expect a complete test name,
but instead to accept all tests that starts with the given pattern.

This allows to do:

  git push gitlab HEAD:foobar-tests.init.test_busybox.TestInitSystemBusyboxRo

like it was the case before. But it now also allows to do:

  git push gitlab HEAD:foobar-tests.init.test_busybox

to run all Busybox tests.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-10-27 21:31:49 +02:00
Raphaël Mélotte
226d5b3b95 docs/manual/contribute.txt: fix typo
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-10-24 16:03:08 +02:00
Peter Korsgaard
99d5bee4c9 docs/website: update for 2021.02.6
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-10-12 08:17:36 +02:00
Peter Korsgaard
7f81fc4370 docs/website: update for 2021.05.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-10-12 08:12:44 +02:00
Peter Korsgaard
20de0f5bf6 docs/website: update for 2021.08.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-10-11 22:35:35 +02:00
Thomas De Schampheleire
e1ee121cae docs/manual/using-buildroot-debugger: suggest '-ix' iso '-x' when loading gdbinit
A gdbinit file passed via '-x' will be read _after_ parsing any
object/core file passed on the command-line. In cross-compilation context,
this is particularly a problem when loading a core file, because without the
'sysroot' specified in the gdbinit file, it will give a lot of warnings,
like:

    warning: .dynamic section for "/lib/libstdc++.so.6" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/librt.so.1" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/libm.so.6" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/libgcc_s.so.1" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/libc.so.6" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/ld-linux.so.2" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/libanl.so.1" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/libdl.so.2" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/libpthread.so.0" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/usr/lib/libz.so.1" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/lib/libnss_files.so.2" is not at the expected address (wrong library or version mismatch?)

    warning: Could not load shared library symbols for 17 libraries, e.g. [...]
    Use the "info sharedlibrary" command to see the complete listing.
    Do you need "set solib-search-path" or "set sysroot"?

In contrast, the '-ix' option will load the specified gdbinit file _before_
parsing object/core files. This will remove said warnings.

See also: https://sourceware.org/bugzilla/show_bug.cgi?id=28330

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-09-21 22:43:03 +02:00
Peter Korsgaard
e772166ff2 docs/website: update for 2021.02.5
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-09-16 22:36:38 +02:00
Peter Korsgaard
3c040feba8 docs/website: update for 2021.05.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-09-16 22:28:43 +02:00
Peter Korsgaard
e421bc9217 docs/website/news.html: add 2021.08 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-09-04 13:45:29 +02:00
Peter Korsgaard
aa433d1c5c Update for 2021.08
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-09-04 11:53:24 +02:00
Peter Korsgaard
7314f04f53 Update for 2021.08-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-09-01 08:00:35 +02:00
Yann E. MORIN
ac2db5eb2e docs/manual: fix typo in name of a qmake-package variable
Since commit 39d334faa5 (package/pkg-qmake: add <pkg>_SYNC_QT_HEADERS
support), the qmake-package infra recognises said variable but the
manual has the wrong variable name, which is missing the "_QT" part.

We fix that by amending the manual to document the proper variable name.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-08-28 22:48:21 +02:00
Michael Nosthoff
fa1a4bbf09 docs/website: use lore for ml search
the nabble.com link is dead and lore has a good search.
So use lore for the search form.

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-08-26 23:09:17 +02:00
Peter Korsgaard
6da42d767a Update for 2021.08-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-08-18 12:50:47 +02:00
Peter Korsgaard
e2d2cd94e0 docs/website: update for 2021.02.4
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-08-11 10:35:05 +02:00
Peter Korsgaard
ef377fca04 docs/website: update for 2021.05.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-08-10 11:18:27 +02:00
Arnout Vandecappelle (Essensium/Mind)
f24fb23829 docs/manual/migrating.txt: add section with general migrating tips
This is based on Yann's and Arnout's experience with migrating
Buildroot.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: add "For more details, "]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-08-05 22:01:41 +02:00
Thomas Petazzoni
3d8df5aaba Update for 2021.08-rc1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-08-03 23:02:13 +02:00
Thomas Petazzoni
0a954d4412 docs/manual/resources.txt: change pastebin site URL
code.bulix.org no longer exists, suggest paste.ack.tf instead, as an
example.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-29 23:01:31 +02:00
Thomas Petazzoni
8e789e96bb docs/manual/resources.txt: add link to lore.kernel.org
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-29 23:00:45 +02:00
Thomas Petazzoni
6865bd2084 docs/website: mention mailing list archives at lore.kernel.org
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-29 22:59:44 +02:00
Yann E. MORIN
c7d71b707d package/pkg-kconfig: generate generic help
Currently, as Thomas pointed out [0], the help for kconfig packages is
not consistently used and handled by the different packages.

This commit introduces a generic help text for kconfig packages, that is
based on what the package declares:

  - the list of kconfig editors it supports;

  - whether it is possible to save back the configuration (impossible if
    the package uses an in-tree defconfig file);

  - whether the package actually supports (loading and saving) defconfig
    files, by introducing a new variable a package can set if it does
    not (only busybox is known to be in that case).

That new help helper is only used if the package does not already define
its own help, to be consistent with what we do for other _CMDS.

[0] http://lists.busybox.net/pipermail/buildroot/2021-July/313570.html

Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-07-25 15:20:24 +02:00
Peter Korsgaard
dbce726551 docs/website: update for 2021.02.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-06-13 10:46:14 +02:00
Thomas Petazzoni
2e1e9d2ebd docs/website: change wording about training provided by Bootlin
As suggested by Yann, let's avoid announcing the exact date of the
next course, as it gets outdated very often. Instead, use a more
generic wording and simply point to a Bootlin page that has all the
details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-06-12 23:09:43 +02:00
Peter Korsgaard
8d07baab43 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-06-07 17:14:37 +02:00
Peter Korsgaard
7741d86a7d docs/website/news.html: add 2021.05 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-06-07 11:19:43 +02:00
Peter Korsgaard
69f79f2a2e Update for 2021.05
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-06-06 23:21:08 +02:00
Peter Korsgaard
15bb2aba8a docs/website: update for 2021.05-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-06-06 23:12:11 +02:00
Thomas De Schampheleire
61c5e0319c package/pkg-cmake.mk: determine CMAKE_BUILD_TYPE depending on BR2_ENABLE_RUNTIME_DEBUG
The CMAKE_BUILD_TYPE is currently set as 'Debug' in case BR2_ENABLE_DEBUG is
set, and as 'Release' in other cases. However, while the description of
BR2_ENABLE_DEBUG is to enable debug symbols (no runtime impact), the 'Debug'
build type in CMake can actually have runtime impact. For one, because it
does not set -DNDEBUG like is done for 'Release', but also because packages
may do custom things based on it.

The question of which CMAKE_BUILD_TYPE Buildroot should set, be it 'Debug',
'Release', 'RelWithDebInfo' or others, has come up several times in the
past. See some references below:

- July 2016: switch from Debug to RelWithDebInfo:
  https://git.buildroot.org/buildroot/commit/?id=4b0120183404913f7f7788ef4f0f6b51498ef363

- October 2016: switch from RelWithDebInfo back to Debug:
  https://git.buildroot.org/buildroot/commit/?id=104bb29e0490bfb487e2e665448dd3ca07fcc2b5
  and changes to make sure Buildroot's flags are respected:
  https://git.buildroot.org/buildroot/commit/?id=12494ef48f893684d0800e7f6fe39a2ceaed0451

- August 2017: bug #10246 - "BR2_ENABLE_DEBUG does not have the expected
  effect for cmake packages"
  https://bugs.busybox.net/show_bug.cgi?id=10246

- August 2017: mail thread following bug #10246:
  http://lists.busybox.net/pipermail/buildroot/2017-August/200778.html

In the last mail thread, Samuel Martin confirmed that the 'Release' build
type could be used in all cases, because Buildroot is actually making sure
that the optimization flags are those determined by Buildroot, not the
defaults of cmake, thanks to commit 12494ef48f.
But Arnout Vandecappelle objected to using always 'Release', stating that
users may actually want the extra assertions.

With the introduction of BR2_ENABLE_RUNTIME_DEBUG, Buildroot can now cater
for all cases:

- use CMAKE_BUILD_TYPE=Release by default. This makes sure that there is no
  unexpected performance degradation triggered by enabling BR2_ENABLE_DEBUG.

- users can optionally enable BR2_ENABLE_RUNTIME_DEBUG if they want runtime
  debug info like assertions, at the risk of introducing performance
  degradation. In this case, we switch to CMAKE_BUILD_TYPE=Debug.

- orthogonally to the above, BR2_ENABLE_DEBUG still determines passing the
  '-g' flag to enable debug symbols, and BR2_OPTIMIZE_X still determines the
  used optimization flags.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-06-01 22:39:28 +02:00
Peter Korsgaard
e4132725bd Update for 2021.05-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-31 23:29:41 +02:00
Yann E. MORIN
fe3cb7978a docs: move the IRC channel away from Freenode
Due to the recent events at Frenode [0], the channel has become a bit
unreliable (much spammed), and users have started to move away already,
as quite a few other projects have moved their IRC presence away from
Freenode.

There are a few alternatives. The first to spring to mind, is the new
Libera.Chat network [1], managed by the previous Freenode staff, so we
could expect quite a good experience there. However, it is a very young
network. The second well known alternative is the long-established OFTC,
which has been very reliable in its 20 years of existence.

So, let's move to OFTC, just because it has a track-record of robustness
(which Libera.Chat still has to build, for being young).

Note: there are a lot of other IRC networks, some very good too, but we
probably would be much off-topic on most of them.

[0] https://lwn.net/Articles/856543/
[1] https://libera.chat/
[2] https://www.oftc.net/

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Matthew Weber <matthew.weber@collins.com>
Acked-by: Heiko Thiery <heiko.thiery@gmail.com>
Acked-By: Vincent Fazio <vfazio@xes-inc.com>
Acked-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-29 22:16:23 +02:00
Peter Korsgaard
1f1d220419 docs/website: update for 2021.05-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-27 23:41:23 +02:00
Peter Korsgaard
e326fcff64 Update for 2021.05-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-22 15:42:38 +02:00
Peter Korsgaard
080bcd047d docs/website: update for 2021.02.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-12 11:39:25 +02:00
Peter Korsgaard
afe19e6ced Update for 2021.05-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-12 10:49:31 +02:00
Thomas Petazzoni
efdcd651bf package/Makefile.in: expose CONFIG_DIR to post-build/post-image scripts
Sometimes, post-build or post-image scripts need to reinvoke
Buildroot's make, for example to execute "make printvars".

However, so far post-build/image/fakeroot can't trivially run printvars
in a way that worked for both in-tree and out-of-tree builds. Indeed:

 * "make printvars" would work for in-tree builds, but not out of tree
   builds

 * "make -C ${O} printvars" would work for out-of-tree builds, but not
   in-tree builds

 * "make -C ${BR2_CONFIG%/*} printvars" works in both cases, but it is
   a bit cryptic, and two maintainers did not even immediately think of
   it

In order to solve this, this commit exposes $(CONFIG_DIR) to
post-build/image/fakeroot scripts, through the EXTRA_ENV variable.

The documentation is updated accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[yann.morin.1998@free.fr:
  - reference BR2_CONFIG as an exemple
  - slightly reword the commit log accordingly
  - move the doc for CONFIG_DIR next to that of BR2_CONFIG
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-06 22:58:54 +02:00
Peter Korsgaard
168bb8c336 docs/website: update for 2021.02.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-04-07 13:37:12 +02:00
Peter Korsgaard
6b595091c7 docs/website: update for 2020.02.12
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-04-05 14:03:54 +02:00
Peter Korsgaard
cb81c441e3 docs/website: update for 2020.11.4
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-04-05 12:16:27 +02:00
Thomas Petazzoni
1e12cc90a7 docs/manual: add documentation for the gitlab macro
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-03-28 22:44:57 +02:00
Thomas Petazzoni
b7cd17eb09 docs/manual: improve details about the Github macro
The Github macro example shows something that is now considered
incorrect: using v1.0 as the VERSION. This is not longer recommended
as it prevents from matching with release-monitoring.org details.

Let's update the example, and add a note to explain this in more
details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-03-28 22:44:57 +02:00
Thomas Petazzoni
5568837997 docs/website: adjust link to Buildroot training course
The previous course has ended, announce the next one.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-03-12 22:04:21 +01:00
Peter Korsgaard
a3a9d17e43 docs/website/news.html: add 2021.02 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-07 13:01:02 +01:00
Peter Korsgaard
e2fba6457b Update for 2021.02
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-06 22:16:45 +01:00
Yann E. MORIN
2770ccf471 docs/manual: do not expose CPE_ID_VALID as package-settable
FOO_CPE_ID_VALID is an internal implementation detail. Packages should
really define an actual CPE_ID variable to trigger their full CPE_ID
definition.

Reported-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Matthew Weber <matthew.weber@rockwellcollins.com>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Peter: completely drop any mention of _CPE_ID_VALID in the manual]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-06 17:05:59 +01:00
Peter Korsgaard
4c5b27fbef Update for 2021.02-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-27 18:34:56 +01:00