Commit graph

1421 commits

Author SHA1 Message Date
José Luis Salvador Rufo f3d5916a9f docs/manual/prerequisite.txt: add diffutils
The command `cmp` is used by `package/pkg-generic.mk` at commit
8623cc5deb. This command is provided by `diffutils`, so it should be
installed on the host system.

Signed-off-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-26 23:57:16 +02:00
Fabrice Fontaine 002f0e927d docs/manual: fix patchwork URL
http://patchwork.buildroot.org is redirecting to
https://bugs.busybox.net so replace it by
https://patchwork.ozlabs.org/project/buildroot/list/ as already done in
docs/website/contribute.html

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-07-23 18:57:22 +02:00
Thomas Petazzoni 47f359a615 utils/get-developers: implement a -v action for DEVELOPERS file validation
Commit "45aabcddc5 utils/get-developers: really make it callable from
elsewhere than the toplevel directory" had a unforeseen side-effect:
the fact that check-developers with no arguments used to validate the
syntax of the DEVELOPERS no longer works. Indeed, the
parse_developers() call was moved *after* the check that verifies if
at least one action is passed. Due to this, the check-DEVELOPERS
verification in Gitlab CI, which invokes get-developers without
argument to validate the DEVELOPERS file... no longer does anything
useful.

In order to fix this, we introduce an explicit action in
get-developers to request the validation of the DEVELOPERS file. The
implementation is trivial, as the validation is already done by
calling parse_developers(), but at least now we have an action that
does "nothing", except execute until the validation is done.

This is also much more explicit than "invoke get-developers without
arguments to just do validation".

The initial investigation of the issue was done by Ricardo Martincoski
<ricardo.martincoski@gmail.com> and reported at
https://patchwork.ozlabs.org/project/buildroot/patch/20220528014832.289907-1-ricardo.martincoski@gmail.com/,
but we have chosen to introduce a separate -v option rather than
making the validation part of the existing -c action, which serves a
different purpose.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-23 16:32:58 +02:00
Thomas Petazzoni 4c6e7a134f docs/manual: update documentation about partition-type-uuid convention in genimage.cfg
Whenever possible, we want to use the "shortcuts" provided by genimage
for the partition-type-uuid values:

 - U for the EFI System Partition
 - F for FAT32 partitions
 - L for root filesystem partitions and other Linux filesystems

In follow-up commits, we will convert existing genimage.cfg to this
convention, except for the root filesystem, if the existing
genimage.cfg specifies a partition-type-uuid that doesn't match the
one that "L" would imply. In this case, we will keep things as-is to
not break existing setups. However, for all future genimage.cfg files,
we recommend to use "L" for the root filesystem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-07-23 15:36:21 +02:00
Nicolas POIROT 5c5f30cbc7 docs/manual: fix configurations listing command
Signed-off-by: Nicolas POIROT <ni.poirot@laposte.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-06-22 22:09:26 +02:00
Thomas Petazzoni 793ee1011e Remove support for the NDS32 architecture
The support for this architecture has been removed from the upstream
Linux kernel, as of commit:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aec499c75cf8e0b599be4d559e6922b613085f8f

Which states:

  The nds32 architecture, also known as AndeStar V3, is a custom
  32-bit RISC target designed by Andes Technologies. Support was added
  to the kernel in 2016 as the replacement RISC-V based V5 processors
  were already announced, and maintained by (current or former) Andes
  employees.

  As explained by Alan Kao, new customers are now all using RISC-V,
  and all known nds32 users are already on longterm stable kernels
  provided by Andes, with no development work going into mainline
  support any more.

