Commit Graph

1520 Commits

Author SHA1 Message Date
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
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
Thomas Petazzoni
314e52add4 docs/website: move Git repository to Gitlab
We're now using Gitlab as our official Git repository, so let's update
the website accordingly. Gitlab only provides https:// access, so drop
the explanation about the Git native protocol being more efficient
than HTTP (also because that's no longer true).

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:18 +02:00
Francois Perrad
32cec3be97 docs/manual: rename *.txt as *.adoc
by using this standard extension `adoc`,
these files are rendered on gitlab & github

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-09-30 10:25:22 +02:00
Peter Korsgaard
28a6c12646 docs/website: Update for 2023.08.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-28 00:25:28 +02:00
Peter Korsgaard
5fdc797aba docs/website: Update for 2023.02.5
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-27 19:35:36 +02:00
Peter Korsgaard
7239f204cb docs/website/news.html: fix left/right ordering for 2023.05.3 announcement
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-27 19:33:08 +02:00
Peter Korsgaard
de48ecb83d docs/website: Update for 2023.05.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-27 08:20:29 +02:00
Giulio Benetti
de349df08c docs/manual: add section to explain how to give credits to a sponsor
Sometimes it happens that a Company or a Physical Person sponsors the
creation and/or the upstreaming process of a patch, but at the moment
there is no way to give credits to it. In Linux they prepend '+sponsor'
to the e-mail of the contributor in both authorship and commit log tag as
discussed here[0]. So let's describe in the manual how to do that as a
standard.

[0]: https://lore.kernel.org/linux-doc/20230817220957.41582-1-giulio.benetti@benettiengineering.com/

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[yann.morin.1998@free.fr:
  - reword to reference sub-addressing and the RFC
  - move to the "submitting patches" section, that already deals with
    SoB tags
  - differentiate between Your/Their names
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-21 23:57:26 +02:00
Yann E. MORIN
96130dc204 docs/manual: fix formatting for LIBFOO_SVN_EXTERNAL
Commit 7dd27cbe5b (support/download: add support to exclude svn
externals) introduced an improperly formatted list item. That was
carried over with bf2d7f8f53 (package/pkg-generic: don't download svn
externals by default).

Fix that.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-17 22:59:16 +02:00
Peter Korsgaard
600e36f8f2 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-07 16:50:14 +02:00
Peter Korsgaard
8c79ba009d docs/website/news.html: add 2023.08 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-06 22:56:43 +02:00
Peter Korsgaard
d8ce1deff9 Update for 2023.08
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-06 21:54:35 +02:00
Peter Korsgaard
fbcc1bf533 docs/website: Update for 2023.02.4
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-08-31 21:30:47 +02:00
Peter Korsgaard
1f137a03ea docs/website: Update for 2023.05.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-08-31 20:28:40 +02:00
Peter Korsgaard
04bc804630 Update for 2023.08-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-08-29 15:00:27 +02:00
Yann E. MORIN
2423d9f16b Release 2023.08-rc2
-----BEGIN PGP SIGNATURE-----
 
 iG8EABECADAWIQSrB9gG0s50H7iG7lCwJbqLWcNjGQUCZOKHvRIcamFjbWV0QHVj
 bGliYy5vcmcACgkQsCW6i1nDYxn1/QCg2un/vUk0HEIbpn4d1fMRZFBDSlwAmKRp
 iO+4qkBgt1h+2LxZSJmNbPY=
 =nvGJ
 -----END PGP SIGNATURE-----

Merge tag '2023.08-rc2' into next

Conflicts:
  - .checkpackageignore
  - Makefile
  - board/versal/post-image.sh
  - package/sentry-cli/0001-Disable-SSL-support-for-the-curl-module.patch
      => keep version in next

  - Config.in.legacy
      => merge, introduce legacy comment for 2023.11

  - toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
      => regenerate, drop dependency on inexistant BR2_ARCH_NEEDS_GCC_AT_LEAST_14

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-08-21 21:36:17 +02:00
Peter Korsgaard
bdd80863cf Update for 2023.08-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-08-20 23:37:21 +02:00
Yann E. MORIN
bf2d7f8f53 package/pkg-generic: don't download svn externals by default
Commit 7dd27cbe5b (support/download: add support to exclude svn
externals) departed from the usual opt-in scheme, like is done for
git submodule or large files, in an attempt to keep the previous
behaviour unchanged, that is to download externals by default.

As an afterthought, we've concluded that the chances for svn-hosted
packages with externals that are indeed required to do the build,
are relatively slim. For those cases, it even makes sense to explicitly
requested the use of the externals.

So, we change the default to not download svn externals.

Since the generated archives may change, we bump the version suffix.
This will allow users to more easily catch the situation and decide if
they really need the externals or not.

We have a single in-tree package that uses svn, and it does not use
externals, so the generated archive does not change, and we just need
to update the archive filename in the hash file.

Finally, we add a new section to the manual, in the chapter about
migrating Buildroot to a newer version.

Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-08-20 16:30:50 +02:00
Yann E. MORIN
7dd27cbe5b support/download: add support to exclude svn externals
Like git which can have submodules, subversion can have externals. The
default behaviour for subversion is to retrieve all the externals,
unless told otherwise.

For some repositories, the externals may be huge (e.g. a dataset or some
assets) and may not be required for building the package. In such a
case, retrieving the externals is both a waste of network bandwitdh and
time, and a waste of disk storage.

Like for git submodules and git lfs, add an option that packages can set
to specify whether they want externals or not.

Since we've so far been retrieving externals, we keep that the default,
and packages can opt-out (rather than the opt-in for git submodules or
git lfs).

We must only set it when the package is actually hosted on svn, to avoid
passing -r when the package is not hosted by svn; otherwise, -r would
also be passed e.g. to a git-hosted package, triggering the download of
git submodules even when they are not requested. We need to do so,
because we have a default value, which we usually do not have in other
download options.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-06 16:35:52 +02:00
Thomas Devoogdt
4cf79d9b71 pkg-cmake: add option to select the Ninja generator
Cmake supports multiple generators. For now, Buildroot only uses the
venerable "GNU Makefile" generator, which generates Makefiles as the
build backend.

Cmake also has support for Ninja as a build backend, and provides the
corresponding generator. Ninja is a small build system with a focus on
speed. It is mainly used with the meson build system, but also cmake has
very good support for it.

Packages that are selecting Ninja (or over time another generator),
should also use the _BUILD_{ENV,OPTS} variables instead of the _MAKE
variables.

No _INSTALL{,_STAGING,_TARGET}_OPTS used so far, so reuse as cmake install opts:

    $ grep '_INSTALL_OPTS' $(git grep -l -E '\$\(eval \$\((host-)?cmake-package))')
    $ grep '_INSTALL_STAGING_OPTS' $(git grep -l -E '\$\(eval \$\((host-)?cmake-package))')
    $ grep '_INSTALL_TARGET_OPTS' $(git grep -l -E '\$\(eval \$\((host-)?cmake-package))')

The _MAKE_{ENV,OPTS} are copied to _BUILD_{ENV,OPTS}, involved packages:

    $ grep '_MAKE_ENV =' $(git grep -l -E '\$\(eval \$\((host-)?cmake-package))')

    package/netopeer2/netopeer2.mk:NETOPEER2_MAKE_ENV = \
    package/racehound/racehound.mk:RACEHOUND_MAKE_ENV = $(LINUX_MAKE_FLAGS)

    (qt6, webkitgtk, and wpewebkit also match, but already use -Gninja)

    $ grep '_MAKE_OPTS =' $(git grep -l -E '\$\(eval \$\((host-)?cmake-package))')

    package/mariadb/mariadb.mk:HOST_MARIADB_MAKE_OPTS = import_executables
    package/zeek/zeek.mk:HOST_ZEEK_MAKE_OPTS = binpac bifcl

Only "musepack" seems to overwrite MAKE to enforce -j1, so replace it:

    $ grep '_MAKE =' $(git grep -l -E '\$\(eval \$\((host-)?cmake-package))')

    package/musepack/musepack.mk:MUSEPACK_MAKE = $(MAKE1)

Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Reviewed-by: John Keeping <john@metanate.com>
[yann.morin.1998@free.fr:
  - switch to FOO_CMAKE_BACKEND = (make|ninja)
  - use firstword of $(MAKE), not $(BR2_MAKE)
  - explain why we use firstword of $(MAKE)
  - update manual with the three new variables
  - yweak commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-08-06 15:38:00 +02:00
Thomas Petazzoni
0473a9b521 Update for 2023.08-rc1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-05 23:03:28 +02:00
Peter Korsgaard
a89a632833 docs/website: Update for 2023.02.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-07-17 23:41:31 +02:00
Peter Korsgaard
6c8abbf72f docs/website: Update for 2023.05.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-07-17 18:14:13 +02:00
Peter Korsgaard
ba9de70c28 docs/website: update for 2023.02.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-06-16 17:50:29 +02:00
Peter Korsgaard
35b1ddbe63 docs/website/news.html: add 2023.05 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-06-07 23:32:45 +02:00
Peter Korsgaard
dbb0b4274c Update for 2023.05
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-06-07 23:07:39 +02:00
Peter Korsgaard
25e485f462 Update for 2023.05-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-06-04 13:10:30 +02:00
Peter Korsgaard
c765ac9c02 Update for 2023.05-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-05-28 22:17:33 +02:00
Peter Korsgaard
fb6fe5ddf6 Update for 2023.05-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-05-15 08:05:54 +02:00
Peter Korsgaard
19f5a10f49 docs/website: update for 2023.02.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-05-10 22:34:29 +02:00
Peter Korsgaard
e320dd681c docs/website: update for 2022.02.12
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-05-04 22:53:11 +02:00
Yann E. MORIN
4468f82885 doc/manual: fix formatting slightly
Signed-off-by: Thierry GUIBERT <thierry.guibert@croix-rouge.fr>
[yann.morin.1998@free.fr: split off the previous patch by Thierry]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-04-16 14:33:42 +02:00
Thierry GUIBERT
d9228faa4d doc/manual: add documentation about docker registry on gitlab.com
Add a paragraph and an example about using the Buildroot image registry
hosted on gtilab.com, for people who want to build their own image based
on the offical one.

Signed-off-by: Thierry GUIBERT <thierry.guibert@croix-rouge.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-04-16 14:32:29 +02:00
Vincent Fazio
5b00b40a05 docs/manual: rewrite section for upstream documentation
Previously, the documentation only requested links to upstream commits
when backporting patches.

Based on a mailing list discussion [0], patches should, when possible
and when approriate, provide a link as evidence that the patch has been
submitted upstream.

The motivation is that hopefully the patch gets applied to upstream at
some point reducing the long term maintenance burden within Buildroot.
This also makes future patch review on subsequent package version bumps
more streamlined.

For patches that are unique to BR and do not apply to the upstream
repository, patches should have a comment explaining why they do not
apply upstream.

[0] https://lists.buildroot.org/pipermail/buildroot/2023-March/666000.html

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-04-15 19:36:46 +02:00
Yann E. MORIN
7c01d5a1bb doc/website: tap2open have sponsored the association again
.. so update and move their entry in the sponsors page.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-04-13 22:27:38 +02:00
Yann E. MORIN
6a6a11f64b package/doc-asciidoc: allow docs to request a specific TOC depth
For some documents, we may want a terse or deeper TOC depth. For
example, short documents may want just the level-0 in the TOC, while
longer documents may want depth 1 or 2, or even deeper; also, some
documents may not use the document-title levels [0], only section
levels [1], and so may want to increase the TOC depth.

Additionally, allow per-format depth. For example, split-html has a
single page dedicated to the TOC, so there we may want a deeper TOC,
while on the html output, where the TOC is on the same page as the
whole document, a shorter TOC is preferred.

[0] https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/#document-header
[1] https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/#section-titles

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-04-10 21:49:22 +02:00
Luca Ceresoli
9a3d4e3818 docs/manual: ditch redundant -f 'rm' flag
The value of the RM variable in make is 'rm -f' [0], thus the additional
-f is redundant. Avoid it on the docs to avoid developers taking it as a
good example to follow.

[0] https://www.gnu.org/software/make/manual/make.html#index-RM

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-03-28 21:36:07 +02:00