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

Rex Dieter rdieter at fedoraproject.org
Thu May 24 16:26:45 UTC 2012


commit a183fa3b6bb233d068b19c12a033ae3a11bc1de6
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Thu May 24 11:26:51 2012 -0500

    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.

 kdelibs-udisks2-backend.patch                      |  115 --------------------
 kdelibs-udisks2_post.patch                         |  115 ++++++++++++++++++++
 ...disks2_prep.patch => kdelibs-udisks2_prep.patch |    0
 kdelibs.spec                                       |   13 ++-
 4 files changed, 126 insertions(+), 117 deletions(-)
---
diff --git a/kdelibs-udisks2-backend.patch b/kdelibs-udisks2-backend.patch
index 371a6ac..74ec3c2 100644
--- a/kdelibs-udisks2-backend.patch
+++ b/kdelibs-udisks2-backend.patch
@@ -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)
diff --git a/kdelibs-udisks2_post.patch b/kdelibs-udisks2_post.patch
new file mode 100644
index 0000000..f22742d
--- /dev/null
+++ b/kdelibs-udisks2_post.patch
@@ -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)
diff --git a/kdelibs-4.8.2-udisks2_prep.patch b/kdelibs-udisks2_prep.patch
similarity index 100%
rename from kdelibs-4.8.2-udisks2_prep.patch
rename to kdelibs-udisks2_prep.patch
diff --git a/kdelibs.spec b/kdelibs.spec
index 3b2a599..8ce1e16 100644
--- a/kdelibs.spec
+++ b/kdelibs.spec
@@ -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


More information about the scm-commits mailing list