summaryrefslogtreecommitdiffstats
path: root/src/libs/ifwtools/repositorygen.h
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2021-03-02 12:21:18 +0200
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2021-09-14 14:25:18 +0300
commit50292e14683727e6da81799cedd4ee352c3e0497 (patch)
treeaa4bce967dee16e69aafef653f3c3f9ba1849d6c /src/libs/ifwtools/repositorygen.h
parent2076b1384754301ba409b6fe65551eaf55cce401 (diff)
Add support for handling archive files with libarchive
libarchive is a multi-format archive and compression library written in C and licensed under the new BSD license. Usage of libarchive brings in support for additional archive formats (in addition to 7z) with the installer framework, like zip and tar, with several available compression methods like gzip, bzip2 and xz. libarchive will coexist as a supported archive format handler with the LZMA SDK currently used in the framework, which will continue to be used for handling the 7-Zip file format. This change introduces classes for handling archive operations using both libraries, removes most calls to the old Lib7z facade and migrates the code base to use the new handling methods. Task-number: QTIFW-2255 Change-Id: I8d77110ded503060495a3d6fdfdbc26281df9453 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src/libs/ifwtools/repositorygen.h')
-rw-r--r--src/libs/ifwtools/repositorygen.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libs/ifwtools/repositorygen.h b/src/libs/ifwtools/repositorygen.h
index 0da81db67..5f67b8220 100644
--- a/src/libs/ifwtools/repositorygen.h
+++ b/src/libs/ifwtools/repositorygen.h
@@ -77,6 +77,8 @@ PackageInfoVector IFWTOOLS_EXPORT createListOfRepositoryPackages(const QStringLi
QHash<QString, QString> IFWTOOLS_EXPORT buildPathToVersionMapping(const PackageInfoVector &info);
+void IFWTOOLS_EXPORT createArchive(const QString &filename, const QStringList &data);
+
void IFWTOOLS_EXPORT compressMetaDirectories(const QString &repoDir, const QString &existingUnite7zUrl,
const QHash<QString, QString> &versionMapping, bool createSplitMetadata, bool createUnifiedMetadata);
@@ -86,13 +88,15 @@ void splitMetadata(const QStringList &entryList, const QString &repoDir, QDomDoc
void IFWTOOLS_EXPORT copyMetaData(const QString &outDir, const QString &dataDir, const PackageInfoVector &packages,
const QString &appName, const QString& appVersion, const QStringList &uniteMetadatas);
-void IFWTOOLS_EXPORT copyComponentData(const QStringList &packageDir, const QString &repoDir, PackageInfoVector *const infos);
+void IFWTOOLS_EXPORT copyComponentData(const QStringList &packageDir, const QString &repoDir,
+ PackageInfoVector *const infos, const QString &archiveSuffix);
void IFWTOOLS_EXPORT filterNewComponents(const QString &repositoryDir, QInstallerTools::PackageInfoVector &packages);
QString IFWTOOLS_EXPORT existingUniteMeta7z(const QString &repositoryDir);
PackageInfoVector IFWTOOLS_EXPORT collectPackages(RepositoryInfo info, QStringList *filteredPackages, FilterType filterType, bool updateNewComponents, QStringList packagesUpdatedWithSha);
-void IFWTOOLS_EXPORT createRepository(RepositoryInfo info, PackageInfoVector *packages, const QString &tmpMetaDir, bool createComponentMetadata, bool createUnifiedMetadata);
+void IFWTOOLS_EXPORT createRepository(RepositoryInfo info, PackageInfoVector *packages, const QString &tmpMetaDir,
+ bool createComponentMetadata, bool createUnifiedMetadata, const QString &archiveSuffix);
} // namespace QInstallerTools
#endif // REPOSITORYGEN_H