Building the latest Mono and MonoDevelop on OBS   December 4th, 2013

In this blog post, I want to describe some of the workarounds I need to do to release the latest mono and monodevelop packages on OBS.

For more details on this project from a using perspective, see:
Easy installation of current Mono and MonoDevelop for all major Linux Distributions

The download of the source files is specified in the _service file, eg. https://build.opensuse.org/package/view_file/home:tpokorra:mono/mono/_service?expand=1

The problem is that sometimes the tarballs are not available on http://download.mono-project.com/sources/mono or http://download.mono-project.com/sources/monodevelop, especially for the Alpha releases.

As long as you can find a tagged release at Github, you can build your own tarball (eg. on CentOS):

Preparations:

wget -O /etc/yum.repos.d/home:tpokorra:mono.repo http://download.opensuse.org/repositories/home:tpokorra:mono/CentOS_CentOS-6/home:tpokorra:mono.repo
yum install git-core automake autoconf libtool tar which gcc-c++ gettext mono-opt bzip2

For Mono:

git clone https://github.com/mono/mono.git
cd mono 
git checkout -b tarball mono-3.2.5
./autogen.sh
. /opt/mono/env.sh
make dist

And for MonoDevelop:

git clone https://github.com/mono/monodevelop.git
cd monodevelop
git branch tarball monodevelop-4.3.0
git checkout tarball
. /opt/mono/env.sh
./configure
make dist

I have uploaded the resulting tarballs to http://download.pokorra.de/mono/tarballs/, and my _service files are now referencing that location if the official source directory is missing the tarball or the tarball is broken.

Tags: , , ,
This entry was posted on Wednesday, December 4th, 2013 at 6:51 am and is filed under Software Development. You can follow any responses to this entry through the RSS 2.0 feed.Both comments and pings are currently closed.

No Responses