This is the latest version available in Debian (which is our upstream
for this package). The changelog is:
[ Ben Hutchings ]
* Fix FTBFS with gcc 11 (Closes: #1005413):
- Remove exception specifications
* Fix module build for recent kernel versions (Closes: #1005414):
- Stop generating module vermagic in cloop.c. This has always been handled
by modpost and doing it here now results in build failure.
- Avoid using inode::i_bdev, which was removed in Linux 5.11.
- Use set_disk_ro() instead of set_device_ro(). The latter was not meant to
be used by device drivers and was removed in Linux 5.11.
- Use blk_{mq_alloc,cleanup}_disk() instead of separate queue and disk
allocation and cleanup on Linux 5.15+, since alloc_disk() was removed.
- Handle potential failure of add_disk() on Linux 5.15+.
- Use kernel_read() instead of vfs_read() and set_fs(). set_fs() is no
longer defined on some architectures, and kernel_read() has had large
file support since Linux 2.6.31.
.
[ Vagrant Cascadian ]
* debian/rules: Build tarball reproducibly, using consistent time, uid,
gid and sort order. Thanks to Dhole for the initial patch.
The "Fix FTBFS with gcc 11" allows us to remove the -std=c++14
workaround added in commit
7e147e778f ("package/cloop: fix build
with gcc >= 9").
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Arnout: use debian snapshot instead of debian-debug]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Current gobject-introspection releases (>= 1.80.1) work with musl, so
relax the C library requirement for python-gobject to match.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Current versions of gobject-introspection build with musl (Alpine
dropped the last compatibility patch with the update to 1.80.1 [0]), so
relax the dependency on glibc.
[0] 528c4ee639
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
[yann.morin.1998@free.fr: split off to its own patch]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
There are a lot of interconnected changes in these releases:
Since 2.79.0, the introspection (i11n) data for libglib2 was moved out
of gobject-introspection (GOI) and into libglib2 itself, thus building
libglib2 with i11n needs tools provided by GOI [0].
However, GOI needs libglib2, but it is content with a libglib2 that
does not have i11n. So we introduce a new package, libglib2-bootstrap,
that provides a minimalist libglib2 that is enough to build GOI, build
GOI, then build the final, complete libglib2 with i11n.
However, not every package needs i11n, so we make that optional: if GOI
is enabled, libglib2 will have i11n, otherwise it won't.
This means the dependency ordering has changed: GOI used to
build-depend on libglib2, but now that's the other way around. This
will cause issues with packages that build-depend only on GOI and then
expect a libglib2 with i11n; those will only get a basic libglib2
without i11n at build time, but a full one at runtime. Those packages
will have to be fixed to also include a build dependency on libglib2.
The version bump between libglib2 and GOI must be done in lock-step,
because newer GOI does not support an older libglib2 and, as seen
above, newer libglib2 has the data previously provided by older GOI.
As a consequence of now generating its own i11n data, libglib2 needs to
be able to run target programs during the build, to extract data layout
and generate i11n data, a bit like GOI does [1]. So we provide a qemu
wrapper similar to the one in nodejs-src, and use that as meson's
exe_wrapper.
Except for our first patch, the other libglib2 patches were backports,
and are present upstream already, so we can drop them; the first patch
needs being refreshed.
We also move the remaining patch to a versioned sub-directory, so that
it is easier to share the patches between libglib2-bootstrap and
libglib2, should we need to add more patches in the future.
Drop the "giscanner: remove dependency on distutils.msvccompile"
patch, included upstream.
Updated hash for giscanner/scannerlexer.l is due to code changes, no
change in license, see [2] (two commits in 2024).
[0] https://gitlab.gnome.org/GNOME/glib/-/blob/2.79.0/NEWS?ref_type=tags#L8-17
[1] technically, this should not be needed if libglib2 only uses the
wrappers provided by GOI: g-ir-scanner et al. However, its
meson.build explicitly checks that it can run generated binaries
through the exe_wrapper. Investigating if that's really needed is
left as an exercise for the interested party: in practice, we will
have to be able to run via host-qemu, so this does not add any build
time overhead.
[2] https://gitlab.gnome.org/GNOME/gobject-introspection/-/commits/1.82.0/giscanner/scannerlexer.l?ref_type=tags
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Required to build with gobject-introspection >= 1.82.0, to be bumped
in a later commit.
License information has been restructured according to REUSE
guidelines, see [1]. Update hashes and license information
accordingly.
[1] a06d43db36
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Tested-by: Marcus Hoffmann <buildroot@bubu1.eu>
[Thomas: do not list .reuse/dep5 in license files]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since the bump of NetworkManager to 1.50.0 in Buildroot commit
489d1f9249, the
tests.package.test_python_sdbus_networkmanager.TestPythonPy3SdbusNetworkmanager
is failing to build as NM >= 1.50.0 needs headers >= 4.20.
We fix this test by using a newer toolchain. This means we can't use
anymore the basic toolchain config, so we use a fully specific
defconfig for this test.
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/9019173666
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since the bump of NetworkManager to version 1.50 in Buildroot commit
489d1f9249, it uses the
NETLINK_GET_STRICT_CHK netlink macro, which only appeared in Linux
4.20, so let's add a dependency on headers >= 4.20.
This has been detected by our
tests.package.test_python_sdbus_networkmanager.TestPythonPy3SdbusNetworkmanager
at:
https://gitlab.com/buildroot.org/buildroot/-/jobs/9019173666
NetworkManager is not selected by any package, so only fixing
package/network-manager/Config.in is necessary.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
and fix dd of=sdc because it is very dangerous to have exiting drive in example
Signed-off-by: Cherniaev Andrei <dungeonlords789@naver.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Updating directly to 4.x is too difficult and complex, as mender 4.x is
a complete rewrite in C++, with several new dependencies and changes.
As such, update to the last version that was written in Go, which is
3.5.3. The following changes are necessary:
The artifact_info file is no longer supported. Instead, mender now expects a
bootstrap.mender artifact created by mender-artifact /var/lib/mender.
See the following for more information:
https://northerntech.atlassian.net/browse/MEN-2585https://northerntech.atlassian.net/browse/MEN-2583https://docs.mender.io/release-information/release-notes-changelog/mender-client#mender-3-5-0-1https://github.com/mendersoftware/mender/blob/3.5.3/Documentation/automatic-bootstrap-artifact.md
- Remove all instances of creating or copying an artifact_info file
from board examples and package/mender.
- Add a generate_mender_bootstrap_artifact method to
board/mender/x86_64/post-image-efi.sh which creates a proper
bootstrap.mender file and places it in the data partition.
- Add a post-build.sh script to support/testing/tests/package/test_mender
with the same generate_mender_bootstrap_artifact method with one change:
As the rootfs.ext4 file is not yet created; we omit the optional
--provides "rootfs-image.checksum:${img_checksum}" argument when
generating the bootstrap.mender file.
Mender expects the device_type file to exist in /var/lib/mender/device_type.
This is further supported by the following line in tests/Dockerfile.daemon:
`echo device_type=docker-client > /var/lib/mender/device_type`
Add a migration section in docs/manual/migrating.adoc
Update the package/mender/readme.txt to include a quick mention of the
bootstrap.mender artifact change.
License changes:
New:
vendor/github.com/klauspost/compress/internal/snapref/LICENSE (BSD-3-Clause)
vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt (MIT)
Removed:
vendor/github.com/klauspost/compress/internal/snapref/LICENSE
vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt
Modified:
LICENSE: Update year from 2022 to 2024
LIC_FILES_CHKSUM.sha256: Sum of all Licenses changed
vendor/github.com/mendersoftware/mender-artifact/LICENSE
- Update year from 2022 to 2023
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[Arnout:
- fix LIC_FILES_CHKSUM.sha256 hash
- Better URL for bootstrap artifact doc
- Migrate to 2025.02 instead of 2024.11
- Improve migrating text (editorial changes)
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This patch updates the documentation for Kria SOMs for reflashing
the new qspi.bin binary file.
The qspi.bin is a unified binary containing both the boot.bin and
u-boot.itb files for simplifying the reflashing process and also
enabling the BIRT for reflashing the qspi.bin image as either
"ImageA" or "ImageB".
Signed-off-by: Neal Frager <neal.frager@amd.com>
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch migrates the zynqmp defconfigs to binman applying the necessary
upstream uboot patches.
With binman, u-boot can now build the correct u-boot.itb files for kria
natively. So the post-build fixup scripts are no longer needed and can
be removed.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch adds the zynqmp binman patches that are already committed to the
u-boot next branch post U-Boot v2025.01 in preparation for v2025.04.
Upstream: 10de9b5a6a
Upstream: 290385f374
Upstream: d92fdb6067
Upstream: afbc1fa5f1
Upstream: 2eb8cd5bd4
Upstream: a4c9811910
[Tested on Kria KV260 starter kit]
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Neal Frager <neal.frager@amd.com>
[Peter: extend commit message to clarify what U-Boot release "next" refers to]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
u-boot has introduced a new file called qspi.bin for users who boot from a
qspi flash device. It combines the spl/boot.bin and u-boot.itb files into a
single binary that can be written to the qspi flash.
Here is an example of how binman generates the qspi.bin:
a4c9811910
At the moment, the qspi.bin is only used for the zynqmp platform, but other
platforms may adopt it, so the buildroot support has been made in a generic
way.
This patch adds the necessary support for buildroot to install this binary.
[Tested on Kria KV260 starter kit]
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When using binman to generate u-boot images, there will no longer be a make
rule for generating files produced by binman. However, these files will still
need to be installed to the output/images directory.
One such file is the u-boot.itb. If the u-boot.itb is generated by binman,
then the file still needs to be copied, but without the make rule.
Here is an example of how binman generates the u-boot.itb:
a4c9811910
[Tested on Kria KV260 starter kit]
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since Buildroot commit [1], util-linux libuuid is failing to build
with uclibc toolchains, when there is no thread support
(that is, when BR2_PTHREADS_NONE=y).
Builds are failing with error:
libuuid/src/gen_uuid.c:83:10: fatal error: pthread.h: No such file or directory
83 | #include <pthread.h>
| ^~~~~~~~~~~
This failure is due to the upstream commit [2], which introduced the
pthread dependency.
This commit fixes the issue by adding package patches, disabling
the uuidd cache in case the libptread (or the pthread_atfork function)
is not available.
Fixes:
https://autobuild.buildroot.org/results/e5856cf6f3b8512ededa17d20db2b330a478dd8e/
[1] f14929c657
[2] 25bd5396ab
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- Add missing packages to the mender package list.
- Update broken URL links.
- Remove the example mender artifact post-image script in favor of directing
the user to the board/mender/x86_64/post-image-efi.sh script.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
- Move the check for /var/run/mender.pid to before self.run_mender_test()
for the two tests using sysvinit.
- Instead of checking for /var/run/mender.pid during the systemd test,
check to ensure "systemctl is-active mender-client" returns "active"
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[Arnout: fix flake8 issue]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
The logic behind making /var/lib/mender a symlink to itself is to
detect if a filesystem is read-only. However, this creates a few problems:
1) The logic confusing.
2) The official mender documentation suggests four partitions minimum:
- boot
- rootfs A
- rootfs B
- data
If a user is to follow the official documentation, which they should,
then there is no need for any additional logic for a system setup with
a read-only filesystem, as the data partition is always read-write.
3) The post-build.sh script in the board/mender/x86_64 directory removes
the symlink.
- Remove symlinking /var/lib/mender to itself
- Remove the difficult to understand logic dealing with the symlinks
in S42mender, mender-client.service.
- Remove the logic dealing with the symlink in
board/mender/x86_64/post-build.sh
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Put the write rootfs-image argument before the compression argument.
This change makes the logic easier to follow.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
When glibc was bumped from 2.39 to 2.40 in commit
74cb378aff ("package/{glibc, localdef}:
bump to version 2.40"), the IGNORE_CVES entries should have been
dropped, as they were applicable to the 2.39 branch. Drop them now.
We did verify the pkg-stats output, and those CVEs don't show up as
affecting glibc even after this change, as expected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Some sites have broken DNS entries where some A or AAAA records point
to a nonexistent machine. This causes a long delay (~135sec here) before
a fallback to another IP is attempted. This is the case for example for
sigrok.org, which IPv6 entry is not reachable (at least from the few
locations I have access to, while other IPv6 servers are reachable).
Add a relatively small timeout on connect for the few download backends
where we can easily drive that setting:
- for curl and wget, that timeout only applies when establishing the
TCP connection, i.e. the three-way handshake;
- for scp and sftp, that timeout also include the ssh handshake;
- for svn, it is not explicit what the timeout is about, but the
documentation states "Timeout for HTTP requests in seconds".
In modern times, we expect that we can indeed establish those handshakes
in less than 10s; anything taking longer is in practice an unreachable
site...
For other download mechanism (bzr, cvs, git, hg), as well as
post-processing helpers (cargo, go), it does not seem possible to set
such a timeout.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Some devices that libsigrok can talk to, need a firmware to be uploaded.
libsigrok comes with a set of rules to allow non-root users to upload
those firmware blobs.
Depending on how the system is configured, different set of rules are
needed [0] (yes, it's documented on the fx2lafw page, not on the
libsigrok one [1]). Basically:
- 60-libsigrok.rules is always used;
- 61-libsigrok-uaccess.rules is used when systemd-logind is used;
- 61-libsigrok-plugdev.rules is used when systemd-logind is not used.
For systems without udev, it is the responsibility of the user to
implement proper access management if they need non-root to upload
firmware files.
[0] https://sigrok.org/wiki/Fx2lafw#Install_the_udev_rules_file
[1] https://sigrok.org/wiki/Libsigrok
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Drop the patch, that has been upstreamed as b2359c5c994c (libserialport:
Fix Linux files not compiled in with a toolchain for ucLinux).
Accordingly, drop the now superfluous autoreconf.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that we have added binutils 2.44, made binutils 2.43 the default,
let's continue to follow our usual policy and drop support for
binutils 2.41.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that we've added support for binutils 2.44, follow our usual
process of masking the previous release, 2.43, the default one.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>