Development
The developers of Transmission often browse the forums, and are almost always idling on IRC. We currently occupy an IRC channel (#transmission) on the Freenode network. Feel free to stop by IRC for some real-time help with building, contributing to the project or debugging. Of course, our forums offer the largest exposure for issues and support.
Requirements for building
-
Mac OS X
-
Mac OS X (10.5 and later) users need Xcode 3.0 or later, with the Mac OS X 10.5 SDK installed.
-
GTK
-
A version of the `getopt' library with getopt_long(). Most systems already have this.
-
intltool 0.23 or later
-
gettext 0.14.1 or later
-
OpenSSL 0.9.8 or later. (See note)
-
GTK+ 2.6 or later. (See note)
-
Note: if installing OpenSSL or GTK+ from a package manager, you'll also need to install their corresponding development packages. These are usually named $PACKAGENAME-devel or $PACKAGENAME-dev, depending on which distribution and/or repository you use.
-
BeOS
Getting the Source
If you'd like to stay on top of Transmission's development, our source code is available here:
svn co svn://svn.m0k.org/Transmission/trunk Transmission
To access this on OS X, you must install
SVN, then open a Terminal window and type the above command.
Transmission is written entirely in C, except for the Mac OS X frontend, which is written in Objective-C.
To view the current status of our source code without downloading it all, feel free to check out our
Trac. You can also submit feature requests, patches and bugs via the
Trac.
Building the Source
Building a Transmission release in the command line:
Example:
tar xvjf transmission-1.20.tar.bz2
cd transmission-1.20
./configure -q && make -s
su (if necessary for the next line)
make install
On Mac OS X, simply open the Transmission Xcode project file and click 'build'.
Developmental Builds and Source
Daily OS X builds from the SVN repository are available thanks to Dhruv Kalra and pea. Be sure to get the latest revision. (
Change Log)
∗ Please note the daily builds may not be stable, and could be harmful to your system. Use them with care. ∗
Identifying Transmission from a tracker or another client
Versions of Transmission use the format MAJOR.MINOR‹MAINTENANCE›, with MAJOR between 0 and 99, MINOR and MAINTENANCE between 0 and 9
PeerID format
Starting with 0.80 instead of XXYZ for major, minor and maintenace, it's XYZB for major, minor, maintenance and development builds
For instance, 0.80 IDs start with '-TR0800-' (0.80) for releases, and '-TR080Z-' (0.80+) for development builds.
User Agent
Since 0.4, tracker requests include a User-Agent field: 'Transmission/MAJOR.MINOR‹MAINTENANCE›'.
For instance, Transmission 0.70 sets 'User-Agent: Transmission/0.70'.