diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-08-01 21:25:59 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-08-01 21:32:38 +0200 |
commit | 5ef49fb17ef357eb022915082470ccbe8537b199 (patch) | |
tree | b78af62b4d11fbc1ef940420d3efb1e74292980f /kde-frameworks/solid | |
parent | net-libs/libcrafter: update EAPI 7 -> 8 (diff) | |
download | gentoo-5ef49fb17ef357eb022915082470ccbe8537b199.tar.gz gentoo-5ef49fb17ef357eb022915082470ccbe8537b199.tar.bz2 gentoo-5ef49fb17ef357eb022915082470ccbe8537b199.zip |
kde-frameworks/solid: Backport upstream port to qstrcmp()
Upstream commit e5964d13f36901e7768ca38064125a5c5c28a939
See also: https://mail.kde.org/pipermail/distributions/2021-July/001036.html
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks/solid')
-rw-r--r-- | kde-frameworks/solid/files/solid-5.84.0-qstrcmp.patch | 35 | ||||
-rw-r--r-- | kde-frameworks/solid/solid-5.84.0-r1.ebuild | 53 |
2 files changed, 88 insertions, 0 deletions
diff --git a/kde-frameworks/solid/files/solid-5.84.0-qstrcmp.patch b/kde-frameworks/solid/files/solid-5.84.0-qstrcmp.patch new file mode 100644 index 000000000000..bdba981b8ac8 --- /dev/null +++ b/kde-frameworks/solid/files/solid-5.84.0-qstrcmp.patch @@ -0,0 +1,35 @@ +From e5964d13f36901e7768ca38064125a5c5c28a939 Mon Sep 17 00:00:00 2001 +From: Ahmad Samir <a.samirh78@gmail.com> +Date: Thu, 22 Jul 2021 01:26:37 +0200 +Subject: [PATCH] Use qstrcmp instead of strcmp + +qstrcmp can handle NULL args. + +This fixes an issue on Slackware, which doesn't use systemd and /var/run +is a bind mount of /run, and for some reason mnt_fs_get_root(fs) would return +NULL, which led to crashes in dolphin and plasmashell, see: +https://invent.kde.org/frameworks/solid/-/commit/ef0b0dfa00b1de70c6d8e6913bbfdb79e7d3d1b6#note_276583 +--- + src/solid/devices/backends/udisks2/udisksstorageaccess.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp b/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp +index 1566787..35d1aa8 100644 +--- a/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp ++++ b/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp +@@ -92,9 +92,9 @@ static QString baseMountPoint(const QByteArray &dev) + const QByteArray devicePath = dev.endsWith('\x00') ? dev.chopped(1) : dev; + + while (mnt_table_next_fs(table, itr, &fs) == 0) { +- if (mnt_fs_get_srcpath(fs) == devicePath +- // Base mount point will have "/" as root fs +- && (strcmp(mnt_fs_get_root(fs), "/") == 0)) { ++ if (mnt_fs_get_srcpath(fs) == devicePath // ++ && (qstrcmp(mnt_fs_get_root(fs), "/") == 0) // Base mount point will have "/" as root fs ++ ) { + mountPoint = QFile::decodeName(mnt_fs_get_target(fs)); + break; + } +-- +GitLab + diff --git a/kde-frameworks/solid/solid-5.84.0-r1.ebuild b/kde-frameworks/solid/solid-5.84.0-r1.ebuild new file mode 100644 index 000000000000..dfd61f86b422 --- /dev/null +++ b/kde-frameworks/solid/solid-5.84.0-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +QTMIN=5.15.2 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org optfeature + +DESCRIPTION="Provider for platform independent hardware discovery, abstraction and management" + +LICENSE="LGPL-2.1+" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="ios nls" + +RDEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtxml-${QTMIN}:5 + sys-apps/util-linux + sys-fs/udisks:2 + virtual/libudev:= + ios? ( + app-pda/libimobiledevice:= + app-pda/libplist:= + ) +" +DEPEND="${RDEPEND} + test? ( >=dev-qt/qtconcurrent-${QTMIN}:5 ) +" +BDEPEND=" + sys-devel/bison + sys-devel/flex + nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 ) +" + +PATCHES=( "${FILESDIR}/${P}-qstrcmp.patch" ) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package ios IMobileDevice) + $(cmake_use_find_package ios PList) + ) + ecm_src_configure +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + optfeature "media player devices support" app-misc/media-player-info + fi + ecm_pkg_postinst +} |