New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 679866 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Feb 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Remove x11 dependency from Moblab

Project Member Reported by ntang@google.com, Jan 10 2017

Issue description

guado_moblab-release builder fails for x11-drivers/xf86-input-synaptics dependency. It was suggested to remove the x11 dependency from the moblab build.

Here is the log for a sample failed build:
https://uberchromegw.corp.google.com/i/chromeos/builders/guado_moblab-release/builds/1672/steps/BuildPackages/logs/stdio


Here is one change list to remove the X dependency:
https://chromium-review.googlesource.com/#/c/417987/

Here is another depency to X identified by using equery:
 [  0]  chromeos-base/autotest-server-0.0.1-r2917   
 [  1]  dev-vcs/git-2.6.6   
 [  2]  virtual/emacs-24   
 [  3]  app-editors/emacs-24.5   
 [  4]  sys-apps/dbus-1.6.8-r13   
 [  5]  x11-base/xorg-server-1.12.4-r42   
 [  6]  x11-base/xorg-drivers-1.12   
 [  7]  x11-drivers/xf86-input-synaptics-1.6.2 

There could more dependencies that need to be identified.
 

Comment 1 by sbasi@chromium.org, Jan 11 2017

Cc: vapier@chromium.org
I wonder if we can just blacklist emacs from being installed on the image.

Comment 2 by vapier@chromium.org, Jan 11 2017

we avoid the issue by hard depending on app-editors/qemacs in the dev target.  you can do the same in moblab.

Comment 3 by sbasi@chromium.org, Jan 11 2017

Owner: ntang@chromium.org
Status: Assigned (was: Untriaged)
Pretty sure what vapier is saying is overight the virtual/emacs ebuild in the moblab overlay to point to app-editors/qemacs.

Comment 4 by sbasi@chromium.org, Jan 11 2017

Owner: ntang@google.com
s/overight/override

Comment 5 by vapier@chromium.org, Jan 11 2017

nah, not what i was going for.  in looking closer though, i'm not sure why virtual/emacs is getting pulled in in the first place.  virtual/target-chromium-os hard depends on app-editors/vim so that it satisfies virtual/editor.

if you look at that build log, virtual/emacs isn't being pulled into the image.  so don't worry about it.

Comment 6 by ntang@google.com, Jan 11 2017

Maybe because my equery search started at chromeos-base/autotest-server level is not good. I tried again at the virtual/target-chromium-os level, and identified another dependency path:

 [  0]  virtual/target-chromium-os-1   
 [  1]  app-admin/rsyslog-8.22.0-r1   
 [  2]  virtual/mysql-5.5   
 [  3]  dev-db/mariadb-5.5.32-r7   
 [  4]  dev-util/cmake-3.5.2-r1   
 [  5]  x11-base/xorg-server-1.12.4-r42   
 [  6]  x11-base/xorg-drivers-1.12   
 [  7]  x11-drivers/xf86-input-synaptics-1.6.2 

Looks like there is still another path. I will search through it later on.

Comment 7 by vapier@chromium.org, Jan 11 2017

Labels: -Restrict-View-Google
cmake is masked for targets, so it isn't built or installed, which means its dependencies wouldn't be built or installed

i think your investigation is going to lead down many dead ends like this.  do it the other way around:
emerge-$BOARD -epv --tree virtual/target-os
emerge-$BOARD -epv --tree virtual/target-os-dev
emerge-$BOARD -epv --tree virtual/target-os-test
emerge-$BOARD -epv --tree virtual/target-os-factory
emerge-$BOARD -epv --tree virtual/target-os-factory-shim
emerge-$BOARD -epv --tree chromeos-base/autotest-all

then look at how xorg packages are getting pulled in from that.  in this case, the problem looks like dev-python/matplotlib via the virtualx eclass.  you'll probably need to upgrade both of those to make the xorg dep optional.

Comment 8 by ntang@google.com, Jan 18 2017

src/third_party/chromiumos-overlay/chromeos-base/autotest-server-deps/autotest-server-deps-0.0.1.ebuild has a RDEPEND on matplotlib, which is used in TKO graphing (src/third_party/autotest/files/frontend/tko/graphing_utils.py).

I doubt anybody would use the feature either at the Lab or on Moblab. I will try out removing the tko graphing and dependency on matplotlib.

