[Rpm-maint] [PATCH] Revert "Only build bundled fts if system has a bad version that doesn't handle LFS"

Dmitry V. Levin ldv at altlinux.org
Wed Aug 16 20:51:04 UTC 2017


On Thu, Aug 10, 2017 at 08:15:02PM +0300, Panu Matilainen wrote:
> The subtle test is too subtle for its own good, this patch breaks
> thirty six testcases on 32bit architectures.
> 
> This reverts commit 1eadabe4453ef32eb6c3bc837094e1ca998affcc.

Hi Panu,

With all due respect for your rpm.org maintainership, this hasty decision
is very disappointing to say the least, both from organizational and
technical points of view.

Silent reversion of contributed patches is definitely not the right way
to attract young talented contributors to the project, just the otherwise.

If one has some issues with the patch that was submitted to this mailing
list and reviewed here, the very least that's expected from an experienced
and polite maintainer like you is to bring these issues back to this
mailing list.

Please prove me wrong, but there was no urgency in reverting this commit
without prior discussion the way you did.  If you brought the issue here,
you'd promptly got an answer that the patch is correct and those
thirty-something testcases have been broken because of test suite
deficiencies. 

Indeed, how could you expect them not to break if the tool you use for
testing - fakechroot - is simply not aware of LFS-capable fts in libc?

Adding fts64* support to fakechroot isn't rocket science.
In fact, we have a patch in testing already.

> ---
>  build/files.c    | 11 +----------
>  configure.ac     |  8 --------
>  misc/Makefile.am |  5 +----
>  3 files changed, 2 insertions(+), 22 deletions(-)
> 
> diff --git a/build/files.c b/build/files.c
> index a507a14..c7fe248 100644
> --- a/build/files.c
> +++ b/build/files.c
> @@ -28,16 +28,7 @@
>  #include <rpm/rpmbase64.h>
>  
>  #include "rpmio/rpmio_internal.h"	/* XXX rpmioSlurp */
> -
> -#ifdef HAVE_FTS_H
> -# include <fts.h>
> -# define Fts_open fts_open
> -# define Fts_read fts_read
> -# define Fts_close fts_close
> -#else
> -# include "misc/rpmfts.h"
> -#endif
> -
> +#include "misc/rpmfts.h"
>  #include "lib/rpmfi_internal.h"	/* XXX fi->apath */
>  #include "lib/rpmug.h"
>  #include "build/rpmbuild_internal.h"
> diff --git a/configure.ac b/configure.ac
> index 3ff749d..d7811a2 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -759,14 +759,6 @@ AC_CHECK_FUNCS(
>     [mkstemp getcwd basename dirname realpath setenv unsetenv regcomp lchown utimes],
>     [], [AC_MSG_ERROR([function required by rpm])])
>  
> -
> -# This is fairly subtle: old non-LFS compatible FTS implementations have an
> -# explicit check against -D_FILE_OFFSET_BIT S == 64, which has been set
> -# by our call to AC_SYS_LARGEFILE for systems that need it. So the apparent
> -# existence check ends up testing for LFS compatibility as well.
> -AC_CHECK_HEADERS([fts.h])
> -AM_CONDITIONAL([USE_BUNDLED_FTS_KLUDGE], [test "$ac_cv_header_fts_h" = no])
> -
>  AC_LIBOBJ(fnmatch)
>  
>  dnl check if python is requested
> diff --git a/misc/Makefile.am b/misc/Makefile.am
> index bea0115..e413a21 100644
> --- a/misc/Makefile.am
> +++ b/misc/Makefile.am
> @@ -9,8 +9,5 @@ EXTRA_DIST = \
>  
>  noinst_LTLIBRARIES = libmisc.la
>  
> -libmisc_la_SOURCES =
> -if USE_BUNDLED_FTS_KLUDGE
> -libmisc_la_SOURCES += fts.c rpmfts.h
> -endif
> +libmisc_la_SOURCES = fts.c rpmfts.h
>  libmisc_la_LIBADD = @LTLIBOBJS@

-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20170816/f970dff6/attachment-0001.asc>


More information about the Rpm-maint mailing list