Re: git: 6b84ea6ad195 - main - sysutils/bareos24-server: Replace BROKEN to IGNORE_i386

From: Matthias Andree <mandree_at_FreeBSD.org>
Date: Sun, 01 Feb 2026 17:41:03 UTC
Am 01.02.26 um 18:20 schrieb Jose Alonso Cardenas Marquez:
> The branch main has been updated by acm:
> 
> URL: https://cgit.FreeBSD.org/ports/commit/?id=6b84ea6ad1955a2bc13f17ddd3e0da66161f6506
> 
> commit 6b84ea6ad1955a2bc13f17ddd3e0da66161f6506
> Author:     Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
> AuthorDate: 2026-02-01 17:19:11 +0000
> Commit:     Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
> CommitDate: 2026-02-01 17:19:11 +0000
> 
>      sysutils/bareos24-server: Replace BROKEN to IGNORE_i386
> ---
>   sysutils/bareos24-server/Makefile | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sysutils/bareos24-server/Makefile b/sysutils/bareos24-server/Makefile
> index 720e0b801bc3..3659a0221781 100644
> --- a/sysutils/bareos24-server/Makefile
> +++ b/sysutils/bareos24-server/Makefile
> @@ -13,7 +13,7 @@ WWW=		https://www.bareos.org/
>   LICENSE=	AGPLv3 LGPL3
>   LICENSE_COMB=	multi
>   
> -BROKEN=		data type bugs, "core/src/stored/backends/chunked_device.cc:685:13: error: comparison of integers of different signs: 'ssize_t' (aka 'int') and 'uint32_t' (aka 'unsigned int')"
> +IGNORE_i386=	data type bugs, "core/src/stored/backends/chunked_device.cc:685:13: error: comparison of integers of different signs: 'ssize_t' (aka 'int') and 'uint32_t' (aka 'unsigned int')"
>   
>   CONFLICTS?=	bareos22-server bareos23-server bareos-server

There is a reason why I put a broad BROKEN in, and that reason is 
because the port *IS* broken.  It's a signedness bug, it leads to 
inconsistent behavior across platforms, and is not specific to i386 and 
you don't want data corruption in a backup software.

Read the standards on the usual conversions.

Translated to clear text:
on platforms where ssize_t has the same conversion rank as the uint32_t, 
the ssize_t argument will be converted to uint32_t and then compared as 
unsigned.
on platforms where ssize_t has a higher conversion rank (for instance 
where it's equivalent to signed long int), the uint32_t is converted to 
ssize_t and then compared as signed.

Go check with upstream if they have a solution, or check what 2.5 does 
in that area, else maybe propose one BUT DO NOT REMOVE THE BROKEN until 
you have a solution.  I will revert your change until you have a patch 
in place or a newer upstream version that fixes (not hides) the bug.

-- 
Matthias Andree
FreeBSD ports committer