Comment 9 by sbasi@chromium.org, Jan 18 2017

Cc: akes...@chromium.org dshi@chromium.org
+Akeshet/Dshi

TKO DB is currently in use. I don't know about the UI for it.

Comment 10 by ntang@google.com, Jan 18 2017

BWT, what was the original motivation to remove all X dependency in chromeos the first place?
because X is bloated, insecure, and slows things down.  CrOS doesn't need X anywhere anymore as it's all freon based.

Comment 12 by dshi@chromium.org, Jan 18 2017

+1 on removing tko graphing. I've never heard anyone used that feature.

Comment 13 by ntang@google.com, Jan 18 2017

Removing tko graphing is feasible. However,

There is a test src/third_party/autotest/files/client/site_tests/firmware_TouchMTB/noise_summary also depending on matplotlib

The src/platform/touchbot contains quite some python code depending on matplotlib. 


I wonder if it is possible to make matplotlib NOT depending on X. Otherwise, we just have to deprecate those code on guado_moblab.

Comment 14 by ntang@google.com, Jan 18 2017

We need to remove the MatplotlibPackage from the external_packaging.py as well.
to reiterate, i think the latest dev-python/matplotlib in upstream will work w/out requiring X.  so if you updated things, you could keep that functionality and drop X.

Comment 16 by ntang@google.com, Jan 20 2017

I have tried to totally to remove the maplotlib from the guodo_moblab build and it seems to build fine. Do you mind if I remove it first (if all tests pass), and then upgrade to a new version without X later?
i have no opinion on dropping maplotlib as i'm not a user of it, nor do i know who cares about it.  so you'd prob want to consult with the people who are using it :).

Comment 19 by ntang@google.com, Jan 22 2017

I tried the upgrade the matplotlib to upstream 1.4.3. I saw we have an overlay patch on 1.3.1 at src/third_party/chromiumos-overlay/dev-python/matplotlib. It seems the cross-compile is already in upstream 1.4.3. Do we still need the overlay patch?

Comment 20 by za...@chromium.org, Feb 17 2017

Not much activity on this and it's blocking the removal of xorg-server. Can we move forward?

Comment 21 by ntang@google.com, Feb 17 2017

I was distracted on moblab 56 release. I will work on this next week.
Project Member

Comment 22 by bugdroid1@chromium.org, Feb 25 2017

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

commit 69fb8828301eaae948fa570a0a0f42e1b41e5cfa
Author: Michael Tang <ntang@google.com>
Date: Sat Feb 25 18:32:07 2017

Enable cxx exception for qhull compilation.

This is part of the effort to update the matplotlib to latest upstream,
which has a dpendency on qhull. We need to enable cxx exception to
compile qhull.

BUG= chromium:679866 
TEST=Manually compiled the code for all platforms.

Change-Id: Id28f23c8f9591b4c96926a9f4e75057db74d7773
Reviewed-on: https://chromium-review.googlesource.com/446516
Commit-Ready: Michael Tang <ntang@chromium.org>
Tested-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/69fb8828301eaae948fa570a0a0f42e1b41e5cfa/chromeos/config/env/media-libs/qhull

Project Member

Comment 23 by bugdroid1@chromium.org, Feb 27 2017

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

commit 97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7
Author: Michael Tang <ntang@google.com>
Date: Mon Feb 27 20:03:24 2017

matplotlib, qhull: upgraded packages to upstream

Upgraded dev-python/matplotlib to version 1.4.3 on amd64, arm, x86
Upgraded media-libs/qhull to version 2012.1-r4 on amd64, arm, x86

This is part of the effort to remove X dependency from  Molab image.

BUG= chromium:679866 
TEST=manually build for all platforms and tested Moblab image.

