Update bundled libarchive from upstream or remove it
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Percona XtraBackup moved to https://jira.percona.com/projects/PXB | Status tracked in 2.4 | |||||
2.3 |
Fix Released
|
High
|
Vasily Nemkov | |||
2.4 |
Fix Released
|
High
|
Vasily Nemkov |
Bug Description
XtraBackup fails to build with GCC 7 with -Werror. One of the reasons is
GCC 7 being more pedantic about fall-through code in the switch()
statement in libarchive:
[64%] Building C object
storage/
/home/software/
In function ‘parse_
/home/software/
error: this statement may fall through [-Werror=
if (p[0] == 'S' && p[1] == 'T'
^
/home/software/
note: here
case 'T':
^~~~
Apparently this particular code has been fixed upstream a long time ago,
see:
https:/
I see the following ways to fix that (from trivial to more invasive):
1. Merge libarchive upstream
2. Get rid of the bundled libarchive. There were reasons to have a
modified bundled libarchive, but chances are they are long gone. See bug
#1088315 and bug #977998. I have some vague memories about the
particular problem in #977998 being fixed upstream.
3. Get rid of libarchive and the tar streaming format altogether. tar
streaming has too many limitations anyway, perhaps it's time to
deprecate it?
I think we should remove streaming in tar format, but it will be done in the next major release. For 2.3 and 2.4 I'll investigate 1 and 2.