Bug 2644 - Chromium Browser Integration
Summary: Chromium Browser Integration
Status: RESOLVED FIXED
Alias: None
Product: Other YP Layers
Classification: Build System, Metadata & Runtime
Component: layers (show other bugs)
Version: 1.3
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: 1.4.1
Assignee: Laurentiu Palcu
QA Contact:
URL:
Whiteboard: (Scheduled)
Depends on:
Blocks:
 
Reported: 2012-06-21 18:31 UTC by Song Liu
Modified: 2013-04-29 11:55 UTC (History)
7 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments
log.do_rootfs (1.55 KB, application/octet-stream)
2013-03-21 13:06 UTC, Stefan Stanacar
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Song Liu 2012-06-21 18:31:09 UTC
There are some work already done for integrating the Chromium browser in Yocto. And we need to do more to complete this work and even improve it to be more usable for users. Specific issues we need to fix:

1. Create a new recipe or improve on the existing recipe to integrate Chromium browser.
2. make meta-chromium to compile on x-86 platforms.
3. fix host intrusion issues.

Acceptance Criteria:

1. Code is reasonably clean and readable.
2. Users can take the recipe and use it to integrate the Chromium browser in all Yocto core and meta-intel BSPs without any hacking.
Comment 1 Saul Wold 2012-06-25 18:14:22 UTC
Just to be clear, this should be done in a meta-chromian layer, not in oe-core, there is existing work for this.
Comment 2 Otavio Salvador 2012-10-03 16:32:52 UTC
The meta-chromium has been merged onto meta-browser.

