diff --git a/content/contribute/_index.md b/content/contribute/_index.md index 0676a9356..315669a81 100644 --- a/content/contribute/_index.md +++ b/content/contribute/_index.md @@ -1,157 +1,157 @@ --- date: "2017-03-21" title: "Contribute" author: "digiKam Team" description: "Contribute to the digiKam project" category: "contrib" aliases: "/contrib" menu: "navbar" --- The easiest way to contribute is to spread the word about digiKam. We also encourage you to test digiKam, report bugs, and submit feature requests. You might also want to subscribe to the [digikam-users](https://mail.kde.org/mailman/listinfo/digikam-users) mailing list and help other digiKam users with their questions and problems. ## Reporting Bugs and Submitting Feature Requests Use the bug tracking system for all bug reports and new feature requests. Take a look at the [support page](/support) for further information. ## Freezes and Other Run-Time Issues ### Linux host Just run digiKam from the terminal command line to capture the text traces generated by the application. Note that you need to turn on before all debug traces from digiKam with QT_LOGGIN_RULES environment variable. ``` - export QT_LOGGING_RULES=\"digikam*=true\" + export QT_LOGGING_RULES="digikam*=true" digikam ``` ### Windows Host On Windows, application text output is not sent to the terminal. You need to install [DebugView tool](http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) to capture text traces generated by digiKam. ### MacOS Host As under Linux, run the application from a terminal. digiKam executable is installed in `/opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam`. Just start it from the command line to view text traces. Note that you need to turn on before all debug traces from digiKam with QT_LOGGIN_RULES environment variable. ``` - export QT_LOGGING_RULES=\"digikam*=true\" + export QT_LOGGING_RULES="digikam*=true" /opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam ``` ## Dealing with Crashes in digiKam ### Linux host In case digiKam crashes, you can provide a backtrace using GDB debugger. digiKam needs to be compiled with all debug info; otherwise the backtrace will be useless. If you installed digiKam using the packages provided by your distribution, make sure to install the corresponding debug package. [The debugging guide](https://community.kde.org/Guidelines_and_HOWTOs/Debugging) provides further information on debugging. If you use a regular binary, i.e. no AppImage, use the following command to get into GDB and start digiKam: ``` gdb digikam (gdb) catch throw (gdb) run ``` If you use an AppImage bundle, replace the name of the AppImage with the one you have and run: ``` ./digikam-6.2.0-x86-64.appimage debug ``` Instructions how to get into GDB are below. When you are in debugger and digiKam crashes, you will get to the GDB command prompt. If digiKam "just" freezes, press ctrl-c to get to the GDB prompt. Once you are at the prompt, use the "bt" command, copy the backtrace and exit GDB as shown here: ``` (gdb) bt (gdb) _the backtrace is here_ (gdb) quit ``` ### Windows Host The binary installers comes with debug symbols and a [DrMinGw crash course handler](https://vroby.ddns.net/Public/sdlBasic/MinGW/doc/drmingw/drmingw.html), which will generate a file backtrace in you home directory as below: ``` C:\Users\_user_name_\AppData\Local\digikam_crash.log ``` Just replace "_user_name_" with your Windows loggin account. ### MacOS Host Mac users need to install [Apple XCode development tool](https://en.wikipedia.org/wiki/Xcode) which integrate **lldb** debugger. Run it as follows to get a crash backtrace from the debugger: ``` lldb /opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam ``` ## Checking for Memory Leaks To check for memory leaks in digiKam under Linux, use the [valgrind](http://valgrind.org) tool. Run the command below, and report the trace to developers: ``` valgrind --tool=memcheck --leak-check=full --error-limit=no digikam ``` ## Submitting Patches To fix digiKam source code, you need to checkout current implementation from git following [intructions here](/download/git). Before you submit patches, please read the [HACKING section](https://www.digikam.org/api) from online API documentation. Send patches against the current version of the code (latest git/master revision) and not the stable release or an old beta version. Patches can be created using the following command: ``` git diff HEAD > mydiff.patch ``` The patches must be attached to a new entry in [Bugzilla](https://www.digikam.org/api/index.html#sourcedirs). Please do not use mailing lists or private mail. ## Translations If you want to contribute to the digiKam internationalization effort, contact the [translation teams](http://l10n.kde.org/). Also, please read the [Translation HOWTO](http://l10n.kde.org/docs/translation-howto/) to know the workflow used by translators. ## Documentation Help with digiKam documentation is always welcome. For all documentation-related matters, write to [digiKam-devel mailing list](https://mail.kde.org/mailman/listinfo/digikam-devel). Our [documentation](http://docs.kde.org/development/en/extragear-graphics/digikam/index.html) is based on the [docbook format standard](http://l10n.kde.org/docs/doc-primer/index.html). The [README](https://invent.kde.org/kde/digikam-doc/blob/master/README) file explains in detail how structure the documents, take screenshots, etc. It's also possible to submit additions and changes in the ASCII format. To do this, create a new Bugzilla entry with a patch against git/master code, so it can be incorporated in the documentation. ## Pictures Samples We need RAW, TIFF, and JPEG files from different manufacturers (Canon, Nikon, Sony, Olympus, Sigma, etc.). We use these files to analyze embedded metadata to improve camera support in digiKam. We also need sample files produced by different applications (including other platforms and proprietary software like Adobe Photoshop) that include IPTC/XMP metadata. This can help us to improve compatibility with other tools and implement automatic import of these data into the digiKam database. ## Splash Screens and Background Photo As a photographer, you can submit your best photos for use as digiKam splash-screens and background photo. Take a look [at this page](http://www.digikam.org/splashcreens) for further information.