1231 Commits

Author SHA1 Message Date
Peter Korsgaard
aba62b43fb Kickoff 2026.08 cycle
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-06-08 22:52:41 +02:00
Peter Korsgaard
313414b92c Update for 2026.05
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-06-08 22:39:13 +02:00
Peter Korsgaard
443bec7811 Update for 2026.05-rc4
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-06-04 15:36:46 +02:00
Thomas Perale
723b321bb0 Makefile: add 'show-info-all'
The maintenance and testing workflow sometimes requires to output a
list of every existing package on Buildroot:

- Generating an SBOM of the whole Buildroot tree, e.g. `for
  security.buildroot.org
- List every source for every package, e.g. for sources.buildroot.net

The previous solution relied on `make allyesconfig` but always ran into
conflicts that needed manual resolution. Also some packages would not be
present because they are architecture dependent.

To avoid having to manually modify the 'show-info' command this commit
adds the 'show-info-all' command. It accesses the PACKAGES_ALL variable
with all the packages present in Buildroot independently of the
architecture or any config entries.

It forces the `BR2_HAVE_DOT_CONFIG` variable to be set to force the
reading of the package mk files.

It is also added to noconfig_targets, to avoid the .config influencing
the output of show-info-all.

Note that this is not yet a complete solution - it doesn't take into
account the multiple versions that are possible for some packages like
GCC. Also for e.g. linux or uboot the version is empty and the URL is
invalid.

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
[Arnout: refactor with existing show-info]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-05-30 11:19:02 +02:00
Peter Korsgaard
d5aef8a047 Update for 2026.05-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-05-29 00:20:06 +02:00
Peter Korsgaard
94b0b0c6c1 Update for 2026.05-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-05-21 23:20:52 +02:00
Peter Korsgaard
9684cb9b44 Update for 2026.05-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-05-12 15:53:05 +02:00
Julien Olivain
4642f903cd Config.in, Makefile: add BR2_HIDE_SECONDARY_TARGET_OPTIONS
The option is currently unused, which leads to a check-symbol warning.

Suggested-by: Arnout Vandecappelle <arnout@rnout.be>
Signed-off-by: Julien Olivain <ju.o@free.fr>
[Arnout: squash two patches]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-04-07 21:45:09 +02:00
Peter Korsgaard
d374a736d8 Kickoff 2026.05 cycle
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-03-04 09:20:22 +01:00
Peter Korsgaard
52ee2f5644 Update for 2026.02
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-03-04 09:11:17 +01:00
Peter Korsgaard
8195c73ca3 Update for 2026.02-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-03-02 13:11:23 +01:00
Peter Korsgaard
50b3b887cb Update for 2026.02-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-02-24 18:43:38 +01:00
Peter Korsgaard
c97a7ad4aa Update for 2026.02-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-02-17 10:29:26 +01:00
Florian Larysch
63877f9e86 support/misc/relocate-sdk.sh: pre-calculate files in need of relocation
Currently, the relocate-sdk.sh script scans the whole extracted SDK tree
to find instances of paths it needs to replace, which can take a
significant amount of time when the SDK is large, particularly relative
to the number of files that actually need to change.

However, the resulting list only depends on the SDK tarball itself, so
we can calculate it at build time and ship it with the tarball so
relocate-sdk.sh can use it directly.

Testing this on my machine with somewhat IOPS-limited rotating media,
the time goes down from:

$ time ./relocate-sdk.sh
Relocating the buildroot SDK from [...] to [...] ...
./relocate-sdk.sh  5.19s user 26.21s system 9% cpu 5:34.40 total

To:

$ time ./relocate-sdk.sh
Relocating the buildroot SDK from [...] to [...] ...
./relocate-sdk.sh  0.49s user 0.29s system 103% cpu 0.749 total

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-02-04 10:44:01 +01:00
Fiona Klute
fe48905080 Makefile: add check-package-external target
The new target provides a convenient way to run utils/check-package on
any external trees, using .checkpackageignore files from the
respective trees if present.

While .checkpackageignore should be used as little as possible, in a
few cases adding overrides for false-positives to the affected files
is not feasible, a practical example of this is a Markdown file
misidentified as Python by libmagic (likely due to code blocks).

Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
[Arnout: set ${ignore} explicitly to empty, in case it exists in the
environment.]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-02-03 11:35:32 +01:00
Peter Korsgaard
6ddb75786e Kickoff 2026.02 cycle
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-12-12 08:21:41 +01:00
Peter Korsgaard
08d71521d3 Update for 2025.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-12-11 23:46:12 +01:00
Peter Korsgaard
2b4ee4e72f Update for 2025.11-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-11-30 20:19:47 +01:00
Yann E. MORIN
793ebd5d28 support/scripts/check-merged: use getopts instead of getopt
Commit 1187c34d88 (support/scripts: move merged-usr errors message
into check-merged-usr.sh) introduced the use of getopt to parse its
options; doing so allowed to use long option (with two leading dashes),
which is more descriptive than the usual one-character options.

However, getopt is part of util-linux; it is not a shell built-in.
util-linux is not a prerequisite of Buildroot, so we may end up running
on a system where it is missing.

We could add host-util-linux as a dependency when the system does not
provide getopt, but that's not very nice; even though host-skeleton does
not need to check for merged-bin for now, it does not need getopt, and
thus we could add host-util-linux (which depends on host-skeleton) as a
dependency of skeleton-custom. But that will not be tenable over the
long run, especially if/when we do a merged-bin in host dir.

Requiring that util-linux be installed system-wide is not nice either;
it's an additional requirement on the host.

We can do like we do in the oter scripts, though: use the shell built-in
getopts. Its usage is slightly different, and does not support long
options. As it's just for use in an internal script, we can live with
the less descriptive options, though.

Switch to using getopts, it removes the need for a new host dependency.

Fixes: 1187c34d88
Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-11-22 13:29:45 +01:00
Peter Korsgaard
36a2dc7f5e Update for 2025.11-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-11-20 21:49:56 +01:00
Yann E. MORIN
428ac6fcc4 system: add support for merged /usr/sbin (aka merged-bin)
Starting with version 256 [0], systemd warns when /usr/bin and
/usr/sbin are different directories; in the future, it may even
refuse to boot in such a situation.

Add support for merged-bin, not unlike the support we have for
merged-usr; we also make merged-bin a sub-case of merged-usr
(i.e. it is not possible to do merged-bin without merged-usr).

[0] https://github.com/systemd/systemd/blob/v256/NEWS#L265

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle <arnout@mind.be>
Acked-by: TIAN Yuanhao <tianyuanhao3@163.com>
Cc: Edgar Bonet <bonet@grenoble.cnrs.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2025-11-05 23:10:20 +01:00
Yann E. MORIN
fc3cdc6d1e support/scripts; teach check-merged what to check
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2025-11-05 23:10:18 +01:00
Yann E. MORIN
0eb873bda0 support/scripts: rename check-merged-usr.sh
We're going to need it to check merged-bin, so the naming would be
misleading as it would no longer be just about merged-usr.

Also drop the extension, it's useless.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2025-11-05 23:10:17 +01:00
Yann E. MORIN
1187c34d88 support/scripts: move merged-usr errors message into check-merged-usr.sh
By moving the loop over the overlays into the script, we can generate
better error messages about how and why a skeleton or a specific overlay
is improperly setup for merged-usr.

We can also now rely on its exit code to decide whether the skeleton or
the overlays are properly setup, rather than stash the stdout/stderr to
a Makefile variable and test the emptiness thereof.

Introduce a --type option to pass the type of root to verify, for better
error reporting. This will incidentally be usefull in a future commit,
when we need to take different actions based on whether the root is a
skeleton or an overlay.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2025-11-05 23:10:14 +01:00
Peter Korsgaard
e399aadfdb Kickoff 2025.11 cycle
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-09-08 14:14:57 +02:00
Peter Korsgaard
3386677f0a Update for 2025.08
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-09-07 22:58:34 +02:00
Peter Korsgaard
56d9d5e8f0 Update for 2025.08-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-08-28 08:01:55 +02:00
Peter Korsgaard
5d46144eb3 Update for 2025.08-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-08-21 09:08:59 +02:00
Peter Korsgaard
802d093060 Makefile: release: make .tar.gz reproducible
Drop the timestamp from the .tar.gz to make it reproducible, similar to how
it is done in support/download/helpers.

Notice: .xz files do not contain a timestamp

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-08-12 23:43:30 +02:00
Peter Korsgaard
fa855cbe6e Makefile: release: make tarball reproducible
The tarball created by git archive is reproducible, but when we append the
generated manual we leak current time and the username/uid of the person
running make release:

tar tvf buildroot-2025.08-rc1.tar.gz | tail
-rwxrwxr-x root/root      5512 2025-08-11 13:22 buildroot-2025.08-rc1/utils/update-rust
drwxr-xr-x peko/peko         0 2025-08-11 17:39 buildroot-2025.08-rc1/
drwxr-xr-x peko/peko         0 2025-08-11 17:38 buildroot-2025.08-rc1/docs/
drwxr-xr-x peko/peko         0 2025-08-11 17:39 buildroot-2025.08-rc1/docs/manual/
-rw-r--r-- peko/peko      5738 2025-08-11 17:38 buildroot-2025.08-rc1/docs/manual/docbook-xsl.css
-rw-r--r-- peko/peko     19029 2025-08-11 17:38 buildroot-2025.08-rc1/docs/manual/github_hash_mongrel2.png
-rw-r--r-- peko/peko    638866 2025-08-11 17:39 buildroot-2025.08-rc1/docs/manual/manual.pdf
-rw-r--r-- peko/peko    587892 2025-08-11 17:38 buildroot-2025.08-rc1/docs/manual/manual.html
-rw-r--r-- peko/peko    393514 2025-08-11 17:39 buildroot-2025.08-rc1/docs/manual/manual.text
-rw-r--r-- peko/peko    117499 2025-08-11 17:38 buildroot-2025.08-rc1/docs/manual/logo.png

Fix that by forcing uid as root and setting mtime to the latest commit,
similar to how we do it in support/download/{git,helpers}.

Notice that we do not use --numeric-owner to match the output of git
archive, so it does rely on uid 0=root, which is very likely but not
guaranteed.

Reported-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-08-12 23:43:22 +02:00
Peter Korsgaard
3fc5d821eb Makefile: release: make manual build reproducible
The manual contains build timestamps like:

Buildroot 2025.08-rc1 manual generated on 2025-08-12 06:43:37 UTC

Making it not reproducible.  Luckily asciidoc respects SOURCE_DATE_EPOCH, so
use that to use the timestamp of the latest git commit instead.

Notice: The release and manual targets are marked as noconfig targets (and
need to stay like that for make release), so we cannot use the
BR2_REPRODUCIBLE logic.  Instead manually set SOURCE_DATE_EPOCH.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-08-12 23:43:16 +02:00
Peter Korsgaard
1349cd6031 Update for 2025.08-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-08-11 13:22:07 +02:00
Yann E. MORIN
117ccb6cc4 Makefile: silence list-defconfigs for br2-external with no defconfig
When a br2-external tree has no defconfig, list-defconfig currently
whines with an error from find:

    find: ‘[...]/my-external/configs’: No such file or directory

Fix that by only running find if the directory exists.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-08-09 18:52:39 +02:00
Yann E. MORIN
161d7ded43 Makefile: fix list-defconfigs for br2-external with weird descriptions
When a br2-external tree description contains an odd number of single
quotes, list-defconfigs will fail with a shell error message:

    /bin/sh: -c: line 1: unexpected EOF while looking for matching `"'
    make[1]: *** [Makefile:1243: list-defconfigs] Error 2

