Fellow pedestrians,

I've just merged pull request #2791, which significantly changes the way
Crosswalk is packaged on Tizen.

First, the TL;DR version:
* Optionally clean your local GBS repository and existing Crosswalk
  packages (in $GBSROOT/local/repos/$profile_name/$arch/RPMS) to free up
  some space.
* Build the crosswalk-libs RPM package:
  cd src/xwalk
  gbs build --spec crosswalk-libs.spec
* Build the crosswalk-bin RPM package afterwards:
  cd src/xwalk
  gbs build --spec crosswalk-bin.spec

Now a more detailed explanation.

There has been a longstanding meme in the Tizen world that it takes
forever to build a Crosswalk RPM, and this was causing problems in
tizen.org, since a change to any package Crosswalk depends upon would
trigger a full Crosswalk rebuild from scratch that could potentially
take hours to complete.

To address this, the Crosswalk RPM package has been split into two
separate RPMS:
1. crosswalk-libs contains all Chromium libraries we use (libbase.so,
   libcontent.so, so on and so forth). This package has no dependency on
   any Tizen-specific library such as aul or pkgmgr. Building it
   involves building basically everything in src/ except for src/xwalk/.
   I believe there's room to remove several other dependencies from the
   package, but we can do that over time.
2. crosswalk-bin contains the actual `xwalk' binary and depends on
   crosswalk-libs. It depends on several Tizen-specific packages and
   libraries, but building it does not involve building most of the code
   in Chromium (for example, it does not require building Blink or the
   content layer, as they are both part of crosswalk-libs) and takes a
   few minutes at most.

To most Crosswalk developers working on Tizen, the biggest change is
that they will need to build crosswalk-libs once (or, if they are just
hacking src/xwalk, download a version from download.tizen.org once they
start building those new packages) and then only build crosswalk-bin.

To people more involved with Tizen than with Crosswalk: so far nothing
has changed, since the Crosswalk packages in tizen.org are several
canaries behind what we have in master. Once that changes, the crosswalk
and crosswalk-thirdparty RPM packages will disappear and crosswalk-bin
and crosswalk-libs will be produced instead.

To the people working on rebases and release engineering, there's the
problem of maintaining
packaging/crosswalk-do-not-build-several-chromium-dependencies.patch,
which is a very ugly hack necessary for skipping the build of those big
Chromium targets in crosswalk-bin. So far, porting the patch from M39 to
M40 was not very painful, but we will see what it turns out to be with
M41.
_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to