darktable - install

If you like to install the Darktable git you have to install some applications as root from a terminal. Here is the recipe.

sudo -s   (you have to be on root)

apt-get install xsltproc poxml fop poedit openexr

apt-get install intltool libatk1.0-dev libbabl-0.0-0-dev libgegl-0.0-dev libcairo2-dev libexiv2-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libglade2-dev libgomp1 libgtk2.0-dev libjpeg62-dev libtiff4-dev liblcms2-dev liblensfun-dev libpng12-dev libsqlite3-dev libstdc++6-4.4-dev libxml2-dev libopenexr-dev libcurl4-gnutls-dev libgphoto2-2-dev libdbus-glib-1-dev libgnome-keyring-dev fop

apt-get install libtool git-core cmake libflickcurl-dev

Note. I got a message "not found" in oneiric see: https://launchpad.net/ubuntu/oneiric/i386/gtk2-engines-pixbuf/2.24.6-0ubuntu5

after this you have to install Little CMS, this is an open source color management application

git clone http://github.com/mm2/Little-CMS.git

cd Little-CMS && ./configure --prefix=/usr && make -j5 && sudo make install

Download the Darktable Git:

git clone git://darktable.git.sf.net/gitroot/darktable/darktable

Installation

cd darktable && mkdir build && ./build.sh  &&  cd build  &&  make install

Now you can start darktable from a terminal by giving command:

/opt/darktable/bin/darktable

Updating the Git

Git pull

Deleting the old Git 

rm -R darktable

Try another branch

git branch -a  (shows local available branches, -r shows remote branches)

sudo apt-get install cmake-curses-gui  (needed application to enable some options like experimental plug-ins)

cd darktable/build && ccmake ..  (e.g. and enable turn experimental plug-ins)

git checkout post-0.9 (switch from master branch into post-0.9, after this you have reinstall by ./build.sh  &&  cd build  &&  make install )

git checkout master (switch to master branch)

increasing the speed

/opt/darktable/bin/darktable-faster --library ~/.config/darktable/gitlibrary.db

Darktabla database and mipmaps

can be found here:   /home/ger/.config/darktable    and here  /home/ger/.cache/darktable

 
Admitting a new landcode (be on root)

cd darktable/doc/usermanual/po && gksu gedit LINGUAS

add file LINGUAS with the new landcode e.g. nl and save and close the file

make nl

Creating the manual

cd darktable/build && "make darktable-usermanual"
or "make darktable-usermanual-nl" for your localized manual

Updating translation

Use Poedit for this. Create first a pot file.

cd darktable/po/ && intltool-update -pot

Open with Poedit the *.po file and choose catalogus > bijwerken pot bestand.
Standard a *.mo file will be created. Rename this into darktable.mo so you can test it local

cp Bureaublad/darktable.mo /opt/darktable/share/locale/nl/LC_MESSAGES/

Remove the draft by:

rm -i /opt/darktable/share/locale/nl/LC_MESSAGES/darktable.mo

Making a patch

Werk mee aan verbeteringen, maak je eigen patch door de broncode te vergelijken met een  eigen, nieuwe, verbeterende code.
Inleidend; de opdracht:

diff -u nl.po nl_update.po > nl.patch

vergelijkt  nl.po met nl_update.po en slaat dat op als nl.patch. Deze patch kan worden toegepast met de opdracht:

patch nl.po < nl.patch

nl.po  wordt dan gewijzigd met de inhoud van nl.patch.
Deze patch kun je ook weer ongedaan maken door de patch negatief/omgekeerd toe te passen:

patch -R nl.po < nl.patch

NB. De flag -R staat voor remove. Lees de uitgebreide handleiding met de volgende opdrachten.

man patch
man diff

Als je met een tekstverwerker de patch open zie je een zoiets als wat hieronder staat:
een - teken wil zeggen we verwijderen deze invoeren. Een + teken wil zeggen dit wordt toegevoegd.
Als er een spatie voor staat wil dat zeggen we doen niets.
@@ -2025,7 wil zeggen vanaf regel 2025 gaan we 7 regels wijzigen.

Making a Darktable patch, be on root:

sudo -s

Modify for instance po/nl.po save it into git. If necessary, change file rights by

chmod 777 po/ en chmod 777 po/nl.po.

Or copy your modified file into git by

cp Bureaublad/nl.po darktable/po/

Now you can make the patch:

git config --global user.name "Ger Siemerink"
git config --global user.email This email address is being protected from spambots. You need JavaScript enabled to view it.
git add po/nl.po
git commit -m 'update of dutch translations'
git format-patch origin/master

you can test a patch in  Git by

patch -p1 < naam.patch

Crash rapporteren

Soms crashed een programma. Ook bij Darktable komt dit voor. Om nu de programmeurs te helpen kun je een rapportage van een crash mailen.Daarvoor moet eerst een extra stukje software zijn geïnstalleerd. Vanuit de synaptic pakketbeheerder in Ubuntu installeer je darktable-dbg. Na installatie start je vanuit een terminal darktable op met:

gdb darktable

Typ vervolgens na (gdb) een r van run.
Darktable zal opstarten. Zodra het vastloopt of om onbekende reden afsluit keer je terug naar de terminal.
Typ nu bt Vervolgens wordt er  een rapportage gemaakt. Die rapportage kun je kopiëren en in een tekstbestand plakken.
(gdb) sluit je af met quit om daarmee terug te keren naar de oorspronkelijke terminal weergave.
Vervolgens mail het bestand naar www.sourceforge_darktable

perfomance

darktable -d perf

Trouble shooting