Change-Id: Ibe71dc1c58888433fac5088f24eb43da631dd754
Reviewed-on: https://chromium-review.googlesource.com/445808
Commit-Ready: Michael Tang <ntang@chromium.org>
Tested-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[delete] https://crrev.com/8ed69a4e53e2995429e1fdd438229302f1f98f63/dev-python/matplotlib/files/matplotlib-1.3.0-setup_without_X11.patch
[modify] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/Manifest
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch
[modify] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/metadata.xml
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
[delete] https://crrev.com/8ed69a4e53e2995429e1fdd438229302f1f98f63/dev-python/matplotlib/files/matplotlib-1.2.0-ft-refcount.patch
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/media-libs/qhull/metadata.xml
[rename] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/matplotlib-1.4.3.ebuild
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
[delete] https://crrev.com/8ed69a4e53e2995429e1fdd438229302f1f98f63/metadata/md5-cache/dev-python/matplotlib-1.3.1
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/media-libs/qhull/files/qhull-2012.1-format-security.patch
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/media-libs/qhull/Manifest
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/media-libs/qhull/files/qhull-2012.1-64bit.patch
[delete] https://crrev.com/8ed69a4e53e2995429e1fdd438229302f1f98f63/dev-python/matplotlib/files/matplotlib-1.1.1-ft-refcount.patch
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/media-libs/qhull/qhull-2012.1-r4.ebuild
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/metadata/md5-cache/dev-python/matplotlib-1.4.3
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/metadata/md5-cache/media-libs/qhull-2012.1-r4
[add] https://crrev.com/97ff6b0103f9fc59c2fe28110065ab3aa3db1ae7/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
[delete] https://crrev.com/8ed69a4e53e2995429e1fdd438229302f1f98f63/dev-python/matplotlib/files/matplotlib-1.2.0-setup.patch

Comment 24 by ntang@google.com, Feb 28 2017

Status: Fixed (was: Assigned)
The release build is green now. I will cherry pick the change to R57.

Comment 25 by ntang@google.com, Feb 28 2017

Labels: Merge-Request-57
Project Member

Comment 26 by sheriffbot@chromium.org, Feb 28 2017

Labels: -Merge-Request-57 Hotlist-Merge-Review Merge-Review-57
This bug requires manual review: We are only 13 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 27 by ntang@google.com, Feb 28 2017

Cc: krk@chromium.org
@krk, we need this for M57.
Pls apply appropriate OS label. Thank you.
Labels: OS-Chrome
moblab is only a CrOS thing, so it should be a bit obvious in that regard ...

Comment 30 by ntang@google.com, Feb 28 2017

We need this for the Moblab M57 release because the build was broken for a while.

Comment 31 by ntang@google.com, Mar 1 2017

Cc: keta...@chromium.org
ntang@ these are a lot of changes to multiple files for Beta. Has this been merged to master and validated for a few days?

Comment 33 by ntang@google.com, Mar 1 2017

This was merged in two days back. The CL contains a few files but most of them are generated by the standard upstream uprev process. I believe the code is actually not used most/all devices except Moblab. 

Comment 34 by ntang@google.com, Mar 1 2017

I just did a code search on all ebuild files, and autotest-server is the only thing that depends on the matplotlib right now. So this change should only impact moblab. 
Since this change is restricted to Moblab approving merge to M57 Chrome OS.
Labels: -Merge-Review-57 Merge-Approved-57
Project Member

Comment 37 by bugdroid1@chromium.org, Mar 1 2017

Labels: merge-merged-release-R57-9202.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/d08f37932d8939a8ddbd07754f09d8a6c8df675f

commit d08f37932d8939a8ddbd07754f09d8a6c8df675f
Author: Michael Tang <ntang@google.com>
Date: Wed Mar 01 19:02:00 2017

Enable cxx exception for qhull compilation.

This is part of the effort to update the matplotlib to latest upstream,
which has a dpendency on qhull. We need to enable cxx exception to
compile qhull.

BUG= chromium:679866 
TEST=Manually compiled the code for all platforms.

Change-Id: Id28f23c8f9591b4c96926a9f4e75057db74d7773
Reviewed-on: https://chromium-review.googlesource.com/446516
Commit-Ready: Michael Tang <ntang@chromium.org>
Tested-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
(cherry picked from commit 69fb8828301eaae948fa570a0a0f42e1b41e5cfa)
Reviewed-on: https://chromium-review.googlesource.com/447868
Trybot-Ready: Michael Tang <ntang@chromium.org>
Reviewed-by: Keith Haddow <haddowk@chromium.org>
Commit-Queue: Keith Haddow <haddowk@chromium.org>
Tested-by: Keith Haddow <haddowk@chromium.org>

