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 kWinProcessorArch32[] = "Windows-x86";
|
||||||
static const char kWinProcessorArch64[] = "Windows-x64";
|
static const char kWinProcessorArch64[] = "Windows-x64";
|
||||||
static const char kMacProcessorArch[] = "MacOSX-i386";
|
static const char kMacProcessorArch[] = "MacOSX-i386";
|
||||||
static const char kLinuxProcessorArch32[] = "Linux-i686";
|
static const char kLinuxProcessorArchDeb32[] = "Linux-i686-deb";
|
||||||
static const char kLinuxProcessorArch64[] = "Linux-x86_64";
|
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 kOpenSSLBaseUrl = "http://synergy-foss.org/files/tools/";
|
||||||
static QString kCertificateLifetime = "365";
|
static QString kCertificateLifetime = "365";
|
||||||
static QString kCertificateSubjectInfo = "/CN=Synergy";
|
static QString kCertificateSubjectInfo = "/CN=Synergy";
|
||||||
|
@ -184,11 +186,17 @@ QString PluginManager::getPluginUrl(const QString& pluginName)
|
||||||
else if (arch == Mac_i386) {
|
else if (arch == Mac_i386) {
|
||||||
result.append(kMacProcessorArch);
|
result.append(kMacProcessorArch);
|
||||||
}
|
}
|
||||||
else if (arch == Linux_i686) {
|
else if (arch == Linux_rpm_i686) {
|
||||||
result.append(kLinuxProcessorArch32);
|
result.append(kLinuxProcessorArchRpm32);
|
||||||
}
|
}
|
||||||
else if (arch == Linux_x86_64) {
|
else if (arch == Linux_rpm_x86_64) {
|
||||||
result.append(kLinuxProcessorArch64);
|
result.append(kLinuxProcessorArchRpm64);
|
||||||
|
}
|
||||||
|
else if (arch == Linux_deb_i686) {
|
||||||
|
result.append(kLinuxProcessorArchDeb32);
|
||||||
|
}
|
||||||
|
else if (arch == Linux_deb_x86_64) {
|
||||||
|
result.append(kLinuxProcessorArchDeb64);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
emit error(
|
emit error(
|
||||||
|
|
|
@ -22,8 +22,10 @@ enum qProcessorArch {
|
||||||
Win_x86,
|
Win_x86,
|
||||||
Win_x64,
|
Win_x64,
|
||||||
Mac_i386,
|
Mac_i386,
|
||||||
Linux_i686,
|
Linux_rpm_i686,
|
||||||
Linux_x86_64,
|
Linux_rpm_x86_64,
|
||||||
|
Linux_deb_i686,
|
||||||
|
Linux_deb_x86_64,
|
||||||
unknown
|
unknown
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#if defined(Q_OS_LINUX)
|
#if defined(Q_OS_LINUX)
|
||||||
static const char kLinuxI686[] = "i686";
|
static const char kLinuxI686[] = "i686";
|
||||||
static const char kLinuxX8664[] = "x86_64";
|
static const char kLinuxX8664[] = "x86_64";
|
||||||
|
static const char kUbuntu[] = "Ubuntu";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void setIndexFromItemData(QComboBox* comboBox, const QVariant& itemData)
|
void setIndexFromItemData(QComboBox* comboBox, const QVariant& itemData)
|
||||||
|
@ -86,19 +87,22 @@ int checkProcessorArch()
|
||||||
#elif defined(Q_OS_MAC)
|
#elif defined(Q_OS_MAC)
|
||||||
return Mac_i386;
|
return Mac_i386;
|
||||||
#else
|
#else
|
||||||
QString program("uname");
|
bool version32 = false;
|
||||||
QStringList args("-m");
|
bool debPackaging = false;
|
||||||
QProcess process;
|
|
||||||
process.setReadChannel(QProcess::StandardOutput);
|
QString program1("uname");
|
||||||
process.start(program, args);
|
QStringList args1("-m");
|
||||||
bool success = process.waitForStarted();
|
QProcess process1;
|
||||||
|
process1.setReadChannel(QProcess::StandardOutput);
|
||||||
|
process1.start(program1, args1);
|
||||||
|
bool success = process1.waitForStarted();
|
||||||
|
|
||||||
QString out, error;
|
QString out, error;
|
||||||
if (success)
|
if (success)
|
||||||
{
|
{
|
||||||
if (process.waitForFinished()) {
|
if (process1.waitForFinished()) {
|
||||||
out = process.readAllStandardOutput();
|
out = process1.readAllStandardOutput();
|
||||||
error = process.readAllStandardError();
|
error = process1.readAllStandardError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,16 +112,60 @@ int checkProcessorArch()
|
||||||
if (out.isEmpty() ||
|
if (out.isEmpty() ||
|
||||||
!error.isEmpty() ||
|
!error.isEmpty() ||
|
||||||
!success ||
|
!success ||
|
||||||
process.exitCode() != 0)
|
process1.exitCode() != 0)
|
||||||
{
|
{
|
||||||
return unknown;
|
return unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (out == kLinuxI686) {
|
if (out == kLinuxI686) {
|
||||||
return Linux_i686;
|
version32 = true;
|
||||||
}
|
}
|
||||||
else if (out == kLinuxX8664) {
|
|
||||||
return Linux_x86_64;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return unknown;
|
return unknown;
|
||||||
|
|
Loading…
Reference in New Issue