Commit graph

87 commits

Author SHA1 Message Date
Ivailo Monev
1afeeb7503 generic: introduce KStandardDirs::findRootExe() and use it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-16 22:09:23 +02:00
Ivailo Monev
2cd9559a3e generic: Hurd build fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-01 05:08:38 +02:00
Ivailo Monev
5e4f1c1da1 generic: fix possible PID clamping
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-21 23:34:42 +02:00
Ivailo Monev
8505ede242 kdecore: avoid QString copy in KStandardDirs::findResource()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-20 14:32:42 +02:00
Ivailo Monev
d00c56fe0b generic: adjust to Katie changes
also fixes build with QT_NO_TRANSLATION, symbols will not exists in the
library even if QT_NO_TRANSLATION is undefined and redefined

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-11-29 02:25:45 +00:00
Ivailo Monev
5d2d39e853 generic: drop support for operating systems Katie does not support
replace internal definitions with Q_OS_<OS> alternatives checks while at it

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-25 04:48:18 +02:00
Ivailo Monev
26644cda72 generic: remove unused definitions from config-prefix header
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 21:06:45 +00:00
Ivailo Monev
478ca250a2 generic: replace installation paths with KDE4_ prefixed
this is TODO from issue #9. CPack and CTest configs will not be
supported. most of the changes done to other repisitories is automated
via:

find -type f -exec sed -i -e 's|${INSTALL_DIR}|${KDE4_INSTALL_DIR}|g' \
    -e 's|${EXEC_INSTALL_PREFIX}|${KDE4_EXEC_INSTALL_PREFIX}|g' \
    -e 's|${SHARE_INSTALL_PREFIX}|${KDE4_SHARE_INSTALL_PREFIX}|g' \
    -e 's|${BIN_INSTALL_DIR}|${KDE4_BIN_INSTALL_DIR}|g' \
    -e 's|${SBIN_INSTALL_DIR}|${KDE4_SBIN_INSTALL_DIR}|g' \
    -e 's|${LIB_INSTALL_DIR}|${KDE4_LIB_INSTALL_DIR}|g' \
    -e 's|${LIBEXEC_INSTALL_DIR}|${KDE4_LIBEXEC_INSTALL_DIR}|g' \
    -e 's|${INCLUDE_INSTALL_DIR}|${KDE4_INCLUDE_INSTALL_DIR}|g' \
    -e 's|${PLUGIN_INSTALL_DIR}|${KDE4_PLUGIN_INSTALL_DIR}|g' \
    -e 's|${IMPORTS_INSTALL_DIR}|${KDE4_IMPORTS_INSTALL_DIR}|g' \
    -e 's|${CONFIG_INSTALL_DIR}|${KDE4_CONFIG_INSTALL_DIR}|g' \
    -e 's|${DATA_INSTALL_DIR}|${KDE4_DATA_INSTALL_DIR}|g' \
    -e 's|${ICON_INSTALL_DIR}|${KDE4_ICON_INSTALL_DIR}|g' \
    -e 's|${KCFG_INSTALL_DIR}|${KDE4_KCFG_INSTALL_DIR}|g' \
    -e 's|${LOCALE_INSTALL_DIR}|${KDE4_LOCALE_INSTALL_DIR}|g' \
    -e 's|${MIME_INSTALL_DIR}|${KDE4_MIME_INSTALL_DIR}|g' \
    -e 's|${SERVICES_INSTALL_DIR}|${KDE4_SERVICES_INSTALL_DIR}|g' \
    -e 's|${SERVICETYPES_INSTALL_DIR}|${KDE4_SERVICETYPES_INSTALL_DIR}|g' \
    -e 's|${SOUND_INSTALL_DIR}|${KDE4_SOUND_INSTALL_DIR}|g' \
    -e 's|${TEMPLATES_INSTALL_DIR}|${KDE4_TEMPLATES_INSTALL_DIR}|g' \
    -e 's|${WALLPAPER_INSTALL_DIR}|${KDE4_WALLPAPER_INSTALL_DIR}|g' \
    -e 's|${AUTOSTART_INSTALL_DIR}|${KDE4_AUTOSTART_INSTALL_DIR}|g' \
    -e 's|${XDG_APPS_INSTALL_DIR}|${KDE4_XDG_APPS_INSTALL_DIR}|g' \
    -e 's|${XDG_DIRECTORY_INSTALL_DIR}|${KDE4_XDG_DIRECTORY_INSTALL_DIR}|g' \
    -e 's|${XDG_MIME_INSTALL_DIR}|${KDE4_XDG_MIME_INSTALL_DIR}|g' \
    -e 's|${SYSCONF_INSTALL_DIR}|${KDE4_SYSCONF_INSTALL_DIR}|g' \
    -e 's|${MAN_INSTALL_DIR}|${KDE4_MAN_INSTALL_DIR}|g' \
    -e 's|${INFO_INSTALL_DIR}|${KDE4_INFO_INSTALL_DIR}|g' \
    -e 's|${DBUS_INTERFACES_INSTALL_DIR}|${KDE4_DBUS_INTERFACES_INSTALL_DIR}|g' \
    -e 's|${DBUS_SERVICES_INSTALL_DIR}|${KDE4_DBUS_SERVICES_INSTALL_DIR}|g' \
    -e 's|${DBUS_SYSTEM_SERVICES_INSTALL_DIR}|${KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR}|g' \
    -e 's|${KAUTH_HELPER_PLUGIN_DIR}|${KDE4_KAUTH_HELPER_PLUGIN_DIR}|g' \
    -e 's|${KAUTH_BACKEND_PLUGIN_DIR}|${KDE4_KAUTH_BACKEND_PLUGIN_DIR}|g' {} +

