Commit Graph

1384 Commits

Author SHA1 Message Date
Joachim Wiberg
4fe33a1b47 docs/manual: add section on start script recommendations
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-02-06 16:35:53 +01:00
Norbert Lange
41ea61d59c support/scripts/mkusers: allow option for system uid/gid
Some software decides based on uid/gid whether a user is a system or
normal (human) user, with different behaviour for those flavors (example
journald [2]).

So adding logic to create system-users is necessary, we take the now
common ranges from [1].

This extends the mkusers script to allow -2 for uid/gid, this argument
will take an identifier from the user range. All identifiers used up to
now should have been from the system range, so -1 is now interpreted as
a system user/group.

Note that after this commit, all the UIDs and GIDs that are created
automatically (with -1) will change. That means if there is peristent
data on an existing system that was created by such an automatic user,
it will suddenly belong to a different user. However, this could already
happen before: if a USERS line is added to a package, then other UIDs
may change as well.

Add system/user ranges as variables, and the argument for user/system
uid variable as well. Thus some magic constants could be removed, some
further occurences of -1 were replaced with equivalent logic. For
consistency, the existing MIN/MAX_UID/GID variables are renamed to
FIRST/LAST_USER_UID/GID.

Update the documentation with the new automatic ranges.

[1] - https://systemd.io/UIDS-GIDS/
[2] - https://www.freedesktop.org/software/systemd/man/journald.conf.html

Signed-off-by: Norbert Lange <nolange79@gmail.com>
[Arnout: use -1 for system users; refactor the changes a bit]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-02-05 23:09:31 +01:00
Peter Korsgaard
14233f3f0f docs/website: update for 2021.02.9
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-30 21:13:32 +01:00
Peter Korsgaard
ce361c3361 docs/website: update for 2021.11.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-30 21:02:40 +01:00
Romain Naour
39458e33c1 docs/manual/adding-packages-directory.txt: reorder select/depends
From [1]:
"Even though the ordering has absolutely no consequences in Kconfig, it
 is not logical (when reading). It is more logical and far easier to
 understand when depends come first, followed by the selects."

 Also, the Config.in example in the manual suggests to use this coding
 style [2]."

Use the correct coding style in the chapter "Choosing depends on or select"
in the manual.

[1] http://lists.busybox.net/pipermail/buildroot/2015-October/142955.html
[2] https://nightly.buildroot.org/manual.html#_coding_style

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-30 15:12:28 +01:00
Yann E. MORIN
5da8218184 support/download: drop support for the 'none' hash
Commit 1ba85b7f87 (support/download: add explicit no-hash support)
introduced the 'none' hash type, in an attempt to make hash files
mandatory, but not failing on archives localy generated, like those
for git or svn repositories, especially for those packages where a
version choice was present, which would allow for either remote
archives for which we'd have a hash or VCS trees for which we could
not have a hash for the localy generated archive.

Indeed, back in the time, we did not have a mean to generate
reproducible archives, so having a hash file without a hash for
thosel ocally generated archives would trigger an error in the
hash-checking machinery.

But now, low-and-behold, we do know how to generate those archives,
and we have a mechanism to explicitly exclude some archives from being
hash-checked (e.g. when the version string itself can be user-provided).

As such, the 'none' hash type no longer has any raison d'être, we do not
use it in-tree, and its use in a br2-external tree is most probably
inexistent (as is the use of hash files alotgether most probably).

