[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-frameworks-devel
Subject:    Re: Issues for Qt5/KF5/KDE/CI system on OSX/MacPorts
From:       Marko_Käning <mk-lists () email ! de>
Date:       2014-06-27 21:01:33
Message-ID: E48F205D-82B2-422F-AEE3-1B5490647967 () email ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi Ben,
Hi Olivier,
Hi KF5 devs,
Hi folks on KDE-MAC,

I finally came up with a patch for QStandardPaths:
------------------------------------------------------------------------------------------------------------------------------
 MVM2:scripts marko$ ls -l patches/qt5/kf5-qt5/patch-qstandardpaths_mac.cpp.diff 
-rw-r--r-- 1 marko staff 1439 Jun 27 19:41 \
                patches/qt5/kf5-qt5/patch-qstandardpaths_mac.cpp.diff
------------------------------------------------------------------------------------------------------------------------------
 which is actually based on the code block responsible for Qt’s tests just at the \
beginning of  QStandardPaths::writableLocation().



This patch still uses a hard-coded path prefix specific to my system here. I have no \
clue whether there is an easy way to get some CMake-controlled replacements into play \
here, which I hope.

Though, I’ll leave that for when I contact the Qt development mailing list - as \
you’ve suggested.


	The important bit for now is that it is indeed possible
	to build tiers 1 to 4 almost without trouble. :-D


Only 34 files actually get created in the customised CI-system-writable system root:
------------------------------------------------------------------------------------------------------------------------------
 MVM2:Library marko$ pwd
/opt/kde/install/darwin/mavericks/system
MVM2:system marko$ find . -type f -exec ls -la {} \;
-rw-r--r-- 1 marko wheel 10547296 Jun 27 21:20 ./Cache/icon-cache.kcache
   ...
-rw------- 1 marko wheel 150 Jun 27 21:39 ./Library/Preferences/ktimezonedrc
------------------------------------------------------------------------------------------------------------------------------
 being mostly cache, desktop and rc files and I wonder whether those actually land \
there:

	1) only by accident... ;)
or 
	2) because they are actually results of tests (which seems more likely to me)!

Since I’ve no clue on how KF5 frameworks are actually organised I can only speculate \
here, but e.g. this rc file seems to indicate exactly that, since in the user’s home \
                dir there is indeed a .kde-unit-test folder:
------------------------------------------------------------------------------------------------------------------------------
 $ cat ./Library/Preferences/ktimezonedrc
[TimeZones]
LocalZone=Europe/Paris
ZoneinfoDir=/Users/marko/.kde-unit-test/ktimezonestest
Zonetab=/Users/marko/.kde-unit-test/ktimezonestest/zone.tab
MVM2:system marko$ ls /Users/marko/.kde-unit-test/ktimezonestest
Africa	America  Asia  Europe  zone.tab
------------------------------------------------------------------------------------------------------------------------------






I want to underline that the patch obviously fixes also the kdoctools issue. Remember \
that I always needed to copy its files like this:
------------------------------------------------------------------------------------------------------------------------------
 $ sudo rm -rf /Library/Application\ Support/kf5/kdoctools/ ; sudo cp -Rp \
/opt/kde/install/darwin/mavericks/clang/kf5-qt5/frameworks/kdoctools/inst/Library/Application\ \
                Support/kf5 /Library/Application\ Support
------------------------------------------------------------------------------------------------------------------------------
 into my system’s “/Library/Application Support” folder? This is not necessary \
anymore either! :)




I guess I’ve spotted that one of the frameworks obviously messes up when writing to \
the standard location below “Library/Application Support/“ because it omits the \
trailing slash leading to this mess-up:
------------------------------------------------------------------------------------------------------------------------------
 MVM2:Library marko$ pwd
