diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2022-04-06 10:18:01 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2022-04-13 11:04:28 +0300 |
commit | 2d5f0ffaf1278516bbd74e3b60f9849f4c51cffa (patch) | |
tree | 6a0882c4007a933f40010b167a6abb1be62baca7 /src/libs | |
parent | 5dfded3b43b3adfec411c036e5aac97d400f4613 (diff) |
3rdparty: deprecate usage of LZMA SDK
The 3rd-party sources haven't been updated in a long time, and
is missing some features compared to libarchive (which the
official IFW binaries use), like symbolic link support on Windows.
Add deprecation warning when compiling with LZMA SDK, and make
building the library and related client code conditional behind
a separate config feature.
Update docs to emphasize that libarchive is the recommended build
option for archive handler.
Change-Id: I70ed5f9b5d13e2243778f7c44b4ea833c8092ae0
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/installer/archivefactory.cpp | 4 | ||||
-rw-r--r-- | src/libs/installer/init.cpp | 5 | ||||
-rw-r--r-- | src/libs/installer/installer.pro | 30 | ||||
-rw-r--r-- | src/libs/libs.pro | 12 |
4 files changed, 33 insertions, 18 deletions
diff --git a/src/libs/installer/archivefactory.cpp b/src/libs/installer/archivefactory.cpp index 5bfabe943..56811d8e3 100644 --- a/src/libs/installer/archivefactory.cpp +++ b/src/libs/installer/archivefactory.cpp @@ -29,7 +29,7 @@ #include "archivefactory.h" #ifdef IFW_LIBARCHIVE #include "libarchivewrapper.h" -#else +#elif defined(IFW_LIB7Z) #include "lib7zarchive.h" #endif @@ -144,7 +144,7 @@ ArchiveFactory::ArchiveFactory() << QLatin1String("tar") << QLatin1String("tar.gz") << QLatin1String("tar.bz2") << QLatin1String("tar.xz") << QLatin1String("zip") << QLatin1String("7z") << QLatin1String("qbsp")); -#else +#elif defined(IFW_LIB7Z) registerArchive<Lib7zArchive>(QLatin1String("Lib7z"), QStringList() << QLatin1String("7z") << QLatin1String("qbsp")); #endif diff --git a/src/libs/installer/init.cpp b/src/libs/installer/init.cpp index 4aa65296f..f47040d93 100644 --- a/src/libs/installer/init.cpp +++ b/src/libs/installer/init.cpp @@ -49,7 +49,9 @@ #include "consumeoutputoperation.h" #include "loggingutils.h" +#ifdef IFW_LIB7Z #include "lib7z_facade.h" +#endif #include "updateoperationfactory.h" #include "filedownloaderfactory.h" @@ -72,8 +74,9 @@ static void initResources() */ void QInstaller::init() { +#ifdef IFW_LIB7Z Lib7z::initSevenZ(); - +#endif #if defined(QT_STATIC) ::initResources(); #endif diff --git a/src/libs/installer/installer.pro b/src/libs/installer/installer.pro index ed7d739ed..7aedc6590 100644 --- a/src/libs/installer/installer.pro +++ b/src/libs/installer/installer.pro @@ -4,7 +4,6 @@ INCLUDEPATH += . .. CONFIG += staticlib -include(../7zip/7zip.pri) include(../kdtools/kdtools.pri) include(../ifwtools/ifwtools.pri) include(../../../installerfw.pri) @@ -91,7 +90,6 @@ HEADERS += packagemanagercore.h \ constants.h \ packagemanagerproxyfactory.h \ createlocalrepositoryoperation.h \ - lib7z_facade.h \ link.h \ createlinkoperation.h \ packagemanagercoredata.h \ @@ -105,7 +103,6 @@ HEADERS += packagemanagercore.h \ copyfiletask.h \ downloadfiletask.h \ downloadfiletask_p.h \ - unziptask.h \ observer.h \ runextensions.h \ metadatajob.h \ @@ -132,17 +129,12 @@ HEADERS += packagemanagercore.h \ keepaliveobject.h \ systeminfo.h \ packagesource.h \ - lib7z_guid.h \ - lib7z_create.h \ - lib7z_extract.h \ - lib7z_list.h \ repositorycategory.h \ componentselectionpage_p.h \ commandlineparser.h \ commandlineparser_p.h \ abstractarchive.h \ directoryguard.h \ - lib7zarchive.h \ archivefactory.h SOURCES += packagemanagercore.cpp \ @@ -150,7 +142,6 @@ SOURCES += packagemanagercore.cpp \ archivefactory.cpp \ aspectratiolabel.cpp \ directoryguard.cpp \ - lib7zarchive.cpp \ componentsortfilterproxymodel.cpp \ loggingutils.cpp \ packagemanagercore_p.cpp \ @@ -194,7 +185,6 @@ SOURCES += packagemanagercore.cpp \ permissionsettings.cpp \ packagemanagerproxyfactory.cpp \ createlocalrepositoryoperation.cpp \ - lib7z_facade.cpp \ link.cpp \ createlinkoperation.cpp \ packagemanagercoredata.cpp \ @@ -205,7 +195,6 @@ SOURCES += packagemanagercore.cpp \ abstractfiletask.cpp \ copyfiletask.cpp \ downloadfiletask.cpp \ - unziptask.cpp \ observer.cpp \ metadatajob.cpp \ protocol.cpp \ @@ -251,11 +240,26 @@ CONFIG(libarchive) { LIBS += -llibarchive } -LIBS += -l7z +CONFIG(lzmasdk) { + include(../7zip/7zip.pri) + + HEADERS += lib7z_facade.h \ + lib7z_guid.h \ + lib7z_create.h \ + lib7z_extract.h \ + lib7z_list.h \ + lib7zarchive.h + + SOURCES += lib7z_facade.cpp \ + lib7zarchive.cpp + + LIBS += -l7z + win32:LIBS += -loleaut32 -luser32 +} + win32 { SOURCES += adminauthorization_win.cpp sysinfo_win.cpp - LIBS += -loleaut32 -luser32 # 7zip LIBS += -ladvapi32 -lpsapi # kdtools LIBS += -lole32 -lshell32 # createshortcutoperation diff --git a/src/libs/libs.pro b/src/libs/libs.pro index 64bc41d51..8d849fd15 100644 --- a/src/libs/libs.pro +++ b/src/libs/libs.pro @@ -1,3 +1,11 @@ TEMPLATE = subdirs -SUBDIRS += 3rdparty 7zip installer -installer.depends = 3rdparty 7zip + +include(../../installerfw.pri) + +SUBDIRS += 3rdparty installer +installer.depends = 3rdparty + +CONFIG(lzmasdk) { + SUBDIRS += 7zip + installer.depends = 7zip +} |