[add] https://crrev.com/d08f37932d8939a8ddbd07754f09d8a6c8df675f/chromeos/config/env/media-libs/qhull

Project Member

Comment 38 by bugdroid1@chromium.org, Mar 1 2017

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

commit d08f37932d8939a8ddbd07754f09d8a6c8df675f
Author: Michael Tang <ntang@google.com>
Date: Wed Mar 01 19:02:00 2017

Enable cxx exception for qhull compilation.

This is part of the effort to update the matplotlib to latest upstream,
which has a dpendency on qhull. We need to enable cxx exception to
compile qhull.

BUG= chromium:679866 
TEST=Manually compiled the code for all platforms.

Change-Id: Id28f23c8f9591b4c96926a9f4e75057db74d7773
Reviewed-on: https://chromium-review.googlesource.com/446516
Commit-Ready: Michael Tang <ntang@chromium.org>
Tested-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
(cherry picked from commit 69fb8828301eaae948fa570a0a0f42e1b41e5cfa)
Reviewed-on: https://chromium-review.googlesource.com/447868
Trybot-Ready: Michael Tang <ntang@chromium.org>
Reviewed-by: Keith Haddow <haddowk@chromium.org>
Commit-Queue: Keith Haddow <haddowk@chromium.org>
Tested-by: Keith Haddow <haddowk@chromium.org>

[add] https://crrev.com/d08f37932d8939a8ddbd07754f09d8a6c8df675f/chromeos/config/env/media-libs/qhull

Project Member

Comment 39 by bugdroid1@chromium.org, Mar 1 2017

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

commit 5dd52e08d391d8e6558783381b2cd17602284deb
Author: Michael Tang <ntang@google.com>
Date: Wed Mar 01 19:20:58 2017

matplotlib, qhull: upgraded packages to upstream

Upgraded dev-python/matplotlib to version 1.4.3 on amd64, arm, x86
Upgraded media-libs/qhull to version 2012.1-r4 on amd64, arm, x86

This is part of the effort to remove X dependency from  Molab image.

BUG= chromium:679866 
TEST=manually build for all platforms and tested Moblab image.

Change-Id: Ibe71dc1c58888433fac5088f24eb43da631dd754
Reviewed-on: https://chromium-review.googlesource.com/445808
Commit-Ready: Michael Tang <ntang@chromium.org>
Tested-by: Michael Tang <ntang@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/447912
Reviewed-by: Michael Tang <ntang@chromium.org>
Commit-Queue: Michael Tang <ntang@chromium.org>
Trybot-Ready: Michael Tang <ntang@chromium.org>

[delete] https://crrev.com/b249f201b125e324b3a0a0e068148a8f51b518f1/dev-python/matplotlib/files/matplotlib-1.3.0-setup_without_X11.patch
[modify] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/Manifest
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch
[modify] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/metadata.xml
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
[delete] https://crrev.com/b249f201b125e324b3a0a0e068148a8f51b518f1/dev-python/matplotlib/files/matplotlib-1.2.0-ft-refcount.patch
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/media-libs/qhull/metadata.xml
[rename] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/matplotlib-1.4.3.ebuild
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
[delete] https://crrev.com/b249f201b125e324b3a0a0e068148a8f51b518f1/metadata/md5-cache/dev-python/matplotlib-1.3.1
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/media-libs/qhull/files/qhull-2012.1-format-security.patch
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/media-libs/qhull/Manifest
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/media-libs/qhull/files/qhull-2012.1-64bit.patch
[delete] https://crrev.com/b249f201b125e324b3a0a0e068148a8f51b518f1/dev-python/matplotlib/files/matplotlib-1.1.1-ft-refcount.patch
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/media-libs/qhull/qhull-2012.1-r4.ebuild
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/metadata/md5-cache/dev-python/matplotlib-1.4.3
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/metadata/md5-cache/media-libs/qhull-2012.1-r4
[add] https://crrev.com/5dd52e08d391d8e6558783381b2cd17602284deb/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
[delete] https://crrev.com/b249f201b125e324b3a0a0e068148a8f51b518f1/dev-python/matplotlib/files/matplotlib-1.2.0-setup.patch

Comment 40 by ntang@google.com, Mar 1 2017

Labels: -Merge-Approved-57
cherry picked.

Comment 41 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 42 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 44 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment