Added patch that will better detect which Linux distribution is used when determining which plugins to URL to generate.
This commit is contained in:
parent
b9e178a9ee
commit
bca57674d0
|
@ -30,8 +30,10 @@ static QString kPluginsBaseUrl = "http://synergy-project.org/files/plugins/";
|
|||
static const char kWinProcessorArch32[] = "Windows-x86";
|
||||
static const char kWinProcessorArch64[] = "Windows-x64";
|
||||
static const char kMacProcessorArch[] = "MacOSX-i386";
|
||||
static const char kLinuxProcessorArch32[] = "Linux-i686";
|
||||
static const char kLinuxProcessorArch64[] = "Linux-x86_64";
|
||||
static const char kLinuxProcessorArchDeb32[] = "Linux-i686-deb";
|
||||
static const char kLinuxProcessorArchDeb64[] = "Linux-x86_64-deb";
|
||||
static const char kLinuxProcessorArchRpm32[] = "Linux-i686-rpm";
|
||||
static const char kLinuxProcessorArchRpm64[] = "Linux-x86_64-rpm";
|
||||
static QString kOpenSSLBaseUrl = "http://synergy-foss.org/files/tools/";
|
||||
static QString kCertificateLifetime = "365";
|
||||
static QString kCertificateSubjectInfo = "/CN=Synergy";
|
||||
|
@ -184,11 +186,17 @@ QString PluginManager::getPluginUrl(const QString& pluginName)
|
|||
else if (arch == Mac_i386) {
|
||||
result.append(kMacProcessorArch);
|
||||
}
|
||||
else if (arch == Linux_i686) {
|
||||
result.append(kLinuxProcessorArch32);
|
||||
else if (arch == Linux_rpm_i686) {
|
||||
result.append(kLinuxProcessorArchRpm32);
|
||||
}
|
||||
else if (arch == Linux_x86_64) {
|
||||
result.append(kLinuxProcessorArch64);
|
||||
else if (arch == Linux_rpm_x86_64) {
|
||||
result.append(kLinuxProcessorArchRpm64);
|
||||
}
|
||||
else if (arch == Linux_deb_i686) {
|
||||
result.append(kLinuxProcessorArchDeb32);
|
||||
}
|
||||
else if (arch == Linux_deb_x86_64) {
|
||||
result.append(kLinuxProcessorArchDeb64);
|
||||
}
|
||||
else {
|
||||
emit error(
|
||||
|
|
|
@ -22,8 +22,10 @@ enum qProcessorArch {
|
|||
Win_x86,
|
||||
Win_x64,
|
||||
Mac_i386,
|
||||
Linux_i686,
|
||||
Linux_x86_64,
|
||||
Linux_rpm_i686,
|
||||
Linux_rpm_x86_64,
|
||||
Linux_deb_i686,
|
||||
Linux_deb_x86_64,
|
||||
unknown
|
||||
};
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#if defined(Q_OS_LINUX)
|
||||
static const char kLinuxI686[] = "i686";
|
||||
static const char kLinuxX8664[] = "x86_64";
|
||||
static const char kUbuntu[] = "Ubuntu";
|
||||
#endif
|
||||
|
||||
void setIndexFromItemData(QComboBox* comboBox, const QVariant& itemData)
|
||||
|
@ -86,19 +87,22 @@ int checkProcessorArch()
|
|||
#elif defined(Q_OS_MAC)
|
||||
return Mac_i386;
|
||||
#else
|
||||
QString program("uname");
|
||||
QStringList args("-m");
|
||||
QProcess process;
|
||||
process.setReadChannel(QProcess::StandardOutput);
|
||||
process.start(program, args);
|
||||
bool success = process.waitForStarted();
|
||||
bool version32 = false;
|
||||
bool debPackaging = false;
|
||||
|
||||
QString program1("uname");
|
||||
QStringList args1("-m");
|
||||
QProcess process1;
|
||||
process1.setReadChannel(QProcess::StandardOutput);
|
||||
process1.start(program1, args1);
|
||||
bool success = process1.waitForStarted();
|
||||
|
||||
QString out, error;
|
||||
if (success)
|
||||
{
|
||||
if (process.waitForFinished()) {
|
||||
out = process.readAllStandardOutput();
|
||||
error = process.readAllStandardError();
|
||||
if (process1.waitForFinished()) {
|
||||
out = process1.readAllStandardOutput();
|
||||
error = process1.readAllStandardError();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,16 +112,60 @@ int checkProcessorArch()
|
|||
if (out.isEmpty() ||
|
||||
!error.isEmpty() ||
|
||||
!success ||
|
||||
process.exitCode() != 0)
|
||||
process1.exitCode() != 0)
|
||||
{
|
||||
return unknown;
|
||||
}
|
||||
|
||||
if (out == kLinuxI686) {
|
||||
return Linux_i686;
|
||||
version32 = true;
|
||||
}
|
||||
|
||||
QString program2("python");
|
||||
QStringList args2("-mplatform");
|
||||
QProcess process2;
|
||||
process2.setReadChannel(QProcess::StandardOutput);
|
||||
process2.start(program2, args2);
|
||||
success = process2.waitForStarted();
|
||||
|
||||
if (success)
|
||||
{
|
||||
if (process2.waitForFinished()) {
|
||||
out = process2.readAllStandardOutput();
|
||||
error = process2.readAllStandardError();
|
||||
}
|
||||
}
|
||||
|
||||
out = out.trimmed();
|
||||
error = error.trimmed();
|
||||
|
||||
if (out.isEmpty() ||
|
||||
!error.isEmpty() ||
|
||||
!success ||
|
||||
process2.exitCode() != 0)
|
||||
{
|
||||
return unknown;
|
||||
}
|
||||
|
||||
if (out.contains(kUbuntu)) {
|
||||
debPackaging = true;
|
||||
}
|
||||
|
||||
if (version32) {
|
||||
if (debPackaging) {
|
||||
return Linux_deb_i686;
|
||||
}
|
||||
else {
|
||||
return Linux_rpm_i686;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (debPackaging) {
|
||||
return Linux_deb_x86_64;
|
||||
}
|
||||
else {
|
||||
return Linux_rpm_x86_64;
|
||||
}
|
||||
else if (out == kLinuxX8664) {
|
||||
return Linux_x86_64;
|
||||
}
|
||||
#endif
|
||||
return unknown;
|
||||
|
|
Loading…
Reference in New Issue