/opt/kde/install/darwin/mavericks/system/Library
MVM2:Library marko$ ls -1
Application Support
Application Supportuser-places.xbel
Application Supportuser-places.xbel.bak
Application Supportuser-places.xbel.tbcache
Preferences
------------------------------------------------------------------------------------------------------------------------------
 Haven’t figured out yet which framework is the culprit…



	>>> Can we proceed setting up the build slave now?

	:-)


Greets,
Marko


[Attachment #5 (multipart/mixed)]

[Attachment #7 (unknown)]

<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; \
-webkit-line-break: after-white-space;">Hi Ben,<div>Hi Olivier,<br>Hi KF5 \
devs,<div>Hi folks on KDE-MAC,</div><div><br><b>I finally came up with a patch for \
QStandardPaths:</b><br>------------------------------------------------------------------------------------------------------------------------------<br>MVM2:scripts \
marko$ ls -l patches/qt5/kf5-qt5/patch-qstandardpaths_mac.cpp.diff&nbsp;<br>-rw-r--r-- \
1 marko staff 1439 Jun 27 19:41 \
patches/qt5/kf5-qt5/patch-qstandardpaths_mac.cpp.diff<br>----------------------------- \
-------------------------------------------------------------------------------------------------<br>which \
is actually based on the code block responsible for Qt’s tests just at the beginning \
of&nbsp;<br>QStandardPaths::writableLocation().<br><br></div></div></body></html>


["patch-qstandardpaths_mac.cpp.diff" (patch-qstandardpaths_mac.cpp.diff)]

diff --git qtbase/src/corelib/io/qstandardpaths_mac.cpp qtbase/src/corelib/io/qstandardpaths_mac.cpp
index aff9112..2493e52 100644
--- qtbase/src/corelib/io/qstandardpaths_mac.cpp
+++ qtbase/src/corelib/io/qstandardpaths_mac.cpp
@@ -159,6 +159,8 @@ QString QStandardPaths::writableLocation(StandardLocation type)
         }
     }
 
+    const QString qttestDir = QLatin1String("/opt/kde/install/darwin/mavericks/system");
+    QString path;
     switch (type) {
     case HomeLocation:
         return QDir::homePath();
@@ -166,12 +168,23 @@ QString QStandardPaths::writableLocation(StandardLocation type)
         return QDir::tempPath();
     case GenericDataLocation:
     case DataLocation:
+        path = qttestDir + QLatin1String("/Library/Application Support");
+        if (type == DataLocation)
+            appendOrganizationAndApp(path);
+        return path;
     case GenericCacheLocation:
     case CacheLocation:
     case RuntimeLocation:
-        return macLocation(type, kUserDomain);
+        path = qttestDir + QLatin1String("/Cache");
+        if (type == CacheLocation)
+            appendOrganizationAndApp(path);
+        return path;
+    case GenericConfigLocation:
+    case ConfigLocation:
+        return qttestDir + QLatin1String("/Library/Preferences");
     default:
-        return macLocation(type, kOnAppropriateDisk);
+        return qttestDir + QLatin1String("/Default");
+        break;
     }
 }
 

