Commit Graph

1556 Commits

Author SHA1 Message Date
Heiko Thiery
b7cc572208 Add BR2_ROOTFS_{PRE_BUILD|POST_{BUILD|FAKEROOT|IMAGE}}_SCRIPT_ARGS
Currently, one may only specify one list of arguments that are passed to
several scripts (BR2_ROOTFS_PRE_BUILD_SCRIPT, BR2_ROOTFS_POST_BUILD_SCRIPT,
BR2_ROOTFS_POST_FAKEROOT_SCRIPT and BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS).

So one has to be careful that the arguments for these scripts do noti
collide.

To allow specifiying dedicated arguments to each type of scripts, new
config options are introduced. For backward compatibility the value of
BR2_ROOTFS_POST_SCRIPT_ARGS is still passed to the scripts. But now one
can add specific arguments from the new config option.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
[yann.morin.1998@free.fr:
  - mention common args in help texts
  - slight coding style beautification
  - slight rewording in commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-03-28 21:47:04 +01:00
Peter Korsgaard
cd44a480e1 docs/website: Update for 2023.02.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-27 10:40:18 +01:00
Peter Korsgaard
9536c726bb docs/website/news.html: drop trailing newline
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-26 17:58:20 +01:00
Peter Korsgaard
543b0886c5 docs/website: Update for 2023.11.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-26 17:58:01 +01:00
Peter Korsgaard
32c192fec9 docs/website: Update for 2024.02.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-26 11:41:46 +01:00
Peter Korsgaard
c5c15b606b docs/website/news.html: add 2024.02 announcement link
And fix the s/2023/2024 typo in the title.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-05 16:16:25 +01:00
Peter Korsgaard
87e979e457 Update for 2024.02
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-05 14:46:21 +01:00
Peter Korsgaard
e1e292c044 Update for 2024.02-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-01 19:55:39 +01:00
Peter Korsgaard
382a157dc0 docs/website: Update for 2023.02.10
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-01 17:59:27 +01:00
Peter Korsgaard
6711c8231a docs/website: Update for 2023.11.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-01 14:44:47 +01:00
Peter Korsgaard
7a9ba7a71e Update for 2024.02-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-02-25 12:43:07 +01:00
Yann E. MORIN
fcf465d04b utils/checkpackagelib: add check for CPE variables set to default values
Now that we can specify that the default values for the CPE_ID variables
are valid, without having to actually set one (or more) to their
default, add a check-package check that validates that the CPE_ID
variables are indeed not set to their default.

It also validates that CPE_ID_VALID is not set when another CPE_ID
variable is set to a non-default value.

Add an anchor in the manual so that we can easily point to it.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-11 16:30:59 +01:00
Yann E. MORIN
ddf66867b1 doc/manual: document _CPE_ID_VALID
The way we handle CPE_ID variable is unusual compared to the other
variables: we mostly compute defaults for all of them, and eventually
aggregate the various CPE_ID variables to form the CPE ID name.

However, we do not consider that CPE ID to valid, unless there is one
(or more) CPE_ID variables actually set by the package; this shows that
the CPE ID has been checked to be valid against the NVD CPE database. In
that situation, we internally define the duly undocumented _CPE_ID_VALID
variable.

However, it is totally possible (and very often the case) that the
default value we set to those variables are appropriate, and do defne a
valid CPE ID. In this case, the package will define any arbitrary CPE_ID
variable to its default value, usually by setting either the VENDOR or
PRODUCT field, though there is no rule or requirement that be the case.

This is not very clean, non-obvious, and does not allow for easily
adding checks in check-package.

Add the _CPE_ID_VALID variable to the manual, to make it official that
it should be used when the default values of the others are valid.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-11 16:29:02 +01:00
Yann E. MORIN
949c1a51b7 doc/manual: indent the CVE example the same as the CVE list item
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-11 16:28:45 +01:00
Yann E. MORIN
1c24d83cc8 doc/manual: fixup ordered lists
With recent asiidoc versions (at least 10.2.0 is known to report that),
rendering the manual yields a few warnings related to ordered lists:

    asciidoc: WARNING: customize-quick-guide.adoc: line 13: list item index: expected 2 got 1
    asciidoc: WARNING: customize-quick-guide.adoc: line 15: list item index: expected 3 got 1
    [...]
    asciidoc: WARNING: customize-quick-guide.adoc: line 65: list item index: expected 13 got 1
    asciidoc: WARNING: customize-quick-guide.adoc: line 66: list item index: expected 14 got 1
    asciidoc: WARNING: adding-packages-gettext.adoc: line 30: list item index: expected 2 got 1
    asciidoc: WARNING: adding-packages-gettext.adoc: line 41: list item index: expected 3 got 1

The reason is that we use the same index to tell asciidoc to
automatically number items.

However, the official way to provide an automatic index is to write no
index:

    https://docs.asciidoctor.org/asciidoc/latest/lists/ordered/

    [...] since the numbering is obvious, the AsciiDoc processor will
    insert the numbers for you if you omit them:
    [...]
    If you number the ordered list explicitly, you have to manually keep
    the list numerals sequential. Otherwise, you will get a warning.

So, abide by the documentation, and drop the repeating indices to
ordered lists where we want automatic numbering.

Note that there is another ordered list, in adding-packages-directory.adoc,
but it does use explicit, sequential numbering. For consistency within
the whole document, we also convert it.

To avoid extra useless churn, the indentation of the items is not
changed to match the elided indices.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-11 16:28:35 +01:00
Thomas Petazzoni
89e67a9638 docs/manual: update documentation about support python <pkg>_SETUP_TYPE
Note that we do not document the special flit-bootstrap value, as it
is considered an internal implementation detail, and shouldn't
normally be used by packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-06 23:21:23 +01:00
Adam Duskett
09de823cbc package/pkg-python.mk: remove distutils support
All Python packages have been migrated to a different setup type, and
we're about to bump to Python 3.12 which no longer supports distutils,
so let's drop support for distutils in our python-package
infrastructure.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[Thomas: also update the Buildroot manual]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-06 23:21:21 +01:00
Marcus Hoffmann
fc3d2bcb40 docs/manual/contribute.adoc: mention sr.ht as a fallback for sending patches
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
[yann.morin.1998@free.fr: make it explicit it is not the official way]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-02-06 18:03:57 +01:00
Marcus Hoffmann
b4639b493a docs/manual/contribute.adoc: link to git-send-email.io
https://git-send-email.io/ is a page maintained by sourcehut which
explains how to setup git send-email on many OS's for many popular email
providers.

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-02-06 17:02:07 +01:00
Marcus Hoffmann
d1e6d7845b docs/website/support.html: document irc channel permission changes
The #buildroot IRC channel recently changed from only allowing
registered users to join to allowing anyone to join but only allowing
registered users to talk in the channel. This still avoids the spam
problem on IRC while allowing an exception for users bridged from
matrix.org. These already have a username registered on the matrix side
and thus similar properties as a registered IRC user/nick.

The commands to set these options were:

* Set +q on all unregistered nicks: ~/mode #buildroot +q $~a~ this lets
  people join but they can't talk
* Set exempt on matrix hosts: ~/mode #buildroot +e $x:matrix.org~

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-02-06 17:02:06 +01:00
Marcus Hoffmann
fb4d03c6a3 docs/website/support.html: document how to join irc channel from matrix
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-02-06 17:02:04 +01:00
Yann E. MORIN
738fb6dfa4 docs/manual: extend makedev syntax section
The section of the manual describing the makedev syntax is not
up-to-date with the current features, and does not properly describe
existing ones.

  - extend the list of types with the requirements on the existence of
    the target file or directory; for 'c', 'b', and 'p', the existence
    requirement is inherited from mknod(2):

    ERRORS
        ...
        ENOENT A directory component in pathname does not exist or is a
               dangling symbolic link.

    for the other types, the existence requirements are extracted from
    the source of makedev.c;

  - format the types flags, so they are rendered in monospace;

  - extend the 'mode' description, as it can be set to -1 for 'f', 'd',
    or 'r', so that only the uid and gid are set. This is most useful
    for 'r', where setting the same mode recursively for all the
    sub-directories and files alike does not really make sense; indeed
    in this case, the modes are usually set correctly when the package
    (or rootfs overlay) installs the files, and only the uid and gid are
    interesting to set;

  - extend and update the examples to show-case the -1 mode use-case.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-06 11:52:09 +01:00
Sébastien Szymanski
f24e85238f docs/manual/contribute.txt: fix typo
"who sponsored who sponsored" -> "who sponsored"

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-01-31 21:23:18 +01:00
Peter Korsgaard
263244e119 docs/website: Update for 2023.02.9
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-01-15 21:03:16 +01:00
Peter Korsgaard
dd22e808c0 docs/website: Update for 2023.11.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-01-15 17:09:40 +01:00
Yann E. MORIN
b79fb3c224 doc/manual: rsync is not optional
rsync is used in the infrastructure, mostly for the per-package infra,
and for the override-srcdir mechanism, but also to build the manual.
As such, it is not optional but mandatory, and already listed so.

Drop the reference to rsync from the list of optional packages.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-11 09:21:52 +01:00
Peter Korsgaard
5ec5cb8ab7 docs/website/news.html: add Talos security vulnerabilities info
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-06 13:59:16 +01:00
Peter Korsgaard
0c6f3d7f2e Merge branch 'next' 2023-12-04 21:11:12 +01:00
Peter Korsgaard
0c68824f25 docs/website: Update for 2023.02.8
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-04 15:05:34 +01:00
Peter Korsgaard
46e2e2549b docs/website: Update for 2023.08.4
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-04 14:41:23 +01:00
Peter Korsgaard
1ed291ae97 docs/website/news.html: add 2023.11 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-04 09:39:10 +01:00
Peter Korsgaard
954aeb7c72 Update for 2023.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-04 09:08:32 +01:00
Peter Korsgaard
0ed48b952b Update for 2023.11-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-29 22:57:14 +01:00
Brandon Maier
8ad1a2eaa5 docs/website: fix favicon
When the favicon image was added in f26e61319f (docs/website: add
favicon.png), it was added to a different directory then where the header's
icon link points. This causes the favicon to fail to load with 404.

While we are here, remove the "shortcut" rel attribute as it is non-standard
and it's recommended not to use it[1].

[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel#sect4

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-28 21:49:36 +01:00
Arnout Vandecappelle
bfafe9b3e9 docs/manual: remove references to PKG_PYTHON_*_OPTS
These variables were removed. In addition, the text describing them
wasn't terribly useful. Just remove the sentences describing them.

Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-11-25 22:03:15 +01:00
Peter Korsgaard
de3c1390b3 docs/website: Update for 2023.02.7
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-14 21:34:28 +01:00
Peter Korsgaard
ef0e5f8345 docs/website: Update for 2023.08.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-14 19:18:06 +01:00
Peter Korsgaard
5c9f4d64de Update for 2023.11-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-14 08:25:01 +01:00
Peter Korsgaard
4984d0f230 utils/add-custom-hashes: add script to manage global patch dir hashes
Add a script to manage the .hash files in the BR2_GLOBAL_PATCH_DIR for
packages using custom versions.

To use it, run in a configured Buildroot directory, E.G.

  make foo_defconfig; ./utils/add-custom-hashes

We support multiple patch directories in BR2_GLOBAL_PATCH_DIR.  If multiple
directories are specified then use the last one as that is likely to be the
most specific one.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: silence command -v invocation]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-12 11:59:27 +01:00
Yann E. MORIN
5d36710e36 package/pkg-download: lookup hash files in global-patch-dir
Currently, we expect and only use hash files that lie within the package
directory, alongside the .mk file. Those hash files are thus bundled
with Buildroot.

This implies that only what's known to Buildroot can ever get into those
hash files. For packages where the version is fixed (or a static
choice), then we can carry hashes for those known versions.

However, we do have a few packages for which the version is a free-form
entry, where the user can provide a custom location and/or version.  like
a custom VCS tree and revision, or a custom tarball URL. This means that
Buildroot has no way to be able to cary hashes for such custom versions.

This means that there is no integrity check that what was downloaded is
what was expected. For a sha1 in a git tree, this is a minor issue,
because the sha1 by itself is already a hash of the expected content.
But for custom tarballs URLs, or for a tag in a VCS, there is indeed no
integrity check.

Buildroot can't provide such hashes, but interested users may want to
provide those, and currently there is no (easy) way to do so.

We leverage the existing global-patch-dir mechanism to look for extra
hash files. We use the same heuristic that is used for bundled hash
files, and for each global patch directory <dir>, we use the first file
to exist among:
 1. look into <dir>/<package>/<version>/<package>.hash
 2. look into <dir>/<package>/<package>.hash

Reported-by: "Martin Zeiser (mzeiser)" <mzeiser@cisco.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-07 11:48:46 +01:00
Yann E. MORIN
6898781f03 docs/manual: svn downloads can be hash-checked
Since commit 89f5e98932 (support/download/svn: generate reproducible
svn archives), we've been able to generate reproducible archives, and
thus we have been able to verify the hashes for those archives.

However, the manual was not changed, and still falsely hinted that this
was not the cae.

Fix that.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-05 22:48:22 +01:00
Adam Duskett
2476faa2ad docs/website/support.html: add Amarula Solutions to the commercial support list
After talking with Thomas Petazzoni, it is agreed that Amarulasolutions should
be added to the list of companies that can provide commercial support for
Buildroot.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-01 22:55:18 +01:00
Yann E. MORIN
f685549b19 docs/manual: fix typo
Reported-by: Thomas Devoogdt <thomas@devoogdt.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-10-21 23:30:27 +02:00
Peter Korsgaard
1e39222b0c docs/website: Update for 2023.02.6
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-10-16 11:52:17 +02:00
Peter Korsgaard
e077133a65 docs/website: Update for 2023.08.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-10-16 11:40:37 +02:00
Yann E. MORIN
6480774c43 package/pkg-generic: drop support for arch-specific patches
The last architecture-specific patch we had was removed 2015-02-14 with
commit 9863553fe8 (packages: all salute the passing of avr32), where
we eventually got rid of the avr32-specific patch for fbv.

Since then, we've only had common patches (that apply systematically),
or conditional patches, that are applied in an ad-hoc manner with
post-patch hooks. Currently, we even only have one such patch (for
Linux).

Since we do not advertise that possibility in the manual, and since we
do not want to have such patches, drop the support for it.

This has the potential for breaking existing br2-external trees, but
there is a workaround for those: they can provide a pre-patch ook that
copies the necessary per-arch patches if needed. We document this in the
manual.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-10-15 22:24:51 +02:00
Thomas Petazzoni
f10f47ff28 docs/manual: add a FAQ entry about Y2038 support
This was reviewed in person by Arnout.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-10-01 21:14:07 +02:00
Thomas Petazzoni
27fd001ce4 docs/website/association.html: move buildroot-association to Gitlab
The buildroot-association repository used to be hosted on Github, then
was closed for some banking issues. We're now making it public again,
but on Gitlab like the rest of Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 16:09:51 +02:00
Thomas Petazzoni
ea8fc31827 docs/website: simplify section on Git repo
Now that the snapshot tarball section is gone, the "Source code" block
has only one sub-block "Repository" which makes it look odd. So bring
the sub-block content into the parent block, and rename this parent
block "Git repository".

As this requires re-indenting the whole HTML soup, take advantage of
this to use <p>...</p> in a more correct manner.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[yann.morin.1998@free.fr: fix "git pull" layout]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 15:55:30 +02:00
Thomas Petazzoni
72c9362103 docs/website: remove mention of snapshot tarballs
In a Git era, those snapshot tarballs are no longer relevant, so drop
it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 15:55:24 +02:00