Peter Robinson wrote: >>> Indeed. The #1 thing to do, IMHO, is to get rid of the "yum install" >>> requirement. In the short term, the only way to do that is to bundle >>> gtk-vnc and gtk-vnc-python into the .xo, which is fine... I'm just not >>> quite sure how to do it. >> If someone does know how to do this sort of thing, a quick how-to >> writeup would be immensely useful! > > Please DON'T do this. There is absolutely NO guarantee that this will > work between Fedora versions, it fact its known to break, just look at > a recent rawhide report and see the breakage for pippy. Its a complete > hack and a complete mess and it will guarantee that things will break > and the activity will then only be supported on the sugar release that > it was based upon rather than be supportable across multiple sugar > releases because the underlying Fedora libraries that the included > binaries link against will have changed. If you have something that > has a dependency you'd be much better to package it up as an rpm where > you can do proper rpm requires which means it can pull in any required > dependencies. I will quite happily assist in rpm creation and support.
So, in fact, I have taken a middle way that is somewhat interesting. In WatchMe-2 (currently pending in activities.sugarlabs.org; I'm not sure why it hasn't been accepted) I have bundled the gtk-vnc and gtk-vnc-python packages from Fedora 9, as well as a static binary of x11vnc (which still has not been accepted into the Fedora repositories). This makes the bundle work "out of the box" on OLPC's XO distros. To make this work, I've had to modify PATH, LD_LIBRARY_PATH, and PYTHONPATH. Normally, this setup would be unreliable on other versions of Fedora or another distribution, and absolutely broken on another architecture (e.g. PowerPC). However, rather than naively setting these PATH variables, I have introduced a compatibility shim that inspects the current PATH, determines the current Python library search path, and parses /etc/ld.so.conf to work out the systemwide libraries path. It then generates these variables so as to ensure that the bundles libraries are inserted with _lowest_ priority, rather than _highest_ priority as is typically the case. As a result, if you install gtk-vnc, gtk-vnc-python, and x11vnc, WatchMe-2 should work on any distribution, on any architecture. Additionally, it runs on OLPC's Fedora 9 without any root privileges required. I had planned on describing this system after WatchMe-2 appeared on ASLO, but I guess our sysadmins have been a bit too busy fighting fires to approve new Activities. --Ben
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel