Bug 342967

Summary: plasma framework has install problems on case-insenstive filesystem
Product: [Frameworks and Libraries] libplasma Reporter: Hanspeter Niederstrasser <niederstrasser>
Component: libplasmaAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: normal CC: bhush94
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fink Packages   
OS: macOS   
See Also: https://bugs.kde.org/show_bug.cgi?id=342899
Latest Commit: Version Fixed In:

Description Hanspeter Niederstrasser 2015-01-17 15:34:31 UTC
On OS X, the default file system is case insensitive (but case preserving). plasma-framework installs headers into $PREFIX/include/KF5/plasma and $PREFIX/include/Plasma, which end up being the same thing:

-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/applet.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/containment.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/containmentactions.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/corona.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/datacontainer.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/dataengine.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/dataengineconsumer.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/pluginloader.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/framesvg.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/package.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/packagestructure.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/service.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/servicejob.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/svg.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/theme.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/plasma.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/plasma_export.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/version.h
-- Up-to-date: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Applet
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/applet.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Containment
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/containment.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/ContainmentActions
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/containmentactions.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Corona
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/corona.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/DataContainer
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/datacontainer.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/DataEngine
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/dataengine.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/DataEngineConsumer
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/dataengineconsumer.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/FrameSvg
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/framesvg.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Package
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/package.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/PackageStructure
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/packagestructure.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Plasma
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/plasma.h
-- Up-to-date: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/plasma_export.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/PluginLoader
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/pluginloader.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Service
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/service.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/ServiceJob
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/servicejob.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Svg
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/svg.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Theme
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/theme.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/scripting/appletscript.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/scripting/dataenginescript.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/scripting/scriptengine.h


Reproducible: Always


Actual Results:  
The headers from Plasma overwrite the headers from plasma, but preserve the lowercase folder name. Also, and perhaps related, the installed .h headers are broken:

$ cat /sw/lib/qt5-mac/include/KF5/plasma/applet.h
#include "/sw/build.build/libkf5plasma5-shlibs-5.6.0-1/plasma-framework-5.6.0/src/plasma/applet.h"

"/sw/build.build/libkf5plasma5-shlibs-5.6.0-1/" is the sandboxed build directory for the package and is deleted after a successful build and package creation. All the .h headers are broken and reference the temporary build directory except for version.h and plasma_export.h and the 3 KF5/plasma/scripting/*.h files.


Bug 342899 shows a similar problem with the kpackage framework (none of the other KF5 frameworks have this problem).
Comment 1 Bhushan Shah 2015-02-02 16:55:08 UTC
Fixed in commit d4ea9ef66d4d0b41298d1240c36c95a3a183e222
Comment 2 Hanspeter Niederstrasser 2015-02-03 12:13:43 UTC
Thank you.  Confirming that the CamelCase header links and the actual headers are now properly installed.  The Plasma and plasma directories still end up being merged, but depending packages seem to be fine finding e.g. <Plasma/PluginLoader> in "plasma/PluginLoader".

*****
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/applet.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/containment.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/containmentactions.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/corona.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/datacontainer.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/dataengine.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/dataengineconsumer.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/pluginloader.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/framesvg.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/package.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/packagestructure.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/service.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/servicejob.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/svg.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/theme.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/plasma.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/plasma_export.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/version.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Applet
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Containment
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/ContainmentActions
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Corona
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/DataContainer
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/DataEngine
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/DataEngineConsumer
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/PluginLoader
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/FrameSvg
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Package
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/PackageStructure
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Service
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/ServiceJob
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Svg
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Theme
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/Plasma/Plasma
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/scripting/appletscript.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/scripting/dataenginescript.h
-- Installing: /sw/build.build/root-libkf5plasma5-shlibs-5.6.0-1/sw/lib/qt5-mac/include/KF5/plasma/scripting/scriptengine.h