There has also been little to no maintenance done in Buildroot for
this architecture in recent times, so let's follow the Linux kernel
community decision and drop support for this CPU architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-06-19 18:30:45 +02:00
Peter Korsgaard 3ebac8f3c3 docs/website: update for 2022.02.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-06-19 13:10:00 +02:00
Peter Korsgaard 6081e7e53d docs/website/news.html: add 2022.05 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-06-06 23:12:45 +02:00
Peter Korsgaard 730baf05bf Update for 2022.05
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-06-06 22:14:04 +02:00
Quentin Schulz dd66a2f0b1 manual: add _TARGET_FINALIZE_HOOKS in the list of hooks
While reading the docs to find hooks, I completely missed the
LIBFOO_TARGET_FINALIZE_HOOKS one which was actually matching my
use-case.

Though it is documented in a subsection a few lines below, let's also
have it in the list of supported hooks so it's not hidden away.

Cc: Quentin Schulz <foss+buildroot@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-06-04 11:30:42 +02:00
Peter Korsgaard b7d8ce5b18 Update for 2022.05-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-05-30 18:27:29 +02:00
Peter Korsgaard 601323915e docs/website: update for 2022.02.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-05-29 22:54:54 +02:00
Arnout Vandecappelle (Essensium/Mind) 8b51205638 docs/manual/makeusers-syntax.txt: add caveat for upgrading
With the change of the range of UIDs that is generated from the
automatic ID (-1), it became apparent that there is a potential problem
with these automatic IDs when upgrading: they may have changed, which
means that persistent files that exist outside of the rootfs suddenly
have a different owner.

Add a caveat section to the manual, as well as an explanation of how to
work around the problem.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[yann.morin.1998@free.fr: slight rewording]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-05-28 23:43:15 +02:00
Peter Korsgaard ae4e99aa9e Update for 2022.05-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-05-18 11:03:29 +02:00
James Hilliard d4723bb9bd docs/manual: document flit/pep517 python package infrastructure
Note that the flit-bootstrap SETUP_TYPE is deliberately not
documented as it is used only for bootstrapping the host pep517
toolchain and should not be used anywhere else.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-05-04 21:47:37 +02:00
Peter Korsgaard 1b718adee4 docs/website: update for 2022.02.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-04-13 00:13:08 +02:00
Peter Korsgaard e2eb6ed72c docs/website: update for 2021.02.12
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-04-07 10:36:27 +02:00
Peter Korsgaard 16008ee1c0 docs/website: update for 2021.02.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-25 14:17:04 +01:00
Peter Korsgaard 2a7a2c7617 docs/website: update for 2021.11.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-24 23:31:52 +01:00
Yannick Brosseau db2b8a1ce2 docs/manual: Remove link to emdebian and replace with debian port page
In the list of full distribution, the FAQ contains a link to Emdebian.
This project stopped receiving updates in 2014 and the main web page does not exist anymore.
This replace the entry with a link to the Debian ports page.

Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-03-15 22:28:01 +01:00
Peter Korsgaard 501263241c docs/website/news.html: add 2022.02 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-09 13:55:32 +01:00
Peter Korsgaard 08967921c4 Update for 2022.02
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-08 23:08:11 +01:00
Giulio Benetti 1e1976a25d manual: board support: add instructions to test defconfig in the official docker
Sometimes new boards have not been tested with official docker so let's add
instructions to do it with utils/docker-run.

Cc: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-03-07 22:48:02 +01:00
Yann E. MORIN 6b59ed35a2 package/pkg-cargo: allow building in a sub-directory
Some packages have their rust sources as a sub-directory, rather
than at the root of the source tree.

Do like we do for autotools-package, and use the package's _SRCDIR
rather than the top-level directory $(@D).

Additionally, in such a situation, it is more than probable that
the Cargo.toml is also present in that sub-directory, so use that
when vendoring the package.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-07 22:04:54 +01:00
Simon Doppler ca9e55ad11 docs/manual: Document Kconfig requirements for uboot
When using uboot's legacy build system, the 'make uboot-menuconfig'
and 'make uboot-savedefconfig' targets are not available as they
are created by 'kconfig-package'.

