Just after the Mono 3.0 release was announced I started working on Debian packages and after a couple of days of hard work I already have some preview packages for you.

The preview packages are currently limited to the AMD64 architecture but can be installed on Debian/Testing (Wheezy), Debian/Unstable (Sid) and Ubuntu/Quantal (12.10). After these preview packages have received some successful feedback (please leave feedback via comments!), I will upload them to Debian/Experimental.

In case you are shocked why I have packages in just 8 days after the official Mono 3.0 release, there are 3 factors that play a big role:

  1. New packaging workflow
  2. Downstream patches are management in git branches
  3. Release Early, Release Often: I no longer port and test every patch very carefully (especially with architecture specific patches), instead I port them with my best knowledge and upload them to debian.meebey.net and/or Debian/Experimental and use that as test ground. If regressions happen, let them happen, and make further uploads to address them.
  4. New packaging style
  5. Starting with my Mono 2.10 packages, each library has it's own package, which simplifies packaging.
  6. Sponsored packaging
  7. As my employer needs Mono packages for an upcoming software project, I was granted to work on Mono packages in worktime.

Install instructions

OBLIGATORY WARNING: DO NOT USE THESE PREVIEW PACKAGES ON PRODUCTION SYSTEMS NOR BLAME ME IF YOUR MONO SOFTWARE NO LONGER WORKS!

Add this line to your /etc/apt/sources.list file:

deb http://debian.meebey.net/experimental/mono /

Now update the APT database and install mono-complete from that repository:

apt-get update
apt-get install mono-complete

UPDATE: Some people reported issues with xsp4 on Mono 3.0 that look like this:

An exception has occurred while generating HttpException page:
System.NullReferenceException: Object reference not set to an instance of an object
  at System.Web.Util.HttpEncoder.GetCustomEncoderFromConfig () [0x00000] in <filename unknown>:0
  at System.Lazy`1[System.Web.Util.HttpEncoder].InitValue () [0x00000] in <filename unknown>:0

I could track these issue down to an too old XSP version. The issue can be solved by building XSP from the git repository. This was also the reason I couldn't upload the preview packages to the official repositories.

UPDATE2: I have updated the debian.meebey.net repository with Mono 3.0.6 packages. An upload to Debian/Experimental and Ubuntu/Raring will happen very soonish as promised. The final packages for official inclusion need updated copyright information and library versioning as defined in the Debian Policy and Debian CLI Policy. Have fun Mono 3.0.6ing!