Whoever wrote that code will have to write this sentence 100 times
on the blackboard:

     Never, ever pass user-provided data in a printf format.

(see commit 49117c1028 (core: support description for br2-external
trees); dang, I knew it... And I should have known better when I wrote
that code, damit...)

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-08-09 18:51:54 +02:00
Peter Korsgaard
2b5544ab7a Makefile: unexport TOPDIR to fix gnu-efi >= 3.0.18 build issue
gnu-efi fails to build if TOPDIR is exported in the environment since the
move to version 3.0.18 in commit 9efeb7e914 ("package/gnu-efi: bump to
version 3.0.18").

The reason is the change in TOPDIR logic introduced by upstream commit
31913f8489 ("Make: make TOPDIR actually work and get rid of unused CDIR"):

31913f8489

export TOPDIR=foo; make gnu-efi
...
/path/to/buildroot/output-gnuefi/host/bin/aarch64-linux-ld: cannot find
 /path/to/buildroot/output-gnuefi/build/gnu-efi-4.0.0//apps/../aarch64/gnuefi/crt0-efi-aarch64.o:
 No such file or director
make[2]: *** [Makefile:89: apps] Error 2
make[1]: *** [package/pkg-generic.mk:273: /path/to/buildroot/output-gnuefi/build/gnu-efi-4.0.0/.stamp_built] Error 2
make: *** [Makefile:23: _all] Error 2

As a workaround, unexport TOPDIR like we do for other sensitive environment
variables.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-06-25 19:24:54 +02:00
Peter Korsgaard
da04cfa26c Makefile: sort unexport lines
The list of environment variables to unexport has grown organically over the
years and is no longer sorted. Sort it alphabetically for clarity.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-06-25 19:24:54 +02:00
Peter Korsgaard
fa3549dca7 Kickoff 2025.08 cycle
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-06-09 22:45:29 +02:00
Peter Korsgaard
fcde5363aa pdate for 2025.05
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-06-09 22:21:47 +02:00
Peter Korsgaard
1bdb79ba78 Update for 2025.05-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 22:05:47 +02:00
Peter Korsgaard
37a715969f Update for 2025.05-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-19 12:33:23 +02:00
Yann E. MORIN
5009fd2436 Makefile: include defconfigs in sub-directories in list-defconfigs
Currently, list-defconfigs only lists the defconfigs that live
 live in the top-level configs/ directory. For the in-tree defconfigs
this is indeed the case, but it is possible to manage the configs in a
br2-external tree with sub-directories.

A few examples:
  - for a given board, a first defconfig is the full system, and a
    second is the rescue system;
  - for a given board, two defconfigs implement an A/B feature set;
  - a set of configurations targetting various famillies of systems each
    running on different hardware, sorted per familly.

Extend list-defconfigs to look for and report defconfigs in
sub-directories of the top-level configs/.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2025-05-16 19:45:35 +02:00
Julien Olivain
cca8d68461 Config.in: introduce BR2_HOST_GCC_AT_LEAST_{12..15}
Fedora 42 is planned to be released on 2025-04-22 [1].
It is also planned to include the upcoming gcc 15 release.
Gcc 15 is changing the default C language from -std=gnu17
to -std=gnu23 [2].

This change is expected to possibly introduce build failures [3].
In order to be prepared to fix those, this commit introduces the
BR2_HOST_GCC_AT_LEAST_{12..15} symbols.

[1] https://fedorapeople.org/groups/schedule/f-42/f-42-key-tasks.html
[2] https://gcc.gnu.org/gcc-15/changes.html#c
[3] https://savannah.gnu.org/support/?111150

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-21 23:50:50 +02:00
Peter Korsgaard
55cfcf52e1 Kickoff 2025.05 cycle
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-03-18 15:38:53 +01:00
Peter Korsgaard
aa2d7ca53f Update for 2025.02
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-03-17 18:54:20 +01:00
Peter Korsgaard
53f74f49c0 Update for 2025.02-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-03-13 11:09:27 +01:00
Peter Korsgaard
a031b51637 Update for 2025.02-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-28 17:27:41 +01:00
Peter Korsgaard
c19663f557 Kickoff 2025.02 cycle
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-08 14:00:16 +01:00
Peter Korsgaard
8f9ce0c913 Update for 2024.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-08 11:18:01 +01:00
Peter Korsgaard
0901a670a8 Update for 2024.11-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-05 18:06:59 +01:00
Peter Korsgaard
81d111dbd4 Update for 2024.11-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-11-23 11:00:53 +01:00