How can I help with Freevo Development?
There are a number of ways you can help. The most obvious one is to work on features that you'd like to see implemented. Read the WishList (user ideas, roadmap) and mailing list archives to see what has been said before about specific features. Please read the section on patches below before you submit anything.
We also need help from people on external programs. Please read HelpNeeded for Freevo 2.0 for details. You can also help by updating the user documentation in this wiki and answering questions from other users on the mailing lists or help with translations (see Translations).
Kaa modules (required by Freevo) and Freevo are hosted on GitHub.
- Kaa modules used by Freevo 1:
git clone git://github.com/freevo/kaa-base.git git clone git://github.com/freevo/kaa-imlib2.git git clone git://github.com/freevo/kaa-display.git git clone git://github.com/freevo/kaa-metadata.git
- Freevo 2 uses all the modules above, plus:
git clone git://github.com/freevo/kaa-beacon.git git clone git://github.com/freevo/kaa-epg.git git clone git://github.com/freevo/kaa-candy.git git clone git://github.com/freevo/kaa-popcorn.git git clone git://github.com/freevo/kaa-webmetadata.git
- The current development branch (freevo-1.8.x) for freevo-1.x is available at:
git clone git://github.com/freevo/freevo1.git
- Freevo2 (the next big development step):
git clone git://github.com/freevo/freevo2.git
Test Installation of Freevo 1 (moved)
Note: We know our rules place a burden on you, but rest assured that maintaining a big and complex software project is even harder, so please accept our rules. We cannot afford to spend our time fixing buggy, broken or outdated patches.
Having said that, we also appreciate your help of course!
- Always make patches against the subversion version. The main website describes how to check out subversion. We do not accept patches for releases or outdated subversion versions.
Make unified diffs (use diff -Naur)
- Check out a fresh copy of Kaa and freevo from the repositories (see above)
Outside run svn diff freevo > xmms_playlists.patch
Test your patch! cd freevo ; patch -Np1 -i ../xmms_playlists.patch
Make sure the patch is clean! Common mistakes are patches that include changes to local_conf.py.
- Test the functionality of your patch. We'll refuse it if it breaks something, even if it extends other features!
Read your patch. We'll refuse it if it doesn't follow the CodingStandard. Pay particular attention to using spaces, not tabs.
Comment parts that need it (tricky side-effects etc). Include module and function docs using """Comment""" below each function etc.
- Include documentation for new/improved features in the Wiki format. After the patch is accepted you are expected to add the docs to the Wiki and keep it updated.
Add your patch to the Freevo Tracker
Describe in a few sentences what you change and why. If you made independent changes, try to send them as separate patches. The Summary line is for a short description on the patch and the Detailed Description box is to describe in a few sentences what you change and why. If you made independent changes, please submit them as separate tracker items.
- Submitting patches directly to the freevo-devel mailing is not such a good idea as attachments are sometimes converted to DOS format, and will not apply, and they can be lost in the other messages.
- You should receive a response to your patch within a week or so. If not, please post a polite reminder in the tracker item or to the freevo-devel mailing list!
If you are not using subversion version of Freevo and would still like to submit a patch, it is possible to supply a unified diff by diff -Naur path/to/original-file path/to/changed-file > /path/to/my.patch, where path/to/files can also be directories to include a patch for multiple files. It is best executed from the directory containing the freevo directory.