diff options
author | Liang Qi <liang.qi@qt.io> | 2018-08-16 13:34:53 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-08-16 18:48:59 +0200 |
commit | 8559bf934def636ccff487464adb600d219f8778 (patch) | |
tree | 3063152f487798c7103dbf61216e48c37586a4e1 /src/corelib/global/qglobal.cpp | |
parent | f1a6b97fe2d3eda9455b13bb79828f250d46b92e (diff) | |
parent | a0ebd98f58b2d92c34fafbc620f024caa36bf0ad (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
src/corelib/global/qconfig-bootstrapped.h
src/plugins/platforms/xcb/qxcbbackingstore.cpp
Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I4af138ffb2f5306373244523768209e8873b2798
Diffstat (limited to 'src/corelib/global/qglobal.cpp')
-rw-r--r-- | src/corelib/global/qglobal.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index d197688316..37cc40f577 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -2212,10 +2212,19 @@ static bool readEtcFile(QUnixOSVersion &v, const char *filename, return true; } -static bool readEtcOsRelease(QUnixOSVersion &v) +static bool readOsRelease(QUnixOSVersion &v) { - return readEtcFile(v, "/etc/os-release", QByteArrayLiteral("ID="), - QByteArrayLiteral("VERSION_ID="), QByteArrayLiteral("PRETTY_NAME=")); + QByteArray id = QByteArrayLiteral("ID="); + QByteArray versionId = QByteArrayLiteral("VERSION_ID="); + QByteArray prettyName = QByteArrayLiteral("PRETTY_NAME="); + + // man os-release(5) says: + // The file /etc/os-release takes precedence over /usr/lib/os-release. + // Applications should check for the former, and exclusively use its data + // if it exists, and only fall back to /usr/lib/os-release if it is + // missing. + return readEtcFile(v, "/etc/os-release", id, versionId, prettyName) || + readEtcFile(v, "/usr/lib/os-release", id, versionId, prettyName); } static bool readEtcLsbRelease(QUnixOSVersion &v) @@ -2297,7 +2306,7 @@ static bool readEtcDebianVersion(QUnixOSVersion &v) static bool findUnixOsVersion(QUnixOSVersion &v) { - if (readEtcOsRelease(v)) + if (readOsRelease(v)) return true; if (readEtcLsbRelease(v)) return true; |