Signed-off-by: Simon Doppler <dopsi@dopsi.ch>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-07 21:36:03 +01:00
Théo Lebrun efcb7eeabc docs: fix links to AsciiDoc
Links were aimed at the methods.co.nz domain, which is now returning
404s. The current situation of AsciiDoc is unclear to me: the Fedora
package points to this website, they own asciidoc.org, Wikipedia points
to this project as well but their Git repo's README includes the
following paragraph:

> AsciiDoc.py is a legacy processor for this syntax, handling an older
> rendition of AsciiDoc. As such, this will not properly handle the
> current AsciiDoc specification. It is suggested that unless you
> specifically require the AsciiDoc.py toolchain, you should find a
> processor that handles the modern AsciiDoc syntax.

https://github.com/asciidoc-py/asciidoc-py/blob/10.1.3/README.md

"AsciiDoc specification" pointing towards:
https://projects.eclipse.org/projects/asciidoc.asciidoc-lang

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-07 20:26:24 +01:00
Fabrice Fontaine 3d7f852ac5 docs/manual: remove override in conditional
Remove override of FOO_{CONF_OPTS,DEPENDENCIES} in conditional

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-05 17:27:04 +01:00
Peter Korsgaard 5b6e2ee8b7 Update for 2022.02-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-28 22:38:26 +01:00
Peter Korsgaard 0c4d496bf1 docs/website: update for 2021.02.10
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-28 22:17:20 +01:00
Peter Korsgaard 746d00ef9f docs/website: update for 2021.11.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-28 22:11:49 +01:00
Peter Korsgaard f3d0d7e6ff Update for 2022.02-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-20 23:24:46 +01:00
Peter Korsgaard 5ee6be2bdc Update for 2022.02-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-13 20:50:48 +01:00
Giulio Benetti 46beca0656 docs/manual: fix "+size = +" latex formatting
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-02-13 16:21:03 +01:00
Yann E. MORIN 4f59ababc0 package/doc-asciidoc: fix build for out-of-tree documents
The doc-asciidoc infra allows document to define sources and resources,
and those can only be local (there is no download support for documents).
The currently documented way to specify those is to use the $(pkgdir)
macro to point to the document sources and resources when they are along
the .mk.

However, this works only for sources and not for resources.

Indeed, sources are used to generate Makefile dependency rules, so
$(pkgdir) is expanded and evaluated during the call to $(doc-asciidoc),
while resources are expanded and evaluated when the rules are executed,
which always happen after all the parsing has be done, at which point
$(pkgdir) expands to the last Makefile that was parsed, which is always
Buildroot's own manual.

This went unnoticed so far because Buildroot's manual is 1) the last to
be parsed, and 2) not using $(pkgdir) anyway.

Additionally, $(pkgdir) is mostly an internal macro, that is, as this
change demonstrates, difficult to use, and thus should not be used, in
packages or in documents.

We fix that by introducing $(FOO_DOCDIR), similar to $(FOO_PKGDIR),
which points to the document directory. We choose not to name the
variable FOO_PKGDIR, because it semantically is not a package.

As a consequence, the last argument to the doc-asciidoc macro is now
superfluous, so it is removed, which causes a little bit of churn in
the main macro. As a further consequence, the third argument in the
inner macro is no longer needed either, so it too is removed, which
causes a bit more churn yet in the inner macro.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Frederic GARDES <frederic.gardes@orange.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-02-13 12:24:02 +01:00
Peter Korsgaard 2615732124 docs/manual/adding-packages-python.txt: drop <pkg>_NEEDS_HOST_PYTHON
Now that host-python2 is gone and the corresponding logic in pkg-python.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-13 12:11:50 +01:00
Giulio Benetti a3529b8020 docs/manual/adding-packages-generic: remove useless carriage return
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-11 10:10:18 +01:00
Peter Korsgaard da9f2a8fda docs/manual: drop python2 references
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-02-09 22:16:28 +01:00
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