From 4dded17898321af860be8cf4a224325ac8094d08 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Thu, 10 Aug 2017 10:38:32 -0400 Subject: [PATCH] Important update to pkg backend: 1) Change the API calls to all be name-based instead of origin-based 2) This fixes the detection/viewing of base packages 3) This makes the AppCafe 100% ready for the flavours/subpackages which is coming from upstream pkg sometime soon. --- src/server/WebBackend.cpp | 24 +++++-------- src/server/library/sysadm-pkg.cpp | 59 ++++++++++++++++++------------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index 8bcd889..f691dba 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -70,17 +70,17 @@ RestOutputStruct::ExitCode WebSocket::AvailableSubsystems(bool allaccess, QJsonO if(QFile::exists("/usr/local/sbin/iohyve")){ out->insert("sysadm/iohyve", "read/write"); } - + // - zfs if(QFile::exists("/sbin/zfs") && QFile::exists("/sbin/zpool")){ out->insert("sysadm/zfs", allaccess ? "read/write" : "read"); } - + // - pkg if(QFile::exists("/usr/local/sbin/pkg")){ out->insert("sysadm/pkg", "read/write"); } - + // - Generic system information out->insert("sysadm/systemmanager","read/write"); @@ -187,7 +187,7 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmSettingsRequest(const QJsonV pub_key = argsO.value("pub_key").toString(); if(keys.contains("nickname")){ nickname = argsO.value("nickname").toString(); } if(keys.contains("email")){ email = argsO.value("email").toString(); } - + if(!pub_key.isEmpty()){ ok = AUTHSYSTEM->RegisterCertificate(SockAuthToken, pub_key, nickname, email); if(!ok){ return RestOutputStruct::FORBIDDEN; } @@ -264,7 +264,7 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmLogsRequest(bool allaccess, else if(logs[i]=="events-dispatcher"){ log = 2; } else if(logs[i]=="events-lifepreserver"){ log = 3; } else if(logs[i]=="events-state"){ log = 4; } - + if(log>=0){ QStringList info = LogManager::readLog( (LogManager::LOG_FILE)(log), starttime, endtime); //REMINDER of format: "[datetime]" @@ -366,7 +366,7 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmBEADMRequest(const QJsonValu }else if(act=="umountbe"){ ok = true; out->insert("umountbe", sysadm::BEADM::umountBE(in_args.toObject())); - } + } } //end of "action" key usage //If nothing done - return the proper code @@ -602,11 +602,11 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmUpdateRequest(const QJsonVal bool fastcheck = true; fastcheck = in_args.toObject().value("force").toString().toLower()!="true"; out->insert("checkupdates", sysadm::Update::checkUpdates(fastcheck)); - + }else if(act=="listbranches"){ ok = true; out->insert("listbranches", sysadm::Update::listBranches()); - + }else if(act=="startupdate"){ ok = true; out->insert("startupdate", sysadm::Update::startUpdate(in_args.toObject()) ); @@ -679,14 +679,6 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmIocageRequest(const QJsonVal ok = true; out->insert("cleanall", sysadm::Iocage::cleanAll()); } - else if(act=="cleantemplates"){ - ok = true; - out->insert("cleantemplates", sysadm::Iocage::cleanTemplates()); - } - else if(act=="cleanreleases"){ - ok = true; - out->insert("cleanreleases", sysadm::Iocage::cleanReleases()); - } else if(act=="cleanjails"){ ok = true; out->insert("cleanjails", sysadm::Iocage::cleanJails()); diff --git a/src/server/library/sysadm-pkg.cpp b/src/server/library/sysadm-pkg.cpp index 2536b61..d6bc757 100644 --- a/src/server/library/sysadm-pkg.cpp +++ b/src/server/library/sysadm-pkg.cpp @@ -142,7 +142,7 @@ QJsonObject PKG::pkg_info(QStringList origins, QString repo, QString category, b origins.removeDuplicates(); QString q_string = "SELECT * FROM packages"; if(!origins.isEmpty()){ - q_string.append(" WHERE origin IN ('"+origins.join("', '")+"')"); + q_string.append(" WHERE name IN ('"+origins.join("', '")+"')"); //Also keep the ordering of the origins preserved /*q_string.append(" ORDER BY CASE origins "); for(int i=0; i