Hello community, here is the log from the commit of package dtkcore for openSUSE:Factory checked in at 2020-03-20 23:56:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dtkcore (Old) and /work/SRC/openSUSE:Factory/.dtkcore.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dtkcore" Fri Mar 20 23:56:36 2020 rev:9 rq:786658 version:2.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/dtkcore/dtkcore.changes 2019-07-21 11:35:26.124764879 +0200 +++ /work/SRC/openSUSE:Factory/.dtkcore.new.3160/dtkcore.changes 2020-03-21 00:01:26.873099908 +0100 @@ -1,0 +2,8 @@ +Sun Aug 4 09:24:50 UTC 2019 - Hillwood Yang <hillw...@opensuse.org> + +- Update version to 2.1.1 + * Fix the pkg-config "Requires" values + * Adjust responsibility of the prf files + * Fix dtk-settings binary location for libdtkcore-bin package + +------------------------------------------------------------------- Old: ---- dtkcore-2.0.16.1.tar.gz New: ---- dtkcore-2.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dtkcore.spec ++++++ --- /var/tmp/diff_new_pack.YG3vIo/_old 2020-03-21 00:01:30.629102289 +0100 +++ /var/tmp/diff_new_pack.YG3vIo/_new 2020-03-21 00:01:30.677102320 +0100 @@ -20,7 +20,7 @@ %define libver 2 Name: dtkcore -Version: 2.0.16.1 +Version: 2.1.1 Release: 0 Summary: Deepin Tool Kit Core License: GPL-3.0-or-later @@ -85,8 +85,8 @@ %defattr(-,root,root,-) %doc README.md CHANGELOG.md %license LICENSE -%dir %{_libexecdir}/dtk2 -%{_libexecdir}/dtk2/* +# %dir %{_libexecdir}/dtk2 +# %{_libexecdir}/dtk2/* %{_libdir}/libdtk-2.0.6 %files -n lib%{name}%{libver} ++++++ dtkcore-2.0.16.1.tar.gz -> dtkcore-2.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/.gitignore new/dtkcore-2.1.1/.gitignore --- old/dtkcore-2.0.16.1/.gitignore 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/.gitignore 2019-07-30 14:54:20.000000000 +0200 @@ -19,11 +19,11 @@ # executeable files *.qm -src/DtkCore +src/DtkCores src/dtkcore_config.h cmake/DtkCore/DtkCoreConfig.cmake src/qt_lib_d*.pri bin/ .qmake* -tools/deepin-os-release/Makefile \ No newline at end of file +Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/.qmake.conf new/dtkcore-2.1.1/.qmake.conf --- old/dtkcore-2.0.16.1/.qmake.conf 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/.qmake.conf 2019-07-30 14:54:20.000000000 +0200 @@ -1 +1,2 @@ isEmpty(DTK_VERSION):DTK_VERSION=2.0.6 +DTK_MODULE_NAME=dtkcore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/debian/control new/dtkcore-2.1.1/debian/control --- old/dtkcore-2.0.16.1/debian/control 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/debian/control 2019-07-30 14:54:20.000000000 +0200 @@ -4,7 +4,7 @@ Maintainer: Deepin Packages Builder <packa...@deepin.com> Build-Depends: debhelper (>= 9), pkg-config, qttools5-dev-tools, qtbase5-private-dev, - libgsettings-qt-dev, deepin-desktop-base + libgsettings-qt-dev Standards-Version: 3.9.8 Package: libdtkcore2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/debian/libdtkcore-bin.install new/dtkcore-2.1.1/debian/libdtkcore-bin.install --- old/dtkcore-2.0.16.1/debian/libdtkcore-bin.install 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/debian/libdtkcore-bin.install 2019-07-30 14:54:20.000000000 +0200 @@ -1,2 +1 @@ -usr/lib/dtk2/* usr/lib/*/*/DCore/bin/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/debian/libdtkcore2.symbols new/dtkcore-2.1.1/debian/libdtkcore2.symbols --- old/dtkcore-2.0.16.1/debian/libdtkcore2.symbols 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/debian/libdtkcore2.symbols 2019-07-30 14:54:20.000000000 +0200 @@ -371,17 +371,14 @@ (optional=templinst)_ZN4QMapIi7QStringED1Ev@Base 2.0.11 (optional=templinst)_ZN4QMapIi7QStringED2Ev@Base 2.0.11 (optional=templinst)_ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE@Base 2.0.11 - (optional=templinst)_ZN5QHashI7QStringiE13detach_helperEv@Base 2.0.11 (optional=templinst)_ZN5QHashI7QStringiE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.11 (optional=templinst)_ZN5QHashIPN3Dtk4Core16AbstractAppenderE15QHashDummyValueE11deleteNode2EPN9QHashData4NodeE@Base 2.0.11 - (optional=templinst)_ZN5QHashIPN3Dtk4Core16AbstractAppenderE15QHashDummyValueE13detach_helperEv@Base 2.0.11 (optional=templinst)_ZN5QHashIPN3Dtk4Core16AbstractAppenderE15QHashDummyValueE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.11 (optional=templinst)_ZN5QHashIPN3Dtk4Core16AbstractAppenderE15QHashDummyValueED1Ev@Base 2.0.11 (optional=templinst)_ZN5QHashIPN3Dtk4Core16AbstractAppenderE15QHashDummyValueED2Ev@Base 2.0.11 (optional=templinst)_ZN5QHashIi15QHashDummyValueE11deleteNode2EPN9QHashData4NodeE@Base 2.0.11 (optional=templinst)_ZN5QHashIi15QHashDummyValueE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.11 (optional=templinst)_ZN5QHashIi7QStringE11deleteNode2EPN9QHashData4NodeE@Base 2.0.11 - (optional=templinst)_ZN5QHashIi7QStringE13detach_helperEv@Base 2.0.11 (optional=templinst)_ZN5QHashIi7QStringE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.11 (optional=templinst)_ZN5QHashIi7QStringED1Ev@Base 2.0.11 (optional=templinst)_ZN5QHashIi7QStringED2Ev@Base 2.0.11 @@ -591,7 +588,6 @@ _ZTIN3Dtk4Core9LogDeviceE@Base 2.0.11 _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.11 _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.11 - _ZTISt19_Sp_make_shared_tag@Base 2.0.11 _ZTISt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.11 _ZTISt23_Sp_counted_ptr_inplaceIN3Dtk4Core5DUtil11DNotifyDataESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.11 _ZTSN3Dtk4Core12DFileWatcherE@Base 2.0.11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/dtk_build_config.prf new/dtkcore-2.1.1/dtk_build_config.prf --- old/dtkcore-2.0.16.1/dtk_build_config.prf 1970-01-01 01:00:00.000000000 +0100 +++ new/dtkcore-2.1.1/dtk_build_config.prf 2019-07-30 14:54:20.000000000 +0200 @@ -0,0 +1,77 @@ +isEmpty(DTK_MODULE_NAME): error(set DTK_MODULE_NAME first) +!contains(DTK_MODULE_NAME, ^dtk[a-z0-9]+$): error(The format of the value of DTK_MODULE_NAME is incorrect. eg: dtk[a-z0-9]+) +!isEqual(DTK_MODULE_NAME, dtkcore):!contains(QT, dtkcore): error(QT += dtkcore first) + +#将首字母改为大写 +defineReplace(capitalizingString) { + RAW=$$1 + FIRST = $$upper($$section(RAW, "", 1, 1)) + OTHERS = $$section(RAW, "", 2, -1) + return($$FIRST$$OTHERS) +} + +defineTest(checkDtkVersion) { + isEmpty(VERSION) { + !isEqual(TARGET, dtkcore) { + VERSION = $${QT.dtkcore.VERSION} + } + + # TODO: failed in windows + isEmpty(VERSION): VERSION = $$system(git describe --tags --abbrev=0) + isEmpty(VERSION): VERSION = $$DTK_VERSION + isEmpty(VERSION): return(false) + VERSION = $$replace(VERSION, [^0-9.],) + } + + export(VERSION) + return(true) +} + +!checkDtkVersion():error("check dtk version failed") + +message("build dtk with version $$VERSION") +ver_list = $$split(VERSION, .) + +isEmpty(VER_MAJ) { + VER_MAJ = $$first(ver_list) +} +isEmpty(VER_MIN) { + VER_MIN = $$member(ver_list, 1, 1) + isEmpty(VER_MIN):VER_MIN = 0 +} +isEmpty(VER_PAT) { + VER_PAT = $$member(ver_list, 2, 2) + isEmpty(VER_PAT):VER_PAT = 0 +} +isEmpty(VER_BUI) { + VER_BUI = $$member(ver_list, 3, 3) + isEmpty(VER_BUI):VER_BUI = 0 +} + +isEmpty(PREFIX){ + PREFIX = /usr +} + +isEmpty(LIB_INSTALL_DIR) { + isEqual(TARGET, dtkcore) { + LIB_INSTALL_DIR=$$PREFIX/lib + } else { + LIB_INSTALL_DIR=$${QT.dtkcore.libs} + } +} + +LIB_VERSION_NAME = libdtk-$${VER_MAJ}.$${VER_MIN}.$${VER_PAT} +MODULE_NAME = $$upper($$member($$list($$split(DTK_MODULE_NAME,)), 3, 3))$$join($$list($$member($$list($$split(DTK_MODULE_NAME,)), 4, -1))) +DMODULE_NAME = D$${MODULE_NAME} + +isEmpty(TOOL_INSTALL_DIR) { + TOOL_INSTALL_DIR=$$LIB_INSTALL_DIR/$$LIB_VERSION_NAME/$$DMODULE_NAME/bin +} + +isEmpty(INCLUDE_INSTALL_DIR) { + isEqual(DTK_MODULE_NAME, dtkcore) { + INCLUDE_INSTALL_DIR = $$PREFIX/include/$$LIB_VERSION_NAME/$$DMODULE_NAME + } else { + INCLUDE_INSTALL_DIR = $${QT.dtkcore.includes}/../$$DMODULE_NAME + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/src/dtk_build.prf new/dtkcore-2.1.1/src/dtk_build.prf --- old/dtkcore-2.0.16.1/src/dtk_build.prf 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/src/dtk_build.prf 2019-07-30 14:54:20.000000000 +0200 @@ -1,87 +1,98 @@ -isEmpty(TARGET): error(set TARGET first) -!contains(TARGET, ^dtk[a-z0-9]+$): error(The format of the value of TARGET is incorrect. eg: dtk[a-z0-9]+) -!isEqual(TARGET, dtkcore):!contains(QT, dtkcore): error(QT += dtkcore first) - -defineTest(checkDtkVersion) { - isEmpty(VERSION) { - !isEqual(TARGET, dtkcore) { - VERSION = $${QT.dtkcore.VERSION} - } - - # TODO: failed in windows - isEmpty(VERSION): VERSION = $$system(git describe --tags --abbrev=0) - isEmpty(VERSION): VERSION = $$DTK_VERSION - isEmpty(VERSION): return(false) - VERSION = $$replace(VERSION, [^0-9.],) - } - - export(VERSION) - return(true) -} - -!checkDtkVersion():error("check dtk version failed") - -message("build dtk with version $$VERSION") -ver_list = $$split(VERSION, .) - -isEmpty(VER_MAJ) { - VER_MAJ = $$first(ver_list) -} -isEmpty(VER_MIN) { - VER_MIN = $$member(ver_list, 1, 1) - isEmpty(VER_MIN):VER_MIN = 0 -} -isEmpty(VER_PAT) { - VER_PAT = $$member(ver_list, 2, 2) - isEmpty(VER_PAT):VER_PAT = 0 -} -isEmpty(VER_BUI) { - VER_BUI = $$member(ver_list, 3, 3) - isEmpty(VER_BUI):VER_BUI = 0 +exists(../dtk_build_config.prf) { + include(../dtk_build_config.prf) +} else { + load(dtk_build_config) } +#标记已经加载了dtk_build.prf +DTK_BUILD=1 TEMPLATE = lib CONFIG += c++11 create_pc create_prl no_install_prl CONFIG += no_keywords DEFINES += QT_MESSAGELOGCONTEXT -DEFINES += LIB$$upper($$TARGET)_LIBRARY +DEFINES += LIB$$upper($$DTK_MODULE_NAME)_LIBRARY +DEFINES += DTK_LIB_DIR_NAME=\\\"$$LIB_VERSION_NAME\\\" + +isEmpty(target.path): target.path = $$LIB_INSTALL_DIR +isEmpty(includes.path): includes.path = $$quote($$INCLUDE_INSTALL_DIR) -isEmpty(PREFIX){ - PREFIX = /usr +!isEmpty(DTK_STATIC_LIB) { + DEFINES += DTK_STATIC_LIB + CONFIG += staticlib } -isEmpty(LIB_INSTALL_DIR) { - isEqual(TARGET, dtkcore) { - LIB_INSTALL_DIR=$$PREFIX/lib - } else { - LIB_INSTALL_DIR=$${QT.dtkcore.libs} - } +!isEmpty(DTK_STATIC_TRANSLATION) { + DEFINES += DTK_STATIC_TRANSLATION } -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 +defineTest(containIncludeFiles) { + header = $$absolute_path($$ARGS) + header_dir = $$quote($$dirname(header)) + + for (file, includes.files) { + file_ap = $$absolute_path($$file) + file_dir = $$quote($$dirname(file_ap)) + + isEqual(file_dir, $$header_dir):return(true) + } + + return(false) } -isEmpty(target.path): target.path = $$LIB_INSTALL_DIR +ALL_HEADER_FILE_NAME=Dtk$${MODULE_NAME}s -isEmpty(INCLUDE_INSTALL_DIR) { - isEqual(TARGET, dtkcore) { - INCLUDE_INSTALL_DIR = $$PREFIX/include/libdtk-$${VER_MAJ}.$${VER_MIN}.$${VER_PAT} - } else { - INCLUDE_INSTALL_DIR = $${QT.dtkcore.includes}/.. +#添加一个include模块提供的所有头文件的总的头文件 +defineTest(updateDtkHeaderFile) { + include_files = $$HEADERS + file_content = $$quote($${LITERAL_HASH}ifndef DTK_$$upper($$MODULE_NAME)_MODULE_H) + file_content += $$quote($${LITERAL_HASH}define DTK_$$upper($$MODULE_NAME)_MODULE_H) + + for(header, include_files) { + #排除私有头文件,以 _p.h 结尾的认为是私有头文件 + suffix = $$str_member($$header, -4, -1) + !isEqual(suffix, "_p.h"): containIncludeFiles($$header) { + file_content += $$quote($${LITERAL_HASH}include \"$$basename(header)\") + } } + + file_content += $$quote($${LITERAL_HASH}endif) + !write_file($$_PRO_FILE_PWD_/$$ALL_HEADER_FILE_NAME, file_content):return(false) + + return(true) } -DTK_INCLUDEPATH = $$INCLUDE_INSTALL_DIR -isEmpty(includes.path): includes.path = $$quote($$DTK_INCLUDEPATH/D$$upper($$member($$list($$split(TARGET,)), 3, 3))$$join($$list($$member($$list($$split(TARGET,)), 4, -1))),) +!updateDtkHeaderFile():warning(Cannot create "$${ALL_HEADER_FILE_NAME}" header file) -!isEmpty(DTK_STATIC_LIB) { - DEFINES += DTK_STATIC_LIB - CONFIG += staticlib +# create dtkxxx_config.h file +defineTest(updateDtkConfigFile) { + isEqual(DTK_MODULE_NAME, dtkcore) { + config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_MAJOR $$VER_MAJ) + config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_MINOR $$VER_MIN) + config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_PATCH $$VER_PAT) + config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_BUILD $$VER_BUI) + config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_STR \"$$VERSION\") + config_content += $$quote(//) + } + + for(file, includes.files) { + file = $$quote($$basename(file)) + + !isEqual(file, $$ALL_HEADER_FILE_NAME):contains(file, D[A-Za-z0-9_]+) { + config_content += $$quote($${LITERAL_HASH}define $$upper($$DTK_MODULE_NAME)_CLASS_$$file) + } + } + + !write_file($$_PRO_FILE_PWD_/$${DTK_MODULE_NAME}_config.h, config_content):return(false) + + return(true) } -!isEmpty(DTK_STATIC_TRANSLATION) { - DEFINES += DTK_STATIC_TRANSLATION +!updateDtkConfigFile():warning(Cannot create "$${DTK_MODULE_NAME}_config.h" header file) + +exists($$PWD/dtk_translation.prf) { + include($$PWD/dtk_translation.prf) +} else { + load(dtk_translation) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/src/dtk_cmake.prf new/dtkcore-2.1.1/src/dtk_cmake.prf --- old/dtkcore-2.0.16.1/src/dtk_cmake.prf 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/src/dtk_cmake.prf 2019-07-30 14:54:20.000000000 +0200 @@ -2,19 +2,10 @@ #TODO: check cmake exist -defineReplace(capitalizingString) { - RAW=$$1 - FIRST = $$upper($$section(RAW, "", 1, 1)) - OTHERS = $$section(RAW, "", 2, -1) - return($$FIRST$$OTHERS) -} - !win*: { MODULE_DEPENDS=$$find(QT, dtk*) CMAKE_MODULE_DEPENDS=$$replace(MODULE_DEPENDS,"dtk","") -MODULE_NAME=$$replace(TARGET,"dtk","") -MODULE_NAME=$$capitalizingString($$MODULE_NAME) CMAKE_MODULE=Dtk$$MODULE_NAME WORK_DIR=$$_PRO_FILE_PWD_ @@ -30,7 +21,7 @@ } CMAKE_MODULE_INCLUDE_DIR=$$upper($${CMAKE_MODULE})_INCLUDE_DIR -INC_DIR = $$replace(includes.path, "/", "/") +INC_DIR = $$replace(INCLUDE_INSTALL_DIR, "/", "/") CMAKE_MODULE_TOO_DIR=$$upper($${CMAKE_MODULE})_TOOL_DIR TOOL_DIR = $$TOOL_INSTALL_DIR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/src/dtk_lib.prf new/dtkcore-2.1.1/src/dtk_lib.prf --- old/dtkcore-2.0.16.1/src/dtk_lib.prf 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/src/dtk_lib.prf 2019-07-30 14:54:20.000000000 +0200 @@ -1,9 +1,3 @@ -exists($$_PRO_FILE_PWD_/src/dtk_translation.prf) { - include($$_PRO_FILE_PWD_/src/dtk_translation.prf) -} else { - load(dtk_translation) -} - TEMPLATE = subdirs CONFIG += ordered diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/src/dtk_module.prf new/dtkcore-2.1.1/src/dtk_module.prf --- old/dtkcore-2.0.16.1/src/dtk_module.prf 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/src/dtk_module.prf 2019-07-30 14:54:20.000000000 +0200 @@ -1,17 +1,14 @@ -isEmpty(DTK_MODULE): DTK_MODULE=$$TARGET -isEmpty(DTK_MODULE): error("DTK_MODULE must not empty") -isEmpty(includes.path): error("includes.path must not empty, please load(dtk_build) first!") -isEmpty(target.path): error("target.path must not empty, , please load(dtk_build) first!") +isEmpty(DTK_BUILD): error("Please load(dtk_build) first!") # ----------------------- # Config Qt module -MODULE_ID=$$DTK_MODULE +MODULE_ID=$$DTK_MODULE_NAME mod_inst_pfx=$$_PRO_FILE_PWD_ MODULE_PRI = $$mod_inst_pfx/qt_lib_$${MODULE_ID}.pri -module_libs = $$target.path +module_libs = $$LIB_INSTALL_DIR module_tools = $$TOOL_INSTALL_DIR -MODULE_INCLUDES = $$includes.path -DTK_MODULE_DEPENDS=$$find(QT, dtk*) +MODULE_INCLUDES = $$INCLUDE_INSTALL_DIR +MODULE_DEPENDS=$$find(QT, dtk*) message("config qt module: $$MODULE_ID") message("write $$MODULE_PRI to: $$mod_inst_pfx") @@ -22,7 +19,7 @@ MODULE_DEPENDS = $$replace(QT, -private$, ) MODULE_DEPENDS = $$unique(MODULE_DEPENDS) contains(MODULE_DEPENDS, $$MODULE): \ - error("$$TARGET depends on itself.") + error("$$MODULE_ID depends on itself.") # Create a module .pri file module_libs=$$LIB_INSTALL_DIR @@ -32,9 +29,7 @@ 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 @@ -55,7 +50,7 @@ module_build_type += ltcg module_module = !equals(TEMPLATE, aux) { - module_module = $$TARGET$$QT_LIBINFIX + module_module = $$MODULE_ID$$QT_LIBINFIX !lib_bundle: module_module ~= s,^Qt,Qt$$QT_MAJOR_VERSION, } !isEmpty(MODULE_CONFIG): \ @@ -73,11 +68,11 @@ MODULE_PRI_CONT = \ "QT.$${MODULE_ID}.VERSION = $${VERSION}" \ - "QT.$${MODULE_ID}.MAJOR_VERSION = $$section(VERSION, ., 0, 0)" \ - "QT.$${MODULE_ID}.MINOR_VERSION = $$section(VERSION, ., 1, 1)" \ - "QT.$${MODULE_ID}.PATCH_VERSION = $$section(VERSION, ., 2, 2)" \ + "QT.$${MODULE_ID}.MAJOR_VERSION = $${VER_MAJ}" \ + "QT.$${MODULE_ID}.MINOR_VERSION = $${VER_MIN}" \ + "QT.$${MODULE_ID}.PATCH_VERSION = $${VER_PAT}" \ "" \ - "QT.$${MODULE_ID}.name = $${TARGET}" \ + "QT.$${MODULE_ID}.name = $${MODULE_ID}" \ "QT.$${MODULE_ID}.module = $$module_module" \ "QT.$${MODULE_ID}.tools = $$module_tools" \ "QT.$${MODULE_ID}.libs = $$module_libs" \ @@ -105,28 +100,28 @@ INSTALLS += qt_module +PKG_MODULE_DEPENDS=$$find(QT, dtk*) + +#不能添加Qt包的依赖,无法单纯的从Qt模块名称获取其pkgconfig的pc文件名 +#for (qt_module, QT) { +# #DBus模块需要特殊处理 +# isEqual(qt_module, "dbus") { +# PKG_MODULE_DEPENDS+=Qt5DBus +# } else { +# suffix = $$str_member($$qt_module, -7, -1) +# #排除以private结尾的模块 +# !isEqual(suffix, "private"): PKG_MODULE_DEPENDS+=Qt5$$capitalizingString($$qt_module) +# } +#} + +PKG_MODULE_DEPENDS = $$unique(PKG_MODULE_DEPENDS) # ----------------------- # Config pkg-config QMAKE_PKGCONFIG_VERSION = $$VERSION QMAKE_PKGCONFIG_DESTDIR = pkgconfig -QMAKE_PKGCONFIG_NAME = DTK_$$upper($$replace(TARGET, "dtk", "")) -QMAKE_PKGCONFIG_DESCRIPTION = Deepin Tool Kit $$TARGET header files -QMAKE_PKGCONFIG_REQUIRES += $$DTK_MODULE_DEPENDS +QMAKE_PKGCONFIG_NAME = DTK_$$upper($$MODULE_ID) +QMAKE_PKGCONFIG_DESCRIPTION = Deepin Tool Kit $$MODULE_ID header files +QMAKE_PKGCONFIG_REQUIRES += $$PKG_MODULE_DEPENDS QMAKE_PKGCONFIG_INCDIR = $$includes.path QMAKE_PKGCONFIG_LIBDIR = $$target.path - - -# ----------------------- -# Config translations -!isEmpty(DTK_STATIC_TRANSLATION) { - QRC_PATH = $$mod_inst_pfx/../translations/$${TARGET}_translations.qrc - RESOURCES += $$QRC_PATH -} - -TRANSLATIONS += $$mod_inst_pfx/.../translations/* - -dtk_translations.path = $$PREFIX/share/$${TARGET}/translations -dtk_translations.files = $$mod_inst_pfx/../translations/*.qm - -INSTALLS += dtk_translations diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/src/dtk_translation.prf new/dtkcore-2.1.1/src/dtk_translation.prf --- old/dtkcore-2.0.16.1/src/dtk_translation.prf 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/src/dtk_translation.prf 2019-07-30 14:54:20.000000000 +0200 @@ -24,9 +24,9 @@ # qrc template #<RCC> # <qresource prefix="/dtk/translations"> - # <file>dtkwidget2_am_ET.qm</file> - # <file>dtkwidget2_ar.qm</file> - # <file>dtkwidget2_ast.qm</file> + # <file>dtkwidget_am_ET.qm</file> + # <file>dtkwidget_ar.qm</file> + # <file>dtkwidget_ast.qm</file> # </qresource> #</RCC> QRC_PATH = $$ROOT_DIR/translations/$${BASENAME}_translations.qrc @@ -44,3 +44,20 @@ write_file($$QRC_PATH, QRC_CONTENT) | error("Aborting.") } } + +!isEmpty(DTK_STATIC_TRANSLATION) { + QRC_PATH = $$ROOT_DIR/translations/$${TARGET}_translations.qrc + RESOURCES += $$QRC_PATH +} + +TRANSLATIONS += $$ROOT_DIR/translations/* + +TRANSLATIONS_DIR = $$LIB_VERSION_NAME/$$DMODULE_NAME/translations +TRANSLATIONS_PATH = $$PREFIX/share/$$TRANSLATIONS_DIR +DEFINES += $$upper($$DMODULE_NAME)_TRANSLATIONS_PATH=\\\"$$TRANSLATIONS_PATH\\\" +DEFINES += $$upper($$DMODULE_NAME)_TRANSLATIONS_DIR=\\\"$$TRANSLATIONS_DIR\\\" + +dtk_translations.path = $$TRANSLATIONS_PATH +dtk_translations.files = $$ROOT_DIR/translations/*.qm + +INSTALLS += dtk_translations diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/src/settings/backend/gsettingsbackend.cpp new/dtkcore-2.1.1/src/settings/backend/gsettingsbackend.cpp --- old/dtkcore-2.0.16.1/src/settings/backend/gsettingsbackend.cpp 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/src/settings/backend/gsettingsbackend.cpp 2019-07-30 14:54:20.000000000 +0200 @@ -48,9 +48,9 @@ * \class GSettingsBackend * \brief Storage backend of DSettings use gsettings. * - * You should generate gsetting schema with /usr/lib/dtk2/dtk-settings. + * You should generate gsetting schema with /usr/lib/x86_64-linux-gnu/libdtk-$$VERSION/DCore/bin/dtk-settings. * - * You can find this tool from libdtkcore-bin. use /usr/lib/dtk2/dtk-settings -h for help. + * You can find this tool from libdtkcore-bin. use /usr/lib/x86_64-linux-gnu/libdtk-$$VERSION/DCore/bin/dtk-settings -h for help. */ GSettingsBackend::GSettingsBackend(DSettings *settings, QObject *parent) : diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/src/src.pro new/dtkcore-2.1.1/src/src.pro --- old/dtkcore-2.0.16.1/src/src.pro 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/src/src.pro 2019-07-30 14:54:20.000000000 +0200 @@ -4,8 +4,6 @@ CONFIG += link_pkgconfig TARGET = dtkcore -include(dtk_build.prf) - INCLUDEPATH += $$PWD HEADERS += $$PWD/dtkcore_global.h \ dsysinfo.h @@ -19,72 +17,15 @@ include($$PWD/filesystem/filesystem.pri) include($$PWD/settings/settings.pri) -# create DtkCore file -defineTest(containIncludeFiles) { - header = $$absolute_path($$ARGS) - header_dir = $$quote($$dirname(header)) - - for (file, includes.files) { - file_ap = $$absolute_path($$file) - file_dir = $$quote($$dirname(file_ap)) - - isEqual(file_dir, $$header_dir) { - return(true) - } - } - - return(false) -} - -defineTest(updateDtkCoreFile) { - include_files = $$HEADERS - file_content = $$quote($${LITERAL_HASH}ifndef DTK_CORE_MODULE_H) - file_content += $$quote($${LITERAL_HASH}define DTK_CORE_MODULE_H) - - for(header, include_files) { - containIncludeFiles($$header) { - file_content += $$quote($${LITERAL_HASH}include \"$$basename(header)\") - } - } - - file_content += $$quote($${LITERAL_HASH}endif) - !write_file($$PWD/DtkCore, file_content):return(false) - - return(true) -} - -!updateDtkCoreFile():warning(Cannot create "DtkCore" header file) - -# create dtkwidget_config.h file -defineTest(updateDtkCoreConfigFile) { - config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_MAJOR $$VER_MAJ) - config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_MINOR $$VER_MIN) - config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_PATCH $$VER_PAT) - config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_BUILD $$VER_BUI) - config_content += $$quote($${LITERAL_HASH}define DTK_VERSION_STR \"$$VERSION\") - config_content += $$quote(//) - - for(file, includes.files) { - file = $$quote($$basename(file)) - - !isEqual(file, DtkCore):contains(file, D[A-Za-z0-9_]+) { - config_content += $$quote($${LITERAL_HASH}define DTKCORE_CLASS_$$file) - } - } - - !write_file($$PWD/dtkcore_config.h, config_content):return(false) - - return(true) -} - -!updateDtkCoreConfigFile():warning(Cannot create "dtkcore_config.h" header file) +DTK_MODULE_NAME = $$TARGET +include(dtk_build.prf) # ---------------------------------------------- # install config includes.files += \ $$PWD/*.h \ $$PWD/dtkcore_config.h \ - $$PWD/DtkCore \ + $$PWD/DtkCores \ $$PWD/DSysInfo INSTALLS += includes target @@ -101,22 +42,14 @@ #qt module include(dtk_module.prf) -prf.files+= $$PWD/*.prf +prf.files+= $$PWD/*.prf ../dtk_build_config.prf isEmpty(MKSPECS_INSTALL_DIR) { MKSPECS_INSTALL_DIR=$$[QT_INSTALL_ARCHDATA]/mkspecs } prf.path = $${MKSPECS_INSTALL_DIR}/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 { +!linux { prf.files-=$$PWD/dtk_qmake.prf } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/tools/deepin-os-release/deepin-os-release.pro new/dtkcore-2.1.1/tools/deepin-os-release/deepin-os-release.pro --- old/dtkcore-2.0.16.1/tools/deepin-os-release/deepin-os-release.pro 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/tools/deepin-os-release/deepin-os-release.pro 2019-07-30 14:54:20.000000000 +0200 @@ -10,3 +10,9 @@ INCLUDEPATH += ../../src DESTDIR = $$_PRO_FILE_PWD_/../../bin + +DTK_MODULE_NAME=dtkcore +include(../../dtk_build_config.prf) +target.path = $$TOOL_INSTALL_DIR + +INSTALLS += target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtkcore-2.0.16.1/tools/settings/settings.pro new/dtkcore-2.1.1/tools/settings/settings.pro --- old/dtkcore-2.0.16.1/tools/settings/settings.pro 2019-07-06 10:38:43.000000000 +0200 +++ new/dtkcore-2.1.1/tools/settings/settings.pro 2019-07-30 14:54:20.000000000 +0200 @@ -12,26 +12,23 @@ SOURCES += main.cpp -isEmpty(PREFIX){ - PREFIX = /usr -} -isEmpty(BIN_INSTALL_DIR) { - BIN_INSTALL_DIR=$${PREFIX}/lib/dtk2 -} !isEmpty(DTK_STATIC_LIB){ DEFINES += DTK_STATIC_LIB } -target.path = $${BIN_INSTALL_DIR} - -script.files += $${PWD}/../script/*.py -script.path = $${BIN_INSTALL_DIR} - -INSTALLS += target script - win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../src/release/ -ldtkcore else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../src/debug/ -ldtkcore else:unix: LIBS += -L$$OUT_PWD/../../src/ -ldtkcore INCLUDEPATH += $$PWD/../../src DEPENDPATH += $$PWD/../../src +DESTDIR = $$_PRO_FILE_PWD_/../../bin + +DTK_MODULE_NAME=dtkcore +include(../../dtk_build_config.prf) +target.path = $$TOOL_INSTALL_DIR + +scripts.files += ../script/*.py +scripts.path = $$TOOL_INSTALL_DIR + +INSTALLS += target scripts