[SCM] solid packaging branch, master, updated. debian/5.28.0-1-2-g18299bf

Maximiliano Curia maxy at moszumanska.debian.org
Wed Nov 30 15:28:13 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/frameworks/solid.git;a=commitdiff;h=2bfd260

The following commit has been merged in the master branch:
commit 2bfd2603290edfce1c361f85571ed8ef36e57667
Author: Maximiliano Curia <maxy at gnuservers.com.ar>
Date:   Wed Nov 30 15:56:00 2016 +0100

    Add patch: fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch
    
    Closes: 846266
    Thanks: James Cowgill for the patch (thanks a lot!!)
---
 ...sel-and-m68k-src-solid-predicate_parser.c.patch | 56 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 2 files changed, 57 insertions(+)

diff --git a/debian/patches/fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch b/debian/patches/fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch
new file mode 100644
index 0000000..c0c7bc8
--- /dev/null
+++ b/debian/patches/fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch
@@ -0,0 +1,56 @@
+From: James Cowgill <jcowgill at debian.org>
+Date: Wed, 30 Nov 2016 15:50:47 +0100
+Subject: fix FTBFS on mipsel and m68k - src/solid/predicate_parser.c: No such
+ file or directory
+
+In src/solid/CMakeLists.txt, the parser is generated using bison_target
+which uses add_custom_command under the hood. The output file is then
+added to the list of sources creating a file-level dependency from the
+KF5Solid target to the bison/flex generation command. However, the list
+of sources is later used as part of the KF5Solid_static target. Since
+file-level dependencies cannot cross between targets, the bison
+generation happens twice completely independently as part of the two
+targets. If you are very unlucky, the generation in one target can
+happen at the same time as the compilation of the parser in the other
+target causing a collision.
+
+This patch should fix that by putting the generation in a
+separate target and manually adding a dependency on it. This forces the
+parser to be generated before anything is compiled.
+---
+ src/solid/CMakeLists.txt         | 2 ++
+ src/solid/devices/CMakeLists.txt | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/src/solid/CMakeLists.txt b/src/solid/CMakeLists.txt
+index 83bfba5..40f065d 100644
+--- a/src/solid/CMakeLists.txt
++++ b/src/solid/CMakeLists.txt
+@@ -9,6 +9,7 @@ endif()
+ set(solid_LIB_SRCS ${solid_LIB_SRCS} ${solid_QM_LOADER})
+ 
+ add_library(KF5Solid  ${solid_LIB_SRCS})
++add_dependencies(KF5Solid SolidParserTarget)
+ target_include_directories(KF5Solid PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR}/..;${CMAKE_CURRENT_BINARY_DIR}/..>")
+ generate_export_header(KF5Solid BASE_NAME Solid)
+ add_library(KF5::Solid ALIAS KF5Solid)
+@@ -87,6 +88,7 @@ install(TARGETS KF5Solid EXPORT KF5SolidTargets ${KF5_INSTALL_TARGETS_DEFAULT_AR
+ ########### static lib for tests  ###############
+ 
+ add_library(KF5Solid_static STATIC ${solid_LIB_SRCS})
++add_dependencies(KF5Solid_static SolidParserTarget)
+ set_target_properties(KF5Solid_static PROPERTIES COMPILE_FLAGS -DSOLID_STATIC_DEFINE=1)
+ 
+ target_link_libraries(KF5Solid_static PUBLIC Qt5::Core)
+diff --git a/src/solid/devices/CMakeLists.txt b/src/solid/devices/CMakeLists.txt
+index b841b54..a020825 100644
+--- a/src/solid/devices/CMakeLists.txt
++++ b/src/solid/devices/CMakeLists.txt
+@@ -90,6 +90,7 @@ flex_target(SolidLexer
+ )
+ add_flex_bison_dependency(SolidLexer SolidParser)
+ list(APPEND solid_LIB_SRCS ${BISON_SolidParser_OUTPUTS} ${FLEX_SolidLexer_OUTPUTS})
++add_custom_target(SolidParserTarget DEPENDS ${BISON_SolidParser_OUTPUTS} ${FLEX_SolidLexer_OUTPUTS})
+ 
+ include(devices/backends/fakehw/CMakeLists.txt)
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 32c8131..07242ee 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 use_shortest_filepath.diff
+fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch

-- 
solid packaging



More information about the pkg-kde-commits mailing list