<feed xmlns='http://www.w3.org/2005/Atom'>
<title>buildroot/support/scripts/pkg-stats, branch 2019.02-op-build</title>
<subtitle>OpenPOWER buildroot sources</subtitle>
<id>https://git.raptorcs.com/git/buildroot/atom?h=2019.02-op-build</id>
<link rel='self' href='https://git.raptorcs.com/git/buildroot/atom?h=2019.02-op-build'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/'/>
<updated>2019-02-07T21:09:55+00:00</updated>
<entry>
<title>support/scripts/pkg-stats: fix flake8 errors</title>
<updated>2019-02-07T21:09:55+00:00</updated>
<author>
<name>Arnout Vandecappelle (Essensium/Mind)</name>
<email>arnout@mind.be</email>
</author>
<published>2019-02-07T21:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=3f6587266e6cef81918f24c0c1c2bf9a654a2ac1'/>
<id>urn:sha1:3f6587266e6cef81918f24c0c1c2bf9a654a2ac1</id>
<content type='text'>
Fixes the following flake8 warnings:

support/scripts/pkg-stats:34:2: W605 invalid escape sequence '\$'
support/scripts/pkg-stats:34:4: W605 invalid escape sequence '\('
support/scripts/pkg-stats:34:11: W605 invalid escape sequence '\$'
support/scripts/pkg-stats:34:13: W605 invalid escape sequence '\('
support/scripts/pkg-stats:34:32: W605 invalid escape sequence '\)'
support/scripts/pkg-stats:34:34: W605 invalid escape sequence '\)'
support/scripts/pkg-stats:35:2: W605 invalid escape sequence '\s'
support/scripts/pkg-stats:35:14: W605 invalid escape sequence '\S'
support/scripts/pkg-stats:35:17: W605 invalid escape sequence '\s'
support/scripts/pkg-stats:42:1: E302 expected 2 blank lines, found 1
support/scripts/pkg-stats:587:133: E501 line too long (157 &gt; 132 characters)

Note that the "invalid escape sequence" errors work because Python
leaves the \ in place if it doesn't recognise the escape sequence. But
it's better practice to use a raw string for regular expressions.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
</content>
</entry>
<entry>
<title>support/scripts/pkg-stats: add latest upstream version information</title>
<updated>2019-02-06T14:57:09+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@bootlin.com</email>
</author>
<published>2019-02-05T15:19:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=2c74d0aabb11a23a0a3e86827795a223b61cf42e'/>
<id>urn:sha1:2c74d0aabb11a23a0a3e86827795a223b61cf42e</id>
<content type='text'>
This commit adds fetching the latest upstream version of each package
from release-monitoring.org.

The fetching process first tries to use the package mappings of the
"Buildroot" distribution [1]. This mapping mechanism allows to tell
release-monitoring.org what is the name of a package in a given
distribution/build-system. For example, the package xutil_util-macros
in Buildroot is named xorg-util-macros on release-monitoring.org. This
mapping can be seen in the section "Mappings" of
https://release-monitoring.org/project/15037/.

If there is no mapping, then it does a regular search, and within the
search results, looks for a package whose name matches the Buildroot
name.

Even though fetching from release-monitoring.org is a bit slow, using
multiprocessing.Pool has proven to not be reliable, with some requests
ending up with an exception. So we keep a serialized approach, but
with a single HTTPSConnectionPool() for all queries. Long term, we
hope to be able to use a database dump of release-monitoring.org
instead.

From an output point of view, the latest version column:

 - Is green when the version in Buildroot matches the latest upstream
   version

 - Is orange when the latest upstream version is unknown because the
   package was not found on release-monitoring.org

 - Is red when the version in Buildroot doesn't match the latest
   upstream version. Note that we are not doing anything smart here:
   we are just testing if the strings are equal or not.

 - The cell contains the link to the project on release-monitoring.org
   if found.

 - The cell indicates if the match was done using a distro mapping, or
   through a regular search.

[1] https://release-monitoring.org/distro/Buildroot/

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@bootlin.com&gt;
Tested-by: Matthew Weber &lt;matthew.weber@rockwellcollins.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@bootlin.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/pkg-stats: URL check using threads</title>
<updated>2018-10-09T08:11:47+00:00</updated>
<author>
<name>Matt Weber</name>
<email>matthew.weber@rockwellcollins.com</email>
</author>
<published>2018-10-02T02:37:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=3b657e264c593ce587bb88e02977f00529310487'/>
<id>urn:sha1:3b657e264c593ce587bb88e02977f00529310487</id>
<content type='text'>
Adds a pool of worker threads to accelerate connection testing.

~7.5MB and 2% CPU per thread on a Intel i5-3230M CPU @ 2.60GHz.

Runtime is ~3min in parallel vs ~15min.

