Re: [Crosswalk-dev] PSA: Changes to Crosswalk Tizen packaging

2015-01-11 Thread Raphael Kubo da Costa
Raphael Kubo da Costa raphael.kubo.da.co...@intel.com writes:

 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

 [...]

 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.

Actually, upon closer inspection, not passing --spec also works; in this
case, both packages will be built.

Beware if you pass --define BUILDDIR_NAME /somewhere to gbs for
incremental builds though, as in this case both packages will be built
in the same permanent directory and the second time you call `gbs build'
libxwalk_backend.so will be packaged by crosswalk-libs.

So if you are using incremental builds, you *must* use different
directories for each package.
___
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev


[Crosswalk-dev] PSA: Changes to Crosswalk Tizen packaging

2015-01-09 Thread Raphael Kubo da Costa
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