New issue
Advanced search Search tips

Issue 867070 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 23
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Add a plotting tool/library (python matplotlib?) ebuild to chroot

Project Member Reported by kirtika@google.com, Jul 24

Issue description

Alex is working on plotting results from the wifi perf runs in bluetest
and we found no python matplotlib or similar tool to work with. 
Can we add that to the test image? 

 
Why do you need it on the device?
It would be nice to not wait to switch to another host device to plot results gotten on the DUT. 
However, my hope was that this would be tiny. equery size says otherwise :(

equery-octopus size dev-python/matplotlib
 * dev-python/matplotlib-1.4.3
         Total files : 2614
         Total size  : 87.24 MiB

If we want graphs from autotest data, the alternatives to having a plotting tool/library on the device seem to be:
   * modify the autotest infrastructure to allow for handling data after autoserv on the client has closed (potentially using some attribute or function in the test control file to determine what exactly to do)
   * have a separate script that can be manually run after the test in order to generate graphs

The first alternative achieves the same goal, but involves modifying core autotest code and generally is more work to do roughly the same thing. It makes sense if space on the test images is at enough of a premium that adding more packages is imprudent, but not otherwise.
The second alternative works, but is inconvenient for the user and not something that would easily be automated from within the autotest system.

If we really don't want something like matplotlib on our test images, I will go ahead with the second alternative
Labels: -Type-Bug Type-Feature
we haven't worried too much about adding packages to test images. we just keep making the stateful bigger :p.
Status: Started (was: Untriaged)
Summary: Add a plotting tool/library (python matplotlib?) ebuild to chroot (was: Add a plotting tool/library (python matplotlib?) ebuild to test images)
Update: It turns out that we needed matplotlib within the chroot rather than on the test images
Project Member

Comment 7 by bugdroid1@chromium.org, Aug 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/0beeb227cd3aafd108d0e468983839a408246cad

commit 0beeb227cd3aafd108d0e468983839a408246cad
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Fri Aug 03 00:58:48 2018

chromiumos-overlay: Update ebuilds inheriting python eclasses to EAPI 5

An upcoming change in portage-stable updates the python eclasses from
upstream, which require that ebuilds inheriting from python eclasses
use at least EAPI 5. These modifications are required for that change
to work properly.

BUG= chromium:867070 
TEST=`./update_chroot` and `./build_packages --board=chell` are both
      working.

Change-Id: I337a6214a46e37d242da254d6342a98379aa097e
Reviewed-on: https://chromium-review.googlesource.com/1155820
Commit-Ready: Alex Khouderchah <akhouderchah@chromium.org>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/0beeb227cd3aafd108d0e468983839a408246cad/dev-python/pygobject/pygobject-2.18.0-r1.ebuild
[modify] https://crrev.com/0beeb227cd3aafd108d0e468983839a408246cad/brillo-base/libsparse/libsparse-9999.ebuild
[modify] https://crrev.com/0beeb227cd3aafd108d0e468983839a408246cad/dev-python/ahocorasick/ahocorasick-0.9.ebuild
[rename] https://crrev.com/0beeb227cd3aafd108d0e468983839a408246cad/brillo-base/libsparse/libsparse-0.0.1-r3.ebuild
[rename] https://crrev.com/0beeb227cd3aafd108d0e468983839a408246cad/dev-python/pygobject/pygobject-2.18.0-r8.ebuild

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/0c373a139c5e7010438d4fec9bb46b9845c4e1f0

commit 0c373a139c5e7010438d4fec9bb46b9845c4e1f0
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Sun Aug 05 03:09:25 2018

eclass: update git eclasses to upstream

This change updates the git eclasses, which is required to update
certain packages, such as sys-apps/file, in the future.

BUG= chromium:867070 
CQ-DEPEND=CL:1155820
TEST=`./update_chroot` and `./build_packages --board=chell` are both
        working.

Change-Id: I8316c74189477c0d2dbead49684f4e9c575b4836
Reviewed-on: https://chromium-review.googlesource.com/1155824
Commit-Ready: Alex Khouderchah <akhouderchah@chromium.org>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/0c373a139c5e7010438d4fec9bb46b9845c4e1f0/eclass/git-r3.eclass
[modify] https://crrev.com/0c373a139c5e7010438d4fec9bb46b9845c4e1f0/eclass/git-2.eclass

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/2c690f2fdf632591eae6c967f9b2850d27763ac1

commit 2c690f2fdf632591eae6c967f9b2850d27763ac1
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Wed Aug 15 23:37:20 2018

dev-python: upgrade selenium to upstream

Upgrade the dev-python/selenium package to the latest version, which
must be done prior to upgrading the python eclasses, which do not accept
ebuilds using EAPI 4.

BUG= chromium:867070 
TEST=`./update_chroot` and `./build_packages --board=chell` both work.

Change-Id: I6fe56e8f009c7b89ab8f3b2252e14f6c4439618f
Reviewed-on: https://chromium-review.googlesource.com/1162755
Commit-Ready: Alex Khouderchah <akhouderchah@chromium.org>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/2c690f2fdf632591eae6c967f9b2850d27763ac1/dev-python/selenium/metadata.xml
[delete] https://crrev.com/a3967cdcecbdf96d4e82484ae399b38c34a6da86/dev-python/selenium/selenium-2.29.0.ebuild
[add] https://crrev.com/2c690f2fdf632591eae6c967f9b2850d27763ac1/dev-python/selenium/selenium-3.0.2.ebuild
[modify] https://crrev.com/2c690f2fdf632591eae6c967f9b2850d27763ac1/dev-python/selenium/Manifest

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/110faf7fa9ac4d8dcbf2b9a317b2497101982c23

commit 110faf7fa9ac4d8dcbf2b9a317b2497101982c23
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Mon Sep 10 08:13:23 2018

dev-python: upgrade dev-python/pytz

Upgrade dev-python/pytz to v2018.4
This is required for a subsequent CL, which upgrades matplotlib.

BUG= chromium:867070 
TEST=`./update_chroot` works, as does `./build_packages --board=reef`.

Change-Id: I53c1d9639bdd0916fcbc80cd33c9c5c60057aa65
Reviewed-on: https://chromium-review.googlesource.com/1157123
Commit-Ready: Alex Khouderchah <akhouderchah@chromium.org>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/110faf7fa9ac4d8dcbf2b9a317b2497101982c23/dev-python/pytz/files/2018.4-zoneinfo.patch
[modify] https://crrev.com/110faf7fa9ac4d8dcbf2b9a317b2497101982c23/dev-python/pytz/metadata.xml
[modify] https://crrev.com/110faf7fa9ac4d8dcbf2b9a317b2497101982c23/dev-python/pytz/Manifest
[delete] https://crrev.com/a6fa1bdb98ad6d25b1aca340042dc3415728938e/dev-python/pytz/files/pytz-2009j-zoneinfo.patch
[delete] https://crrev.com/a6fa1bdb98ad6d25b1aca340042dc3415728938e/dev-python/pytz/files/pytz-2009h-zoneinfo-noinstall.patch
[delete] https://crrev.com/a6fa1bdb98ad6d25b1aca340042dc3415728938e/dev-python/pytz/pytz-2013b.ebuild
[add] https://crrev.com/110faf7fa9ac4d8dcbf2b9a317b2497101982c23/dev-python/pytz/pytz-2018.4.ebuild
[add] https://crrev.com/110faf7fa9ac4d8dcbf2b9a317b2497101982c23/dev-python/pytz/files/pytz-2018.4-zoneinfo-noinstall.patch

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/fe5aeb71facd73c592a940a0c1904b6c0596c885

commit fe5aeb71facd73c592a940a0c1904b6c0596c885
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Fri Sep 21 20:34:05 2018

targets: chromeos: Build matplotlib without cairo

CL:1157124 upgrades matplotlib, which is used in building anything that
depends on autotest-server-deps. However, the upgraded matplotlib ebuild
build pulls in dev-python/cairocffi, which requires:
   * x11-libs/cairo to have the xcb USE flag set
   * x11-libs/gdk-pixbuf to have the jpeg USE flag set

Rather than adding these USE flags to pull in an unnecessary dependency,
this CL causes matplotlib to be built without cairo at all.

CQ-DEPEND=CL:1157124
BUG= chromium:867070 
TEST=`emerge-guado_moblab -pv virtual/target-os` no longer gives errors
      due to missing USE flags.

Change-Id: Ic5880cfcf3e850e8d4abb82c02e55ffe7affeb16
Reviewed-on: https://chromium-review.googlesource.com/1222790
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/fe5aeb71facd73c592a940a0c1904b6c0596c885/profiles/targets/chromeos/package.use

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/3e66def32467617eb0dbd2f6c6e0cbe28dfff121

commit 3e66def32467617eb0dbd2f6c6e0cbe28dfff121
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Fri Sep 21 20:34:06 2018

dev-python/kiwisolver: Enable C++ exceptions

Recent versions of matplotlib require bringing in kiwisolver.
Kiwisolver uses exceptions, meaning that the build will fail with
-fno-exceptions. This change allows kiwisolver to build despite using
exceptions.

CQ-DEPEND=CL:1157124
BUG= chromium:867070 
TEST=`emerge-cheza kiwisolver` now succeeds

Change-Id: Ia447ad5677a6a298ec633a588bc3c4abf7dbfdaf
Reviewed-on: https://chromium-review.googlesource.com/1226105
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/3e66def32467617eb0dbd2f6c6e0cbe28dfff121/chromeos/config/env/dev-python/kiwisolver

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/eb598a50ec893736a07d9486dfb584eb16cb3bc9

commit eb598a50ec893736a07d9486dfb584eb16cb3bc9
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Fri Sep 21 20:34:06 2018

dev-python: upgrade matplotlib and add dependencies

This change upgrades matplotlib to upstream.
In doing so it also adds all required dependencies that were missing
from portage-stable.

Upgraded/added the following packages:
   Added   - dev-python/backports-functools-lru-cache
   Added   - dev-python/cairocffi
   Added   - dev-python/cycler
   Added   - dev-python/functools32
   Added   - dev-python/kiwisolver
   Updated - dev-python/matplotlib
   Added   - dev-python/subprocess32
   Added   - dev-python/versioneer
   Added   - dev-python/xcffib

CQ-DEPEND=CL:1222790,CL:1226105
BUG= chromium:867070 
TEST=`sudo emerge matplotlib` and `emerge-soraka matplotlib` are both
     working.

Change-Id: I568945112389e61c8529998b4e43a2b77620f402
Reviewed-on: https://chromium-review.googlesource.com/1157124
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cairocffi/Manifest
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/functools32/functools32-3.2.3.ebuild
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/versioneer/Manifest
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/backports-functools-lru-cache/backports-functools-lru-cache-1.3.ebuild
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/backports-functools-lru-cache/Manifest
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/subprocess32/subprocess32-3.2.7.ebuild
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/subprocess32/metadata.xml
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cairocffi/metadata.xml
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cairocffi/cairocffi-0.8.0.ebuild
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch
[modify] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/matplotlib/metadata.xml
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/subprocess32/files/subprocess32-3.2.7-sandbox-test-fix.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/xcffib/metadata.xml
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/kiwisolver/metadata.xml
[rename] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/matplotlib/matplotlib-2.2.2-r1.ebuild
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/functools32/Manifest
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/backports-functools-lru-cache/metadata.xml
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/matplotlib/files/matplotlib-2.2.2-cross-compile.patch
[modify] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/matplotlib/Manifest
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/kiwisolver/Manifest
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/kiwisolver/kiwisolver-1.0.1.ebuild
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/matplotlib/files/matplotlib-2.2.2-doc-make.patch
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/versioneer/versioneer-0.16.ebuild
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/xcffib/Manifest
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/xcffib/files/xcffib-0.4.2-test-imports.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cycler/Manifest
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cairocffi/files/cairocffi-0.8.0-tests.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/versioneer/metadata.xml
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/subprocess32/Manifest
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
[delete] https://crrev.com/e613ce1ad8bef24ad91d960ab9f6212279f7b48a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/functools32/metadata.xml
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cairocffi/files/mapping.patch
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cycler/cycler-0.10.0.ebuild
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/cycler/metadata.xml
[add] https://crrev.com/eb598a50ec893736a07d9486dfb584eb16cb3bc9/dev-python/xcffib/xcffib-0.6.0.ebuild

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/3a36fde1b941de81d03b0b13efedf18a1189a840

commit 3a36fde1b941de81d03b0b13efedf18a1189a840
Author: Alex Khouderchah <akhouderchah@chromium.org>
Date: Sat Sep 22 05:25:56 2018

virtual/target-chromium-os-sdk: add matplotlib

There is a use for generating graphs from the data of certain
performance autotests, such as network_WiFi_Perf. Having matplotlib on
chroot will allow us to generate these graphs from within an autotest,
rather than as a separate script run after the test is complete.

BUG= chromium:867070 
TEST=`./update_chroot` and then ran server test importing matplotlib

Change-Id: I87142c10652c5ae94a7a633c000c24030d822a9e
Reviewed-on: https://chromium-review.googlesource.com/1151530
Commit-Ready: Alex Khouderchah <akhouderchah@chromium.org>
Tested-by: Alex Khouderchah <akhouderchah@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>

[modify] https://crrev.com/3a36fde1b941de81d03b0b13efedf18a1189a840/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1.ebuild
[rename] https://crrev.com/3a36fde1b941de81d03b0b13efedf18a1189a840/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r119.ebuild

Status: Fixed (was: Started)

Sign in to add a comment