Uploaded image for project: 'Percona XtraBackup'
  1. Percona XtraBackup
  2. PXB-502

LP #1681721: Update bundled libarchive from upstream or remove it

Details

    • Bug
    • Status: Done
    • High
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      **Reported in Launchpad by Alexey Kopytov last update 10-11-2017 08:14:28

      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/innobase/xtrabackup/src/libarchive/libarchive/CMakeFiles/archive_static.dir/archive_read_support_format_iso9660.c.o
      /home/software/percona-xtrabackup-2.4.6/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_read_support_format_iso9660.c:
      In function parse_rockridge:
      /home/software/percona-xtrabackup-2.4.6/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_read_support_format_iso9660.c:2030:7:
      error: this statement may fall through [-Werror=implicit-fallthrough=]
      if (p[0] == 'S' && p[1] == 'T'
      ^
      /home/software/percona-xtrabackup-2.4.6/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_read_support_format_iso9660.c:2045:3:
      note: here
      case 'T':
      ^~~~

      Apparently this particular code has been fixed upstream a long time ago,
      see:
      https://github.com/libarchive/libarchive/commit/baa7279089c8545bc0bdd264af5726942055bdb3

      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?

      Attachments

        Activity

          People

            Unassigned Unassigned
            lpjirasync lpjirasync (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Smart Checklist