When working on this, please look at meta-browser to not duplicate work.
Comment 3 Otavio Salvador 2013-03-06 11:39:30 UTC
We had an upgrade of Chromium in meta-browser so please check if it is enough for your work or not.
Comment 4 Laurentiu Palcu 2013-03-06 12:19:57 UTC
I built it successfully for qemux86 and atom-pc and it works just fine for both. However, I saw there's no support for x86-64 bit though... Is there a reason for that? Anyway, I just started building it for x86-64 and see what happens.
Comment 5 Laurentiu Palcu 2013-03-07 07:55:07 UTC
I succeeded to run chromium in qemux86-64 too, after some slight changes to the chromium recipe and adding the gypi config for ia64 architecture.
Comment 6 Laurentiu Palcu 2013-03-11 08:49:32 UTC
Chromium was compiled and tested on x86 and x86-64 successfully. We can close this now.
Comment 7 Alexandru Georgescu 2013-03-14 11:46:22 UTC
Currently I am trying to verify this on x86_64 qemu machine, but I encountered some errors.
Will close the feature after the problems are resolved.
Comment 8 Otavio Salvador 2013-03-14 11:47:44 UTC
Are you looking at it?
Comment 9 Laurentiu Palcu 2013-03-14 12:15:16 UTC
(In reply to comment #7)
> Currently I am trying to verify this on x86_64 qemu machine, but I
> encountered some errors.
> Will close the feature after the problems are resolved.

Would you please tell what the errors are? Also, attach the relevant logs.
Comment 10 Laurentiu Palcu 2013-03-14 13:12:02 UTC
FYI, I just built a core-image-sato from scratch using latest oe-core, meta-oe and meta-browser layers without issues. Also, chrome starts just fine.
Comment 11 Laurentiu Palcu 2013-03-15 09:30:00 UTC
Chromium builds and runs just fine on x86-64. If you reopen it, for some reason, please provide more info about the problem.
Comment 12 Alexandru Georgescu 2013-03-15 09:32:26 UTC
I don't know why this was reopened. I just commented that I am verifying this.
Comment 13 Otavio Salvador 2013-03-15 11:12:17 UTC
(In reply to comment #12)
> I don't know why this was reopened. I just commented that I am verifying
> this.

I did the reopen as you said it failed for you so please give it a try.
Comment 14 Stefan Stanacar 2013-03-21 13:06:15 UTC
Created attachment 1128 [details]
log.do_rootfs
Comment 15 Stefan Stanacar 2013-03-21 13:08:58 UTC
Build Configuration:
BB_VERSION        = "1.17.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Fedora-18"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE           = "qemux86-64"
DISTRO            = "poky"
DISTRO_VERSION    = "1.3+snapshot-20130321"
TUNE_FEATURES     = "m64"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "master:9ffee9add2d0380f4025e7a678a166f25a7d659e"
meta-oe           
meta-gnome        = "master:e075421a12a62f12294bf44e13deeca0594d5549"
meta-browser      = "master:359cdae903c3772796b4658dd3129742d9a76d05"


Using the above commits and MACHINE I can bitbake chromium successfully however when doing IMAGE_INSTALL_append = " chromium", core-image-sato fails at do_rootfs:


Computing transaction...error: Can't install nspr-4.9.5-r1@x86_64: no package provides /usr/bin/perl

Log attached (previous comment.)
Comment 16 Stefan Stanacar 2013-03-21 13:23:38 UTC
One more thing: chromium doesn't build if the host system doesn't have a Digest-MD5 perl module installed. I have two systems where compile failed because I didn't have perl-Digest-MD5 installed (this is the fedora package name, differs on others). This is something specific to the chromium build system (ninja) I assume.
Installing it solves the problem but I have to wonder if is it okay to assume the users will have the module installed. No other poky/oe-core/meta-oe build required me to install extra packages other than what's  specified in the Yocto Quick Start. One solution is to use the sanity tests and check for the module and let the user know what's required before starting the build.
Comment 17 Laurentiu Palcu 2013-03-25 10:35:44 UTC
(In reply to comment #15)
> Build Configuration:
> BB_VERSION        = "1.17.1"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Fedora-18"
> TARGET_SYS        = "x86_64-poky-linux"
> MACHINE           = "qemux86-64"
> DISTRO            = "poky"
> DISTRO_VERSION    = "1.3+snapshot-20130321"
> TUNE_FEATURES     = "m64"
> TARGET_FPU        = ""
> meta              
> meta-yocto        
> meta-yocto-bsp    = "master:9ffee9add2d0380f4025e7a678a166f25a7d659e"
> meta-oe           
> meta-gnome        = "master:e075421a12a62f12294bf44e13deeca0594d5549"
> meta-browser      = "master:359cdae903c3772796b4658dd3129742d9a76d05"
> 
> 
> Using the above commits and MACHINE I can bitbake chromium successfully
> however when doing IMAGE_INSTALL_append = " chromium", core-image-sato fails
> at do_rootfs:
> 
> 
> Computing transaction...error: Can't install nspr-4.9.5-r1@x86_64: no
> package provides /usr/bin/perl
> 
> Log attached (previous comment.)

It turns out this happens only when RPM backend is used for the package manager. It works just fine with opkg... I'll have a look.
Comment 18 Saul Wold 2013-04-25 15:12:03 UTC
Looks like a missing dependency on perl in the nspr package,
Comment 19 Saul Wold 2013-04-26 21:12:18 UTC
This seems very strange, I have reviewed the recipe and code, the -dev package has a dependency on perl, for the runtests.pl script, the meta-browser layer has a recipe for NSS, which does have a reference to perl in the smime_nss perl script.  The reference is incorrect as it points to /usr/local/bin/perl, this should be fixed to #!/usr/bin/env perl

Similar to this:

	sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' smime
Comment 20 Otavio Salvador 2013-04-27 14:53:52 UTC
(In reply to comment #19)
> This seems very strange, I have reviewed the recipe and code, the -dev
> package has a dependency on perl, for the runtests.pl script, the
> meta-browser layer has a recipe for NSS, which does have a reference to perl
> in the smime_nss perl script.  The reference is incorrect as it points to
> /usr/local/bin/perl, this should be fixed to #!/usr/bin/env perl
> 
> Similar to this:
> 
> 	sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' smime

Saul, are you going to propose a patch for this fix?
Comment 21 Laurentiu Palcu 2013-04-29 06:49:11 UTC
(In reply to comment #20)
> (In reply to comment #19)
> > This seems very strange, I have reviewed the recipe and code, the -dev
> > package has a dependency on perl, for the runtests.pl script, the
> > meta-browser layer has a recipe for NSS, which does have a reference to perl
> > in the smime_nss perl script.  The reference is incorrect as it points to
> > /usr/local/bin/perl, this should be fixed to #!/usr/bin/env perl
> > 
> > Similar to this:
> > 
> > 	sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' smime
> 
> Saul, are you going to propose a patch for this fix?

Otavio,

I sent a patch for this a long time ago:
http://lists.linuxtogo.org/pipermail/openembedded-devel/2013-March/044575.html

But it was never merged to meta-browser... Unfortunately I was busy working on other things and I didn't follow what happened with it. So, the patch fixing this is out there.