[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 &quot;ktimezoned.json&quot; 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&#39; 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&#39;ve heard it might be a &quot;race condition&quot; issue \
with -j&gt;1 build (the json file gets generated only after building the file \
that&#39;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&#39;s indeed a \
&quot;use before it&#39;s built&quot;, 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 &quot;-j&quot; 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&#39;t need to parse the \
timezone files itself or watch for their changes as QTimeZone objects are not stored.

So now it&#39;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 \
&quot;timeZoneChange&quot;. I changed it from &quot;configChanged&quot; as I think \
&quot;timeZoneChanged&quot; makes way more sense.

I didn&#39;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&#39;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