note that if you execute this command you may corrupt the git repository
files so move the .git directory out of the way. you can also verify
that there are no other reference to the compatibility installation
paths via:

git grep \
    -e INSTALL_DIR \
    -e EXEC_INSTALL_PREFIX \
    -e SHARE_INSTALL_PREFIX \
    -e BIN_INSTALL_DIR \
    -e SBIN_INSTALL_DIR \
    -e LIB_INSTALL_DIR \
    -e LIBEXEC_INSTALL_DIR \
    -e INCLUDE_INSTALL_DIR \
    -e PLUGIN_INSTALL_DIR \
    -e IMPORTS_INSTALL_DIR \
    -e CONFIG_INSTALL_DIR \
    -e DATA_INSTALL_DIR \
    -e ICON_INSTALL_DIR \
    -e KCFG_INSTALL_DIR \
    -e LOCALE_INSTALL_DIR \
    -e MIME_INSTALL_DIR \
    -e SERVICES_INSTALL_DIR \
    -e SERVICETYPES_INSTALL_DIR \
    -e SOUND_INSTALL_DIR \
    -e TEMPLATES_INSTALL_DIR \
    -e WALLPAPER_INSTALL_DIR \
    -e AUTOSTART_INSTALL_DIR \
    -e XDG_APPS_INSTALL_DIR \
    -e XDG_DIRECTORY_INSTALL_DIR \
    -e XDG_MIME_INSTALL_DIR \
    -e SYSCONF_INSTALL_DIR \
    -e MAN_INSTALL_DIR \
    -e INFO_INSTALL_DIR \
    -e DBUS_INTERFACES_INSTALL_DIR \
    -e DBUS_SERVICES_INSTALL_DIR \
    -e DBUS_SYSTEM_SERVICES_INSTALL_DIR \
    -e KAUTH_HELPER_PLUGIN_DIR \
    -e KAUTH_BACKEND_PLUGIN_DIR | grep -v KDE4_

