Skip to content

Commit b411d46

Browse files
authored
Merge pull request #795 from QuasarApp/dev
Sync main bracnh and dev
2 parents 9510488 + 002aa6b commit b411d46

File tree

6 files changed

+33
-64
lines changed

6 files changed

+33
-64
lines changed

src/Deploy/src/configparser.cpp

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <Distributions/defaultdistro.h>
2424
#include <Distributions/qif.h>
2525
#include <Distributions/ziparhive.h>
26+
#include <qaplatformutils.h>
2627

2728

2829
/**
@@ -740,7 +741,7 @@ bool ConfigParser::parseDeployMode(bool checkBin) {
740741

741742
if (!initQmake()) {
742743

743-
if (DeployCore::isSnap()) {
744+
if (QuasarAppUtils::PlatformUtils::isSnap()) {
744745
QuasarAppUtils::Params::log("If you are using qmake from the system repository,"
745746
" then you must use the classic version of CQtDeployer instead of the snap version."
746747
" This is due to the fact that the snap version"
@@ -1024,9 +1025,11 @@ void ConfigParser::initIgnoreList()
10241025
envUnix.addEnv(Envirement::recursiveInvairement("/lib", 3));
10251026
envUnix.addEnv(Envirement::recursiveInvairement("/usr/lib", 3));
10261027

1027-
if (DeployCore::isSnap()) {
1028-
envUnix.addEnv(Envirement::recursiveInvairement(DeployCore::transportPathToSnapRoot("/lib"), 3));
1029-
envUnix.addEnv(Envirement::recursiveInvairement(DeployCore::transportPathToSnapRoot("/usr/lib"), 3));
1028+
if (QuasarAppUtils::PlatformUtils::isSnap()) {
1029+
envUnix.addEnv(Envirement::recursiveInvairement(
1030+
QuasarAppUtils::PlatformUtils::transportPathToSnapRoot("/lib"), 3));
1031+
envUnix.addEnv(Envirement::recursiveInvairement(
1032+
QuasarAppUtils::PlatformUtils::transportPathToSnapRoot("/usr/lib"), 3));
10301033
}
10311034

10321035
ruleUnix.prority = SystemLib;
@@ -1113,7 +1116,7 @@ void ConfigParser::initIgnoreEnvList() {
11131116
}
11141117

11151118
// forbid pathes of the snap container
1116-
if (DeployCore::isSnap()) {
1119+
if (QuasarAppUtils::PlatformUtils::isSnap()) {
11171120
ignoreEnvList.push_back("/lib");
11181121
ignoreEnvList.push_back("/usr/lib");
11191122
}
@@ -1134,7 +1137,7 @@ QString ConfigParser::getPathFrmoQmakeLine(const QString &in) const {
11341137
auto list = in.split(':');
11351138
if (list.size() > 1) {
11361139
list.removeAt(0);
1137-
return DeployCore::transportPathToSnapRoot(
1140+
return QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(
11381141
QFileInfo(list.join(':')).absoluteFilePath().remove('\r'));
11391142
}
11401143

@@ -1151,7 +1154,7 @@ bool ConfigParser::initQmakePrivate(const QString &qmake) {
11511154

11521155
// Invoke qmake executable only when qmake paths exclude snapRootFS path.
11531156
// Because files in snapRootFS is not executable ...
1154-
if (!qmake.contains(DeployCore::snapRootFS()) && setQmake(qmake)) {
1157+
if (!qmake.contains(QuasarAppUtils::PlatformUtils::snapRootFS()) && setQmake(qmake)) {
11551158
return true;
11561159
}
11571160

@@ -1167,8 +1170,8 @@ bool ConfigParser::initQmakePrivate(const QString &qmake) {
11671170
QString debianQtRoot = QString("/usr/lib/%0/qt%1").
11681171
arg(neededPlatform).arg(qtVersion);
11691172

1170-
if (DeployCore::isSnap()) {
1171-
debianQtRoot = DeployCore::snapRootFS() + debianQtRoot;
1173+
if (QuasarAppUtils::PlatformUtils::isSnap()) {
1174+
debianQtRoot = QuasarAppUtils::PlatformUtils::snapRootFS() + debianQtRoot;
11721175
}
11731176

11741177
if (!setQtDir(debianQtRoot)) {
@@ -1189,7 +1192,7 @@ bool ConfigParser::initQmakePrivate(const QString &qmake) {
11891192
}
11901193

11911194
// For snap package of cqtdeplyer it is normal behavior
1192-
if (!DeployCore::isSnap()) {
1195+
if (!QuasarAppUtils::PlatformUtils::isSnap()) {
11931196
QuasarAppUtils::Params::log("Failed to execute the qmake process!"
11941197
" Trying to initialize Qt directories from path: " + dir.absolutePath(),
11951198
QuasarAppUtils::Warning);
@@ -1214,7 +1217,8 @@ bool ConfigParser::initQmake() {
12141217
return true;
12151218
}
12161219

1217-
auto qmake = DeployCore::transportPathToSnapRoot(QuasarAppUtils::Params::getArg("qmake"));
1220+
auto qmake = QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(
1221+
QuasarAppUtils::Params::getArg("qmake"));
12181222

12191223
QFileInfo info(qmake);
12201224

@@ -1409,7 +1413,7 @@ bool ConfigParser::initExtraPath() {
14091413
QDir dir;
14101414

14111415
for (const auto &i : listLibDir) {
1412-
QFileInfo info(DeployCore::transportPathToSnapRoot(i));
1416+
QFileInfo info(QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(i));
14131417
if (info.isDir()) {
14141418
if (_config.targets().contains(info.absoluteFilePath())) {
14151419
QuasarAppUtils::Params::log("Skip the extra library path because it is target!",
@@ -1563,7 +1567,7 @@ void ConfigParser::initEnvirement() {
15631567
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
15641568
auto path = env.value("PATH");
15651569

1566-
if (!DeployCore::isSnap()) {
1570+
if (!QuasarAppUtils::PlatformUtils::isSnap()) {
15671571

15681572
_config.envirement.addEnv(env.value("LD_LIBRARY_PATH"));
15691573
_config.envirement.addEnv(path);
@@ -1572,8 +1576,8 @@ void ConfigParser::initEnvirement() {
15721576
QStringList dirs;
15731577
#ifdef Q_OS_LINUX
15741578

1575-
dirs.append(getDirsRecursive(DeployCore::transportPathToSnapRoot("/lib"), 5));
1576-
dirs.append(getDirsRecursive(DeployCore::transportPathToSnapRoot("/usr/lib"), 5));
1579+
dirs.append(getDirsRecursive(QuasarAppUtils::PlatformUtils::transportPathToSnapRoot("/lib"), 5));
1580+
dirs.append(getDirsRecursive(QuasarAppUtils::PlatformUtils::transportPathToSnapRoot("/usr/lib"), 5));
15771581

15781582
#else
15791583
auto winPath = findWindowsPath(path);
@@ -1592,14 +1596,14 @@ void ConfigParser::initEnvirement() {
15921596

15931597
bool ConfigParser::checkSnapPermisions() {
15941598

1595-
if (!DeployCore::isSnap())
1599+
if (!QuasarAppUtils::PlatformUtils::isSnap())
15961600
return true;
15971601

15981602

15991603
bool system = QuasarAppUtils::Params::isEndable("deploySystem") ||
16001604
QuasarAppUtils::Params::isEndable("extraLibs");
16011605

1602-
if (system && !DeployCore::checkSystemBakupSnapInterface()) {
1606+
if (system && !QuasarAppUtils::PlatformUtils::checkSystemBakupSnapInterface()) {
16031607

16041608
QuasarAppUtils::Params::log("You use a deploySystem or extraLibs options,"
16051609
" but not added permision system-backup for cqtdeployer."

src/Deploy/src/deploycore.cpp

Lines changed: 5 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <QProcess>
1717
#include <configparser.h>
1818
#include <iostream>
19+
#include <qaplatformutils.h>
1920

2021
//QString DeployCore::qtDir = "";
2122
//QStringList DeployCore::extraPaths = QStringList();
@@ -609,7 +610,7 @@ QString DeployCore::getAppVersion() {
609610
}
610611

611612
QString DeployCore::getAppVersionName() {
612-
if (isSnap()) {
613+
if (QuasarAppUtils::PlatformUtils::isSnap()) {
613614
return "*** Cool Core (snap) ***";
614615
}
615616
return "*** Cool Core ***";
@@ -661,9 +662,10 @@ QString DeployCore::findProcess(const QString &env, const QString& proc, bool ig
661662
}
662663

663664
// working only for the snap version of cqtdeployer ...
664-
if (isSnap()) {
665+
if (QuasarAppUtils::PlatformUtils::isSnap()) {
665666
for (const auto& path : list) {
666-
auto files = QDir(transportPathToSnapRoot(path)).entryInfoList(findEntries);
667+
auto files = QDir(QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(path)).
668+
entryInfoList(findEntries);
667669

668670
for (const auto& bin : files) {
669671
if (bin.baseName().compare(proc, DeployCore::getCaseSensitivity()) == 0) {
@@ -1006,40 +1008,6 @@ char DeployCore::getEnvSeparator() {
10061008
#endif
10071009
}
10081010

1009-
bool DeployCore::isSnap() {
1010-
return QProcessEnvironment::systemEnvironment().value("SNAP").size();
1011-
}
1012-
1013-
QString DeployCore::snapRootFS() {
1014-
return "/var/lib/snapd/hostfs";
1015-
}
1016-
1017-
QString DeployCore::transportPathToSnapRoot(const QString &path) {
1018-
if (isSnap() && checkSystemBakupSnapInterface()) {
1019-
1020-
if(QFileInfo(path).isWritable()) {
1021-
return path;
1022-
}
1023-
1024-
if (path.size() && path[0] != QString("/")) {
1025-
auto absalutPath = QProcessEnvironment::systemEnvironment().value("PWD") + "/" + path;
1026-
if (!absalutPath.contains(DeployCore::snapRootFS())) {
1027-
return snapRootFS() + "/" + absalutPath;
1028-
}
1029-
}
1030-
1031-
if (!path.contains(DeployCore::snapRootFS())) {
1032-
return snapRootFS() + "/" + path;
1033-
}
1034-
}
1035-
1036-
return path;
1037-
}
1038-
1039-
bool DeployCore::checkSystemBakupSnapInterface() {
1040-
return QDir(DeployCore::snapRootFS()).entryList(QDir::AllEntries | QDir::NoDotAndDotDot).size();
1041-
}
1042-
10431011
void DeployCore::printInternalError(const char * function, const char* file, int line ) {
10441012
QuasarAppUtils::Params::log(QString("Internal error ocurred in %0 (%1:%2).").arg(function, file).arg(line),
10451013
QuasarAppUtils::Error);

src/Deploy/src/deploycore.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,11 +283,6 @@ class DEPLOYSHARED_EXPORT DeployCore
283283
static QStringList debugExtensions();
284284
static bool isDebugFile(const QString& file);
285285

286-
static bool isSnap();
287-
static QString snapRootFS();
288-
static QString transportPathToSnapRoot(const QString &path);
289-
static bool checkSystemBakupSnapInterface();
290-
291286
/**
292287
* @brief getLibCoreName This method remove platfomr specificly prefixes and sufixes of the librarry.
293288
* Example : getLibCoreName(libTest.so) return Test

src/Deploy/src/distromodule.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "deployconfig.h"
99
#include "deploycore.h"
1010
#include "distromodule.h"
11+
#include <qaplatformutils.h>
1112

1213
DistroModule::DistroModule(const QString& key) {
1314
setKey(key);
@@ -34,7 +35,7 @@ void DistroModule::setQmlInput(const QSet<QString> &qmlInput) {
3435
}
3536

3637
void DistroModule::addQmlInput(const QString &target) {
37-
_qmlInput.insert(DeployCore::transportPathToSnapRoot(target));
38+
_qmlInput.insert(QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(target));
3839
}
3940

4041
QString DistroModule::name() const {
@@ -110,7 +111,7 @@ void DistroModule::setExtraPlugins(const QSet<QString> &extraPlugins) {
110111
}
111112

112113
void DistroModule::addExtraPlugins(const QString &extraPlugin) {
113-
_extraPlugins += DeployCore::transportPathToSnapRoot(extraPlugin);
114+
_extraPlugins += QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(extraPlugin);
114115

115116
}
116117

src/Deploy/src/elf_type.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ QString ELF::extractRPath(ElfReader& reader) const {
6666
for (const auto &path: pathes) {
6767
if (path.contains("/")) {
6868
if (result.size()) {
69-
result += DeployCore::getEnvSeparator() + DeployCore::transportPathToSnapRoot(path);
69+
result += DeployCore::getEnvSeparator() +
70+
QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(path);
7071
} else {
71-
result += DeployCore::transportPathToSnapRoot(path);
72+
result += QuasarAppUtils::PlatformUtils::transportPathToSnapRoot(path);
7273
}
7374
}
7475
}

0 commit comments

Comments
 (0)