KGeoTag: Difference between revisions

From KDE Community Wiki
(Initial commit with build instructions)
 
(Added release steps)
Line 75: Line 75:


This is also possible after having already built the sources.
This is also possible after having already built the sources.
== KGeoTag release steps ==
* A few weeks before the release, announce a string freeze to the i18n team via <code>[email protected]</code>.
* Don't forget to <code>git pull</code> once again :-)
* Update <code>ChangeLog.rst</code> with release info and add the new version to <code>CMakeLists.txt</code> (in the <code>project</code> call).
* Commit the changes, create a tag and push it:<br/>{{Input|1=<nowiki>git commit -a
git tag -a -m "KGeoTag 1.1.0 released" v1.1.0
git push
git push --tags</nowiki>}}
* Create a tarball using the [https://invent.kde.org/sdk/releaseme/ releaseme script]:<br/>{{Input|1=<nowiki>git pull
./tarme.rb --origin trunk --version 1.1.0 kgeotag</nowiki>}}
* Upload the tarball and signature file to KDE's FTP server, e. g. via curl:<br/>{{Input|1=<nowiki> curl -T "kgeotag-1.1.0.tar.xz{,.sig}" ftp://upload.kde.org/incoming/
</nowiki>}}
* Use the given link to create a Sysadmin ticket asking to put the files on the mirros.
* Add the new version to [https://bugs.kde.org/ Bugzilla].
* '''Wait until the files actually hit the mirrors :-D''' – You can write a release announcement in the meantime.
* Announce the new release on KGeoTag's homepage. The sources can be checked out from https://invent.kde.org/websites/kgeotag-kde-org/.
* Announce the release on <code>[email protected]</code> and <code>[email protected]</code>.

Revision as of 09:20, 16 October 2021

This is about KGeoTag, the stand-alone KDE photo geotagging program.

Building KGeoTag from sources

Getting the sources

When working on KGeoTag, you may want to checkout the git sources. KGeoTag's repository can be found on KDE Invent. To clone the sources, simply run

git clone https://invent.kde.org/graphics/kgeotag.git

or, with write access (if you already have a KDE Developer account):

git clone [email protected]:graphics/kgeotag.git

Building the sources

The build process is quite straightforward. It's a "normal" cmake build. So this essentially strips down to (of course inside the source directory):

mkdir build
cd build
cmake ..
make

You may want to use the Ninja build system, in this case you have to use:

mkdir build
cd build
cmake -G Ninja ..
ninja

A common approach is to start as many concurrent build processes as you have CPUs. So for a 4-core CPU, you may want to run

make -j4

or

ninja -j4

respectively.

A good recommendation for development is to create a "Debug" build. This way, you get better (or useable at all) backtraces in case of a crash if you run KGeoTag with a debugger (like gdb), and you get extra warnings whilst compiling. To enable a Debug build, invoke cmake like so:

cmake -DCMAKE_BUILD_TYPE=Debug ..

Running the compiled sources

You don't have to install KGeoTag (neither system-wide, nor locally) to be able to run it. The executable file will end up at bin/kgeotag inside your build directory.

There's only one thing to take care of: If you don't have a system-wide installation of KGeoTag, the program can't find the KXMLGui menu definition that resides in kgeotagui.rc. Simply link it to ~/.local/share/kxmlgui5/kgeotag/kgeotagui.rc, and you're done (also, changes you may want to do to this file will be considered immediately).

Installing the compiled sources

This is as simple as a

make install

or

ninja install

respectively. For this case, you have to be root, so either be root or prepend a sudo on distributions that use this concept.

Alternatively, you can define a installation target inside a local prefix to keep all inside your home directory. You have to tell cmake about the changed prefix, e. g. by running

cmake -DCMAKE_INSTALL_PREFIX=~/.local

This is also possible after having already built the sources.

KGeoTag release steps

  • A few weeks before the release, announce a string freeze to the i18n team via [email protected].
  • Don't forget to git pull once again :-)
  • Update ChangeLog.rst with release info and add the new version to CMakeLists.txt (in the project call).
  • Commit the changes, create a tag and push it:
    git commit -a
    git tag -a -m "KGeoTag 1.1.0 released" v1.1.0
    git push
    git push --tags
  • Create a tarball using the releaseme script:
    git pull
    ./tarme.rb --origin trunk --version 1.1.0 kgeotag
  • Upload the tarball and signature file to KDE's FTP server, e. g. via curl:
     curl -T "kgeotag-1.1.0.tar.xz{,.sig}" ftp://upload.kde.org/incoming/
    
  • Use the given link to create a Sysadmin ticket asking to put the files on the mirros.
  • Wait until the files actually hit the mirrors :-D – You can write a release announcement in the meantime.