this change should make default installation Filesystem Hierarchy
Standard (FHS) compliant and packaging easier since library suffix (e.g.
64 for x86_64 hosts) will not have to be specified explicitly, it may
solve possible conflicts with installation path variables from other
projects which use custom installation paths aswell

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-08 20:46:43 +00:00
Ivailo Monev
8f0ce23410 kdecore: drop redundant QFileInfo cache
not only does it leak memory but private QFileInfo data is shared and the
object data will have to be refreshed to obtain correct information

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-01-12 16:29:33 +00:00
Ivailo Monev
7d0c2d0cb1 generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-12-23 16:36:22 +00:00
Ivailo Monev
3ed846617d kdecore: avoid two cache lookups in KStandardDirsPrivate::exists()
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-07-26 11:20:32 +00:00
Ivailo Monev
55cc3a3f02 ldecore: avoid temporary in KStandardDirs::findResourceDir()
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-07-26 11:14:08 +00:00
Ivailo Monev
6c67e5adf8 generic: make use of QHostInfo::localHostName()
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-06-21 19:56:58 +00:00
Ivailo Monev
b7febc718d generic: various cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2018-10-29 00:14:45 +00:00
Ivailo Monev
61333c4671 generic: namespaced Qt4/Katie build fixes
most of the changes were done trought Katie's namefsck script which
convertes forward class declarations to include directives, however
other fixes here and there were needed as well as some questionable
changes to Q_DECLARE_TYPEINFO() macro calls because they most likely
have to do the namespacing themselfs (QT_BEGIN/END_NAMESPACE, and
probably will be in Katie) meaning that some of the changes may be
temporary and reverted later.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2017-08-04 09:24:39 +00:00
Ivailo Monev
6908880a09 generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2017-06-24 08:06:43 +00:00
Ivailo Monev
8edac1be95 kdecore: make some toolkit arguments conditional
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-11-11 19:55:37 +00:00
Ivailo Monev
055f2e8331 kdecore: make use of thread_local
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-10-24 06:24:11 +00:00
Ivailo Monev
949dff9e92 generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-10-19 03:32:06 +00:00
Ivailo Monev
3e06b05004 generic: use QAtomicInt/QAtomicPointer instead of QBasicAtomicInt/QBasicAtomicPointer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-09-30 23:37:55 +00:00
Ivailo Monev
c334b5b1b0 kdecore: remove overload for KGlobal::staticQString()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-05-26 15:51:32 +00:00
Ivailo Monev
c55c9c790d generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-05-14 10:27:17 +00:00
Ivailo Monev
90797d9d60 kdecore: cleanup KStandardDirs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-05-03 15:26:28 +00:00
Ivailo Monev
1f34f5ad73 generic: use CMake export header generator
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-27 20:13:02 +00:00
Ivailo Monev
656489f1d7 kdecore: remove redundant constructor function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-22 10:58:34 +00:00
Ivailo Monev
af1f18f3e3 generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-19 08:38:24 +00:00
Ivailo Monev
5600c15dec generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-11 08:06:16 +00:00
Ivailo Monev
5f025e2a91 kdecore: remove unnecessary headers inclusions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-08 14:27:46 +00:00
Ivailo Monev
d6103c84ce generic: get rid of KZoneAllocator
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-06 09:15:26 +00:00
Ivailo Monev
aceeceb7e4 generic: remove unused KBugReport
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-06 06:52:45 +00:00
Ivailo Monev
b4a354b74b generic: use QCryptographicHash instead of KMD5
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-01 04:32:22 +00:00
Ivailo Monev
b9788987ab generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-28 16:28:57 +00:00
Ivailo Monev
d8c17c0a7e kdecore: do not define KStandardDirs defaults on the stack
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-04 20:51:02 +02:00
Ivailo Monev
fea84d5570 kdecore: use QCache for the standard directories cache
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-02-20 16:21:10 +02:00
Ivailo Monev
7bdb242ad8 kdecore: remove useless equalizePath()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-01-01 16:09:19 +02:00
Ivailo Monev
fbd0e11b3d generic: implement special qml debugger handling for Katie 2015-11-29 18:30:02 +02:00
Ivailo Monev
0078793c98 kdecore: reserve memory for the KStandardDirs cache
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2015-11-05 09:33:34 +02:00
Ivailo Monev
f2e4e3f486 kdecore: limit standard directories cache to 10000 entries
this also fixes a strange bug that I originally tought that it's an RPATH
issues but it turns out that this is some kind of mutex-lock issue. to be
more interesting this bug does not occur when the NDEBUG conditionals are
removed or if they are unconditionalized, the first observation leads me to
think that this is compiler bug and the second that it's mutex-lock issue
that is resolved because some code in KDebug and/or QDebug (i've tried with
it too) locks/unlockes/detaches/does some voodoo that overcomes the bug.

in any case it's hard for me to pin-point the problem so if anyone can look
into it that would be great, for now this change will do


Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2015-11-03 06:51:57 +02:00
Ivailo Monev
ccbae05905 kdecore: oops, fix variable reference 2015-10-17 18:59:04 +03:00
Ivailo Monev
636f904183 generic: optimize standard directories lookup
by caching results and storing them in a hash the results should
flow faster, a limit should probably be set on this but for now
there isn't. exists() and realPath() now cannot be called without
object!
2015-10-17 18:53:50 +03:00
Ivailo Monev
060ce58f09 kdecore: simplify KStandardDirs::exists()
also, added a debug message to tell when and on what this method
is called. I'm seeing many obscure check done repeatedly,
especially MIME paths check done over and over again when opening
a folder with dolphin so that should help identify places where
optimizations should be made.
2015-10-17 12:27:05 +03:00
Ivailo Monev
79d3e27b58 generic: code shrinks 2015-10-17 11:45:14 +03:00
Ivailo Monev
153da2a410 kdecore: change kstandarddirs documentation to match defaults 2015-10-17 11:44:59 +03:00
Ivailo Monev
2d49fadeb1 generic: misc cleanups 2015-10-12 23:58:56 +03:00
Ivailo Monev
9457544b8b kdecore: misc cleanups 2015-10-12 18:43:14 +03:00
Ivailo Monev
a4996f3d49 generic: misc cleanups 2015-10-01 07:46:47 +03:00
Ivailo Monev
3d14a4b88b generic: code shrinks 2015-09-30 10:37:53 +03:00
Ivailo Monev
2eceb5f064 generic: misc cleanups 2015-09-27 01:19:30 +00:00
Ivailo Monev
a9e96a38b0 generic: drop Q_CC_MSVC conditionals 2015-09-25 04:08:21 +00:00
Ivailo Monev
9c7b41e8f4 generic: misc cleanups 2015-09-21 20:30:05 +00:00