Programování Wammu a Gammu

Gammu je napsáno v C a Wammu v Pythonu, takže pro programování budete potřebovat znalost alespoň jednoho z těchto jazyků. Pro porozumění kódu se vám oravděpodobně bude hodit vývojářská dokumentace. Pokud chcete vědět, co se v budoucnu stane v Gammu a Wammu, podívejte se na plán vývoje.

Verzovací systém

V současné době používáme Git pro správu revizí. Umožní vám vytvořit si vlastní vývojovou větev a pak nám odeslat patche nebo žádost o začlenění s vašimi změnami.

Repozitáře Git jsou hostovány na serveru Gitorious v projektech Wammu a Gammu. Na jejich stránkách si můžete prohlížet kód nebo si zklonujte repozitář a můžete s nimi pracovat na vašem disku. Pro klonování kódu Wammu o Gammu použijte následující příkazy:

# For Wammu sources:
git clone git://gitorious.org/wammu/mainline.git wammu

# For Gammu sources:
git clone git://gitorious.org/gammu/mainline.git gammu

# For Wammu website:
git clone git://gitorious.org/wammu/website.git wammu_web

Alternatively (if your firewall blocks git protocol), you can access repositories over http, just replace git://gitorious.org/ with http://git.gitorious.org/. All repositories are also mirrored to SourceForge.net and repo.or.cz (Gammu and Wammu).

Návod pro kompilaci a instalaci je obsažen v souboru INSTALL.cs jak v Gammu tak i v Wammu. Pro kompilaci Gammu budete potřebovat CMake.

Snapshoty zdrojového kódu

If you for some reason do not want to use version control system, you can always download fresh snapshots of current code. They are available on our download server - for Gammu and Wammu. These snapshots are update several times a day, so they should always contain up to date copy of the code.

Posílání patchů

We really do not care much about the way you deliver us patches. However the easiest thing is you use git format-patch, which allows us to easily include your changes. If you do not use git, any unified diff will serve it's purpose also very well. You can send patches to mailing lists or to the bug tracker.

Testování

Gammu comes with quite comprehensive testsuite, which is being run daily on some platforms. You can find results on CDash. If you have computer that runs all the time, you are very welcome to run the testsuite and contribute to the quality of the code. To run the testsuite, you basically just need checked out sources and run following commands every night:

cd /path/to/gammu
git pull
cd build-dir # eg. build-configure
make NightlyMemCheck # or just Nightly if memory checking tool is not available on your platform

Výsledky jsou automaticky nahrány na naástěnku a vývojáři jsou informováni o všech případných chybách, které v testech nastanou.