CC: Ricardo Martincoski &lt;ricardo.martincoski@gmail.com&gt;
Signed-off-by: Matthew Weber &lt;matthew.weber@rockwellcollins.com&gt;
Reviewed-by: Ricardo Martincoski &lt;ricardo.martincoski@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@bootlin.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/pkg-stats: URL checking support</title>
<updated>2018-10-09T08:05:46+00:00</updated>
<author>
<name>Matt Weber</name>
<email>matthew.weber@rockwellcollins.com</email>
</author>
<published>2018-10-02T02:37:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=b4da3b2603b08c2a96576b820acfdea65b1dacab'/>
<id>urn:sha1:b4da3b2603b08c2a96576b820acfdea65b1dacab</id>
<content type='text'>
- Adds support to check if a package has a URL and if that URL
  is valid by doing a header request.
- Reports this information as part of the generated html output

The URL data is currently gathered from the URL string provided
in the Kconfig help sections for each package.

This check helps ensure the URLs are valid and can be used
for other scripting purposes as the product's home site/URL.
CPE XML generation is an example of a case that could use this
product URL as part of an automated update generation script.

CC: Ricardo Martincoski &lt;ricardo.martincoski@gmail.com&gt;
Signed-off-by: Matt Weber &lt;matthew.weber@rockwellcollins.com&gt;
Reviewed-by: Ricardo Martincoski &lt;ricardo.martincoski@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@bootlin.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/pkg-stats: use parenthesis for print</title>
<updated>2018-05-19T11:48:21+00:00</updated>
<author>
<name>Matt Weber</name>
<email>matthew.weber@rockwellcollins.com</email>
</author>
<published>2018-05-18T13:05:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=eb04235783abe58a6a7f8ecc8f9ab46a6d03b543'/>
<id>urn:sha1:eb04235783abe58a6a7f8ecc8f9ab46a6d03b543</id>
<content type='text'>
Use Python 3 style print calls, in order to make pkg-stats Python 3
compliant.

Signed-off-by: Matthew Weber &lt;matthew.weber@rockwellcollins.com&gt;
Reviewed-by: Ricardo Martincoski &lt;ricardo.martincoski@datacom.ind.br&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@bootlin.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/pkg-stats: replace with new Python version</title>
<updated>2018-04-04T20:05:33+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@bootlin.com</email>
</author>
<published>2018-04-04T20:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=f955a4eac0909154ee0d73b47261c088287db6cb'/>
<id>urn:sha1:f955a4eac0909154ee0d73b47261c088287db6cb</id>
<content type='text'>
Rename pkg-stats-new to pkg-stats.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@bootlin.com&gt;
</content>
</entry>
<entry>
<title>pkg-stats: add exception for nvidia-tegra23.mk</title>
<updated>2017-07-06T19:46:04+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-07-06T19:46:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=67409d9303faa4df44bff56d46e16bb71855bf57'/>
<id>urn:sha1:67409d9303faa4df44bff56d46e16bb71855bf57</id>
<content type='text'>
This file is not a package per-se, it includes other .mk files that
are packages.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>pkg-stats: take into account waf packages</title>
<updated>2017-07-06T19:45:41+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-07-06T19:45:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=df3bf7bccd4b1caab137cec0f9ce17e7e2a39202'/>
<id>urn:sha1:df3bf7bccd4b1caab137cec0f9ce17e7e2a39202</id>
<content type='text'>
The waf package infrastructure was not known by the pkg-stats script,
so let's add it.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>pkg-stats: allow to sort by column</title>
<updated>2017-07-06T19:38:43+00:00</updated>
<author>
<name>Ricardo Martincoski</name>
<email>ricardo.martincoski@gmail.com</email>
</author>
<published>2017-07-06T01:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=2f762fb620f440a72af128b3455df3897d06fba1'/>
<id>urn:sha1:2f762fb620f440a72af128b3455df3897d06fba1</id>
<content type='text'>
With 2000+ packages it's not trivial to identify i.e.:
- all packages that don't have a hash file;
- all packages that have patches;
- all packages that have code style warnings;

User experience can be improved by dynamically sorting the resulting
table.

There is an open-source solution that does that in the client-side and
requires minimal changes to our script: sorttable.js.  The script is
MIT licensed as stated in its website.

Also add a hint to the user that the table can be sorted.

Signed-off-by: Ricardo Martincoski &lt;ricardo.martincoski@gmail.com&gt;
Cc: Arnout Vandecappelle &lt;arnout@mind.be&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>tools: rename to 'utils'</title>
<updated>2017-07-01T16:07:00+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-07-01T16:07:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=7ca9fc3170de1a41fbcbc5dfdc2838c75bff72a5'/>
<id>urn:sha1:7ca9fc3170de1a41fbcbc5dfdc2838c75bff72a5</id>
<content type='text'>
After some discussion, we found out that "tools" has the four first
letters identical to the "toolchain" subfolder, which makes it a bit
unpractical with tab-completion. So, this commit renames "tools" to
"utils", which is more tab-completion-friendly.

This has been discussed with Arnout and Yann.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
</feed>
