mirror of
https://github.com/void-linux/void-packages.git
synced 2025-08-05 20:32:58 +02:00
dtkcore: update to 2.0.9.5.
This commit is contained in:
parent
f60a6eac24
commit
0f82662acd
3 changed files with 34 additions and 979 deletions
|
@ -1,977 +0,0 @@
|
||||||
From 2f6df238bb114d2e04ad0fab611b560d9e1af9d8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: John Zimmermann <johnz@posteo.net>
|
|
||||||
Date: Sat, 8 Sep 2018 15:01:38 +0200
|
|
||||||
Subject: [PATCH] Revert "feat: add DSysInfo class"
|
|
||||||
|
|
||||||
This reverts commit 16faf6c84d1a2ce520eecd42f369b78d24e03b9c.
|
|
||||||
---
|
|
||||||
.gitignore | 2 -
|
|
||||||
cmake/DtkCMake/DtkCMakeConfig.cmake | 72 ---
|
|
||||||
debian/libdtkcore-bin.install | 1 -
|
|
||||||
dtkcore.pro | 1 +
|
|
||||||
src/DSysInfo | 1 -
|
|
||||||
src/dsysinfo.cpp | 442 ------------------
|
|
||||||
src/dsysinfo.h | 75 ---
|
|
||||||
src/dtk_build.prf | 4 -
|
|
||||||
src/dtk_cmake.prf | 6 +-
|
|
||||||
src/dtk_module.prf | 5 -
|
|
||||||
src/dtk_qmake.prf | 73 ---
|
|
||||||
src/src.pro | 25 +-
|
|
||||||
tools/deepin-os-release/deepin-os-release.pro | 12 -
|
|
||||||
tools/deepin-os-release/main.cpp | 83 ----
|
|
||||||
tools/tools.pro | 2 +-
|
|
||||||
15 files changed, 5 insertions(+), 799 deletions(-)
|
|
||||||
delete mode 100644 cmake/DtkCMake/DtkCMakeConfig.cmake
|
|
||||||
delete mode 100644 src/DSysInfo
|
|
||||||
delete mode 100644 src/dsysinfo.cpp
|
|
||||||
delete mode 100644 src/dsysinfo.h
|
|
||||||
delete mode 100644 src/dtk_qmake.prf
|
|
||||||
delete mode 100644 tools/deepin-os-release/deepin-os-release.pro
|
|
||||||
delete mode 100644 tools/deepin-os-release/main.cpp
|
|
||||||
|
|
||||||
diff --git .gitignore .gitignore
|
|
||||||
index fd215d3..25e4a6c 100644
|
|
||||||
--- .gitignore
|
|
||||||
+++ .gitignore
|
|
||||||
@@ -23,5 +23,3 @@ src/DtkCore
|
|
||||||
src/dtkcore_config.h
|
|
||||||
cmake/DtkCore/DtkCoreConfig.cmake
|
|
||||||
src/qt_lib_d*.pri
|
|
||||||
-
|
|
||||||
-bin/
|
|
||||||
diff --git cmake/DtkCMake/DtkCMakeConfig.cmake cmake/DtkCMake/DtkCMakeConfig.cmake
|
|
||||||
deleted file mode 100644
|
|
||||||
index eeabef4..0000000
|
|
||||||
--- cmake/DtkCMake/DtkCMakeConfig.cmake
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,72 +0,0 @@
|
|
||||||
-function(addDefinitions macro)
|
|
||||||
- string(TOUPPER ${macro} macro)
|
|
||||||
- add_definitions(-D${macro})
|
|
||||||
-endfunction()
|
|
||||||
-
|
|
||||||
-add_definitions(-DQ_HOST_NAME=\"${CMAKE_HOST_SYSTEM_PROCESSOR}\")
|
|
||||||
-addDefinitions(Q_HOST_${CMAKE_HOST_SYSTEM_PROCESSOR})
|
|
||||||
-
|
|
||||||
-find_package(DtkCore REQUIRED)
|
|
||||||
-
|
|
||||||
-set(DEEPIN_OS_RELEASE_TOOL_PATH ${DTKCORE_TOOL_DIR})
|
|
||||||
-set(DEEPIN_OS_RELEASE_TOOL ${DEEPIN_OS_RELEASE_TOOL_PATH}/deepin-os-release)
|
|
||||||
-
|
|
||||||
-if(NOT EXISTS "${DEEPIN_OS_RELEASE_TOOL}")
|
|
||||||
- message(FATAL_ERROR "\"${DEEPIN_OS_RELEASE_TOOL}\" is not exists. Install \"dtkcore-bin\" first")
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-function(formatString string)
|
|
||||||
- string(REGEX REPLACE "\\s+" "_" string ${string})
|
|
||||||
-endfunction()
|
|
||||||
-
|
|
||||||
-macro(execDeepinOsRelease args output)
|
|
||||||
- exec_program(${DEEPIN_OS_RELEASE_TOOL} ARGS ${args} OUTPUT_VARIABLE ${output} RETURN_VALUE exitCode)
|
|
||||||
-
|
|
||||||
- if(NOT ${exitCode} EQUAL 0)
|
|
||||||
- message(FATAL_ERROR "exec deepin-os-release failed, with args: ${args}, error message: ${output}")
|
|
||||||
- endif()
|
|
||||||
-endmacro()
|
|
||||||
-
|
|
||||||
-execDeepinOsRelease(--deepin-type DEEPIN_OS_TYPE)
|
|
||||||
-execDeepinOsRelease(--product-type CMAKE_PLATFORM_ID)
|
|
||||||
-execDeepinOsRelease(--product-version CMAKE_PLATFORM_VERSION)
|
|
||||||
-
|
|
||||||
-if("${CMAKE_PLATFORM_ID}" STREQUAL "")
|
|
||||||
- message(WARNING "No value of the \"--product-type\" in the process \"${DEEPIN_OS_RELEASE_TOOL}\"")
|
|
||||||
-else()
|
|
||||||
- formatString(CMAKE_PLATFORM_ID)
|
|
||||||
-
|
|
||||||
- message("OS: ${CMAKE_PLATFORM_ID}, Version: ${CMAKE_PLATFORM_VERSION}")
|
|
||||||
-
|
|
||||||
- if(NOT "${CMAKE_PLATFORM_ID}" STREQUAL "")
|
|
||||||
- addDefinitions(Q_OS_${CMAKE_PLATFORM_ID})
|
|
||||||
- string(TOUPPER ${CMAKE_PLATFORM_ID} CMAKE_PLATFORM_ID)
|
|
||||||
- set(OS_${CMAKE_PLATFORM_ID} TRUE)
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- if("${CMAKE_PLATFORM_VERSION}" STREQUAL "")
|
|
||||||
- message(WARNING "No value of the \"--product-version\"")
|
|
||||||
- else()
|
|
||||||
- formatString(CMAKE_PLATFORM_VERSION)
|
|
||||||
- if(NOT "${CMAKE_PLATFORM_VERSION}" STREQUAL "")
|
|
||||||
- add_definitions(-DQ_OS_VERSION=\"${CMAKE_PLATFORM_VERSION}\")
|
|
||||||
- endif()
|
|
||||||
- endif()
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-if("${DEEPIN_OS_TYPE}" STREQUAL "")
|
|
||||||
- message(WARNING "No value of the \"--deepin-type\" in the process \"${DEEPIN_OS_RELEASE_TOOL}\"")
|
|
||||||
-else()
|
|
||||||
- formatString(DEEPIN_OS_TYPE)
|
|
||||||
-
|
|
||||||
- message("Deepin OS Type: ${DEEPIN_OS_TYPE}")
|
|
||||||
-
|
|
||||||
- if(NOT "${DEEPIN_OS_TYPE}" STREQUAL "")
|
|
||||||
- addDefinitions(Q_OS_DEEPIN_${DEEPIN_OS_TYPE})
|
|
||||||
- string(TOUPPER ${DEEPIN_OS_TYPE} DEEPIN_OS_TYPE)
|
|
||||||
- set(OS_DEEPIN_${DEEPIN_OS_TYPE} TRUE)
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- add_definitions(-DQ_OS_DEEPIN)
|
|
||||||
- set(OS_DEEPIN TRUE)
|
|
||||||
-endif()
|
|
||||||
diff --git debian/libdtkcore-bin.install debian/libdtkcore-bin.install
|
|
||||||
index a0739b8..b808e55 100644
|
|
||||||
--- debian/libdtkcore-bin.install
|
|
||||||
+++ debian/libdtkcore-bin.install
|
|
||||||
@@ -1,2 +1 @@
|
|
||||||
usr/lib/dtk2/*
|
|
||||||
-usr/lib/*/*/DCore/bin/*
|
|
||||||
diff --git dtkcore.pro dtkcore.pro
|
|
||||||
index 1b7c66f..2ce7963 100644
|
|
||||||
--- dtkcore.pro
|
|
||||||
+++ dtkcore.pro
|
|
||||||
@@ -1 +1,2 @@
|
|
||||||
include($$PWD/src/dtk_lib.prf)
|
|
||||||
+
|
|
||||||
diff --git src/DSysInfo src/DSysInfo
|
|
||||||
deleted file mode 100644
|
|
||||||
index c026f58..0000000
|
|
||||||
--- src/DSysInfo
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1 +0,0 @@
|
|
||||||
-#include "dsysinfo.h"
|
|
||||||
diff --git src/dsysinfo.cpp src/dsysinfo.cpp
|
|
||||||
deleted file mode 100644
|
|
||||||
index 0fa9045..0000000
|
|
||||||
--- src/dsysinfo.cpp
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,442 +0,0 @@
|
|
||||||
-/*
|
|
||||||
- * Copyright (C) 2017 ~ 2018 Deepin Technology Co., Ltd.
|
|
||||||
- *
|
|
||||||
- * Author: zccrs <zccrs@live.com>
|
|
||||||
- *
|
|
||||||
- * Maintainer: zccrs <zhangjide@deepin.com>
|
|
||||||
- *
|
|
||||||
- * This program is free software: you can redistribute it and/or modify
|
|
||||||
- * it under the terms of the GNU General Public License as published by
|
|
||||||
- * the Free Software Foundation, either version 3 of the License, or
|
|
||||||
- * any later version.
|
|
||||||
- *
|
|
||||||
- * This program is distributed in the hope that it will be useful,
|
|
||||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
- * GNU General Public License for more details.
|
|
||||||
- *
|
|
||||||
- * You should have received a copy of the GNU General Public License
|
|
||||||
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
- */
|
|
||||||
-#include "dsysinfo.h"
|
|
||||||
-
|
|
||||||
-#include <QFile>
|
|
||||||
-#include <QLocale>
|
|
||||||
-#include <QStorageInfo>
|
|
||||||
-#include <QProcess>
|
|
||||||
-#include <QDebug>
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
-#include <sys/sysinfo.h>
|
|
||||||
-#include <sys/utsname.h>
|
|
||||||
-#include <sys/unistd.h>
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-DCORE_BEGIN_NAMESPACE
|
|
||||||
-
|
|
||||||
-class DSysInfoPrivate
|
|
||||||
-{
|
|
||||||
-public:
|
|
||||||
- DSysInfoPrivate();
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
- void ensureDeepinInfo();
|
|
||||||
-#endif
|
|
||||||
- void ensureReleaseInfo();
|
|
||||||
- void ensureComputerInfo();
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
- DSysInfo::DeepinType deepinType = DSysInfo::DeepinType(-1);
|
|
||||||
- QMap<QString, QString> deepinTypeMap; //Type Name with Language
|
|
||||||
- QString deepinEdition;
|
|
||||||
- QString deepinCopyright;
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
- DSysInfo::ProductType productType = DSysInfo::ProductType(-1);
|
|
||||||
- QString prettyName;
|
|
||||||
- QString productTypeString;
|
|
||||||
- QString productVersion;
|
|
||||||
-
|
|
||||||
- QString computerName;
|
|
||||||
- QString cpuModelName;
|
|
||||||
- qint64 memoryTotalSize = -1;
|
|
||||||
- qint64 diskSize = 0;
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
-DSysInfoPrivate::DSysInfoPrivate()
|
|
||||||
-{
|
|
||||||
-
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
-void DSysInfoPrivate::ensureDeepinInfo()
|
|
||||||
-{
|
|
||||||
- if (deepinType >= 0)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- QFile file("/etc/deepin-version");
|
|
||||||
-
|
|
||||||
- if (!file.open(QFile::ReadOnly)) {
|
|
||||||
- deepinType = DSysInfo::UnknownDeepin;
|
|
||||||
-
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- char buf[1024];
|
|
||||||
- int buf_length = 0;
|
|
||||||
-
|
|
||||||
- Q_FOREVER {
|
|
||||||
- buf_length = file.readLine(buf, sizeof(buf));
|
|
||||||
-
|
|
||||||
- if (buf_length < 0)
|
|
||||||
- break;
|
|
||||||
-
|
|
||||||
- const QByteArray line(buf, buf_length);
|
|
||||||
- const QByteArrayList &list = line.split('=');
|
|
||||||
-
|
|
||||||
- if (list.count() != 2) {
|
|
||||||
- continue;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- const auto key_value = qMakePair(list.first().trimmed(), list.last().trimmed());
|
|
||||||
-
|
|
||||||
- if (line.startsWith("Type")) {
|
|
||||||
- if (key_value.first == "Type") {
|
|
||||||
- deepinTypeMap[QString()] = QString::fromLatin1(key_value.second);
|
|
||||||
- } else if (key_value.first.at(4) == '[' && key_value.first.at(key_value.first.size() - 1) == ']') {
|
|
||||||
- const QByteArray &language = key_value.first.mid(5, key_value.first.size() - 6);
|
|
||||||
-
|
|
||||||
- if (!language.isEmpty()) {
|
|
||||||
- deepinTypeMap[QString::fromLatin1(language)] = QString::fromUtf8(key_value.second);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- } else if (key_value.first == "Edition") {
|
|
||||||
- deepinEdition = QString::fromUtf8(key_value.second);
|
|
||||||
- } else if (key_value.first == "Copyright") {
|
|
||||||
- deepinCopyright = QString::fromUtf8(key_value.second);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (!deepinTypeMap.isEmpty() && !deepinEdition.isEmpty() && !deepinCopyright.isEmpty()) {
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- file.close();
|
|
||||||
-
|
|
||||||
- const QString &deepin_type = deepinTypeMap[QString()];
|
|
||||||
-
|
|
||||||
- if (deepin_type.isEmpty()) {
|
|
||||||
- deepinType = DSysInfo::UnknownDeepin;
|
|
||||||
- } else if (deepin_type == "Desktop") {
|
|
||||||
- deepinType = DSysInfo::DeepinDesktop;
|
|
||||||
- } else if (deepin_type == "Professional") {
|
|
||||||
- deepinType = DSysInfo::DeepinProfessional;
|
|
||||||
- } else {
|
|
||||||
- deepinType = DSysInfo::UnknownDeepin;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (!deepinTypeMap.isEmpty() && productTypeString.isEmpty()) {
|
|
||||||
- productTypeString = "deepin";
|
|
||||||
- productType = DSysInfo::Deepin;
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static QString unquote(const QByteArray &value)
|
|
||||||
-{
|
|
||||||
- if (value.at(0) == '"' || value.at(0) == '\'') {
|
|
||||||
- return QString::fromLatin1(value.mid(1, value.size() - 2));
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return QString::fromLatin1(value);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static bool readEtcFile(DSysInfoPrivate *info, const char *filename,
|
|
||||||
- const QByteArray &idKey, const QByteArray &versionKey, const QByteArray &prettyNameKey)
|
|
||||||
-{
|
|
||||||
-
|
|
||||||
- QFile file(QString::fromLatin1(filename));
|
|
||||||
-
|
|
||||||
- if (!file.open(QIODevice::ReadOnly)) {
|
|
||||||
- return false;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- quint8 valid_data_count = 0;
|
|
||||||
- char buf[1024];
|
|
||||||
-
|
|
||||||
- while (valid_data_count < 3) {
|
|
||||||
- int buf_length = file.readLine(buf, sizeof(buf));
|
|
||||||
-
|
|
||||||
- if (buf_length < 0)
|
|
||||||
- break;
|
|
||||||
-
|
|
||||||
- const QByteArray line(buf, buf_length - 1);
|
|
||||||
-
|
|
||||||
- if (line.startsWith(idKey)) {
|
|
||||||
- const QByteArray value(line.constData() + idKey.size());
|
|
||||||
- info->productTypeString = unquote(value);
|
|
||||||
- ++valid_data_count;
|
|
||||||
- continue;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (line.startsWith(prettyNameKey)) {
|
|
||||||
- const QByteArray value(line.constData() + prettyNameKey.size());
|
|
||||||
- info->prettyName = unquote(value);
|
|
||||||
- ++valid_data_count;
|
|
||||||
- continue;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (line.startsWith(versionKey)) {
|
|
||||||
- const QByteArray value(line.constData() + versionKey.size());
|
|
||||||
- info->productVersion = unquote(value);
|
|
||||||
- ++valid_data_count;
|
|
||||||
- continue;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- file.close();
|
|
||||||
-
|
|
||||||
- return valid_data_count != 0;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static bool readOsRelease(DSysInfoPrivate *info)
|
|
||||||
-{
|
|
||||||
- if (!readEtcFile(info, "/etc/os-release", "ID=", "VERSION_ID=", "PRETTY_NAME="))
|
|
||||||
- return readEtcFile(info, "/usr/lib/os-release", "ID=", "VERSION_ID=", "PRETTY_NAME=");
|
|
||||||
-
|
|
||||||
- return true;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static bool readLsbRelease(DSysInfoPrivate *info)
|
|
||||||
-{
|
|
||||||
- return readEtcFile(info, "/etc/lsb-release", "DISTRIB_ID=", "DISTRIB_RELEASE=", "DISTRIB_DESCRIPTION=");
|
|
||||||
-}
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-void DSysInfoPrivate::ensureReleaseInfo()
|
|
||||||
-{
|
|
||||||
- if (productType >= 0) {
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
- if (!readOsRelease(this))
|
|
||||||
- readLsbRelease(this);
|
|
||||||
-
|
|
||||||
- if (productTypeString.isEmpty()) {
|
|
||||||
- productType = DSysInfo::UnknownType;
|
|
||||||
- } else {
|
|
||||||
- switch (productTypeString.at(0).unicode()) {
|
|
||||||
- case 'd':
|
|
||||||
- case 'D':
|
|
||||||
- if (productTypeString.compare("deepin", Qt::CaseInsensitive) == 0) {
|
|
||||||
- productType = DSysInfo::Deepin;
|
|
||||||
- } else if (productTypeString.compare("debian", Qt::CaseInsensitive) == 0) {
|
|
||||||
- productType = DSysInfo::Debian;
|
|
||||||
- }
|
|
||||||
- break;
|
|
||||||
- case 'a':
|
|
||||||
- case 'A':
|
|
||||||
- if (productTypeString.compare("arch", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::ArchLinux;
|
|
||||||
- break;
|
|
||||||
- case 'c':
|
|
||||||
- case 'C':
|
|
||||||
- if (productTypeString.compare("centos", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::CentOS;
|
|
||||||
- break;
|
|
||||||
- case 'f':
|
|
||||||
- case 'F':
|
|
||||||
- if (productTypeString.compare("fedora", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::Fedora;
|
|
||||||
- break;
|
|
||||||
- case 'l':
|
|
||||||
- case 'L':
|
|
||||||
- if (productTypeString.compare("linuxmint", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::LinuxMint;
|
|
||||||
- break;
|
|
||||||
- case 'm':
|
|
||||||
- case 'M':
|
|
||||||
- if (productTypeString.compare("manjaro", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::Manjaro;
|
|
||||||
- break;
|
|
||||||
- case 'o':
|
|
||||||
- case 'O':
|
|
||||||
- if (productTypeString.compare("opensuse", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::openSUSE;
|
|
||||||
- break;
|
|
||||||
- case 's':
|
|
||||||
- case 'S':
|
|
||||||
- if (productTypeString.compare("sailfishos", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::SailfishOS;
|
|
||||||
- break;
|
|
||||||
- case 'u':
|
|
||||||
- case 'U':
|
|
||||||
- if (productTypeString.compare("ubuntu", Qt::CaseInsensitive) == 0)
|
|
||||||
- productType = DSysInfo::Ubuntu;
|
|
||||||
- break;
|
|
||||||
- default:
|
|
||||||
- productType = DSysInfo::UnknownType;
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-#endif
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void DSysInfoPrivate::ensureComputerInfo()
|
|
||||||
-{
|
|
||||||
- if (memoryTotalSize >= 0)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
- struct utsname u;
|
|
||||||
- if (uname(&u) == 0)
|
|
||||||
- computerName = QString::fromLatin1(u.nodename);
|
|
||||||
-
|
|
||||||
- QFile file("/proc/cpuinfo");
|
|
||||||
-
|
|
||||||
- if (file.open(QFile::ReadOnly)) {
|
|
||||||
- char buf[1024];
|
|
||||||
- qint64 lineLength = 0;
|
|
||||||
-
|
|
||||||
- do {
|
|
||||||
- lineLength = file.readLine(buf, sizeof(buf));
|
|
||||||
-
|
|
||||||
- const QByteArray line(buf, lineLength);
|
|
||||||
-
|
|
||||||
- if (line.startsWith("model name")) {
|
|
||||||
- if (int index = line.indexOf(':', 10)) {
|
|
||||||
- if (index > 0)
|
|
||||||
- cpuModelName = QString::fromLatin1(line.mid(index + 1).trimmed());
|
|
||||||
- }
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- } while (lineLength >= 0);
|
|
||||||
-
|
|
||||||
- file.close();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- memoryTotalSize = get_phys_pages() * sysconf(_SC_PAGESIZE);
|
|
||||||
-
|
|
||||||
- const QString &root_part = QStorageInfo::root().device();
|
|
||||||
-
|
|
||||||
- if (root_part.isEmpty())
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- QProcess lsblk;
|
|
||||||
-
|
|
||||||
- lsblk.start("lsblk", {"-prno", "pkname", root_part}, QIODevice::ReadOnly);
|
|
||||||
-
|
|
||||||
- if (!lsblk.waitForFinished())
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- const QString &root_disk = QString::fromLatin1(lsblk.readAllStandardOutput().trimmed());
|
|
||||||
-
|
|
||||||
- lsblk.start("lsblk", {"-prnbdo", "size", root_disk}, QIODevice::ReadOnly);
|
|
||||||
-
|
|
||||||
- if (!lsblk.waitForFinished())
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- const QByteArray &disk_size = lsblk.readAllStandardOutput().trimmed();
|
|
||||||
- diskSize = disk_size.toLongLong();
|
|
||||||
-#endif
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-Q_GLOBAL_STATIC(DSysInfoPrivate, siGlobal)
|
|
||||||
-
|
|
||||||
-QString DSysInfo::operatingSystemName()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureReleaseInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->prettyName;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
-bool DSysInfo::isDeepin()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureReleaseInfo();
|
|
||||||
-
|
|
||||||
- if (siGlobal->productTypeString.isEmpty())
|
|
||||||
- siGlobal->ensureDeepinInfo();
|
|
||||||
-
|
|
||||||
- return productType() == Deepin;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-DSysInfo::DeepinType DSysInfo::deepinType()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureDeepinInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->deepinType;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-QString DSysInfo::deepinTypeDisplayName(const QLocale &locale)
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureDeepinInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->deepinTypeMap.value(locale.name(), siGlobal->deepinTypeMap.value(QString()));
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-QString DSysInfo::deepinEdition()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureDeepinInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->deepinEdition;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-QString DSysInfo::deepinCopyright()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureDeepinInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->deepinCopyright;
|
|
||||||
-}
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-DSysInfo::ProductType DSysInfo::productType()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureReleaseInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->productType;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-QString DSysInfo::productTypeString()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureReleaseInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->productTypeString;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-QString DSysInfo::productVersion()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureReleaseInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->productVersion;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-QString DSysInfo::computerName()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureComputerInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->computerName;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-QString DSysInfo::cpuModelName()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureComputerInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->cpuModelName;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-qint64 DSysInfo::memoryTotalSize()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureComputerInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->memoryTotalSize;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-qint64 DSysInfo::systemDiskSize()
|
|
||||||
-{
|
|
||||||
- siGlobal->ensureComputerInfo();
|
|
||||||
-
|
|
||||||
- return siGlobal->diskSize;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-DCORE_END_NAMESPACE
|
|
||||||
diff --git src/dsysinfo.h src/dsysinfo.h
|
|
||||||
deleted file mode 100644
|
|
||||||
index 744c298..0000000
|
|
||||||
--- src/dsysinfo.h
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,75 +0,0 @@
|
|
||||||
-/*
|
|
||||||
- * Copyright (C) 2017 ~ 2018 Deepin Technology Co., Ltd.
|
|
||||||
- *
|
|
||||||
- * Author: zccrs <zccrs@live.com>
|
|
||||||
- *
|
|
||||||
- * Maintainer: zccrs <zhangjide@deepin.com>
|
|
||||||
- *
|
|
||||||
- * This program is free software: you can redistribute it and/or modify
|
|
||||||
- * it under the terms of the GNU General Public License as published by
|
|
||||||
- * the Free Software Foundation, either version 3 of the License, or
|
|
||||||
- * any later version.
|
|
||||||
- *
|
|
||||||
- * This program is distributed in the hope that it will be useful,
|
|
||||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
- * GNU General Public License for more details.
|
|
||||||
- *
|
|
||||||
- * You should have received a copy of the GNU General Public License
|
|
||||||
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
- */
|
|
||||||
-#ifndef DSYSINFO_H
|
|
||||||
-#define DSYSINFO_H
|
|
||||||
-
|
|
||||||
-#include <dtkcore_global.h>
|
|
||||||
-
|
|
||||||
-#include <QLocale>
|
|
||||||
-
|
|
||||||
-DCORE_BEGIN_NAMESPACE
|
|
||||||
-
|
|
||||||
-class DSysInfoPrivate;
|
|
||||||
-class DSysInfo
|
|
||||||
-{
|
|
||||||
-public:
|
|
||||||
- enum ProductType {
|
|
||||||
- UnknownType = 0,
|
|
||||||
- Deepin,
|
|
||||||
- ArchLinux,
|
|
||||||
- CentOS,
|
|
||||||
- Debian,
|
|
||||||
- Fedora,
|
|
||||||
- LinuxMint,
|
|
||||||
- Manjaro,
|
|
||||||
- openSUSE,
|
|
||||||
- SailfishOS,
|
|
||||||
- Ubuntu
|
|
||||||
- };
|
|
||||||
-
|
|
||||||
- enum DeepinType {
|
|
||||||
- UnknownDeepin = 0,
|
|
||||||
- DeepinDesktop,
|
|
||||||
- DeepinProfessional
|
|
||||||
- };
|
|
||||||
-
|
|
||||||
-#ifdef Q_OS_LINUX
|
|
||||||
- static bool isDeepin();
|
|
||||||
- static DeepinType deepinType();
|
|
||||||
- static QString deepinTypeDisplayName(const QLocale &locale = QLocale::system());
|
|
||||||
- static QString deepinEdition();
|
|
||||||
- static QString deepinCopyright();
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
- static QString operatingSystemName();
|
|
||||||
- static ProductType productType();
|
|
||||||
- static QString productTypeString();
|
|
||||||
- static QString productVersion();
|
|
||||||
-
|
|
||||||
- static QString computerName();
|
|
||||||
- static QString cpuModelName();
|
|
||||||
- static qint64 memoryTotalSize();
|
|
||||||
- static qint64 systemDiskSize();
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
-DCORE_END_NAMESPACE
|
|
||||||
-
|
|
||||||
-#endif // DSYSINFO_H
|
|
||||||
diff --git src/dtk_build.prf src/dtk_build.prf
|
|
||||||
index 70bbf07..251e0b1 100644
|
|
||||||
--- src/dtk_build.prf
|
|
||||||
+++ src/dtk_build.prf
|
|
||||||
@@ -60,10 +60,6 @@ isEmpty(LIB_INSTALL_DIR) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-isEmpty(BIN_INSTALL_DIR) {
|
|
||||||
- TOOL_INSTALL_DIR=$$LIB_INSTALL_DIR/libdtk-$${VER_MAJ}.$${VER_MIN}.$${VER_PAT}/D$$upper($$member($$list($$split(TARGET,)), 3, 3))$$join($$list($$member($$list($$split(TARGET,)), 4, -1)))/bin
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
isEmpty(target.path): target.path = $$LIB_INSTALL_DIR
|
|
||||||
|
|
||||||
isEmpty(INCLUDE_INSTALL_DIR) {
|
|
||||||
diff --git src/dtk_cmake.prf src/dtk_cmake.prf
|
|
||||||
index 601289d..f6ea194 100644
|
|
||||||
--- src/dtk_cmake.prf
|
|
||||||
+++ src/dtk_cmake.prf
|
|
||||||
@@ -32,11 +32,7 @@ for(MODULE_DEPEND, CMAKE_MODULE_DEPENDS) {
|
|
||||||
CMAKE_MODULE_INCLUDE_DIR=$$upper($${CMAKE_MODULE})_INCLUDE_DIR
|
|
||||||
INC_DIR = $$replace(includes.path, "/", "/")
|
|
||||||
|
|
||||||
-CMAKE_MODULE_TOO_DIR=$$upper($${CMAKE_MODULE})_TOOL_DIR
|
|
||||||
-TOOL_DIR = $$TOOL_INSTALL_DIR
|
|
||||||
-
|
|
||||||
-CMAKE_CONTENT += "set($${CMAKE_MODULE_INCLUDE_DIR} $${INC_DIR})"
|
|
||||||
-CMAKE_CONTENT += "set($${CMAKE_MODULE_TOO_DIR} $${TOOL_DIR})"
|
|
||||||
+CMAKE_CONTENT += "set($${CMAKE_MODULE_INCLUDE_DIR} \"$${INC_DIR}\")"
|
|
||||||
CMAKE_CONTENT += "set($${CMAKE_MODULE}_LIBRARIES $$TARGET$$LINK_LIBRARIES)"
|
|
||||||
CMAKE_CONTENT += "include_directories(\"${"$${CMAKE_MODULE_INCLUDE_DIR}"}\")"
|
|
||||||
|
|
||||||
diff --git src/dtk_module.prf src/dtk_module.prf
|
|
||||||
index d26330d..fa76bb0 100644
|
|
||||||
--- src/dtk_module.prf
|
|
||||||
+++ src/dtk_module.prf
|
|
||||||
@@ -9,7 +9,6 @@ MODULE_ID=$$DTK_MODULE
|
|
||||||
mod_inst_pfx=$$_PRO_FILE_PWD_
|
|
||||||
MODULE_PRI = $$mod_inst_pfx/qt_lib_$${MODULE_ID}.pri
|
|
||||||
module_libs = $$target.path
|
|
||||||
-module_tools = $$TOOL_INSTALL_DIR
|
|
||||||
MODULE_INCLUDES = $$includes.path
|
|
||||||
DTK_MODULE_DEPENDS=$$find(QT, dtk*)
|
|
||||||
|
|
||||||
@@ -32,9 +31,6 @@ host_build: \
|
|
||||||
else: \
|
|
||||||
module_libs = "\$\$QT_MODULE_LIB_BASE"
|
|
||||||
}
|
|
||||||
-isEmpty(module_tools) {
|
|
||||||
- module_tools=$$module_libs/libdtk-$${VER_MAJ}.$${VER_MIN}.$${VER_PAT}/D$$upper($$member($$list($$split(TARGET,)), 3, 3))$$join($$list($$member($$list($$split(TARGET,)), 4, -1)))/bin
|
|
||||||
-}
|
|
||||||
# In addition to the library's private deps, the private module's deps
|
|
||||||
# are logically runtime deps of the public module.
|
|
||||||
runtime_deps = $$QT_PRIVATE $$QT_FOR_PRIVATE
|
|
||||||
@@ -79,7 +75,6 @@ MODULE_PRI_CONT = \
|
|
||||||
"" \
|
|
||||||
"QT.$${MODULE_ID}.name = $${TARGET}" \
|
|
||||||
"QT.$${MODULE_ID}.module = $$module_module" \
|
|
||||||
- "QT.$${MODULE_ID}.tools = $$module_tools" \
|
|
||||||
"QT.$${MODULE_ID}.libs = $$module_libs" \
|
|
||||||
$$module_master \
|
|
||||||
"QT.$${MODULE_ID}.includes = $$MODULE_INCLUDES" \
|
|
||||||
diff --git src/dtk_qmake.prf src/dtk_qmake.prf
|
|
||||||
deleted file mode 100644
|
|
||||||
index d438099..0000000
|
|
||||||
--- src/dtk_qmake.prf
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,73 +0,0 @@
|
|
||||||
-CONFIG += host_$$QMAKE_HOST.arch
|
|
||||||
-DEFINES += Q_HOST_NAME=\\\"$$QMAKE_HOST.arch\\\" Q_HOST_$$upper($$QMAKE_HOST.arch)
|
|
||||||
-
|
|
||||||
-isEqual(TARGET, dtkcore) {
|
|
||||||
- # build tools/deepin-os-release first
|
|
||||||
- QMAKE_CONFIG_TESTS_DIR_BAK=$$QMAKE_CONFIG_TESTS_DIR
|
|
||||||
- load(configure)
|
|
||||||
- QMAKE_CONFIG_TESTS_DIR=$$_PRO_FILE_PWD_/../tools
|
|
||||||
- qtCompileTest(deepin-os-release)
|
|
||||||
- DEEPIN_OS_RELEASE_TOOL=$$_PRO_FILE_PWD_/../bin/deepin-os-release
|
|
||||||
- QMAKE_CONFIG_TESTS_DIR=$$QMAKE_CONFIG_TESTS_DIR_BAK
|
|
||||||
-} else {
|
|
||||||
- isEmpty(QT.dtkcore.tools): error(QT += dtkcore first)
|
|
||||||
- DEEPIN_OS_RELEASE_TOOL=$${QT.dtkcore.tools}/deepin-os-release
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-!exists($$DEEPIN_OS_RELEASE_TOOL): error(\"$$DEEPIN_OS_RELEASE_TOOL\" is not exists. Install \"dtkcore-bin\" first)
|
|
||||||
-
|
|
||||||
-defineReplace(formatString) {
|
|
||||||
- string = $$1
|
|
||||||
- string = $$replace(string, \\s+, _)
|
|
||||||
- string_count = $$size(string)
|
|
||||||
-
|
|
||||||
- greaterThan(string_count, 1) {
|
|
||||||
- for (item, string) {
|
|
||||||
- isEmpty(new_string): new_string = $$item
|
|
||||||
- else: new_string = $${new_string}_$${item}
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return($$new_string)
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return($$string)
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-DEEPIN_OS_TYPE = $$system($$DEEPIN_OS_RELEASE_TOOL --deepin-type)
|
|
||||||
-DISTRIB_ID = $$system($$DEEPIN_OS_RELEASE_TOOL --product-type)
|
|
||||||
-DISTRIB_RELEASE = $$system($$DEEPIN_OS_RELEASE_TOOL --product-version)
|
|
||||||
-
|
|
||||||
-isEmpty(DISTRIB_ID): warning(No value of the "--product-type" in the process "$$DEEPIN_OS_RELEASE_TOOL")
|
|
||||||
-else {
|
|
||||||
- DISTRIB_ID = $$formatString($$DISTRIB_ID)
|
|
||||||
-
|
|
||||||
- message("OS: $$DISTRIB_ID, Version: $$DISTRIB_RELEASE")
|
|
||||||
-
|
|
||||||
- QMAKE_PLATFORM += $$lower($$DISTRIB_ID)
|
|
||||||
-
|
|
||||||
- !isEmpty(DISTRIB_ID): DEFINES *= Q_OS_$$upper($$DISTRIB_ID)
|
|
||||||
- CONFIG *= $$QMAKE_PLATFORM
|
|
||||||
-
|
|
||||||
- isEmpty(DISTRIB_RELEASE): warning(No value of the "--product-version")
|
|
||||||
- else {
|
|
||||||
- DISTRIB_RELEASE = $$formatString($$DISTRIB_RELEASE)
|
|
||||||
- !isEmpty(DISTRIB_RELEASE): DEFINES *= Q_OS_VERSION=\\\"$$DISTRIB_RELEASE\\\"
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-isEmpty(DEEPIN_OS_TYPE): warning(No value of the "--deepin-type" in the process "$$DEEPIN_OS_RELEASE_TOOL")
|
|
||||||
-else {
|
|
||||||
- DEEPIN_OS_TYPE = $$formatString($$DEEPIN_OS_TYPE)
|
|
||||||
-
|
|
||||||
- message(Deepin OS Type: $$DEEPIN_OS_TYPE)
|
|
||||||
-
|
|
||||||
- QMAKE_PLATFORM += deepin
|
|
||||||
-
|
|
||||||
- !isEmpty(DEEPIN_OS_TYPE) {
|
|
||||||
- QMAKE_PLATFORM += deepin_$$lower($$DEEPIN_OS_TYPE)
|
|
||||||
- DEFINES *= Q_OS_DEEPIN_$$upper($$DEEPIN_OS_TYPE)
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- CONFIG *= $$QMAKE_PLATFORM
|
|
||||||
- DEFINES *= Q_OS_DEEPIN
|
|
||||||
-}
|
|
||||||
diff --git src/src.pro src/src.pro
|
|
||||||
index 1c939b3..b198292 100644
|
|
||||||
--- src/src.pro
|
|
||||||
+++ src/src.pro
|
|
||||||
@@ -6,11 +6,7 @@ TARGET = dtkcore
|
|
||||||
include(dtk_build.prf)
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD
|
|
||||||
-HEADERS += $$PWD/dtkcore_global.h \
|
|
||||||
- dsysinfo.h
|
|
||||||
-
|
|
||||||
-SOURCES += \
|
|
||||||
- dsysinfo.cpp
|
|
||||||
+HEADERS += $$PWD/dtkcore_global.h
|
|
||||||
|
|
||||||
include($$PWD/base/base.pri)
|
|
||||||
include($$PWD/util/util.pri)
|
|
||||||
@@ -80,11 +76,7 @@ defineTest(updateDtkCoreConfigFile) {
|
|
||||||
|
|
||||||
# ----------------------------------------------
|
|
||||||
# install config
|
|
||||||
-includes.files += \
|
|
||||||
- $$PWD/*.h \
|
|
||||||
- $$PWD/dtkcore_config.h \
|
|
||||||
- $$PWD/DtkCore \
|
|
||||||
- $$PWD/DSysInfo
|
|
||||||
+includes.files += $$PWD/*.h $$PWD/dtkcore_config.h $$PWD/DtkCore
|
|
||||||
|
|
||||||
INSTALLS += includes target
|
|
||||||
|
|
||||||
@@ -102,17 +94,4 @@ include(dtk_module.prf)
|
|
||||||
|
|
||||||
prf.files+= $$PWD/*.prf
|
|
||||||
prf.path = $${QT_HOST_DATA}/mkspecs/features
|
|
||||||
-
|
|
||||||
-linux {
|
|
||||||
- # dtk for qmake
|
|
||||||
- include(dtk_qmake.prf)
|
|
||||||
-
|
|
||||||
- deepin_os_release_tool.files=$$PWD/../bin/deepin-os-release
|
|
||||||
- deepin_os_release_tool.path=$$TOOL_INSTALL_DIR
|
|
||||||
-
|
|
||||||
- INSTALLS += deepin_os_release_tool
|
|
||||||
-} else {
|
|
||||||
- prf.files-=$$PWD/dtk_qmake.prf
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
INSTALLS += prf
|
|
||||||
diff --git tools/deepin-os-release/deepin-os-release.pro tools/deepin-os-release/deepin-os-release.pro
|
|
||||||
deleted file mode 100644
|
|
||||||
index f56dd76..0000000
|
|
||||||
--- tools/deepin-os-release/deepin-os-release.pro
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,12 +0,0 @@
|
|
||||||
-QT -= gui
|
|
||||||
-TEMPLATE = app
|
|
||||||
-CONFIG += qt
|
|
||||||
-
|
|
||||||
-HEADERS += ../../src/dsysinfo.h
|
|
||||||
-
|
|
||||||
-SOURCES += \
|
|
||||||
- main.cpp \
|
|
||||||
- ../../src/dsysinfo.cpp
|
|
||||||
-
|
|
||||||
-INCLUDEPATH += ../../src
|
|
||||||
-DESTDIR = $$_PRO_FILE_PWD_/../../bin
|
|
||||||
diff --git tools/deepin-os-release/main.cpp tools/deepin-os-release/main.cpp
|
|
||||||
deleted file mode 100644
|
|
||||||
index cd79e73..0000000
|
|
||||||
--- tools/deepin-os-release/main.cpp
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,83 +0,0 @@
|
|
||||||
-/*
|
|
||||||
- * Copyright (C) 2017 ~ 2018 Deepin Technology Co., Ltd.
|
|
||||||
- *
|
|
||||||
- * Author: zccrs <zccrs@live.com>
|
|
||||||
- *
|
|
||||||
- * Maintainer: zccrs <zhangjide@deepin.com>
|
|
||||||
- *
|
|
||||||
- * This program is free software: you can redistribute it and/or modify
|
|
||||||
- * it under the terms of the GNU General Public License as published by
|
|
||||||
- * the Free Software Foundation, either version 3 of the License, or
|
|
||||||
- * any later version.
|
|
||||||
- *
|
|
||||||
- * This program is distributed in the hope that it will be useful,
|
|
||||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
- * GNU General Public License for more details.
|
|
||||||
- *
|
|
||||||
- * You should have received a copy of the GNU General Public License
|
|
||||||
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
- */
|
|
||||||
-#include "dsysinfo.h"
|
|
||||||
-
|
|
||||||
-#include <QCoreApplication>
|
|
||||||
-#include <QCommandLineOption>
|
|
||||||
-#include <QCommandLineParser>
|
|
||||||
-#include <QThread>
|
|
||||||
-
|
|
||||||
-#include <stdio.h>
|
|
||||||
-
|
|
||||||
-DCORE_USE_NAMESPACE
|
|
||||||
-
|
|
||||||
-int main(int argc, char *argv[])
|
|
||||||
-{
|
|
||||||
- QCoreApplication app(argc, argv);
|
|
||||||
- Q_UNUSED(app)
|
|
||||||
-
|
|
||||||
- QCommandLineParser parser;
|
|
||||||
- QCommandLineOption option_all("all");
|
|
||||||
- QCommandLineOption option_deepin_type("deepin-type");
|
|
||||||
- QCommandLineOption option_deepin_edition("deepin-edition");
|
|
||||||
- QCommandLineOption option_deepin_copyright("deepin-copyright");
|
|
||||||
- QCommandLineOption option_product_type("product-type");
|
|
||||||
- QCommandLineOption option_product_version("product-version");
|
|
||||||
- QCommandLineOption option_computer_name("computer-name");
|
|
||||||
- QCommandLineOption option_cpu_model("cpu-model");
|
|
||||||
- QCommandLineOption optioin_memory_size("memory-size");
|
|
||||||
- QCommandLineOption optioin_disk_size("disk-size");
|
|
||||||
-
|
|
||||||
- parser.addOptions({option_all, option_deepin_type, option_deepin_edition,
|
|
||||||
- option_deepin_copyright, option_product_type, option_product_version,
|
|
||||||
- option_computer_name, option_cpu_model, optioin_memory_size, optioin_disk_size});
|
|
||||||
- parser.addHelpOption();
|
|
||||||
- parser.addVersionOption();
|
|
||||||
- parser.process(app);
|
|
||||||
-
|
|
||||||
- if (parser.isSet(option_all)) {
|
|
||||||
- printf("Computer Name: %s\n", qPrintable(DSysInfo::computerName()));
|
|
||||||
- printf("CPU Model: %s x %d\n", qPrintable(DSysInfo::cpuModelName()), QThread::idealThreadCount());
|
|
||||||
- printf("Memory Size: %f GiB\n", DSysInfo::memoryTotalSize() / 1024.0 / 1024 / 1024);
|
|
||||||
- printf("Disk Size: %f GiB\n", DSysInfo::systemDiskSize() / 1024.0 / 1024 / 1024);
|
|
||||||
-
|
|
||||||
- printf("Deepin Type: %s\n", qPrintable(DSysInfo::deepinTypeDisplayName(QLocale::c())));
|
|
||||||
- printf("Deepin Edition: %s\n", qPrintable(DSysInfo::deepinEdition()));
|
|
||||||
- printf("Deepin Copyright: %s\n", qPrintable(DSysInfo::deepinCopyright()));
|
|
||||||
-
|
|
||||||
- printf("Operating System Name: %s\n", qPrintable(DSysInfo::operatingSystemName()));
|
|
||||||
- printf("Product Type: %s\n", qPrintable(DSysInfo::productTypeString()));
|
|
||||||
- printf("Product Version: %s\n", qPrintable(DSysInfo::productVersion()));
|
|
||||||
- } else {
|
|
||||||
- if (parser.isSet(option_deepin_type))
|
|
||||||
- printf("%s", qPrintable(DSysInfo::deepinTypeDisplayName(QLocale::c())));
|
|
||||||
- else if (parser.isSet(option_deepin_edition))
|
|
||||||
- printf("%s", qPrintable(DSysInfo::deepinEdition()));
|
|
||||||
- else if (parser.isSet(option_deepin_copyright))
|
|
||||||
- printf("%s", qPrintable(DSysInfo::deepinCopyright()));
|
|
||||||
- else if (parser.isSet(option_product_type))
|
|
||||||
- printf("%s", qPrintable(DSysInfo::productTypeString()));
|
|
||||||
- else if (parser.isSet(option_product_version))
|
|
||||||
- printf("%s", qPrintable(DSysInfo::productVersion()));
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return 0;
|
|
||||||
-}
|
|
||||||
diff --git tools/tools.pro tools/tools.pro
|
|
||||||
index a26c0c6..b658081 100644
|
|
||||||
--- tools/tools.pro
|
|
||||||
+++ tools/tools.pro
|
|
||||||
@@ -1,3 +1,3 @@
|
|
||||||
TEMPLATE = subdirs
|
|
||||||
|
|
||||||
-!mac:!win*: SUBDIRS += settings deepin-os-release
|
|
||||||
+!mac:!win*: SUBDIRS += settings
|
|
||||||
--
|
|
||||||
2.18.0
|
|
||||||
|
|
11
srcpkgs/dtkcore/patches/musl.patch
Normal file
11
srcpkgs/dtkcore/patches/musl.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- src/dsysinfo.cpp 2018-11-19 04:35:55.000000000 +0100
|
||||||
|
+++ - 2018-12-01 23:53:31.935899347 +0100
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
#include <sys/sysinfo.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
-#include <sys/unistd.h>
|
||||||
|
+#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
DCORE_BEGIN_NAMESPACE
|
|
@ -1,6 +1,6 @@
|
||||||
# Template file for 'dtkcore'
|
# Template file for 'dtkcore'
|
||||||
pkgname=dtkcore
|
pkgname=dtkcore
|
||||||
version=2.0.9.4
|
version=2.0.9.9
|
||||||
revision=1
|
revision=1
|
||||||
build_style=qmake
|
build_style=qmake
|
||||||
configure_args="LIB_INSTALL_DIR=/usr/lib/"
|
configure_args="LIB_INSTALL_DIR=/usr/lib/"
|
||||||
|
@ -12,12 +12,33 @@ license="GPL-3.0-or-later"
|
||||||
homepage="https://github.com/linuxdeepin/dtkcore"
|
homepage="https://github.com/linuxdeepin/dtkcore"
|
||||||
changelog="https://github.com/linuxdeepin/dtkcore/blob/${version}/CHANGELOG.md"
|
changelog="https://github.com/linuxdeepin/dtkcore/blob/${version}/CHANGELOG.md"
|
||||||
distfiles="https://github.com/linuxdeepin/dtkcore/archive/${version}.tar.gz"
|
distfiles="https://github.com/linuxdeepin/dtkcore/archive/${version}.tar.gz"
|
||||||
checksum=ef84f23d18301806e06d286bf70464729e6805573d279dc73e62b08f85bfcb98
|
checksum=f808371d7fbd4a624ea0ad0cc6cc13754cb16704a715c36a4a45ce5328c16fcd
|
||||||
|
|
||||||
if [ "$CROSS_BUILD" ];then
|
if [ "$CROSS_BUILD" ];then
|
||||||
hostmakedepends+=" qt5-devel gsettings-qt-devel"
|
hostmakedepends+=" qt5-devel gsettings-qt-devel"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
pre_build() {
|
||||||
|
# This is needed for musl, does somehow not get build there automatically
|
||||||
|
make sub-tools-qmake_all
|
||||||
|
make -C tools sub-deepin-os-release-all
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_install() {
|
||||||
|
# Replace the host arch binary with target arch one
|
||||||
|
cd tools/deepin-os-release
|
||||||
|
rm *.o
|
||||||
|
qmake ${configure_args} \
|
||||||
|
PREFIX=/usr \
|
||||||
|
LIB=/usr/lib \
|
||||||
|
QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX QMAKE_LINK_C=$CC \
|
||||||
|
QMAKE_CFLAGS="${CFLAGS}" \
|
||||||
|
QMAKE_CXXFLAGS="${CXXFLAGS}" \
|
||||||
|
QMAKE_LFLAGS="${LDFLAGS}"
|
||||||
|
make CC="$CC" CXX="$CXX" LINK="$CXX"
|
||||||
|
cd ${wrksrc}
|
||||||
|
}
|
||||||
|
|
||||||
dtkcore-devel_package() {
|
dtkcore-devel_package() {
|
||||||
short_desc+=" - development files"
|
short_desc+=" - development files"
|
||||||
depends="${sourcepkg}>=${version}_${revision}"
|
depends="${sourcepkg}>=${version}_${revision}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue