allow udev backend on el6
afiestas recommended simply ommitting the new solid api for systems with older udev, so here we are.
This commit is contained in:
parent
8207dace25
commit
f3efe1f53c
95
kdelibs-UDEV_HAVE_GET_SYSATTR_LIST_ENTRY.patch
Normal file
95
kdelibs-UDEV_HAVE_GET_SYSATTR_LIST_ENTRY.patch
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
diff --git a/cmake/modules/FindUDev.cmake b/cmake/modules/FindUDev.cmake
|
||||||
|
index 4c8390d..1c05dd0 100644
|
||||||
|
--- a/cmake/modules/FindUDev.cmake
|
||||||
|
+++ b/cmake/modules/FindUDev.cmake
|
||||||
|
@@ -4,14 +4,32 @@
|
||||||
|
# UDEV_FOUND - system has UDev
|
||||||
|
# UDEV_INCLUDE_DIR - the libudev include directory
|
||||||
|
# UDEV_LIBS - The libudev libraries
|
||||||
|
+# UDEV_HAVE_GET_SYSATTR_LIST_ENTRY - TRUE if the udev library has the function
|
||||||
|
+# udev_device_get_sysattr_list_entry(), added in version 167 of libudev
|
||||||
|
|
||||||
|
# Copyright (c) 2010, Rafael Fernández López, <ereslibre@kde.org>
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||||
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
|
|
||||||
|
-find_path(UDEV_INCLUDE_DIR libudev.h)
|
||||||
|
-find_library(UDEV_LIBS udev)
|
||||||
|
+find_package(PkgConfig)
|
||||||
|
+if(PKG_CONFIG_FOUND)
|
||||||
|
+ pkg_check_modules(PC_LIBUDEV libudev)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
+find_path(UDEV_INCLUDE_DIR libudev.h
|
||||||
|
+ HINTS ${PC_LIBUDEV_INCLUDEDIR} ${PC_LIBUDEV_INCLUDE_DIRS})
|
||||||
|
+find_library(UDEV_LIBS udev
|
||||||
|
+ HINTS ${PC_LIBUDEV_LIBDIR} ${PC_LIBUDEV_LIBRARY_DIRS})
|
||||||
|
+
|
||||||
|
+if(UDEV_INCLUDE_DIR AND UDEV_LIBS)
|
||||||
|
+ include(CheckFunctionExists)
|
||||||
|
+ include(CMakePushCheckState)
|
||||||
|
+ cmake_push_check_state()
|
||||||
|
+ set(CMAKE_REQUIRED_LIBRARIES ${UDEV_LIBS} )
|
||||||
|
+ check_function_exists(udev_device_get_sysattr_list_entry UDEV_HAVE_GET_SYSATTR_LIST_ENTRY )
|
||||||
|
+ cmake_pop_check_state()
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(UDev DEFAULT_MSG UDEV_INCLUDE_DIR UDEV_LIBS)
|
||||||
|
diff --git a/solid/solid/CMakeLists.txt b/solid/solid/CMakeLists.txt
|
||||||
|
index a7f1f07..97ca6c4 100644
|
||||||
|
--- a/solid/solid/CMakeLists.txt
|
||||||
|
+++ b/solid/solid/CMakeLists.txt
|
||||||
|
@@ -200,6 +200,7 @@ if(NOT WIN32 AND NOT APPLE)
|
||||||
|
|
||||||
|
if ( UDEV_FOUND )
|
||||||
|
message(STATUS "Building Solid UDev backend." )
|
||||||
|
+ macro_bool_to_01(UDEV_HAVE_GET_SYSATTR_LIST_ENTRY)
|
||||||
|
set(solid_LIB_SRCS ${solid_LIB_SRCS}
|
||||||
|
backends/udev/utils.cpp
|
||||||
|
backends/udev/udevdevice.cpp
|
||||||
|
diff --git a/solid/solid/backends/shared/udevqt.h b/solid/solid/backends/shared/udevqt.h
|
||||||
|
index 228687e..9611658 100644
|
||||||
|
--- a/solid/solid/backends/shared/udevqt.h
|
||||||
|
+++ b/solid/solid/backends/shared/udevqt.h
|
||||||
|
@@ -49,7 +49,9 @@ class Device
|
||||||
|
QString primaryDeviceFile() const;
|
||||||
|
QStringList alternateDeviceSymlinks() const;
|
||||||
|
QStringList deviceProperties() const;
|
||||||
|
+#ifdef UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
||||||
|
QStringList sysfsProperties() const;
|
||||||
|
+#endif
|
||||||
|
Device parent() const;
|
||||||
|
|
||||||
|
// ### should this really be a QVariant? as far as udev knows, everything is a string...
|
||||||
|
diff --git a/solid/solid/backends/shared/udevqtdevice.cpp b/solid/solid/backends/shared/udevqtdevice.cpp
|
||||||
|
index d18b616..4721b7a 100644
|
||||||
|
--- a/solid/solid/backends/shared/udevqtdevice.cpp
|
||||||
|
+++ b/solid/solid/backends/shared/udevqtdevice.cpp
|
||||||
|
@@ -197,6 +197,7 @@ QStringList Device::deviceProperties() const
|
||||||
|
return listFromListEntry(udev_device_get_properties_list_entry(d->udev));
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
||||||
|
QStringList Device::sysfsProperties() const
|
||||||
|
{
|
||||||
|
if (!d)
|
||||||
|
@@ -204,6 +205,7 @@ QStringList Device::sysfsProperties() const
|
||||||
|
|
||||||
|
return listFromListEntry(udev_device_get_sysattr_list_entry(d->udev));
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
Device Device::parent() const
|
||||||
|
{
|
||||||
|
diff --git a/solid/solid/config-solid.h.cmake b/solid/solid/config-solid.h.cmake
|
||||||
|
index 84c3b5c..bb71645 100644
|
||||||
|
--- a/solid/solid/config-solid.h.cmake
|
||||||
|
+++ b/solid/solid/config-solid.h.cmake
|
||||||
|
@@ -19,4 +19,5 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#cmakedefine UDEV_FOUND
|
||||||
|
+#cmakedefine UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
||||||
|
#cmakedefine HUPNP_FOUND
|
11
kdelibs.spec
11
kdelibs.spec
@ -23,7 +23,6 @@
|
|||||||
%define cmake_pkg cmake28
|
%define cmake_pkg cmake28
|
||||||
%else
|
%else
|
||||||
%define cmake_pkg cmake
|
%define cmake_pkg cmake
|
||||||
%define udev 1
|
|
||||||
%define upower 1
|
%define upower 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -138,6 +137,11 @@ Patch49: kdelibs-solid_qt_no_debug_output.patch
|
|||||||
# https://git.reviewboard.kde.org/r/102439/
|
# https://git.reviewboard.kde.org/r/102439/
|
||||||
Patch50: kdelibs-4.7.0-knewstuff2_gpg2.patch
|
Patch50: kdelibs-4.7.0-knewstuff2_gpg2.patch
|
||||||
|
|
||||||
|
# an improvement on
|
||||||
|
# https://projects.kde.org/projects/kde/kdelibs/repository/revisions/a8d3d3321522d35c2852abb02a475c6b43be5cfe
|
||||||
|
# strictly, only required for old pre-systemd systems (like el6)
|
||||||
|
Patch51: kdelibs-UDEV_HAVE_GET_SYSATTR_LIST_ENTRY.patch
|
||||||
|
|
||||||
# Toggle solid upnp support at runtime via env var SOLID_UPNP=1 (disabled by default)
|
# Toggle solid upnp support at runtime via env var SOLID_UPNP=1 (disabled by default)
|
||||||
Patch52: kdelibs-4.10.0-SOLID_UPNP.patch
|
Patch52: kdelibs-4.10.0-SOLID_UPNP.patch
|
||||||
|
|
||||||
@ -222,9 +226,7 @@ BuildRequires: pkgconfig(libattica) >= %{attica_ver}
|
|||||||
BuildRequires: pkgconfig(liblzma)
|
BuildRequires: pkgconfig(liblzma)
|
||||||
BuildRequires: pkgconfig(libpcre)
|
BuildRequires: pkgconfig(libpcre)
|
||||||
BuildRequires: pkgconfig(libstreams) >= %{strigi_ver}
|
BuildRequires: pkgconfig(libstreams) >= %{strigi_ver}
|
||||||
%if 0%{?udev}
|
BuildRequires: pkgconfig(libudev)
|
||||||
BuildRequires: pkgconfig(libudev) >= 167
|
|
||||||
%endif
|
|
||||||
BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0)
|
BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0)
|
||||||
BuildRequires: pkgconfig(OpenEXR)
|
BuildRequires: pkgconfig(OpenEXR)
|
||||||
BuildRequires: pkgconfig(openssl)
|
BuildRequires: pkgconfig(openssl)
|
||||||
@ -353,6 +355,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
|
|||||||
|
|
||||||
# upstreamable patches
|
# upstreamable patches
|
||||||
%patch50 -p1 -b .knewstuff2_gpg2
|
%patch50 -p1 -b .knewstuff2_gpg2
|
||||||
|
%patch51 -p1 -b .UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
||||||
%patch52 -p1 -b .SOLID_UPNP
|
%patch52 -p1 -b .SOLID_UPNP
|
||||||
%patch53 -p1 -b .kjs-s390
|
%patch53 -p1 -b .kjs-s390
|
||||||
%patch54 -p1 -b .kjs-locale
|
%patch54 -p1 -b .kjs-locale
|
||||||
|
Loading…
Reference in New Issue
Block a user