Commit graph

78 commits

Author SHA1 Message Date
Ivailo Monev
ef262ab3bd kdecore: remove unused variable in lookupPrefix() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-06 20:11:24 +03:00
Ivailo Monev
382fd80484 kdecore: fix KStandardDirs thread-safety issues
managed to bust it with some proper threading (see KFilePreviewJob on the
kfilepreview branch)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-19 09:06:47 +03:00
Ivailo Monev
ee1aa40904 kdecore: drop support for KStandardDirs kcfg resource
kcfg files are resources much like .ui files - not ment to be installed,
used only to generate .cpp and .h files from them. they are not used at
runtime altough Plasma::ConfigLoader does use its format to load files
for configuration purposes (files named main.xml shipped by plasmoids)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 05:48:31 +03:00
Ivailo Monev
36c910c653 generic: move stuff from KDE4Internal module to KDELibs4Config
large-scale changes to the build system, nothing a user sees tho - it is
all under the hood

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 19:01:40 +03:00
Ivailo Monev
e978590acd generic: define KDE_DEFAULT_DEBUG_AREA in the main build file for each library
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-09 23:43:20 +03:00
Ivailo Monev
99ec1f4186 kdecore: register cache and tmp resources from KStandardDirs constructor
if QStandardPaths::writableLocation() did not create the directories
KStandardDirs::locateLocal() or KStandardDirs::saveLocation() will

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-11 09:18:18 +03:00
Ivailo Monev
2fd512e502 generic: install modules in subdirectory of the library directory by default
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 15:05:17 +03:00
Ivailo Monev
a869da3645 kdecore: deduplicate code by using KStandardDirs::resourceDirs() in KStandardDirs::saveLocation()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 13:57:52 +03:00
Ivailo Monev
55699fc8a3 kdecore: remove the unused "html" and hidden "home" standard directory resources
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 04:15:48 +03:00
Ivailo Monev
d24dd98aee kdecore: easier to maintain KStandardDirs resources table
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 23:55:09 +03:00
Ivailo Monev
5b6151074a kdecore: remove unused header inclusions in kstandarddirs source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 18:54:04 +03:00
Ivailo Monev
47b106e84a kdecore: remove unused header inclusions and move comment where it belongs in kstandarddirs source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 18:51:20 +03:00
Ivailo Monev
eb7bb8ec72 kdecore: do not copy the QFileInfo object in checkExecutable() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 18:43:10 +03:00
Ivailo Monev
b282921233 kdecore: remove unused variable in KStandardDirs::findExe()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 18:39:22 +03:00
Ivailo Monev
9b372b0d57 kdecore: include the class name when printing warning from KStandardDirs::realPath()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 18:39:00 +03:00
Ivailo Monev
b317eeb690 kdecore: do not attempt to guess the exec prefix
for any program that is not in /usr/bin, /usr/sbin, /usr/local/bin, etc.
the prefix is wrong. for example it will be /usr/libexec for
/usr/libexec/kde4/drkonqi and probably worse for any program outside the
system PATH (scripts and programs in ~/bin anyone?)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 06:29:07 +03:00
Ivailo Monev
7607559fd2 kdecore: replace private KStandardDirs methods with their body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-08 16:17:00 +03:00
Ivailo Monev
cc1b77d904 kdecore: convert KStandardDirs::exists() and KStandardDirs::realPath() to static methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-08 15:26:19 +03:00
Ivailo Monev
659a0e992d kdecore: somewhat consistent kstandarddirs source file format
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-24 10:20:12 +03:00
Ivailo Monev
8ae7f4c210 kdecore: somewhat consistent kstandarddirs source file format
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-24 10:02:04 +03:00
Ivailo Monev
6052ab3b7f kdecore: use foreach() for iterations in KStandardDirs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-24 09:42:03 +03:00
Ivailo Monev
c332784ea6 kdecore: const-ify variable in readEnvPath() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-24 09:15:39 +03:00
Ivailo Monev
23330a4058 kdecore: remove unused KStandardDirsPrivate::resourceDirs() argument
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-24 09:13:29 +03:00
Ivailo Monev
fbd7a02bd8 kdecore: do not add resources directories from .krcdirs file in the current directory
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-24 09:00:00 +03:00
Ivailo Monev
7d5ec84ab1 generic: compiler warnings fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-23 17:19:33 +03:00
Ivailo Monev
29a8459798 generic: remove checks for system headers that should be present
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-23 15:42:09 +03:00
Ivailo Monev
7e8604a548 kdecore: '\b' is not valid path separator
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-23 12:59:38 +03:00
Ivailo Monev
c9a0aaf40b generic: remove checks for limits and unistd system headers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-23 07:37:22 +03:00
Ivailo Monev
096b62f757 generic: minor optimizations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-20 13:41:05 +03:00
Ivailo Monev
67c09731b4 kdecore: do not deep-copy QString objects while iterating in KStandardDirs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-05 15:22:02 +03:00
Ivailo Monev
b9186c0327 kdecore: drop standard directories KIOSK support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-05 14:46:22 +03:00
Ivailo Monev
5275fdc8a4 kdecore: create the last directory of the special resource if it does not exist
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 14:16:35 +03:00
Ivailo Monev
3ab0e01817 kdecore: keep references to QByteArray objects in KStandardDirs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 14:08:02 +03:00
Ivailo Monev
41db76b92c kdecore: drop socket resource type and use QStandardPaths:writableLocation() for base resource directories
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-25 10:45:51 +03:00
Ivailo Monev
4f16fe642d generic: simplify special resources directories creation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-25 04:23:40 +03:00
Ivailo Monev
08eb4a8558 generic: drop support for emoticons
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-08 00:41:39 +02:00
Ivailo Monev
dd07d6844b kdecore: remove perror() debug stream function [ci reset]
TODO: use qt_error_string() instead of strerror() for thread-safety

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-08 21:55:18 +03:00
Ivailo Monev
ebf69fb68e generic: replace recursive QMutex-es with std::recursive_mutex-es [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-22 01:36:07 +03:00
Ivailo Monev
bb86fb96fe kdecore: KStandardDirs::findExe() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-08 05:38:21 +03:00
Ivailo Monev
90ac09db86 generic: remove obsolete resource types support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-28 15:01:11 +02:00
Ivailo Monev
502fefe674 kdecore: look for root executables in build prefix directory
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-23 05:40:24 +02:00
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
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
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