Differences between revisions 1 and 2
Revision 1 as of 2008-10-04 22:04:31
Size: 3341
Editor: ?directhex
Comment:
Revision 2 as of 2008-10-04 22:14:49
Size: 3437
Editor: meebey
Comment: enhanced formatting and headings
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
== Moonlight Notes == == Components ==
Line 5: Line 5:
== Runtime Profiles ==
Line 7: Line 8:
== Issues ==
=== DFSG ===
Line 8: Line 11:
Line 11: Line 15:
Line 17: Line 22:
=== Licensing ===
Line 19: Line 25:
=== Codecs ===
Line 21: Line 28:
== debian-multimedia moonlight == == Debian-Multimedia Moonlight Package ==
Line 23: Line 30:

Moonlight for Debian

Components

Moonlight consists of a "core" library, which supposedly functions with any plugin-capable browser, plus "bridge" libraries which are per-browser helpers (required for embedded Moonlight instances to get nay access to page click events, and so on). Only two bridges exist currently, for FF3 and FF2, but it's not clear whether that's a real FF requirement or a requirement on the underlying XUL 1.9/1.8.This problem is simpler on Debian where only XUL 1.9 is used.

Runtime Profiles

Moonlight can be compiled with support for Silverlight 1.0, and Silverlight 2.0 profiles. With only the 1.0 profile enabled, Moonlight is essentially a simple C plugin (i.e. it has no build or runtime dependencies on Mono). The 2.0 profile, conversely, requires Mono 2.0 to build, and makes use of some libraries (which we are likely to symlink rather than let Moonlight have its own copy).

Issues

DFSG

The upstream tarball must be +dfsg'd for use. It contains two binary DLLs:

  • test/harness/test-runner/NDesk.Options.dll
  • test/harness/test-runner/MySql.Data.dll

And it contains four copies of the Silverlight.js file which is non-free and unmodifiable (as per the Microsoft Silverlight SDK 1.0):

  • test/xaml/Silverlight.js
  • test/xaml/clock/Silverlight.js
  • test/xaml/enums/Silverlight.js
  • test/xaml/fullscreen/Silverlight.js

There is no loss of package functionality by removing the above files, or indeed, the entire test harness.

Licensing

There is also a problem with the current 0.8.1 upstream tarball - the LICENSE file is missing, but is included when checking out 0.8.1 from upstream SVN.

Codecs

Finally, multimedia functionality is currently provided by linking against FFmpeg (libavcodec). There is no problem, including no need for rebuilding, if that libavcodec1d package is Free (i.e. in the distro) or 'Enhanced' with questionably legal content (e.g. debian-multimedia or Medibuntu) - and WMV content plays fine with the Free package.

Debian-Multimedia Moonlight Package

There is a Moonlight package provided by the popular third party debian-multimedia repository, with packaging work by Christian Marillat. This package contains the following problems:

  • Binary DLLs, and Silverlight.js files, remain
  • Core plugin is not kept distinct from bridge libraries (not a problem for Debian per se, but when more bridges are written for Webkit et al, this could be important)
  • debian/links seems to have made some fairly haphazard links from the package install directory to a few browsers' plugins directories. Is there a centrally parsed plugins folder for Debian Xulrunner apps? Ubuntu seems to use /usr/lib/xulrunner-addons/plugins/ across every 1.9 browser, it's not clear what Debian does or what either does for 1.8
  • Hard browser dependencies need to be made more liberal (iceweasel (>= 3.0.0) is wrong if the package is making links for iceape and mozilla too). This also benefits Ubuntu, which has firefox but not iceweasel.

  • A tip from the Ubuntu Mozilla team, which may not apply to Debian: the custom debian/control fields Xb-Npp-Applications, Xb-Npp-?MimeType and Xb-Npp-Name are used for integration between the package manager and Firefox's "search for plugin" function - these are well worth including, even if Debian is behind the curve on support. See gnash source package in Ubuntu.