[Attachment #9 (unknown)]

<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; \
-webkit-line-break: after-white-space;"><div><div><br><br>This patch still uses a \
hard-coded path prefix specific to my system here. I have no clue whether<br>there is \
an easy way to get some CMake-controlled replacements into play here, which I \
hope.<div><br>Though, I’ll leave that for when I contact the Qt development mailing \
list - as you’ve suggested.<br><br></div><div><span class="Apple-tab-span" \
style="white-space:pre"><span style="white-space: normal;"><br></span>	</span><b>The \
important bit for now is that it is indeed possible<br><span class="Apple-tab-span" \
style="white-space:pre">	</span>to build tiers 1 to 4 almost without&nbsp;trouble. \
:-D</b></div><div><b><br></b><br>Only 34 files actually get created in the customised \
CI-system-writable system \
root:<br>------------------------------------------------------------------------------------------------------------------------------<br>MVM2:Library \
marko$ pwd<br>/opt/kde/install/darwin/mavericks/system<br>MVM2:system marko$ find . \
-type f -exec ls -la {} \;<br>-rw-r--r-- 1 marko wheel 10547296 Jun 27 21:20 \
./Cache/icon-cache.kcache<br>&nbsp; &nbsp;...</div><div>-rw------- 1 marko wheel 150 \
Jun 27 21:39 ./Library/Preferences/ktimezonedrc<br>----------------------------------- \
-------------------------------------------------------------------------------------------</div><div>being \
mostly cache, desktop and rc files and I wonder whether those actually land \
there:<br><br><span class="Apple-tab-span" style="white-space:pre">	</span>1) only by \
accident... ;)<br>or&nbsp;<br><span class="Apple-tab-span" \
style="white-space:pre">	</span>2) because they are actually results of tests (which \
seems more likely to me)!<br><br>Since I’ve no clue on how KF5 frameworks are \
actually organised I can only speculate here,&nbsp;but e.g. this</div><div>rc file \
seems to indicate exactly that, since in the user’s home dir there is indeed a \
.kde-unit-test folder:</div><div>----------------------------------------------------- \
-------------------------------------------------------------------------</div><div>$ \
cat ./Library/Preferences/ktimezonedrc<br>[TimeZones]<br>LocalZone=Europe/Paris<br>Zon \
einfoDir=/Users/marko/.kde-unit-test/ktimezonestest<br>Zonetab=/Users/marko/.kde-unit-test/ktimezonestest/zone.tab<br>MVM2:system \
marko$ ls /Users/marko/.kde-unit-test/ktimezonestest<br>Africa<span \
class="Apple-tab-span" style="white-space:pre">	</span>America &nbsp;Asia \
&nbsp;Europe &nbsp;zone.tab<br>------------------------------------------------------- \
-----------------------------------------------------------------------<br><br><br><br><br><br>I \
want to underline that the patch obviously fixes also the<b>&nbsp;kdoctools \
issue</b>. Remember that I always<br>needed to copy its files like \
this:<br>------------------------------------------------------------------------------------------------------------------------------<br>$ \
sudo rm -rf /Library/Application\ Support/kf5/kdoctools/ ; sudo cp -Rp \
/opt/kde/install/darwin/mavericks/clang/kf5-qt5/frameworks/kdoctools/inst/Library/Application\ \
Support/kf5 /Library/Application\ \
Support<br>------------------------------------------------------------------------------------------------------------------------------</div><div>into \
my system’s “/Library/Application Support” folder?&nbsp;<b>This is not necessary \
anymore either! :)</b></div><div><br><br><br><br>I guess I’ve spotted \
that&nbsp;<b>one of the frameworks obviously messes up</b>&nbsp;when writing to the \
standard<br>location below “Library/Application Support/“ because it omits the \
trailing slash leading to \
this<br>mess-up:<br>------------------------------------------------------------------------------------------------------------------------------<br>MVM2:Library \
marko$ pwd<br>/opt/kde/install/darwin/mavericks/system/Library<br>MVM2:Library marko$ \
ls -1<br>Application Support<br>Application Supportuser-places.xbel<br>Application \
Supportuser-places.xbel.bak<br>Application \
Supportuser-places.xbel.tbcache<br>Preferences<br>------------------------------------ \
------------------------------------------------------------------------------------------<br>Haven’t \
figured out yet which framework is the culprit…<br><br><br><br><b><i><span \
class="Apple-tab-span" style="white-space:pre">	</span>&gt;&gt;&gt;&nbsp;Can we \
proceed setting up the build slave \
now?</i></b></div><div><b><br></b></div><div><b><span class="Apple-tab-span" \
style="white-space: pre;">	</span>:-)<br></b><br></div><div><br></div><div>Greets,</div><div>Marko</div></div></div></body></html>




_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic