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

List:       kde-release-team
Subject:    Re: CMake dependency data now available
From:       Aleix Pol <aleixpol () kde ! org>
Date:       2014-10-14 14:38:43
Message-ID: CACcA1RrtYCcoRacrh5mK9Xp15N6QBH+234iCOQbpMCQqPgYnAQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Tue, Oct 14, 2014 at 3:19 PM, Aleix Pol <aleixpol@kde.org> wrote:

> On Sun, Oct 12, 2014 at 10:57 AM, Rolf Eike Beer <kde@opensource.sf-tec.de
> > wrote:
>
>> Am Sonntag 12 Oktober 2014, 21:24:51 schrieb Ben Cooksley:
>> > Hi all,
>> >
>> > Not too long ago, sysadmin received a request to have the tool
>> > "cmake-dependencies.py" from kde-dev-tools run by the CI system to
>> > make packagers jobs easier.
>>
>> […]
>>
>> > If anyone has any queries, please let me know.
>>
>> This is a flat view on the dependencies AFAICT. In other words, you can't
>> tell
>> if this is a direct dependency or a "dependency [of a dependency]+", so
>> this
>> should not be used directly for a Depends: line IMHO. I was just looking
>> at
>> KGpg (what else *g*), and there show up things like Phonon, Cygwin and
>> Perl
>> that KGpg does not care in any way about, these things are just dragged
>> in by
>> something else.
>>
>> It's no problem that these things show up if you use this information as
>> "what
>> do I need to install to be sure that KGpg builds", but please don't use
>> this
>> as "these are the things that KGpg must directly depend on when
>> installed".
>>
>
> Well, the fact that you as a KGpg maintainer don't care about, doesn't
> mean that it's false.
>
> Furthermore, this also displays what's the environment used while testing
> a said package. KDE CI can't ensure things will work the same way if you
> have different dependencies.
>
> If you deem necessary, we can introduce a depth field. In fact, let me
> look into it...
>
>
>> Btw, is this line for Perl correct?
>>
>>         {"files": ["FindPerl.cmake"], "version": "5.16.2()", "project":
>> "Perl"},
>>
>> There are both "null" and "()" as version information for some packages, I
>> guess they both mean "no specific version requested"? Should those be
>> merged
>> into the same value?
>>
>
> Yes. The parenthesis displays what part of the version is not required
> IIRC, correct.
>
> Aleix
>

Just looked into it, getting a depth property was almost impossible, but I
managed to get a somewhat accurate last file, then checked if the last file
was a CMakeLists.txt file and put the result in an "explicit" field.

The resulting output looks like this [1], when running it against Analitza,
on my system.

It's a bit odd, considering how Qt5 is marked as required but the
submodules won't, because they are in practice dependencies of
Qt5Config.cmake, but I'd say we can extract the proper information. If you
think it's useful I can push the change.

Aleix