So we simply drop the support for that.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
[Thomas: drop support in checkpackagelib, as reported by Ricardo.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-11 21:58:01 +01:00
Patrick Havelange
9d5749d2de docs/manual/cargo: document the cargo-package infrastructure
The Buildroot manual was already providing some details on how to
integrate Cargo packages, and those details now need to be updated
with a proper documentation for the cargo-package infrastructure, as
well as updates related to vendoring support, which affects how
dependencies are handled.

In addition, now that we have vendoring support for Cargo packages,
let's rewrite the dependency management section in a more accurate
way.

We drop the part about the local cache of the registry, because
+CARGO_HOME+ in Buildroot points to $(HOST_DIR)/share/cargo, which is
not shared between builds nor preserved accross builds, so its effect
as a cache is limited.

Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
[Thomas: numerous updates and extensions.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-08 23:35:40 +01:00
Thomas Petazzoni
ad034892d8 docs/manual/adding-packages-golang.txt: add some details about vendoring
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-08 23:35:40 +01:00
Miquel Raynal
6a7a652b14 package/sunxi-mali-utgard: rename from sunxi-mali-mainline
This package provides Mali libraries for Sunxi Mali Utgard GPUs. The
trailing -mainline is historical and was used at a time when there was
two packages providing these libraries. The "non-upstream" package has
been removed some time ago so before adding new packages bringing
support for other ARM Mali GPU versions or implementations, rename
sunxi-mali-mainline into sunxi-mali-utgard.

Add a legacy entry.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Giulio: rebase on master. Rename SUNXI_MALI_MAINLINE_REV to
SUNXI_MALI_UTGARD_REV in sunxi-mali-mailine-driver.mk and
BR2_PACKAGE_SUNXI_MALI_MAINLINE to BR2_PACKAGE_SUNXI_UTGARD in
sunxi-mali-mainline-driver/Config.in to respect bisectability]
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
[Build tested only]
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
[Arnout: also update existing select in Config.in.legacy]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-06 19:01:51 +01:00
John Keeping
cff428fe31 download/git: support Git LFS
Git Large File Storage replaces large files with text pointers in the
Git repository while storing the contents on a remote server.  If a
repository is using this extension, then git-lfs must be used to
checkout the large files before the source archive is generated.

Signed-off-by: John Keeping <john@metanate.com>
[vfazio:
  - add git-lfs to DL_TOOLS_DEPENDENCIES
  - fixup for 5a0d681394
    ("infra/pkg-download: make the DOWNLOAD macro fully parameterised")
]
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
[Arnout:
 - don't "git lfs install";
 - recurse into submodules.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-06 11:32:23 +01:00
Thomas Preston
16f660f8ce support/download: Add SFTP support
Add Secure File Transfer Program (SFTP) support using a simple wrapper.
SFTP is a common protocol used to transfer files securely between
enterprises, but it is not currently supported in Buildroot because all
of the packages are usually available via HTTP, git or some other
download method.

SFTP is similar to FTP but it preforms all operations over an encrypted
SSH transport using a specific protocol. This is unlike ftps, which is
traditional FTP over an SSL/TLS connection.

Signed-off-by: Thomas Preston <thomas.preston@codethink.co.uk>
Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
[Arnout:
 - update documentation with sftp everywhere scp is mentioned;
 - rename "verbose" variable to "quiet";
 - print the sftp command, similar to wget and scp helpers.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-06 09:34:05 +01:00
Peter Korsgaard
3d605443ce docs/website: update for 2021.02.8
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-12-14 23:25:34 +01:00
Peter Korsgaard
d2dc1ca3c7 docs/website: update for 2021.08.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-12-14 23:11:18 +01:00
Peter Korsgaard
46ccda3a2f Merge branch 'next' 2021-12-06 19:11:23 +01:00
Peter Korsgaard
c14be2253f docs/website/news.html: add 2021.11 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-12-05 22:36:00 +01:00
Peter Korsgaard
e6e12337f1 Update for 2021.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-12-05 20:59:16 +01:00
Fabrice Fontaine
e0f6dfc4c5 docs/manual: use single space in LIBFOO_{DEVICES, PERMISSIONS}
Use single space in LIBFOO_{DEVICES,PERMISSIONS} to be consistent with
LIBFOO_USERS, package/makedevs/README and most examples/packages

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-12-02 18:11:50 +01:00
Peter Korsgaard
aaf7b2c9c6 Update for 2021.11-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-11-30 18:13:36 +01:00
Peter Korsgaard
62ba22f312 Update for 2021.11-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-11-19 16:33:01 +01:00
Giulio Benetti
425a1e9f20 docs/manual: add allowed notations section for genimage.cfg files
Add allowed notations section for genimage.cfg files by specifying the
accepted suffix or prefix. Note that "K" has been decided to specify
KiloBytes as 1024 bytes. This has been done because in Buildroot the 90%
of the cases were using "K" and not "k".

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-14 15:41:44 +01:00
Baruch Siach
fb89f86349 docs/manual: update the list of libffi unsupported archs
libffi supports ARC since commit 34c2afeb75 ("libffi: back-port support
for ARC") in 2014.

Add nds32 and ARMv7-M to the list.

Cc: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-14 15:02:03 +01:00
Peter Korsgaard
a4dfa58c96 docs/website: update for 2021.02.7
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-11-10 16:51:40 +01:00
Peter Korsgaard
5efb32b799 docs/website: update for 2021.08.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-11-10 16:46:37 +01:00
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