[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: Review Request 113260: Port KTimeZoned to Qt5/KF5
From: "Christoph Feck" <christoph () maxiom ! de>
Date: 2013-11-16 3:09:34
Message-ID: 20131116030934.26966.4991 () vidsolbach ! de
[Download RAW message or body]
> On Nov. 12, 2013, 10:39 a.m., Commit Hook wrote:
> > This review has been submitted with commit \
> > 53e8e439af2483c86b21ad4d53ffe4da622e8c44 by Martin Klapetek to branch frameworks.
>
> Christoph Feck wrote:
> Locally, I get this error:
>
> AUTOMOC: error: process for /local/build/kf5/runtime/ktimezoned/ktimezoned.moc \
> failed:
> /local/git/KDE/base/kde-runtime-frameworks/ktimezoned/ktimezoned.cpp:35: Error: \
> Plugin Metadata file "ktimezoned.json" does not exist. Declaration will be ignored
> moc failed...
> make[2]: *** [ktimezoned/CMakeFiles/kded_ktimezoned_automoc] Error 1
> make[2]: Target `ktimezoned/CMakeFiles/kded_ktimezoned_automoc.dir/build' not \
> remade because of errors. make[1]: *** \
> [ktimezoned/CMakeFiles/kded_ktimezoned_automoc.dir/all] Error 2
> Any idea?
>
> Martin Klapetek wrote:
> I know other folks seen this too, last time I've heard it might be a "race \
> condition" issue with -j>1 build (the json file gets generated only after building \
> the file that's actually including it). I think Aurelien was looking into that, \
> dunno if he made any progress though.
It's indeed a "use before it's built", because when I run try to build it again (on \
the same build dir) it works. A clean build, however, reliably reproduces this error, \
even without using "-j" make option.
- Christoph
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113260/#review43507
-----------------------------------------------------------
On Nov. 12, 2013, 10:39 a.m., Martin Klapetek wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/113260/
> -----------------------------------------------------------
>
> (Updated Nov. 12, 2013, 10:39 a.m.)
>
>
> Review request for KDE Runtime, KDE Frameworks, Plasma, and John Layt.
>
>
> Repository: kde-runtime
>
>
> Description
> -------
>
> Originally I wanted to port KTimeZoned 1:1 to Qt5/KF5, but then I found out that \
> all the stuff KTZD was doing was added in QTimeZone, that includes reading correct \
> system files/env variables to obtain the timezone and returning the proper system \
> zone (KTZD did all this by itself). It also doesn't need to parse the timezone \
> files itself or watch for their changes as QTimeZone objects are not stored.
> So now it's just a thin module watching /etc/timezone (used by Debian-based \
> distros) and /etc/localtime (used by eg. Fedora or Suse, but also by Debian in \
> conjunction with /etc/timezone) for changes and if it detects a change, it checks \
> if the new timezone is really different and if it is, it sends out a DBus signal \
> "timeZoneChange". I changed it from "configChanged" as I think "timeZoneChanged" \
> makes way more sense.
> I didn't touch the Windows part as I have no way to test, would be nice if someone \
> could help with that.
> EDIT: I removed the other two DBus signals which were not used and I'm unsure KTZD \
> is the correct place for that now anyway. The only usage in KSystemTimeZone can be \
> replaced by own KDirWatch instance.
>
> Diffs
> -----
>
> CMakeLists.txt a5ec93d
> ktimezoned/CMakeLists.txt bafc85e
> ktimezoned/ktimezoned.h ff21807
> ktimezoned/ktimezoned.cpp f380c09
> ktimezoned/ktimezoned_win.h 26e21cc
> ktimezoned/ktimezoned_win.cpp cadfe3a
> ktimezoned/ktimezonedbase.h ca00aca
> ktimezoned/org.kde.KTimeZoned.xml daaa0b7
>
> Diff: http://git.reviewboard.kde.org/r/113260/diff/
>
>
> Testing
> -------
>
> Tested by changing the timezone in different ways, change was detected and \
> signalled out.
>
> Thanks,
>
> Martin Klapetek
>
>
[Attachment #3 (text/html)]
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;"> <tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/113260/">http://git.reviewboard.kde.org/r/113260/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <p style="margin-top: 0;">On November 12th, 2013, 10:39 a.m. UTC, <b>Commit \
Hook</b> wrote:</p> <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;"> <pre style="white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">This review has been submitted with commit \
53e8e439af2483c86b21ad4d53ffe4da622e8c44 by Martin Klapetek to branch \
frameworks.</pre> </blockquote>
<p>On November 14th, 2013, 1:15 a.m. UTC, <b>Christoph Feck</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Locally, I get this \
error:
AUTOMOC: error: process for /local/build/kf5/runtime/ktimezoned/ktimezoned.moc \
failed:
/local/git/KDE/base/kde-runtime-frameworks/ktimezoned/ktimezoned.cpp:35: Error: \
Plugin Metadata file "ktimezoned.json" does not exist. Declaration will be \
ignored
moc failed...
make[2]: *** [ktimezoned/CMakeFiles/kded_ktimezoned_automoc] Error 1
make[2]: Target `ktimezoned/CMakeFiles/kded_ktimezoned_automoc.dir/build' not \
remade because of errors. make[1]: *** \
[ktimezoned/CMakeFiles/kded_ktimezoned_automoc.dir/all] Error 2
Any idea?</pre>
</blockquote>
<p>On November 15th, 2013, 11:47 p.m. UTC, <b>Martin Klapetek</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I know other folks seen \
this too, last time I've heard it might be a "race condition" issue \
with -j>1 build (the json file gets generated only after building the file \
that's actually including it). I think Aurelien was looking into that, dunno if \
he made any progress though.</pre> </blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">It's indeed a \
"use before it's built", because when I run try to build it again (on \
the same build dir) it works. A clean build, however, reliably reproduces this error, \
even without using "-j" make option.</pre> <br />
<p>- Christoph</p>
<br />
<p>On November 12th, 2013, 10:39 a.m. UTC, Martin Klapetek wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;"> <tr>
<td>
<div>Review request for KDE Runtime, KDE Frameworks, Plasma, and John Layt.</div>
<div>By Martin Klapetek.</div>
<p style="color: grey;"><i>Updated Nov. 12, 2013, 10:39 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-runtime
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Originally I wanted to port KTimeZoned 1:1 to Qt5/KF5, but then I found \
out that all the stuff KTZD was doing was added in QTimeZone, that includes reading \
correct system files/env variables to obtain the timezone and returning the proper \
system zone (KTZD did all this by itself). It also doesn't need to parse the \
timezone files itself or watch for their changes as QTimeZone objects are not stored.
So now it's just a thin module watching /etc/timezone (used by Debian-based \
distros) and /etc/localtime (used by eg. Fedora or Suse, but also by Debian in \
conjunction with /etc/timezone) for changes and if it detects a change, it checks if \
the new timezone is really different and if it is, it sends out a DBus signal \
"timeZoneChange". I changed it from "configChanged" as I think \
"timeZoneChanged" makes way more sense.
I didn't touch the Windows part as I have no way to test, would be nice if \
someone could help with that.
EDIT: I removed the other two DBus signals which were not used and I'm unsure \
KTZD is the correct place for that now anyway. The only usage in KSystemTimeZone can \
be replaced by own KDirWatch instance.</pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Tested by changing the timezone in different ways, change was detected \
and signalled out.</pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(a5ec93d)</span></li>
<li>ktimezoned/CMakeLists.txt <span style="color: grey">(bafc85e)</span></li>
<li>ktimezoned/ktimezoned.h <span style="color: grey">(ff21807)</span></li>
<li>ktimezoned/ktimezoned.cpp <span style="color: grey">(f380c09)</span></li>
<li>ktimezoned/ktimezoned_win.h <span style="color: grey">(26e21cc)</span></li>
<li>ktimezoned/ktimezoned_win.cpp <span style="color: grey">(cadfe3a)</span></li>
<li>ktimezoned/ktimezonedbase.h <span style="color: grey">(ca00aca)</span></li>
<li>ktimezoned/org.kde.KTimeZoned.xml <span style="color: \
grey">(daaa0b7)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/113260/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic