Bug 342967 - plasma framework has install problems on case-insenstive filesystem
Summary: plasma framework has install problems on case-insenstive filesystem
Status: RESOLVED FIXED
Alias: None
Product: libplasma
Classification: Frameworks and Libraries
Component: libplasma (show other bugs)
Version: unspecified
Platform: Fink Packages macOS
: NOR normal
Target Milestone: ---
Assignee: Marco Martin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-17 15:34 UTC by Hanspeter Niederstrasser
Modified: 2015-02-03 12:13 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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