[OpenWrt-Devel] Update on rygel packaging

Andy Leiserson andy at leiserson.org
Fri Feb 22 18:06:28 CET 2013


For anyone looking for a working rygel package, I would suggest one of:

* Attitude adjustment with the packages from
  https://github.com/aandyl/openwrt-packages/tree/rygel-attitude-adjustment

* Trunk at revisions >= r34528 and < r35523, with the patch at
  http://patchwork.openwrt.org/patch/3178/, or newer revisions with
  the same patch and with r35523 reverted.

The audio issues I mentioned previously should be resolved in kernel
3.7.7 and 3.8.

More detail on my most recent experience building rygel for openwrt
follows. I'll pause here to ask whether there's interest in maintaining
the package in openwrt archive. If not, I would probably invest less
effort in updating dependency packages in a way that's generally useful,
and I'd also suggest removing rygel, gupnp*, vala, and libgee from the
archive rather than let them go stale. (FWIW, there was an inquiry about
building rygel in the forum, so there's at least some interest.)

As for the current state of the build: r35523 updated gupnp to the
latest version, 0.19.4 (and also updated gssdp).  The packaged version
of rygel (0.14.1) doesn't work with gupnp 0.19.4.

I've worked on updating to the latest rygel. It involves quite a few
updates to various dependencies, including updating to GStreamer 1.0.

More troubling is the issue of generating vapi (Vala API) files for the
newer gupnp releases. Previously the generated vapi were shipped in the
gupnp-vala dist tarball, which avoided the issue. (I didn't realize the
distribution included these generated files when I packaged it.)

The recent gupnp releases no longer ship vapi files, so they must be
generated. The flow for generating the vapi files involves generating a
.gir with the gobject introspection tools, and then generating the .vapi
from the .gir with vapigen. The gobject introspection tools compile
*and run* a test program linked against the library being "introspected".

Because of this, gobject introspection does not in general support cross
compiling (see https://bugzilla.gnome.org/show_bug.cgi?id=592311).
However, the .gir and the .vapi are portable across architectures.
I have considered either doing host builds of gupnp (and all its
dependencies) so that the .gir and .vapi can be generated on the host
and then copied from the host build area to the target build area, or
shipping generated .vapi with the openwrt packages. In the latter case,
I would still need to maintain the host builds for gupnp+deps to
generate the vapi when updating the packages, but the host builds
wouldn't be needed to build the packages, and wouldn't need to be added
to the packages repo.



More information about the openwrt-devel mailing list