[1]
[
        {"files": ["Qt5TestConfig.cmake", "Qt5TestConfigVersion.cmake"],
"explicit": false, "project": "Qt5Test", "version": null},
        {"files": ["Qt5NetworkConfigVersion.cmake",
"Qt5NetworkConfig.cmake"], "explicit": false, "project": "Qt5Network",
"version": null},
        {"files": ["Qt5CoreConfigVersion.cmake", "Qt5CoreConfig.cmake"],
"explicit": false, "project": "Qt5Core", "version": null},
        {"files": ["Qt5QuickConfigVersion.cmake", "Qt5QuickConfig.cmake"],
"explicit": false, "project": "Qt5Quick", "version": null},
        {"files": ["Qt5GuiConfig.cmake", "Qt5GuiConfigVersion.cmake"],
"explicit": false, "project": "Qt5Gui", "version": null},
        {"files": ["Qt5QmlConfig.cmake", "Qt5QmlConfigVersion.cmake"],
"explicit": false, "project": "Qt5Qml", "version": null},
        {"files": ["FindOpenGL.cmake"], "explicit": true, "project":
"OpenGL", "version": "()"},
        {"files": ["FindReadline.cmake"], "explicit": true, "project":
"Readline", "version": "()"},
        {"files": ["Qt5OpenGLConfig.cmake",
"Qt5OpenGLConfigVersion.cmake"], "explicit": false, "project": "Qt5OpenGL",
"version": null},
        {"files": ["FindCurses.cmake"], "explicit": true, "project":
"Curses", "version": "()"},
        {"files": ["FindX11.cmake"], "explicit": false, "project": "X11",
"version": null},
        {"files": ["FindPackageMessage.cmake"], "explicit": false,
"project": "PackageMessage", "version": null},
        {"files": ["FindPackageHandleStandardArgs.cmake"], "explicit":
false, "project": "PackageHandleStandardArgs", "version": null},
        {"files": ["Qt5XmlConfig.cmake", "Qt5XmlConfigVersion.cmake"],
"explicit": false, "project": "Qt5Xml", "version": null},
        {"files": ["Qt5SvgConfig.cmake", "Qt5SvgConfigVersion.cmake"],
"explicit": false, "project": "Qt5Svg", "version": null},
        {"files": ["ECMConfig.cmake", "ECMConfigVersion.cmake"],
"explicit": true, "project": "ECM", "version": null},
        {"files": ["Qt5ConfigVersion.cmake", "Qt5Config.cmake"],
"explicit": true, "project": "Qt5", "version": null},
        {"files": ["Qt5WidgetsConfigVersion.cmake",
"Qt5WidgetsConfig.cmake"], "explicit": false, "project": "Qt5Widgets",
"version": null},
        {"files": ["FindEigen3.cmake"], "explicit": true, "project":
"Eigen3", "version": "(2.91.0)"}
]

