The one true fix(tm) for udisks2-backend build

split out non-upstreamed pieces into _post.patch
and quick-n-dirty sed to handle header renames.
This commit is contained in:
Rex Dieter 2012-05-24 11:26:51 -05:00
parent 73e318a836
commit a183fa3b6b
4 changed files with 126 additions and 117 deletions

View File

@ -3522,118 +3522,3 @@ index 0000000..2ca04d2
+}
+
+#endif // UDISKS2STORAGEVOLUME_H
diff --git a/tier1/solid/src/solid/CMakeLists.txt b/tier1/solid/src/solid/CMakeLists.txt
index 0fabd2c..75bb642 100644
--- a/tier1/solid/src/solid/solid/CMakeLists.txt
+++ b/tier1/solid/src/solid/solid/CMakeLists.txt
@@ -29,7 +29,6 @@ configure_file(config-processor.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-proce
file(MAKE_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}/backends/fakehw
- ${CMAKE_CURRENT_BINARY_DIR}/backends/hal
${CMAKE_CURRENT_BINARY_DIR}/backends/udev
${CMAKE_CURRENT_BINARY_DIR}/backends/wmi
)
@@ -205,33 +204,6 @@ if(NOT WIN32 AND NOT APPLE)
endif( UDEV_FOUND )
- message(STATUS "Building Solid HAL backend." )
- set(solid_LIB_SRCS ${solid_LIB_SRCS}
- backends/hal/halacadapter.cpp
- backends/hal/halaudiointerface.cpp
- backends/hal/halbattery.cpp
- backends/hal/halblock.cpp
- backends/hal/halbutton.cpp
- backends/hal/halcamera.cpp
- backends/hal/halcdrom.cpp
- backends/hal/haldeviceinterface.cpp
- backends/hal/haldvbinterface.cpp
- backends/hal/halfstabhandling.cpp
- backends/hal/halgenericinterface.cpp
- backends/hal/haldevice.cpp
- backends/hal/halmanager.cpp
- backends/hal/halnetworkinterface.cpp
- backends/hal/halserialinterface.cpp
- backends/hal/halopticaldisc.cpp
- backends/hal/halportablemediaplayer.cpp
- backends/hal/halprocessor.cpp
- backends/hal/halstorageaccess.cpp
- backends/hal/halstorage.cpp
- backends/hal/halvideo.cpp
- backends/hal/halvolume.cpp
- backends/hal/halsmartcardreader.cpp
- )
-
message(STATUS "Building Solid UPower backend." )
set(solid_LIB_SRCS ${solid_LIB_SRCS}
backends/upower/upowermanager.cpp
@@ -244,18 +216,19 @@ if(NOT WIN32 AND NOT APPLE)
# FIXME: this should work on more Unix systems
if (CMAKE_SYSTEM_NAME MATCHES Linux)
- message(STATUS "Building Solid UDisks backend." )
+ message(STATUS "Building Solid UDisks2 backend." )
set(solid_LIB_SRCS ${solid_LIB_SRCS}
- backends/udisks/udisksmanager.cpp
- backends/udisks/udisksdevice.cpp
- backends/udisks/udisksblock.cpp
- backends/udisks/udisksstoragevolume.cpp
- backends/udisks/udisksdeviceinterface.cpp
- backends/udisks/udisksopticaldisc.cpp
- backends/udisks/udisksopticaldrive.cpp
- backends/udisks/udisksstoragedrive.cpp
- backends/udisks/udisksstorageaccess.cpp
- backends/udisks/udisksgenericinterface.cpp
+ backends/udisks2/udisksmanager.cpp
+ backends/udisks2/udisksdevice.cpp
+ backends/udisks2/udisksblock.cpp
+ backends/udisks2/udisksstoragevolume.cpp
+ backends/udisks2/udisksdeviceinterface.cpp
+ backends/udisks2/udisksopticaldisc.cpp
+ backends/udisks2/udisksopticaldrive.cpp
+ backends/udisks2/udisksstoragedrive.cpp
+ backends/udisks2/udisksstorageaccess.cpp
+ backends/udisks2/udisksgenericinterface.cpp
+ backends/udisks2/dbus/manager.cpp
)
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
diff --git a/tier1/solid/src/solid/managerbase.cpp b/tier1/solid/src/solid/managerbase.cpp
index e228b48..7a7cc7d 100644
--- a/tier1/solid/src/solid/solid/managerbase.cpp
+++ b/tier1/solid/src/solid/solid/managerbase.cpp
@@ -30,8 +30,7 @@
#if defined (Q_OS_MAC)
#include "backends/iokit/iokitmanager.h"
#elif defined (Q_OS_UNIX)
-#include "backends/hal/halmanager.h"
-#include "backends/udisks/udisksmanager.h"
+#include "backends/udisks2/udisksmanager.h"
#include "backends/upower/upowermanager.h"
#if defined (HUPNP_FOUND)
@@ -71,22 +70,13 @@ void Solid::ManagerBasePrivate::loadBackends()
# elif defined(Q_OS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
m_backends << new Solid::Backends::Wmi::WmiManager(0);
-# elif defined(Q_OS_UNIX) && !defined(Q_OS_LINUX)
- m_backends << new Solid::Backends::Hal::HalManager(0);
-
# elif defined(Q_OS_LINUX)
- bool solidHalLegacyEnabled
- = QString::fromLocal8Bit(qgetenv("SOLID_HAL_LEGACY")).toInt()==1;
- if (solidHalLegacyEnabled) {
- m_backends << new Solid::Backends::Hal::HalManager(0);
- } else {
# if defined(UDEV_FOUND)
m_backends << new Solid::Backends::UDev::UDevManager(0);
# endif
- m_backends << new Solid::Backends::UDisks::UDisksManager(0)
+ m_backends << new Solid::Backends::UDisks2::Manager(0)
<< new Solid::Backends::UPower::UPowerManager(0)
<< new Solid::Backends::Fstab::FstabManager(0);
- }
# endif
# if defined (HUPNP_FOUND)

115
kdelibs-udisks2_post.patch Normal file
View File

@ -0,0 +1,115 @@
diff --git a/tier1/solid/src/solid/CMakeLists.txt b/tier1/solid/src/solid/CMakeLists.txt
index 0fabd2c..75bb642 100644
--- a/tier1/solid/src/solid/CMakeLists.txt
+++ b/tier1/solid/src/solid/CMakeLists.txt
@@ -29,7 +29,6 @@ configure_file(config-processor.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-proce
file(MAKE_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}/backends/fakehw
- ${CMAKE_CURRENT_BINARY_DIR}/backends/hal
${CMAKE_CURRENT_BINARY_DIR}/backends/udev
${CMAKE_CURRENT_BINARY_DIR}/backends/wmi
)
@@ -205,33 +204,6 @@ if(NOT WIN32 AND NOT APPLE)
endif( UDEV_FOUND )
- message(STATUS "Building Solid HAL backend." )
- set(solid_LIB_SRCS ${solid_LIB_SRCS}
- backends/hal/halacadapter.cpp
- backends/hal/halaudiointerface.cpp
- backends/hal/halbattery.cpp
- backends/hal/halblock.cpp
- backends/hal/halbutton.cpp
- backends/hal/halcamera.cpp
- backends/hal/halcdrom.cpp
- backends/hal/haldeviceinterface.cpp
- backends/hal/haldvbinterface.cpp
- backends/hal/halfstabhandling.cpp
- backends/hal/halgenericinterface.cpp
- backends/hal/haldevice.cpp
- backends/hal/halmanager.cpp
- backends/hal/halnetworkinterface.cpp
- backends/hal/halserialinterface.cpp
- backends/hal/halopticaldisc.cpp
- backends/hal/halportablemediaplayer.cpp
- backends/hal/halprocessor.cpp
- backends/hal/halstorageaccess.cpp
- backends/hal/halstorage.cpp
- backends/hal/halvideo.cpp
- backends/hal/halvolume.cpp
- backends/hal/halsmartcardreader.cpp
- )
-
message(STATUS "Building Solid UPower backend." )
set(solid_LIB_SRCS ${solid_LIB_SRCS}
backends/upower/upowermanager.cpp
@@ -244,18 +216,19 @@ if(NOT WIN32 AND NOT APPLE)
# FIXME: this should work on more Unix systems
if (CMAKE_SYSTEM_NAME MATCHES Linux)
- message(STATUS "Building Solid UDisks backend." )
+ message(STATUS "Building Solid UDisks2 backend." )
set(solid_LIB_SRCS ${solid_LIB_SRCS}
- backends/udisks/udisksmanager.cpp
- backends/udisks/udisksdevice.cpp
- backends/udisks/udisksblock.cpp
- backends/udisks/udisksstoragevolume.cpp
- backends/udisks/udisksdeviceinterface.cpp
- backends/udisks/udisksopticaldisc.cpp
- backends/udisks/udisksopticaldrive.cpp
- backends/udisks/udisksstoragedrive.cpp
- backends/udisks/udisksstorageaccess.cpp
- backends/udisks/udisksgenericinterface.cpp
+ backends/udisks2/udisksmanager.cpp
+ backends/udisks2/udisksdevice.cpp
+ backends/udisks2/udisksblock.cpp
+ backends/udisks2/udisksstoragevolume.cpp
+ backends/udisks2/udisksdeviceinterface.cpp
+ backends/udisks2/udisksopticaldisc.cpp
+ backends/udisks2/udisksopticaldrive.cpp
+ backends/udisks2/udisksstoragedrive.cpp
+ backends/udisks2/udisksstorageaccess.cpp
+ backends/udisks2/udisksgenericinterface.cpp
+ backends/udisks2/dbus/manager.cpp
)
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
diff --git a/tier1/solid/src/solid/managerbase.cpp b/tier1/solid/src/solid/managerbase.cpp
index e228b48..7a7cc7d 100644
--- a/tier1/solid/src/solid/managerbase.cpp
+++ b/tier1/solid/src/solid/managerbase.cpp
@@ -30,8 +30,7 @@
#if defined (Q_OS_MAC)
#include "backends/iokit/iokitmanager.h"
#elif defined (Q_OS_UNIX)
-#include "backends/hal/halmanager.h"
-#include "backends/udisks/udisksmanager.h"
+#include "backends/udisks2/udisksmanager.h"
#include "backends/upower/upowermanager.h"
#if defined (HUPNP_FOUND)
@@ -71,22 +70,13 @@ void Solid::ManagerBasePrivate::loadBackends()
# elif defined(Q_OS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
m_backends << new Solid::Backends::Wmi::WmiManager(0);
-# elif defined(Q_OS_UNIX) && !defined(Q_OS_LINUX)
- m_backends << new Solid::Backends::Hal::HalManager(0);
-
# elif defined(Q_OS_LINUX)
- bool solidHalLegacyEnabled
- = QString::fromLocal8Bit(qgetenv("SOLID_HAL_LEGACY")).toInt()==1;
- if (solidHalLegacyEnabled) {
- m_backends << new Solid::Backends::Hal::HalManager(0);
- } else {
# if defined(UDEV_FOUND)
m_backends << new Solid::Backends::UDev::UDevManager(0);
# endif
- m_backends << new Solid::Backends::UDisks::UDisksManager(0)
+ m_backends << new Solid::Backends::UDisks2::Manager(0)
<< new Solid::Backends::UPower::UPowerManager(0)
<< new Solid::Backends::Fstab::FstabManager(0);
- }
# endif
# if defined (HUPNP_FOUND)

View File

@ -123,8 +123,9 @@ Patch42: 0003-Implement-automatic-scanning-of-source-code-for-requ.patch
Patch45: kdelibs-4.7.3-halectomy.patch
# udisks2 Solid backend, halectomy
Patch46: kdelibs-4.8.2-udisks2_prep.patch
Patch46: kdelibs-udisks2_prep.patch
Patch47: kdelibs-udisks2-backend.patch
Patch48: kdelibs-udisks2_post.patch
## upstreamable
# knewstuff2 variant of:
@ -332,8 +333,16 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
%if "%{?udisks}" == "udisks2"
pushd solid
%patch46 -p2 -b .udisks2_prep
popd
%patch47 -p4 -b .udisks2backend
sed -i.udisks2_sed \
-e 's|#include "../shared/udevqtdevice.h"|#include "../shared/udevqt.h"|g' \
-e 's|#include "../shared/udevqtclient.h"|#include "../shared/udevqt.h"|g' \
solid/backends/udisks2/udisksopticaldisc.h \
solid/backends/udisks2/udisksstoragedrive.h \
solid/backends/udisks2/udisksopticaldisc.cpp \
solid/backends/udisks2/udisksstoragedrive.cpp
%patch48 -p4 -b .udisks2_post
popd
%else
%patch45 -p1 -b .halectomy
%endif