• Elvis Angelaccio's avatar
    Enable libarchive raw format to support "single-file" archives · 69453c83
    Elvis Angelaccio authored
    libarchive provides a "raw format" that returns a single fake entry
    called 'data' and the data for that entry is the whole input archive.
    We can use this raw format to handle the "single-file" archives for
    which we had the special KArchive-based singlefile plugins.
    The advantage is that libarchive supports more formats than KArchive. In
    particular with this commit we add support for the following new
    formats that KArchive cannot handle:
    - application/zlib
    - application/x-lz4
    - application/x-lzip
    - application/x-lrzip
    - application/x-lzop
    Note 1: This fake 'data' entry requires a bunch of small changes in different
    places, for which we use the recently 'displayName' property of
    Note 2: the documentation of archive_read_support_format_raw says that
    it should not be always enabled, so we only enable it if we have a
    "single-file" mimetype. For this purpose we generate in cmake a
    LIBARCHIVE_RAW_MIMETYPES define that will be auto...