[Attachment #5 (text/html)]

<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Oct 14, 2014 \
at 3:19 PM, Aleix Pol <span dir="ltr">&lt;<a href="mailto:aleixpol@kde.org" \
target="_blank">aleixpol@kde.org</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div \
dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Sun, \
Oct 12, 2014 at 10:57 AM, Rolf Eike Beer <span dir="ltr">&lt;<a \
href="mailto:kde@opensource.sf-tec.de" \
target="_blank">kde@opensource.sf-tec.de</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Am \
Sonntag 12 Oktober 2014, 21:24:51 schrieb Ben Cooksley:<br> <span>&gt; Hi all,<br>
&gt;<br>
&gt; Not too long ago, sysadmin received a request to have the tool<br>
&gt; &quot;cmake-dependencies.py&quot; from kde-dev-tools run by the CI system to<br>
&gt; make packagers jobs easier.<br>
<br>
</span>[…]<br>
<span><br>
&gt; If anyone has any queries, please let me know.<br>
<br>
</span>This is a flat view on the dependencies AFAICT. In other words, you can&#39;t \
tell<br> if this is a direct dependency or a &quot;dependency [of a \
dependency]+&quot;, so this<br> should not be used directly for a Depends: line IMHO. \
I was just looking at<br> KGpg (what else *g*), and there show up things like Phonon, \
Cygwin and Perl<br> that KGpg does not care in any way about, these things are just \
dragged in by<br> something else.<br>
<br>
It&#39;s no problem that these things show up if you use this information as \
&quot;what<br> do I need to install to be sure that KGpg builds&quot;, but please \
don&#39;t use this<br> as &quot;these are the things that KGpg must directly depend \
on when installed&quot;.<br></blockquote><div><br></div></span><div>Well, the fact \
that you as a KGpg maintainer don&#39;t care about, doesn&#39;t mean that it&#39;s \
false.</div><div><br></div><div>Furthermore, this also displays what&#39;s the \
environment used while testing a said package. KDE CI can&#39;t ensure things will \
work the same way if you have different dependencies.</div><div><br></div><div>If you \
deem necessary, we can introduce a depth field. In fact, let me look into \
it...</div><span class=""><div><br></div><blockquote class="gmail_quote" \
style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
 <br>
Btw, is this line for Perl correct?<br>
<br>
            {&quot;files&quot;: [&quot;FindPerl.cmake&quot;], &quot;version&quot;: \
&quot;5.16.2()&quot;, &quot;project&quot;: &quot;Perl&quot;},<br> <br>
There are both &quot;null&quot; and &quot;()&quot; as version information for some \
packages, I<br> guess they both mean &quot;no specific version requested&quot;? \
Should those be merged<br> into the same \
value?<br></blockquote><div><br></div></span><div>Yes. The parenthesis displays what \
part of the version is not required IIRC, correct.</div><span class=""><font \
color="#888888"><div><br></div><div>Aleix</div></font></span></div></div></div> \
</blockquote></div><br></div><div class="gmail_extra">Just looked into it, getting a \
depth property was almost impossible, but I managed to get a somewhat accurate last \
file, then checked if the last file was a CMakeLists.txt file and put the result in \
an &quot;explicit&quot; field.</div><div class="gmail_extra"><br></div><div \
class="gmail_extra">The resulting output looks like this [1], when running it against \
Analitza, on my system.</div><div class="gmail_extra"><br></div><div \
class="gmail_extra">It&#39;s a bit odd, considering how Qt5 is marked as required but \
the submodules won&#39;t, because they are in practice dependencies of \
Qt5Config.cmake, but I&#39;d say we can extract the proper information. If you think \
it&#39;s useful I can push the change.</div><div class="gmail_extra"><br></div><div \
class="gmail_extra">Aleix</div><div class="gmail_extra"><br></div><div \
class="gmail_extra">[1]</div><div class="gmail_extra"><div \
class="gmail_extra">[</div><div class="gmail_extra">            {&quot;files&quot;: \
[&quot;Qt5TestConfig.cmake&quot;, &quot;Qt5TestConfigVersion.cmake&quot;], \
&quot;explicit&quot;: false, &quot;project&quot;: &quot;Qt5Test&quot;, \
&quot;version&quot;: null},</div><div class="gmail_extra">            \
{&quot;files&quot;: [&quot;Qt5NetworkConfigVersion.cmake&quot;, \
&quot;Qt5NetworkConfig.cmake&quot;], &quot;explicit&quot;: false, \
&quot;project&quot;: &quot;Qt5Network&quot;, &quot;version&quot;: null},</div><div \
class="gmail_extra">            {&quot;files&quot;: \
[&quot;Qt5CoreConfigVersion.cmake&quot;, &quot;Qt5CoreConfig.cmake&quot;], \
&quot;explicit&quot;: false, &quot;project&quot;: &quot;Qt5Core&quot;, \
&quot;version&quot;: null},</div><div class="gmail_extra">            \
{&quot;files&quot;: [&quot;Qt5QuickConfigVersion.cmake&quot;, \
&quot;Qt5QuickConfig.cmake&quot;], &quot;explicit&quot;: false, &quot;project&quot;: \
&quot;Qt5Quick&quot;, &quot;version&quot;: null},</div><div class="gmail_extra">      \
{&quot;files&quot;: [&quot;Qt5GuiConfig.cmake&quot;, \
&quot;Qt5GuiConfigVersion.cmake&quot;], &quot;explicit&quot;: false, \
&quot;project&quot;: &quot;Qt5Gui&quot;, &quot;version&quot;: null},</div><div \
class="gmail_extra">            {&quot;files&quot;: [&quot;Qt5QmlConfig.cmake&quot;, \
&quot;Qt5QmlConfigVersion.cmake&quot;], &quot;explicit&quot;: false, \
&quot;project&quot;: &quot;Qt5Qml&quot;, &quot;version&quot;: null},</div><div \
class="gmail_extra">            {&quot;files&quot;: [&quot;FindOpenGL.cmake&quot;], \
&quot;explicit&quot;: true, &quot;project&quot;: &quot;OpenGL&quot;, \
&quot;version&quot;: &quot;()&quot;},</div><div class="gmail_extra">            \
{&quot;files&quot;: [&quot;FindReadline.cmake&quot;], &quot;explicit&quot;: true, \
&quot;project&quot;: &quot;Readline&quot;, &quot;version&quot;: \
&quot;()&quot;},</div><div class="gmail_extra">            {&quot;files&quot;: \
[&quot;Qt5OpenGLConfig.cmake&quot;, &quot;Qt5OpenGLConfigVersion.cmake&quot;], \
&quot;explicit&quot;: false, &quot;project&quot;: &quot;Qt5OpenGL&quot;, \
&quot;version&quot;: null},</div><div class="gmail_extra">            \
{&quot;files&quot;: [&quot;FindCurses.cmake&quot;], &quot;explicit&quot;: true, \
&quot;project&quot;: &quot;Curses&quot;, &quot;version&quot;: \
&quot;()&quot;},</div><div class="gmail_extra">            {&quot;files&quot;: \
[&quot;FindX11.cmake&quot;], &quot;explicit&quot;: false, &quot;project&quot;: \
&quot;X11&quot;, &quot;version&quot;: null},</div><div class="gmail_extra">           \
{&quot;files&quot;: [&quot;FindPackageMessage.cmake&quot;], &quot;explicit&quot;: \
false, &quot;project&quot;: &quot;PackageMessage&quot;, &quot;version&quot;: \
null},</div><div class="gmail_extra">            {&quot;files&quot;: \
[&quot;FindPackageHandleStandardArgs.cmake&quot;], &quot;explicit&quot;: false, \
&quot;project&quot;: &quot;PackageHandleStandardArgs&quot;, &quot;version&quot;: \
null},</div><div class="gmail_extra">            {&quot;files&quot;: \
[&quot;Qt5XmlConfig.cmake&quot;, &quot;Qt5XmlConfigVersion.cmake&quot;], \
&quot;explicit&quot;: false, &quot;project&quot;: &quot;Qt5Xml&quot;, \
&quot;version&quot;: null},</div><div class="gmail_extra">            \
{&quot;files&quot;: [&quot;Qt5SvgConfig.cmake&quot;, \
&quot;Qt5SvgConfigVersion.cmake&quot;], &quot;explicit&quot;: false, \
&quot;project&quot;: &quot;Qt5Svg&quot;, &quot;version&quot;: null},</div><div \
class="gmail_extra">            {&quot;files&quot;: [&quot;ECMConfig.cmake&quot;, \
&quot;ECMConfigVersion.cmake&quot;], &quot;explicit&quot;: true, &quot;project&quot;: \
&quot;ECM&quot;, &quot;version&quot;: null},</div><div class="gmail_extra">           \
{&quot;files&quot;: [&quot;Qt5ConfigVersion.cmake&quot;, \
&quot;Qt5Config.cmake&quot;], &quot;explicit&quot;: true, &quot;project&quot;: \
&quot;Qt5&quot;, &quot;version&quot;: null},</div><div class="gmail_extra">           \
{&quot;files&quot;: [&quot;Qt5WidgetsConfigVersion.cmake&quot;, \
&quot;Qt5WidgetsConfig.cmake&quot;], &quot;explicit&quot;: false, \
&quot;project&quot;: &quot;Qt5Widgets&quot;, &quot;version&quot;: null},</div><div \
class="gmail_extra">            {&quot;files&quot;: [&quot;FindEigen3.cmake&quot;], \
&quot;explicit&quot;: true, &quot;project&quot;: &quot;Eigen3&quot;, \
&quot;version&quot;: &quot;(2.91.0)&quot;}</div><div \
class="gmail_extra">]</div><div><br></div></div><div \
class="gmail_extra"><br></div></div>



_______________________________________________
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


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

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