make it easy to generate hashes for plasma packages
This commit is contained in:
parent
c0de261ccc
commit
6a19c2da5b
@ -39,7 +39,7 @@
|
|||||||
#include <Plasma/PackageMetadata>
|
#include <Plasma/PackageMetadata>
|
||||||
|
|
||||||
static const char description[] = I18N_NOOP("Install, list, remove Plasma packages");
|
static const char description[] = I18N_NOOP("Install, list, remove Plasma packages");
|
||||||
static const char version[] = "0.1";
|
static const char version[] = "0.2";
|
||||||
|
|
||||||
void output(const QString &msg)
|
void output(const QString &msg)
|
||||||
{
|
{
|
||||||
@ -180,6 +180,8 @@ int main(int argc, char **argv)
|
|||||||
KCmdLineArgs::init( argc, argv, &aboutData );
|
KCmdLineArgs::init( argc, argv, &aboutData );
|
||||||
|
|
||||||
KCmdLineOptions options;
|
KCmdLineOptions options;
|
||||||
|
options.add("h");
|
||||||
|
options.add("hash <path>", ki18nc("Do not translate <path>", "Generate a SHA1 hash for the package at <path>"));
|
||||||
options.add("g");
|
options.add("g");
|
||||||
options.add("global", ki18n("For install or remove, operates on packages installed for all users."));
|
options.add("global", ki18n("For install or remove, operates on packages installed for all users."));
|
||||||
options.add("t");
|
options.add("t");
|
||||||
@ -206,6 +208,26 @@ int main(int argc, char **argv)
|
|||||||
KApplication app;
|
KApplication app;
|
||||||
|
|
||||||
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
|
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
|
||||||
|
|
||||||
|
if (args->isSet("hash")) {
|
||||||
|
const QString path = args->getOption("hash");
|
||||||
|
Plasma::PackageStructure::Ptr structure(new Plasma::PackageStructure);
|
||||||
|
Plasma::Package package(path, structure);
|
||||||
|
const QString hash = package.contentsHash();
|
||||||
|
if (hash.isEmpty()) {
|
||||||
|
output(i18n("Failed to generate a Package hash for %1", path));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
output(i18n("SHA1 hash for Package at %1: '%2'", path, hash));
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args->isSet("list-types")) {
|
||||||
|
listTypes();
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
QString type = args->getOption("type");
|
QString type = args->getOption("type");
|
||||||
QString packageRoot = type;
|
QString packageRoot = type;
|
||||||
QString servicePrefix;
|
QString servicePrefix;
|
||||||
@ -214,11 +236,6 @@ int main(int argc, char **argv)
|
|||||||
QString package;
|
QString package;
|
||||||
QString packageFile;
|
QString packageFile;
|
||||||
|
|
||||||
if (args->isSet("list-types")) {
|
|
||||||
listTypes();
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args->isSet("remove")) {
|
if (args->isSet("remove")) {
|
||||||
package = args->getOption("remove");
|
package = args->getOption("remove");
|
||||||
} else if (args->isSet("upgrade")) {
|
} else if (args->isSet("upgrade")) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user