Developers
Tomboy is open source software licensed by the LGPL. We welcome anyone to peruse the code, offer suggestions, submit corrections, etc. However, submitting your ideas/code/patches will not guarantee that we'll include them automatically. Following the guidelines given on this page will help your case.
1. Windows or Mac Developers
The following notes are geared for Linux. See Windows Build Notes for Windows-specific instructions and Mac Build Notes for Mac-specific instructions.
2. Getting the Source Code
Tomboy's source code is stored in Git. To get a working copy of the latest available source code, type:
git clone https://github.com/tomboy-notes/tomboy
If you have a GitHub acccount and intend to contribute changes, use the following:
git clone https://[login]@github.com/tomboy-notes/tomboy
Browse the code online at https://github.com/tomboy-notes/tomboy.
3. Compiling
You'll need a bunch of development packages installed.
NOTE that as of version 1.15.8 and newer, building with default version of Mono on Ubuntu 14 and 16 (the latter has 4.2.x) is not working due to old versions thereof. They don't contain definitions for TLS1.1 and 1.2 protocol, which are essential these days as SSLv3 and TLS1.0 (the only supported by Ubuntu's Mono version) are vulnerable to attacks and shouldn't be used. The only viable workaround aside from asking Ubuntu fix that is to install Mono directly from the Mono project repo, using these instructions. We haven't specifically looked for when those definitions became available, but at least Mono versions 4.4.x work ok.
# if you're using Ubuntu or Debian: sudo apt-get build-dep tomboy
If you receive an error message, you may need to enable at least one source repository. From the Control Center -> Software & Updates -> Ubuntu Software, tick "Source Code" or directly edit the /etc/apt/sources.list file.
# in addition you need the below packages sudo apt-get install autoconf-archive yelp-tools # if you're using openSUSE, make sure the Source repository # is enabled in YaST, then: sudo zypper si -d tomboy # install autoconf-archive with macros we use: sudo zypper install autoconf-archive
Then, you'll run the following in the tomboy/ directory:
mkdir -p /home/[username]/stage/tomboy ./autogen.sh --prefix=/home/[username]/stage/tomboy make make install /home/[username]/stage/tomboy/bin/tomboy
(Replace [username] with your user name)
Alternatively, you can omit the make install step and run Tomboy without installing it:
make run
4. Autogen Options
Set the build directory for Tomboy. This allows you to install Tomboy into a non-default directory.
--prefix
Installing to a prefix in your home directory (instead of /usr) is nice because then you don't have to overwrite your system Tomboy, and you don't have to use your root password when you run make install.
5. Current Bug List
6. Submitting Patches
Before submitting patches, please read the following:
HowToSubmitPatches (needs to be updated for Git, see below)
7. New Authors
We welcome new Tomboy authors with open arms. There are some things to keep in mind though:
- Committing to git
Run `git pull --rebase` before you push to get any changes that could have happened in the meantime. Fix and adjust your code as necessary.
Follow Git/CommitMessages when writing your commit message.
Use standard fork- and feature-branch-based GitHub workflow. See details in their guide for getting started with git.
- When in doubt, ask one of the other Authors/Maintainers for help