mirror of
https://github.com/QuasarApp/installer-framework.git
synced 2025-04-27 22:14:32 +00:00
List available packages from command line
Available packages can be listed from command line with --listPackages <regexp>. All packages can be listed with --listPackages . . By default package id, name and version are listed in output. In case you want to see all the packet information use logging category --logging-rules ifw.package.*=true. See --help for more detailed information on how to use logging category. Change-Id: Ic0815d2274643e3fb3f0670ed9036fe765805c0e Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
This commit is contained in:
parent
3bd4e7d632
commit
48a43de0be
@ -34,6 +34,28 @@ const char IFW_RESOURCES[] = "ifw.resources";
|
||||
const char IFW_TRANSLATIONS[] = "ifw.translations";
|
||||
const char IFW_NETWORK[] = "ifw.network";
|
||||
|
||||
const char IFW_PACKAGE_DISPLAYNAME[] = "ifw.package.displayname";
|
||||
const char IFW_PACKAGE_DESCRIPTION[] = "ifw.package.description";
|
||||
const char IFW_PACKAGE_VERSION[] = "ifw.package.version";
|
||||
const char IFW_PACKAGE_INSTALLEDVERSION[] = "ifw.package.installedversion";
|
||||
const char IFW_PACKAGE_RELEASEDATE[] = "ifw.package.releasedate";
|
||||
const char IFW_PACKAGE_NAME[] = "ifw.package.name";
|
||||
const char IFW_PACKAGE_DEPENDENCIES[] = "ifw.package.dependencies";
|
||||
const char IFW_PACKAGE_AUTODEPENDON[] = "ifw.package.autodependon";
|
||||
const char IFW_PACKAGE_VIRTUAL[] = "ifw.package.virtual";
|
||||
const char IFW_PACKAGE_SORTINGPRIORITY[] = "ifw.package.sortingpriority";
|
||||
const char IFW_PACKAGE_SCRIPT[] = "ifw.package.script";
|
||||
const char IFW_PACKAGE_DEFAULT[] = "ifw.package.default";
|
||||
const char IFW_PACKAGE_ESSETIAL[] = "ifw.package.essential";
|
||||
const char IFW_PACKAGE_FORCEDINSTALLATION[] = "ifw.package.forcedinstallation";
|
||||
const char IFW_PACKAGE_REPLACES[] = "ifw.package.replaces";
|
||||
const char IFW_PACKAGE_DOWNLOADABLEARCHIVES[] = "ifw.package.downloadablearchives";
|
||||
const char IFW_PACKAGE_REQUIRESADMINRIGHTS[] = "ifw.package.requiresadminrights";
|
||||
const char IFW_PACKAGE_CHECKABLE[] = "ifw.package.checkable";
|
||||
const char IFW_PACKAGE_LICENSES[] = "ifw.package.licenses";
|
||||
const char IFW_PACKAGE_COMPRESSEDSIZE[] = "ifw.package.compressedsize";
|
||||
const char IFW_PACKAGE_UNCOMPRESSEDSIZE[] = "ifw.package.uncompressedsize";
|
||||
|
||||
namespace QInstaller
|
||||
{
|
||||
|
||||
@ -42,14 +64,59 @@ Q_LOGGING_CATEGORY(lcResources, IFW_RESOURCES)
|
||||
Q_LOGGING_CATEGORY(lcTranslations, IFW_TRANSLATIONS)
|
||||
Q_LOGGING_CATEGORY(lcNetwork, IFW_NETWORK)
|
||||
|
||||
Q_LOGGING_CATEGORY(lcPackageDisplayname, IFW_PACKAGE_DISPLAYNAME);
|
||||
Q_LOGGING_CATEGORY(lcPackageDescription, IFW_PACKAGE_DESCRIPTION)
|
||||
Q_LOGGING_CATEGORY(lcPackageVersion, IFW_PACKAGE_VERSION)
|
||||
Q_LOGGING_CATEGORY(lcPackageInstalledVersion, IFW_PACKAGE_INSTALLEDVERSION)
|
||||
Q_LOGGING_CATEGORY(lcPackageReleasedate, IFW_PACKAGE_RELEASEDATE)
|
||||
Q_LOGGING_CATEGORY(lcPackageName, IFW_PACKAGE_NAME)
|
||||
Q_LOGGING_CATEGORY(lcPackageDependencies, IFW_PACKAGE_DEPENDENCIES)
|
||||
Q_LOGGING_CATEGORY(lcPackageAutodependon, IFW_PACKAGE_AUTODEPENDON)
|
||||
Q_LOGGING_CATEGORY(lcPackageVirtual, IFW_PACKAGE_VIRTUAL)
|
||||
Q_LOGGING_CATEGORY(lcPackageSortingpriority, IFW_PACKAGE_SORTINGPRIORITY)
|
||||
Q_LOGGING_CATEGORY(lcPackageScript, IFW_PACKAGE_SCRIPT)
|
||||
Q_LOGGING_CATEGORY(lcPackageDefault, IFW_PACKAGE_DEFAULT)
|
||||
Q_LOGGING_CATEGORY(lcPackageEssential, IFW_PACKAGE_ESSETIAL)
|
||||
Q_LOGGING_CATEGORY(lcPackageForcedinstallation, IFW_PACKAGE_FORCEDINSTALLATION)
|
||||
Q_LOGGING_CATEGORY(lcPackageReplaces, IFW_PACKAGE_REPLACES)
|
||||
Q_LOGGING_CATEGORY(lcPackageDownloadableArchives, IFW_PACKAGE_DOWNLOADABLEARCHIVES)
|
||||
Q_LOGGING_CATEGORY(lcPackageRequiresAdminRights, IFW_PACKAGE_REQUIRESADMINRIGHTS)
|
||||
Q_LOGGING_CATEGORY(lcPackageCheckable, IFW_PACKAGE_CHECKABLE)
|
||||
Q_LOGGING_CATEGORY(lcPackageLicenses, IFW_PACKAGE_LICENSES)
|
||||
Q_LOGGING_CATEGORY(lcPackageUncompressedSize, IFW_PACKAGE_UNCOMPRESSEDSIZE)
|
||||
Q_LOGGING_CATEGORY(lcPackageCompressedSize, IFW_PACKAGE_COMPRESSEDSIZE)
|
||||
|
||||
|
||||
QStringList loggingCategories()
|
||||
{
|
||||
static QStringList categories = QStringList()
|
||||
<< QLatin1String(IFW_COMPONENT_CHECKER)
|
||||
<< QLatin1String(IFW_RESOURCES)
|
||||
<< QLatin1String(IFW_TRANSLATIONS)
|
||||
<< QLatin1String(IFW_NETWORK);
|
||||
<< QLatin1String(IFW_NETWORK)
|
||||
<< QLatin1String(IFW_PACKAGE_DISPLAYNAME)
|
||||
<< QLatin1String(IFW_PACKAGE_DESCRIPTION)
|
||||
<< QLatin1String(IFW_PACKAGE_VERSION)
|
||||
<< QLatin1String(IFW_PACKAGE_INSTALLEDVERSION)
|
||||
<< QLatin1String(IFW_PACKAGE_RELEASEDATE)
|
||||
<< QLatin1String(IFW_PACKAGE_NAME)
|
||||
<< QLatin1String(IFW_PACKAGE_DEPENDENCIES)
|
||||
<< QLatin1String(IFW_PACKAGE_AUTODEPENDON)
|
||||
<< QLatin1String(IFW_PACKAGE_VIRTUAL)
|
||||
<< QLatin1String(IFW_PACKAGE_SORTINGPRIORITY)
|
||||
<< QLatin1String(IFW_PACKAGE_SCRIPT)
|
||||
<< QLatin1String(IFW_PACKAGE_DEFAULT)
|
||||
<< QLatin1String(IFW_PACKAGE_ESSETIAL)
|
||||
<< QLatin1String(IFW_PACKAGE_FORCEDINSTALLATION)
|
||||
<< QLatin1String(IFW_PACKAGE_REPLACES)
|
||||
<< QLatin1String(IFW_PACKAGE_DOWNLOADABLEARCHIVES)
|
||||
<< QLatin1String(IFW_PACKAGE_REQUIRESADMINRIGHTS)
|
||||
<< QLatin1String(IFW_PACKAGE_CHECKABLE)
|
||||
<< QLatin1String(IFW_PACKAGE_LICENSES)
|
||||
<< QLatin1String(IFW_PACKAGE_UNCOMPRESSEDSIZE)
|
||||
<< QLatin1String(IFW_PACKAGE_COMPRESSEDSIZE);
|
||||
return categories;
|
||||
|
||||
}
|
||||
|
||||
Q_GLOBAL_STATIC_WITH_ARGS(QRegExp, staticCommaRegExp, (QLatin1String("(, |,)")));
|
||||
|
@ -40,6 +40,29 @@ INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcResources)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcTranslations)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcNetwork)
|
||||
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageDisplayname)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageDescription)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageVersion)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageInstalledVersion)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageReleasedate)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageName)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageDependencies)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageAutodependon)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageVirtual)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageSortingpriority)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageScript)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageDefault)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageEssential)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageForcedinstallation)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageReplaces)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageDownloadableArchives)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageRequiresAdminRights)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageCheckable)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageLicenses)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageUncompressedSize)
|
||||
INSTALLER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcPackageCompressedSize)
|
||||
|
||||
|
||||
QStringList INSTALLER_EXPORT loggingCategories();
|
||||
|
||||
QRegExp INSTALLER_EXPORT commaRegExp();
|
||||
|
@ -54,7 +54,7 @@ static QUrl resolveUrl(const FileTaskResult &result, const QString &url)
|
||||
MetadataJob::MetadataJob(QObject *parent)
|
||||
: Job(parent)
|
||||
, m_core(nullptr)
|
||||
, m_addCompressedPackages(false)
|
||||
, m_downloadType(DownloadType::All)
|
||||
, m_downloadableChunkSize(1000)
|
||||
, m_taskNumber(0)
|
||||
{
|
||||
@ -109,7 +109,7 @@ void MetadataJob::doStart()
|
||||
return; // We can't do anything here without core, so avoid tons of !m_core checks.
|
||||
}
|
||||
const ProductKeyCheck *const productKeyCheck = ProductKeyCheck::instance();
|
||||
if (!m_addCompressedPackages) {
|
||||
if (m_downloadType == DownloadType::All || m_downloadType == DownloadType::UpdatesXML) {
|
||||
emit infoMessage(this, tr("Preparing meta information download..."));
|
||||
const bool onlineInstaller = m_core->isInstaller() && !m_core->isOfflineOnly();
|
||||
if (onlineInstaller || m_core->isMaintainer()) {
|
||||
@ -364,7 +364,10 @@ void MetadataJob::xmlTaskFinished()
|
||||
return;
|
||||
|
||||
if (status == XmlDownloadSuccess) {
|
||||
if (!fetchMetaDataPackages()) {
|
||||
if (m_downloadType != DownloadType::UpdatesXML) {
|
||||
if (!fetchMetaDataPackages())
|
||||
emitFinished();
|
||||
} else {
|
||||
emitFinished();
|
||||
}
|
||||
} else if (status == XmlDownloadRetry) {
|
||||
|
@ -52,6 +52,13 @@ struct ArchiveMetadata
|
||||
Metadata metaData;
|
||||
};
|
||||
|
||||
enum DownloadType
|
||||
{
|
||||
All,
|
||||
CompressedPackage,
|
||||
UpdatesXML
|
||||
};
|
||||
|
||||
class INSTALLER_EXPORT MetadataJob : public Job
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -70,7 +77,7 @@ public:
|
||||
QList<Metadata> metadata() const;
|
||||
Repository repositoryForDirectory(const QString &directory) const;
|
||||
void setPackageManagerCore(PackageManagerCore *core) { m_core = core; }
|
||||
void addCompressedPackages(bool addCompressPackage) { m_addCompressedPackages = addCompressPackage;}
|
||||
void addDownloadType(DownloadType downloadType) { m_downloadType = downloadType;}
|
||||
QStringList shaMismatchPackages() const { return m_shaMissmatchPackages; }
|
||||
|
||||
private slots:
|
||||
@ -102,7 +109,7 @@ private:
|
||||
QFutureWatcher<FileTaskResult> m_metadataTask;
|
||||
QHash<QFutureWatcher<void> *, QObject*> m_unzipTasks;
|
||||
QHash<QFutureWatcher<void> *, QObject*> m_unzipRepositoryTasks;
|
||||
bool m_addCompressedPackages;
|
||||
DownloadType m_downloadType;
|
||||
QList<FileTaskItem> m_unzipRepositoryitems;
|
||||
QList<FileTaskResult> m_metadataResult;
|
||||
int m_downloadableChunkSize;
|
||||
|
@ -64,6 +64,7 @@
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include <QFileDialog>
|
||||
#include <QRegularExpression>
|
||||
|
||||
#include "sysinfo.h"
|
||||
#include "updateoperationfactory.h"
|
||||
@ -1824,6 +1825,50 @@ ComponentModel *PackageManagerCore::updaterComponentModel() const
|
||||
return d->m_updaterModel;
|
||||
}
|
||||
|
||||
void PackageManagerCore::listAvailablePackages(const QString ®exp)
|
||||
{
|
||||
d->fetchMetaInformationFromRepositories(DownloadType::UpdatesXML);
|
||||
|
||||
d->addUpdateResourcesFromRepositories(true);
|
||||
QRegularExpression re(regexp);
|
||||
const PackagesList &packages = d->remotePackages();
|
||||
foreach (const Package *update, packages) {
|
||||
const QString name = update->data(scName).toString();
|
||||
if (re.match(name).hasMatch()) {
|
||||
printPackageInformation(name, update);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PackageManagerCore::printPackageInformation(const QString &name, const Package *update)
|
||||
{
|
||||
qCDebug(QInstaller::lcPackageName) << "Id:" << name;
|
||||
qCDebug(QInstaller::lcPackageDisplayname) << "\tDisplay name:" << update->data(scDisplayName).toString();
|
||||
qCDebug(QInstaller::lcPackageVersion) << "\tVersion:" << update->data(scVersion).toString();
|
||||
qCDebug(QInstaller::lcPackageDescription) << "\tDescription: " << update->data(scDescription).toString();
|
||||
qCDebug(QInstaller::lcPackageReleasedate) << "\tRelease date: " << update->data(scReleaseDate).toString();
|
||||
qCDebug(QInstaller::lcPackageDependencies) << "\tDependencies: " << update->data(scDependencies).toString();
|
||||
qCDebug(QInstaller::lcPackageAutodependon) << "\tAutodependon: " << update->data(scAutoDependOn).toString();
|
||||
qCDebug(QInstaller::lcPackageVirtual) << "\tVirtual: " << update->data(scVirtual, false).toString();
|
||||
qCDebug(QInstaller::lcPackageSortingpriority) << "\tSorting priority: " << update->data(scSortingPriority).toString();
|
||||
qCDebug(QInstaller::lcPackageScript) << "\tScript: " << update->data(scScript).toString();
|
||||
qCDebug(QInstaller::lcPackageDefault) << "\tDefault: "<< update->data(scDefault, false).toString();
|
||||
qCDebug(QInstaller::lcPackageEssential) << "\tEssential: " << update->data(scEssential, false).toString();
|
||||
qCDebug(QInstaller::lcPackageForcedinstallation) << "\tForced installation: " << update->data(QLatin1String("ForcedInstallation"), false).toString();
|
||||
qCDebug(QInstaller::lcPackageReplaces) << "\tReplaces: " << update->data(scReplaces).toString();
|
||||
qCDebug(QInstaller::lcPackageDownloadableArchives) << "\tDownloadable archives: " << update->data(scDownloadableArchives).toString();
|
||||
qCDebug(QInstaller::lcPackageRequiresAdminRights) << "\tRequires admin rights: " << update->data(scRequiresAdminRights).toString();
|
||||
qCDebug(QInstaller::lcPackageCheckable) << "\tCheckable: " << update->data(scCheckable).toString();
|
||||
qCDebug(QInstaller::lcPackageLicenses) << "\tLicenses: " << update->data(QLatin1String("Licenses")).toString();
|
||||
qCDebug(QInstaller::lcPackageCompressedSize) << "\tCompressed size: " << update->data(QLatin1String("CompressedSize")).toString();
|
||||
qCDebug(QInstaller::lcPackageUncompressedSize) << "\tUncompressed size: " << update->data(QLatin1String("UncompressedSize")).toString();
|
||||
|
||||
//Check if package already installed
|
||||
LocalPackagesHash installedPackages = this->localInstalledPackages();
|
||||
if (installedPackages.contains(name))
|
||||
qCDebug(QInstaller::lcPackageInstalledVersion) << "\tInstalled version: " << installedPackages.value(name).version;
|
||||
}
|
||||
|
||||
void PackageManagerCore::listInstalledPackages()
|
||||
{
|
||||
LocalPackagesHash installedPackages = this->localInstalledPackages();
|
||||
|
@ -227,6 +227,7 @@ public:
|
||||
ComponentModel *defaultComponentModel() const;
|
||||
ComponentModel *updaterComponentModel() const;
|
||||
void listInstalledPackages();
|
||||
void listAvailablePackages(const QString ®exp);
|
||||
void updateComponentsSilently();
|
||||
|
||||
// convenience
|
||||
@ -361,6 +362,7 @@ private:
|
||||
QList<Component *> componentsMarkedForInstallation() const;
|
||||
|
||||
bool fetchPackagesTree(const PackagesList &packages, const LocalPackagesHash installedPackages);
|
||||
void printPackageInformation(const QString &name, const Package *update);
|
||||
|
||||
private:
|
||||
PackageManagerCorePrivate *const d;
|
||||
|
@ -2255,14 +2255,14 @@ LocalPackagesHash PackageManagerCorePrivate::localInstalledPackages()
|
||||
return installedPackages;
|
||||
}
|
||||
|
||||
bool PackageManagerCorePrivate::fetchMetaInformationFromRepositories()
|
||||
bool PackageManagerCorePrivate::fetchMetaInformationFromRepositories(DownloadType type)
|
||||
{
|
||||
m_updates = false;
|
||||
m_repoFetched = false;
|
||||
m_updateSourcesAdded = false;
|
||||
|
||||
try {
|
||||
m_metadataJob.addCompressedPackages(false);
|
||||
m_metadataJob.addDownloadType(type);
|
||||
m_metadataJob.start();
|
||||
m_metadataJob.waitForFinished();
|
||||
} catch (Error &error) {
|
||||
@ -2296,10 +2296,9 @@ bool PackageManagerCorePrivate::fetchMetaInformationFromCompressedRepositories()
|
||||
//Tell MetadataJob that only compressed packages needed to be fetched and not all.
|
||||
//We cannot do this in general fetch meta method as the compressed packages might be
|
||||
//installed after components tree is generated
|
||||
m_metadataJob.addCompressedPackages(true);
|
||||
m_metadataJob.addDownloadType(DownloadType::CompressedPackage);
|
||||
m_metadataJob.start();
|
||||
m_metadataJob.waitForFinished();
|
||||
m_metadataJob.addCompressedPackages(false);
|
||||
} catch (Error &error) {
|
||||
setStatus(PackageManagerCore::Failure, tr("Cannot retrieve meta information: %1")
|
||||
.arg(error.message()));
|
||||
|
@ -235,7 +235,7 @@ private:
|
||||
PackagesList remotePackages();
|
||||
PackagesList compressedPackages();
|
||||
LocalPackagesHash localInstalledPackages();
|
||||
bool fetchMetaInformationFromRepositories();
|
||||
bool fetchMetaInformationFromRepositories(DownloadType type = DownloadType::All);
|
||||
bool fetchMetaInformationFromCompressedRepositories();
|
||||
bool addUpdateResourcesFromRepositories(bool parseChecksum, bool compressedRepository = false);
|
||||
void processFilesForDelayedDeletion();
|
||||
|
@ -120,6 +120,8 @@ CommandLineParser::CommandLineParser()
|
||||
QLatin1String("Updates all packages silently.")));
|
||||
m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::ListInstalledPackages),
|
||||
QLatin1String("Lists installed packages.")));
|
||||
m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::ListPackages),
|
||||
QLatin1String("Lists available packages."), QLatin1String("regexp")));
|
||||
m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::Platform),
|
||||
QLatin1String("Use the specified platform plugin."), QLatin1String("plugin")));
|
||||
m_parser.addPositionalArgument(QLatin1String(CommandLineOptions::KeyValue),
|
||||
|
@ -55,6 +55,7 @@ const char StartClient[] = "startclient";
|
||||
const char InstallCompressedRepository[] = "installCompressedRepository";
|
||||
const char SilentUpdate[] = "silentUpdate";
|
||||
const char ListInstalledPackages[] = "listInstalledPackages";
|
||||
const char ListPackages[] = "listPackages";
|
||||
const char Platform[] = "platform";
|
||||
const char SquishPort[] = "squish-port";
|
||||
|
||||
|
@ -122,11 +122,17 @@ int InstallerBase::run()
|
||||
|
||||
QString loggingRules(QLatin1String("ifw.* = false")); // disable all by default
|
||||
if (QInstaller::isVerbose()) {
|
||||
loggingRules = QString(); // enable all in verbose mode
|
||||
if (parser.isSet(QLatin1String(CommandLineOptions::LoggingRules))) {
|
||||
loggingRules = parser.value(QLatin1String(CommandLineOptions::LoggingRules))
|
||||
.split(QLatin1Char(','), QString::SkipEmptyParts)
|
||||
.join(QLatin1Char('\n')); // take rules from command line
|
||||
} else {
|
||||
// enable all in verbose mode except detailed package information
|
||||
loggingRules = QLatin1String("ifw.* = true\n"
|
||||
"ifw.package.* = false\n"
|
||||
"ifw.package.name = true\n"
|
||||
"ifw.package.version = true\n"
|
||||
"ifw.package.displayname = true\n");
|
||||
}
|
||||
}
|
||||
QLoggingCategory::setFilterRules(loggingRules);
|
||||
@ -305,6 +311,12 @@ int InstallerBase::run()
|
||||
checkLicense();
|
||||
m_core->setPackageManager();
|
||||
m_core->listInstalledPackages();
|
||||
} else if (parser.isSet(QLatin1String(CommandLineOptions::ListPackages))){
|
||||
if (!m_core->isInstaller())
|
||||
m_core->setPackageManager();
|
||||
checkLicense();
|
||||
QString regexp = parser.value(QLatin1String(CommandLineOptions::ListPackages));
|
||||
m_core->listAvailablePackages(regexp);
|
||||
} else {
|
||||
//create the wizard GUI
|
||||
TabController controller(nullptr);
|
||||
|
@ -186,7 +186,8 @@ int main(int argc, char *argv[])
|
||||
try {
|
||||
QScopedPointer<Console> console;
|
||||
if (parser.isSet(QLatin1String(CommandLineOptions::VerboseShort))
|
||||
|| parser.isSet(QLatin1String(CommandLineOptions::VerboseLong))) {
|
||||
|| parser.isSet(QLatin1String(CommandLineOptions::VerboseLong))
|
||||
|| parser.isSet(QLatin1String(CommandLineOptions::ListPackages))) {
|
||||
console.reset(new Console);
|
||||
QInstaller::setVerbose(true);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user