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

List:       kde-devel
Subject:    Re: cmakekdeall
From:       Michael Pyne <mpyne () purinchu ! net>
Date:       2009-01-04 22:48:57
Message-ID: 200901041749.03662.mpyne () purinchu ! net
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/alternative)]


On Sunday 04 January 2009, Shai Berger wrote:
> Hi all,
>
> I would like to replace the cmakekdeall shell function in
> http://techbase.kde.org/index.php?title=Getting_Started/Increased_Productiv
>ity_in_KDE4_with_Scripts/.bashrc with the following version:
>
> function cmakekdeall {
>
>         FOLDERS="kdesupport KDE/kdelibs KDE/kdebase \
>                 KDE/kdepimlibs KDE/kdepim KDE/kdesdk \
>                 KDE/kdegraphics KDE/kdevplatform KDE/kdevelop \
>                 "
>                 # Add others or remove to taste, e.g.
>                 # KDE/kdemultimedia KDE/kdenetwork KDE/kdeutils \
>
>         cd && cs # go to src root
>         svn up $FOLDERS
>
>         for f in $FOLDERS; do
>             cs $f && cmakekde || return
>         done
>
> }
>
> This improves the existing function in two respects:
>
> 1) It fetches the sources in a single svn command. Although I'm not sure it
> guarantees a single version

It should guarantee a single version, yes.

> 2) In case of build failure, the process stops.

Please keep in mind that as long as the base libraries have built it may not 
be optimal to abort at first failure.

For example if kdelibs, kdepimlibs, and kdebase all built there's no reason 
not to build the rest just because of a compile error in kdesdk.  You do want 
to allow the user to know about and fix (if it's a local problem) but if it's 
an unattended build (for instance if it's being run overnight) then you want 
to accomplish as much as possible which means continuing to build when 
possible.

My kdesvn-build tool does this by default (since its purpose is to be run 
unattended).

What you may want to do is to output an error, tell the user to Ctrl-C if they 
want to make changes, wait 10 - 20 seconds and then add the failed modules to 
a list to display at the end and continue.  Then at the end display the list 
of failed modules.  This may be overkill for a techbase bash function though. 
:-/

> Should I talk to anybody except for this list before making the change? Are
> there any other comments?

You may want to bring up the question on the Talk page for the TechBase 
article as well before you make any changes.

Regards,
 - Michael Pyne

[Attachment #7 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style \
type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Consolas'; \
font-size:11pt; font-weight:400; font-style:normal;">On Sunday 04 January 2009, Shai Berger wrote:<br> \
&gt; Hi all,<br> &gt;<br>
&gt; I would like to replace the cmakekdeall shell function in<br>
&gt; http://techbase.kde.org/index.php?title=Getting_Started/Increased_Productiv<br>
&gt;ity_in_KDE4_with_Scripts/.bashrc with the following version:<br>
&gt;<br>
&gt; function cmakekdeall {<br>
&gt;<br>
&gt;         FOLDERS="kdesupport KDE/kdelibs KDE/kdebase \<br>
&gt;                 KDE/kdepimlibs KDE/kdepim KDE/kdesdk \<br>
&gt;                 KDE/kdegraphics KDE/kdevplatform KDE/kdevelop \<br>
&gt;                 "<br>
&gt;                 # Add others or remove to taste, e.g.<br>
&gt;                 # KDE/kdemultimedia KDE/kdenetwork KDE/kdeutils \<br>
&gt;<br>
&gt;         cd &amp;&amp; cs # go to src root<br>
&gt;         svn up $FOLDERS<br>
&gt;<br>
&gt;         for f in $FOLDERS; do<br>
&gt;             cs $f &amp;&amp; cmakekde || return<br>
&gt;         done<br>
&gt;<br>
&gt; }<br>
&gt;<br>
&gt; This improves the existing function in two respects:<br>
&gt;<br>
&gt; 1) It fetches the sources in a single svn command. Although I'm not sure it<br>
&gt; guarantees a single version<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>It should guarantee a single version, \
yes.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; 2) In case of \
build failure, the process stops.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>Please keep in mind that as long as the base libraries have built it may not \
be optimal to abort at first failure.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>For example if kdelibs, kdepimlibs, and kdebase all built there's no reason \
not to build the rest just because of a compile error in kdesdk.  You do want to allow the user to know \
about and fix (if it's a local problem) but if it's an unattended build (for instance if it's being run \
overnight) then you want to accomplish as much as possible which means continuing to build when \
possible.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>My kdesvn-build tool \
does this by default (since its purpose is to be run unattended).<br> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;"><br></p>What you may want to do is to output an error, tell the user \
to Ctrl-C if they want to make changes, wait 10 - 20 seconds and then add the failed modules to a list to \
display at the end and continue.  Then at the end display the list of failed modules.  This may be \
overkill for a techbase bash function though. :-/<br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>&gt; Should I talk to anybody except for this list before making the change? \
Are<br> &gt; there any other comments?<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>You may want to bring up the question on \
the Talk page for the TechBase article as well before you make any changes.<br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
                -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Regards,<br>
 - Michael Pyne</p></body></html>


["signature.asc" (application/pgp-signature)]

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


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

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