[libvirt] [PATCH] maint: Update to latest gnulib

Michal Privoznik mprivozn at redhat.com
Tue Jan 2 13:55:51 UTC 2018


On 01/02/2018 02:09 PM, John Ferlan wrote:
> 
> 
> On 01/02/2018 04:28 AM, Michal Privoznik wrote:
>> Unfortunately, since gnulib's commit of 2c5d558745 there's an
>> unused parameter to stat_time_normalize() function which gnulib
>> developers don't want to fix [1]. Therefore, we have to work
>> around it by temporarily suspending -Wunused-parameter.
>>
>> 1: http://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00000.html
>>
>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>> ---
>>
>> While we have 'gnulib update free' push rule, this one is not trivial at
>> all and thus I have not pushed it. It's ugly and I don't like it. So any
>> ideas are welcome.
>>
>>  .gnulib                    | 2 +-
>>  bootstrap                  | 4 ++--
>>  src/storage/storage_util.c | 3 +++
>>  3 files changed, 6 insertions(+), 3 deletions(-)
>>
> 
> 
> No bright ideas on this other than perhaps only including changes just
> prior to the particular one that breaks things

Unfortunately, that is not possible. The gnulib's commit that breaks
things was merged 23rd of November and we need the most recent commit
which fixes the stupid year check.

> or somehow revert just
> that one in our local copy.

I'm worried that in the end this would make us diverge from the gnulib's
upstream too much.

>
> Other thoughts require additional local changes just to "work around"
> the broken definition.  Such as grabbing the "old" stat-time.h, rename
> it, save it in libvirt sources, then use that new name instead of the
> new .gnulib file. That's probably worse than what you've done though.

Agreed.

> 
> At this point, I think your solution to minimize the impact to one
> include file is perhaps the easiest/best solution albeit not perfect.
> 
> It's interesting that there is no desire to fix this problem in .gnulib
> especially since there are already 2 patches proposed and in reality the
> change fundamentally breaks on every platform other than __sun when
> STAT_TIMESPEC is defined just because it's possible (or more desirable
> in the reviewers feedback) to compile with ignore unused-parameter.
> Wonder what would happen if someone posted a patch to .gnulib to revert
> the change for the reason that it breaks other platforms that don't
> desire to configure in that manner. Perhaps Eric Blake would have some
> thoughts or additional muscle with the .gnulib maintainers.

That's what I hope for. Since the problem lies in a header file I think
it's impossible to require all projects that use gnulib to compile
without -Wunused-parameter.

Another solution might be to move the function that causes troubles into
.c since it's purely internal function and nobody outside gnulib
calls/should call it. At least then we could use different sets of
CFLAGS for libvirt and gnulib (not that I'd fancy it or know how to do
it).

Michal




More information about the libvir-list mailing list