File indexing completed on 2024-04-21 03:56:32
0001 /* 0002 SPDX-FileCopyrightText: 2008 Aaron Seigo <aseigo@kde.org> 0003 SPDX-FileCopyrightText: 2013 Sebastian Kügler <sebas@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 /** 0009 * kpackagetool6 exit codes used in this program 0010 0011 0 No error 0012 0013 1 Unspecified error 0014 2 Plugin is not installed 0015 3 Plugin or package invalid 0016 4 Installation failed, see stderr for reason 0017 5 Could not find a suitable installer for package type 0018 6 No install option given 0019 7 Conflicting arguments supplied 0020 8 Uninstallation failed, see stderr for reason 0021 9 Failed to generate package hash 0022 0023 */ 0024 0025 #include <KLocalizedString> 0026 #include <QCommandLineParser> 0027 0028 #include "kpackagetool.h" 0029 #include "options.h" 0030 0031 int main(int argc, char **argv) 0032 { 0033 QCommandLineParser parser; 0034 KPackage::PackageTool app(argc, argv, &parser); 0035 0036 const QString description = i18n("KPackage Manager"); 0037 const auto version = QStringLiteral("2.0"); 0038 0039 app.setApplicationVersion(version); 0040 parser.addVersionOption(); 0041 parser.addHelpOption(); 0042 parser.setApplicationDescription(description); 0043 parser.addOptions({Options::hash(), 0044 Options::global(), 0045 Options::type(), 0046 Options::install(), 0047 Options::show(), 0048 Options::upgrade(), 0049 Options::list(), 0050 Options::listTypes(), 0051 Options::remove(), 0052 Options::packageRoot(), 0053 Options::appstream(), 0054 Options::appstreamOutput()}); 0055 parser.process(app); 0056 0057 // at least one operation should be specified 0058 if (!parser.isSet(QStringLiteral("hash")) && !parser.isSet(QStringLiteral("g")) && !parser.isSet(QStringLiteral("i")) && !parser.isSet(QStringLiteral("s")) 0059 && !parser.isSet(QStringLiteral("appstream-metainfo")) && !parser.isSet(QStringLiteral("u")) && !parser.isSet(QStringLiteral("l")) 0060 && !parser.isSet(QStringLiteral("list-types")) && !parser.isSet(QStringLiteral("r")) && !parser.isSet(QStringLiteral("generate-index")) 0061 && !parser.isSet(QStringLiteral("remove-index"))) { 0062 parser.showHelp(0); 0063 } 0064 return app.exec(); 0065 }