summaryrefslogtreecommitdiffstats
path: root/doc
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 /doc
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 'doc')
-rw-r--r--doc/installerfw.qdoc65
1 files changed, 58 insertions, 7 deletions
diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc
index 0d60a3fca..161e1a191 100644
--- a/doc/installerfw.qdoc
+++ b/doc/installerfw.qdoc
@@ -992,9 +992,16 @@
\section1 Data Directory
The \c data directory contains the content that the installer extracts
- during the installation. You must package the data as a 7zip archive (.7z).
- You can use either the \l archivegen tool that is delivered with the Qt
- Installer Framework or some other tool that generates 7zip archives.
+ during the installation. The data must be packaged into archive files. This is either
+ done automatically by \l binarycreator and \l repogen when creating an installer or
+ a repository, respectively, or you can do this beforehand for more control.
+
+ For manual archive creation you can use either the \l archivegen tool that is
+ delivered with the Qt Installer Framework or some other tool that generates archives in
+ any of the file formats: \c{7z}, \c{zip}, \c{tar.gz}, \c{tar.bz2} and \c{tar.xz}.
+
+ \note If the Installer Framework tools were built without libarchive support,
+ only \c{7z} format is supported.
*/
/*!
@@ -1248,6 +1255,12 @@
\li Comma-separated list of packages to be updated based on the component sha
checksum instead of the version number. This parameter adds a new \c <ContentSha1>
node to the \c Updates.xml.
+ \row
+ \li --af or --archive-format 7z|zip|tar.gz|tar.bz2|tar.xz
+ \li Set the format used when packaging new component data archives. If
+ you omit this option, the 7z format will be used as a default.
+ \note If the Installer Framework tools were built without libarchive
+ support, only \c{7z} format is supported.
\endtable
\note We recommend that you use the \c {--update-new-packages} parameter
to update an existing repository, especially if you have a content delivery
@@ -1258,20 +1271,58 @@
\section1 archivegen
- You can use \c archivegen to package files and directories into 7zip (.7z)
- archives.
+ You can use \c archivegen to package files and directories into archives.
The \c archivegen tool expects the following parameters in the following
order:
\code
- archivegen <name.7z> <data>
+ archivegen <archive_name> <data>
\endcode
- Where \e <name.7z> is the path and file name of the archive to create and
+ Where \e <archive_name> is the path and file name of the archive to create and
\e <data> contains the paths and names of the files or directories to
package into the archive, separated by spaces.
+ \section2 Summary of archivegen Parameters
+
+ \table
+ \header
+ \li Parameter
+ \li Use
+ \row
+ \li -h, --help
+ \li Displays this help.
+ \row
+ \li -v, --version
+ \li Displays version information.
+ \row
+ \li -f, --format <format>
+ \li Format for the archive. Defaults to 7z.
+ \note If the Installer Framework tools were built without libarchive
+ support, only \c{7z} format is supported.
+ \list
+ \li 7z (7z archive)
+ \li zip (ZIP archive)
+ \li tar.gz (gzip compressed tar archive)
+ \li tar.bz2 (bzip2 compressed tar archive)
+ \li tar.xz (xz compressed tar archive)
+ \endlist
+ \row
+ \li -c, --compression <5>
+ \li Defaults to 5 (Normal compression). \note Some formats do not support
+ all the possible values, for example bzip2 compression only supports
+ values from 1 to 9.
+ \list
+ \li 0 (No compression)
+ \li 1 (Fastest compressing)
+ \li 3 (Fast compressing)
+ \li 5 (Normal compressing)
+ \li 7 (Maximum compressing)
+ \li 9 (Ultra compressing)
+ \endlist
+ \endtable
+
\section1 devtool
You can use \c devtool to update an existing installer or maintenance tool