---
title: "FreeBSD GNOME Project: GNOME Development Branch FAQ"
sidenav: gnome
---

include::shared/releases.adoc[]

= FreeBSD GNOME Project: GNOME Development Branch FAQ

== Contents

* <<q1,What are development versions of GNOME all about?>>
* <<q2,Should I track development versions?>>
* <<q3,How do I obtain development versions of GNOME stuff?>>
* <<q4,How do I keep everything up-to-date and in sync?>>
* <<q5,What should I do when something does not work?>>
* <<q6,How can I help with the development versions?>>
* <<q7,What is the current state of development GNOME on FreeBSD>>

== Full Text

[[q1]]
* *What are development versions of GNOME all about?*

The development versions are the packages released by the GNOME project that will eventually become the stable (release) versions. There are three working branches of GNOME development:

1. *STABLE* - The applications and libraries in the stable branch are considered "release quality," and are the versions that appear in the FreeBSD ports tree. The current stable version is GNOME {gnomever}.

2. *DEVELOPMENT* - In between stable releases are development releases. Traditionally, GNOME development releases have odd minor numbers (e.g. 2.3, {gnomedevelver}, 3.(n*2)-1). Development releases will become stable releases, and move from alpha to beta quality during their lifecycle. The development releases need testing by FreeBSD users to minimize the number of surprises when the new stable versions are committed to the FreeBSD SVN tree. This document is about the development branch. At any time the development branch for FreeBSD might be based of a stable GNOME release. However it will be tagged "development" here if it is the version that is work in progress by the FreeBSD GNOME team. The current development branch for FreeBSD is GNOME {gnomedevelver}.

3. *GIT* - Often newer-than-new, the GIT master versions of GNOME applications and libraries are alpha quality, or often completely unbuildable. The FreeBSD GNOME project pays attention to, but does not track the alpha quality code.

[[q2]]
* *Should I track GNOME development versions?*

If you are looking for a stable environment, absolutely not. Please only track the GNOME {gnomedevelver} branch if you wish to help identify bug and improve the FreeBSD GNOME project. You will find little sympathy if a development-quality GNOME application eats your homework.

[[q3]]
* *How do I obtain the development versions of GNOME stuff?*

mailto:marcus@FreeBSD.org[Marcus] maintains a SVN repository where all the development versions of the GNOME components for FreeBSD are housed. Instructions for how to check out the development ports module and how to merge it into the FreeBSD ports tree reside on the entrance page to his SVN repository. Please read carefully the instructions at http://www.marcuscom.com/viewvc/viewvc.cgi/marcuscom/.

During the development cycle, FreeBSD-specific caveats and other useful information will be sent to marcuscom-devel@marcuscom.com. If you are tracking the GNOME development branch, you *must* http://www.marcuscom.com/mailman/listinfo/marcuscom-devel[subscribe] to this list. You should also consider https://lists.freebsd.org/mailman/listinfo/freebsd-gnome[subscribing] to freebsd-gnome@FreeBSD.org.

In order to help with bug reports, be sure to add the following to `/etc/make.conf` so that gdb back traces contain useful information:

....
WITH_DEBUG="yes"
....

GNOME has an excellent guide for getting https://wiki.gnome.org/GettingTraces[useful back traces].

[[q4]]
* *How do I keep everything up-to-date and in sync?*

The short answer is that you need to use the `marcusmerge` script to merge the development tree with the FreeBSD ports tree. The `marcusmerge` script is available http://www.marcuscom.com/downloads/marcusmerge[here], and a man page on using the script is available http://www.marcuscom.com/marcusmerge.8.html[here]. This script will merge the development ports tree into your main ports tree. From there, you can use `portupgrade` or `portmaster` to upgrade from {gnomever} to {gnomedevelver} and stay up-to-date afterwards.

The long answer is that keeping up-to-date with the GNOME development branch is complicated. Sometimes components change in a way that makes `portupgrade` or `portmaster` fail, or causes strange end results. If you plan to track the development branch, it is a good idea to join the http://lists.FreeBSD.org/mailman/listinfo/freebsd-gnome[freebsd-gnome] mailing list, as well as to join the _#freebsd-gnome_ IRC channel on FreeNode (`irc.freenode.net`).

If all of this sounds scary, or you need a desktop that "Just Works," you should stick with the {gnomever} version that is available in the FreeBSD ports tree.

[[q5]]
* *What should I do when something does not work?*

It depends. If you think the problem is truly a bug with the GNOME component, you can report a bug using *bug-buddy* or the GNOME http://bugzilla.gnome.org[Bugzilla] interface. If you think the problem lies in a FreeBSD port, or is FreeBSD-specific, send email to freebsd-gnome@FreeBSD.org, or report the problem on the _#freebsd-gnome_ IRC channel on FreeNode.

Please forward all relevant bug IDs to freebsd-gnome@FreeBSD.org so we can keep track of known issues. Thanks!

[[q6]]
* *How can I help with the development versions?*

Now that work on {gnomedevelver} has started, we need people to install it, and test things. If you are compiling {gnomedevelver} by hand, be sure to build link:../bugging/[debugging symbols]. Package users will have these symbols already.

[[q7]]
* *What is the current state of development GNOME on FreeBSD?*

{gnomever} is the latest version that was merged into the FreeBSD ports tree. Work is currently underway to make {gnomedevelver} stable.
