diff --git a/0008-fix-cannot-export-all-needed-logs.patch b/0008-fix-cannot-export-all-needed-logs.patch new file mode 100644 index 0000000000000000000000000000000000000000..77479b0ad7dd5eaa0cc366a8b837c857a68f2671 --- /dev/null +++ b/0008-fix-cannot-export-all-needed-logs.patch @@ -0,0 +1,154 @@ +diff --git a/nfs-logtools-1.0.0/getcontent.cpp b/nfs-logtools-1.0.0/getcontent.cpp +index 127b068..5f6c394 100644 +--- a/nfs-logtools-1.0.0/getcontent.cpp ++++ b/nfs-logtools-1.0.0/getcontent.cpp +@@ -102,7 +102,7 @@ bool GetContent::checkDirPathExists(QString &dirPath) + { + QDir dir(dirPath); + if (dir.exists()) { +- qDebug() << dirPath << " Exists."; ++// qDebug() << dirPath << " Exists."; + return true; + } + else { +diff --git a/nfs-logtools-1.0.0/logtools.cpp b/nfs-logtools-1.0.0/logtools.cpp +index c8ff735..83de7fb 100644 +--- a/nfs-logtools-1.0.0/logtools.cpp ++++ b/nfs-logtools-1.0.0/logtools.cpp +@@ -1107,9 +1107,10 @@ void Logtools::logtoolsExportSingleLogList(QString path, QString fileName, QList + file.close(); + } + +-void Logtools::exportZip(QString &srcDir, QString &dstDir, bool flag) ++void Logtools::exportZip(QStringList &srcDir, QString &dstDir, bool flag) + { + QProcess execCmd; ++ const QString cmd = "zip"; + QStringList params; + QString exportFile = ""; + QDateTime currentDateTime = QDateTime::currentDateTime(); +@@ -1125,8 +1126,8 @@ void Logtools::exportZip(QString &srcDir, QString &dstDir, bool flag) + } + params.append(exportFile); + params.append(srcDir); +- execCmd.start("zip", params); +- execCmd.waitForFinished(); ++ execCmd.start(cmd, params); ++ execCmd.waitForFinished(-1); + execCmd.close(); + + logtoolsChangeChmod(exportFile); +@@ -1659,13 +1660,25 @@ void Logtools::logtoolsEmergSlots() + + void Logtools::logtoolsSyslogSlots() + { +- QString srcDir = "/var/templog"; +- QString logDir = "/var/log"; +- QString crashDir = "/var/crash"; +- QString dstDir = this->exportPath + "/system-all-log"; ++ QString logPath = "/var/log"; ++ QString crashPath = "/var/crash"; ++ QStringList srcDir; ++ QString dstDir = this->exportPath + "system-all-log"; + GetContent checkDir; + QString messageBoxText = "系统日志将导出到" + this->exportPath + ",确认导出吗?"; + ++ bool crashDirExists = checkDir.checkDirPathExists(crashPath); ++ bool logDirExists = checkDir.checkDirPathExists(logPath); ++ if (!(crashDirExists || logDirExists)) { ++ return; ++ } ++ if (crashDirExists){ ++ srcDir.append(crashPath); ++ } ++ if(logDirExists) { ++ srcDir.append(logPath); ++ } ++ + QMessageBox *exportCupsLog = new QMessageBox; + exportCupsLog->setWindowTitle(" "); + exportCupsLog->setText(messageBoxText); +@@ -1674,27 +1687,7 @@ void Logtools::logtoolsSyslogSlots() + + int id = exportCupsLog->exec(); + if (0 == id) { //确认 +- QProcess execCmd; +- QStringList params; +- params.append(srcDir); +- execCmd.start("mkdir", params); +- execCmd.waitForFinished(); +- execCmd.close(); +- params.clear(); +- params.append("-r"); +- params.append(logDir); +- params.append(crashDir); +- params.append(srcDir); +- execCmd.start("cp", params); +- execCmd.waitForFinished(); +- execCmd.close(); + this->exportZip(srcDir, dstDir, false); +- params.clear(); +- params.append("-r"); +- params.append(srcDir); +- execCmd.start("rm", params); +- execCmd.waitForFinished(); +- execCmd.close(); + } + else { + qDebug() << "取消"; +@@ -1703,14 +1696,18 @@ void Logtools::logtoolsSyslogSlots() + + void Logtools::logtoolsPrintRelatedSlots() + { +- QString srcDir = "/var/log/cups"; +- QString dstDir = this->exportPath + "/cups"; ++ QStringList srcDir; ++ QString path = "/var/log/cpus"; ++ QString dstDir = this->exportPath + "cups"; + GetContent checkDir; + QString messageBoxText = "打印日志将导出到" + this->exportPath + ",确认导出吗?"; + +- if (!checkDir.checkDirPathExists(srcDir)) { ++ if (!checkDir.checkDirPathExists(path)) { + return ; + } ++ else{ ++ srcDir.append(path); ++ } + + QMessageBox *exportCupsLog = new QMessageBox; + exportCupsLog->setWindowTitle(" "); +@@ -1836,6 +1833,7 @@ void Logtools::on_pushButtonExportCur_clicked() + + void Logtools::on_pushButtonExportAll_clicked() + { ++ QStringList srcDir; + QString path = "/tmp/export/"; + QString dstFile = ""; + QString folderNmae = "export"; +@@ -1879,8 +1877,11 @@ void Logtools::on_pushButtonExportAll_clicked() + logtoolsExportSingleLogList(path, "critical.log", this->logListCritical); + logtoolsExportSingleLogList(path, "alert.log", this->logListAlert); + logtoolsExportSingleLogList(path, "emerg.log", this->logListEmerg); ++ + dstFile = this->exportPath + "log"; +- this->exportZip(path, dstFile, true); ++ srcDir.append(path); ++ ++ this->exportZip(srcDir, dstFile, true); + } + else { + qDebug() <<"取消"; +diff --git a/nfs-logtools-1.0.0/logtools.h b/nfs-logtools-1.0.0/logtools.h +index f6cc3a3..ca88362 100644 +--- a/nfs-logtools-1.0.0/logtools.h ++++ b/nfs-logtools-1.0.0/logtools.h +@@ -161,7 +161,7 @@ public: + void logtoolsLoadingAllLogList(); + void logtoolsChangeChmod(QString &); + void logtoolsExportSingleLogList(QString, QString, QList > &); +- void exportZip(QString &, QString &, bool); ++ void exportZip(QStringList &, QString &, bool); + + //gif + void logtoolsGifDialogStart(); diff --git a/nfs-logtools.spec b/nfs-logtools.spec index d53122121bbe8675f4c5ba39cb9798a27835b577..eed06658ffdf476f9d7394d84405854826b89a48 100644 --- a/nfs-logtools.spec +++ b/nfs-logtools.spec @@ -3,7 +3,7 @@ Name: nfs-logtools Version: 1.0.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A log tools of Nfs. License: GPLv2+ Source0: %{name}-%{version}.tar.gz @@ -14,6 +14,7 @@ Patch3: 0004-after-export-all-log-program-abort.patch Patch4: 0005-fix-cannot-reopen-when-program-crashes.patch Patch5: 0006-fix-get-home-path-method.patch Patch6: 0007-fix-filter-find-error.patch +Patch7: 0008-fix-cannot-export-all-needed-logs.patch BuildRequires: qt5-qttools-devel qt5-qtbase-devel glibc-devel Requires: coreutils @@ -47,6 +48,9 @@ make %{?_smp_mflags} /usr/sbin/nfs-logtools %changelog +* Wed Oct 18 2023 ruizhe - 1.0.0-8 +- fix error: cannot export all needed logs + * Wed Oct 18 2023 ruizhe - 1.0.0-7 - Fix find filter error