Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.

Split crosswalk build in 2 packages #2575

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jbtrek
Copy link

@jbtrek jbtrek commented Nov 5, 2014

crosswalk.spec : build thirdparty
crosswalk-bin.spec : build binaries xwalk, ...

Workaround to decrease the build time of crosswalk
Most of crosswalk thirdparties are built separately

BUG=XWALK-2571
Signed-off-by: Jean-Benoit MARTIN jean-benoit.martin@open.eurogiciel.org

@crosswalk-trybot
Copy link

Testing patch series with eurogiciel-oss/crosswalk@d41d784 as its head.

Bot Status
Crosswalk Android-X86 [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Android-X86/builds/2356)
Crosswalk Linux [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Linux/builds/2356)
Crosswalk Tizen IVI [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen IVI/builds/2349)
Crosswalk Tizen 3 Common [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen 3 Common/builds/1946)

@crosswalk-trybot
Copy link

Testing patch series with eurogiciel-oss/crosswalk@4724feb as its head.

Bot Status
Crosswalk Android-X86 [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Android-X86/builds/2357)
Crosswalk Linux [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Linux/builds/2357)
Crosswalk Tizen IVI [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen IVI/builds/2350)
Crosswalk Tizen 3 Common [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen 3 Common/builds/1947)

@baillaw
Copy link
Contributor

baillaw commented Nov 5, 2014

@rakuco @baleboy please review could you review this?

Following your bot it seems to build both packages so all is OK.

About Crosswalk Tizen 3 Common build bot faillure it seems to be linked with disk space issue

@baleboy
Copy link
Contributor

baleboy commented Nov 5, 2014

@jbtrek
Copy link
Author

jbtrek commented Nov 5, 2014

There is issue with the patch. I will push an update of the patch soon

@rakuco
Copy link
Member

rakuco commented Nov 5, 2014

Has anyone tried using src/build/linux/unbundle/* yet? It would allow us to stop building a number of smaller third-party libraries, though we'd still need to build heavyweights like Blink and V8.

@crosswalk-trybot
Copy link

Testing patch series with eurogiciel-oss/crosswalk@b9300a5 as its head.

Bot Status
Crosswalk Linux [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Linux/builds/2383)
Crosswalk Tizen IVI [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen IVI/builds/2376)
Crosswalk Tizen 3 Common [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen 3 Common/builds/1973)
Crosswalk Android-X86 [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Android-X86/builds/2383)

@jbtrek
Copy link
Author

jbtrek commented Nov 6, 2014

We have try to use "src/build/linux/unbundle/*" for some third-party libraries but it was not effective enough.

@rakuco
Copy link
Member

rakuco commented Nov 6, 2014

Would the efforts of moving part of our Tizen code to tizen.org help in anyway? As I said before, this current approach basically goes against every packaging standard by introducing a very ugly hack that can break in many ways. I've never heard of anyone packaging a build directory for consumption for another RPM package to continue from there.

@baillaw
Copy link
Contributor

baillaw commented Nov 6, 2014

@rakuco :
BUG=XWALK-2571 is assigned to you.

If you don't agree to include this (we can understand that as we know that split is a hack), but what is your proposition? we want a solution
You are supposed to work on this issue, correct?

@crosswalk-trybot
Copy link

Testing patch series with eurogiciel-oss/crosswalk@150cf46 as its head.

Bot Status
Crosswalk Linux [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Linux/builds/2391)
Crosswalk Tizen 3 Common [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen 3 Common/builds/1981)
Crosswalk Android-X86 [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Android-X86/builds/2391)
Crosswalk Tizen IVI [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen IVI/builds/2384)

@crosswalk-trybot
Copy link

Testing patch series with eurogiciel-oss/crosswalk@ae96d3d as its head.

Bot Status
Crosswalk Tizen 3 Common [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen 3 Common/builds/1982)
Crosswalk Linux [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Crosswalk Linux/builds/2392)
Crosswalk Tizen IVI [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Tizen IVI/builds/2385)
Crosswalk Android-X86 [FAILED 💔](https://build.crosswalk-project.org/try/builders/Crosswalk Android-X86/builds/2392)

crosswalk.spec : build thirdparty
crosswalk-bin.spec : build binaries xwalk, ...

Workaround to decrease the build time of crosswalk
Most of crosswalk thirdparties are built separately

BUG=XWALK-2571
Signed-off-by: Jean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org>
@rakuco
Copy link
Member

rakuco commented Nov 6, 2014

Is building with component=shared_library an option for Tizen, so that one could have a crosswalk-libs package with libblink.so & co separate from the proper crosswalk RPM? How about a crosswalk-libs with static versions of those libraries instead?

@baillaw
Copy link
Contributor

baillaw commented Nov 7, 2014

good idea but I thinks you forgot 1 important thing.

One Tizen there is a multiple packages that can be found also as Thirdparty of chromium.
but with different version

I detail an example

We have a Mesa package in Tizen
Chromium / Xwalk has an other one not especially aligned with the first one.

Build Third party of Chromium in shared library leads to have two differents version of Mesa both in shared library.

When there is two libraries in the system we need to take care about which ones should be used for which binary.

Build statically can permits to avoid this problem.

An other exapmle is sqlite3 the crosswalk/chromium has new API that not exist upstream....

@rakuco
Copy link
Member

rakuco commented Nov 7, 2014

Hence my question -- if packaging static libraries is accepted in Tizen, we could have a crosswalk-libs package with .a files, and maybe install them in a different location, or with a different name.

@baillaw
Copy link
Contributor

baillaw commented Nov 7, 2014

@rakuco : please try your proposal and submit a PR associated.

@tiwanek
Copy link

tiwanek commented Nov 21, 2014

@rakuco
About different versions of packages in tizen and in chromium thirdparty. Is it a problem? (as you consider to install them in different location)

@rakuco
Copy link
Member

rakuco commented Nov 21, 2014

Nope, it shouldn't be a problem. All shared libraries will be installed into /usr/lib/xwalk/lib anyway.

@tiwanek
Copy link

tiwanek commented Nov 21, 2014

So what is the point of this? To expose whole crosswalk-thirdparty as one pkgconfig package or several libraries from chromium's src/ directory as seperate packages?

Is there needed more than one .pc file? Do anyone needs to know what different versions of libraries are inside crosswalk (as there are different and will conflict if installed normally)?

I basicly wonder if there is possibility to export as devel package chromium's headers and single static/shared library with one .pc file? Or is it wrong approach?

@rakuco
Copy link
Member

rakuco commented Nov 21, 2014

The point of what exactly? The point of this pull request (which is not going to be merged) is to work around the fact that Crosswalk is a big package.

What I am working on separately and will submit in another pull request is a split between crosswalk-libs and crosswalk-bin, with libs containing all necessary shared libraries after switching the build to component=shared_library.

@tiwanek
Copy link

tiwanek commented Nov 21, 2014

Oh, sorry for misunderstanding. I probably did not get the point. What crosswalk-libs will provide for crosswalk-bin? Only .so files?

@rakuco
Copy link
Member

rakuco commented Nov 21, 2014

Yes. Only private .so's required for building and running Crosswalk. It's one big hack that people have been pushing for for ages.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants