Hi Giulio,
On 3/23/26 21:33, Giulio Benetti wrote:
> Hello,
>
> this is just to to ask if it's intentional that at least one Crypto backend
> must be chosen.
It wasn't intentional, but nowadays there is no project where security
is completely off.
Also just for integrity, checking the sha256 requires one crypto backend
even if the SWUs are not signed.
> I ask this because in Buildroot we have by default no Crypto selected so
> while bumping to version 2025.12 it fails with:
> ```
> Failed: -Wl,--start-group -lpthread -lubootenv -ljson-c -lconfig -lz -
> Wl,--end-group
> Output of:
> /home/giuliobenetti/git/upstream/test-swupdate/bootlin-armv5-uclibc/
> host/bin/arm-linux-gcc -Wall -Ws
> hadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-
> parameter -Wunused-function -Wunused-value -Wmissing-prototypes -
> Wmissing-declarations -Wno-format-security -Wno-format-truncation -Wold-
> style-definition -finline-limit=0 -fno-builtin-strlen -fomit-frame-
> pointer -ffunction-sections -fdata-sections -fno-guess-branch-
> probability -funsigned-char -falign-functions=1 -falign-jumps=1 -falign-
> labels=1 -falign-loops=1 -static-libgcc -fno-unwind-tables -fno-
> asynchronous-unwind-tables -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -O2 -g0 -o swupdate_unstripped -Wl,--sort-common
> -Wl,--sort-section,alignment -Wl,--gc-sections -Wl,--start-group core/
> built-in.o handlers/built-in.o crypto/built-in.o bootloader/built-in.o
> suricatta/built-in.o ipc/built-in.o corelib/lib.a mongoose/lib.a parser/
> lib.a fs/lib.a containers/lib.a -Wl,--end-group -Wl,--start-group -
> lpthread -lubootenv -ljson-c -lconfig -lz -Wl,--end-group
> ==========
> /home/giuliobenetti/git/upstream/test-swupdate/bootlin-armv5-uclibc/
> host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-
> uclibcgnueabi/14.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/
> ld: cannot find crypto/built-in.o: No such file or directory
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:428: swupdate_unstripped] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [package/
pkg-generic.mk:273: /home/giuliobenetti/git/
> upstream/test-swupdate/bootlin-armv5-uclibc/build/
> swupdate-2025.12/.stamp_built] Error 2
> make: *** [Makefile:23: _all] Error 2
> ```
Confirmed, not wanted, but that is.
>
> because no Crypto backend is chosen. It can be obtained with these options:
> ```
> HAVE_LIBEBGENV=n HAVE_LIBEXT2FS=n HAVE_LIBARCHIVE=n HAVE_LIBBLKID=n
> HAVE_LIBCURL=n HAVE_LIBFDISK=n HAVE_LIBGPIOD=n HAVE_GPGME=n
> HAVE_URIPARSER=n HAVE_LIBWEBSOCKETS=n HAVE_LUA=n HAVE_MBEDTLS=n
> HAVE_LIBMTD=n HAVE_LIBUBI=n HAVE_LIBSSL=n HAVE_LIBCRYPTO=n HAVE_P11KIT=n
> HAVE_LIBSYSTEMD=n HAVE_WOLFSSL=n HAVE_ZCK=n HAVE_LIBZEROMQ=n HAVE_ZLIB=y
> HAVE_ZSTD=n HAVE_LIBRSYNC=n
> ```
>
> Just to make sure if I need to add a condition to have at least one
> Crypto backend.
Best regards,
Stefano