Re: git: 525e857368c8 - main - sysutils/e2fsprogs: revert bogus qsort_r() patch.
Date: Sat, 01 Oct 2022 08:30:42 UTC
First of all, thanks for connecting me with the upstream developer.
On 10/1/22 00:13, Matthias Andree wrote:
> The branch main has been updated by mandree:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=525e857368c8c2de355ca00b0c35008be6ee8a3c
>
> commit 525e857368c8c2de355ca00b0c35008be6ee8a3c
> Author: Matthias Andree <mandree@FreeBSD.org>
> AuthorDate: 2022-10-01 07:10:08 +0000
> Commit: Matthias Andree <mandree@FreeBSD.org>
> CommitDate: 2022-10-01 07:13:09 +0000
>
> sysutils/e2fsprogs: revert bogus qsort_r() patch.
Which part of it was bogus?
It was a working fix, and the goal was to ensure that the upcoming
2022Q4 branch will be working with -CURRENT, by the way.
> delphij@ and the upstream maintainer were working on a autoconf-based
> solution, and this patch was not approved. Remove it and mark
> port BROKEN on systems that changed qsort_r() for the GNU-like API.
I think I have made it pretty clear in our discussion with upstream
maintainer that the current versions of e2fsprogs are NOT really using
qsort_r at all, and it is always using sort_r_simple.
sort_r_simple is platform independent, there is no compelling to leave
the port broken just because the sort_r author decided it was a good
idea to redefine qsort_r (the maintainer also accepted my proposal to
change qsort_r to (qsort_r) earlier this week:
https://github.com/noporpoise/sort_r/blob/master/sort_r.h .
So based on the reasons above, my change shouldn't even affect the
resulting binary.
And it's my believe that -CURRENT users deserves better treatment than
marking a "trunk" port broken like this, just because a better solution
is being worked on by the upstream. The ports patching mechanism exists
for a reason, and we can do better than this.
>
> PR: 266227
> ---
> sysutils/e2fsprogs/Makefile | 6 +++++-
> .../e2fsprogs/files/patch-lib_support_sort__r.h | 21 ---------------------
> 2 files changed, 5 insertions(+), 22 deletions(-)
>
> diff --git a/sysutils/e2fsprogs/Makefile b/sysutils/e2fsprogs/Makefile
> index 9a89d8de14f6..1205caa9179a 100644
> --- a/sysutils/e2fsprogs/Makefile
> +++ b/sysutils/e2fsprogs/Makefile
> @@ -13,7 +13,7 @@
>
> PORTNAME= e2fsprogs
> PORTVERSION= 1.46.5
> -PORTREVISION?= 2
> +PORTREVISION?= 3
> CATEGORIES?= sysutils
> MASTER_SITES= KERNEL_ORG/linux/kernel/people/tytso/${PORTNAME}/v${PORTVERSION}
>
> @@ -142,6 +142,10 @@ USE_PERL5= build
>
> .include <bsd.port.pre.mk>
>
> +.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400072
> +BROKEN= incompatible qsort_r() API. Upstream working on a autoconf-based fix.
> +.endif
This has unnecessarily broke all ports that uses sysutils/e2fsprogs as
MASTERDIR, which includes misc/e2fsprogs-libuuid, which do not
necessarily use sort_r.h, please fix or revert.
Cheers,