Contribute

Guilhem BONNEFILLE Rob Norris Greg Troxel lixuz

Viking is an open-source project and so there are many ways to contribute.

Code

Viking use Git as version control system. As Git is a distributed version control system, you can hack your own version of Viking.

Translations

You can send patches against current Git repository.

We also use launchpad in order to offer a web interface to translators. Check the Viking's translation service. These translations are synchronised once per release.

Bug report

Crash

If Viking crashes, it is very helpful to send a backtrace and the steps to reproduce the problem to the developers, to help them diagnose and repair the problem. To do this for Unix like operating systems:

  1. Obtain the Viking source and uncompress if necessary.
  2. Run the configuration scripts as necessary (./autogen.sh and/or ./configure) - Also see source code for more detail
    1. NB A more complete backtrace will be produced when the default code optimization is turned off. Set the CFLAGS environment variable to '-g' (e.g export CFLAGS=-g) before running the configuration scripts. Or edit the resultant src/Makefile and change the line like 'CFLAGS=-g 02' to 'CFLAGS=-g'
  3. Compile as normal:

    make

  4. In the src directory do:

    $ gdb ./viking

or full more detailed output one can also show debugging (-d) and/or verbose (-V) messages

$ gdb --args ./viking -dV
  1. Type "run" at gdb prompt to start running viking.

    (gdb) run

  2. Do what it takes to make Viking crash (watch for message "Program received signal SIGSEGV, Segmentation fault." from gdb output)

  3. type "bt" at gdb prompt to get the backtrace on screen.

    (gdb) bt

  4. Copy/paste the output of "bt" and email to viking-devel.

  5. Type "quit" to exit gdb.

    (gdb) quit

  6. Include other pertinent information to enable others to reproduce/understand the problem such as the where and which version the source was obtained from (SourceForge tarball 1.1, SourceForge git master clone, github clone <user> etc...) and your operating system.

Contributor's Repositories

As Viking uses Git as source code repository, anybody is free to clone and publish their own Git repository to share changes.

Here is a list of some known repositories. These are forks in the git sense, but generally intended to be merged back into the main repository. This list is open: declare yourself on the mailing-list in order to be listed here.

Preferred Code Contribution Methods

Since the project uses git for source control, patches that utilize git (especially for patch sets) are preferred in this order:

  • Commits pushed to a publically accessible git host (e.g. GitHub, Gitorious, etc...)
    • This enables commits to be easily managed such as pulling, merging or cherry-picking
  • Email git diffs to the dev mailing list - use 'git format-patch' method
  • Plain diffs can be emailed to the dev mailing list and/or stored in the SourceForge Patch Tracker for Viking.

Related

Main Wiki: Development
Main Wiki: Main_Page
Main Wiki: Source_code
Main Wiki: Using_git_to_hack_on_and_contribute_to_Viking

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks