KPhotoAlbum: Difference between revisions

From KDE Community Wiki
(Mention clang-format and our git hooks.)
(Updated the release steps)
 
(8 intermediate revisions by 3 users not shown)
Line 13: Line 13:


=== Sending Patches ===
=== Sending Patches ===
We use <tt>clang-format</tt> to format our code. Please use out git hooks to prevent formatting problems with your code: {{Input|1=<nowiki>git config core.hooksPath ./dev/githooks/</nowiki>}}
We use <tt>clang-format</tt> to format our code. Please use our git hooks to prevent formatting problems with your code: {{Input|1=<nowiki>git config core.hooksPath ./dev/githooks/</nowiki>}}


We accept patches vie email to our [https://mail.kdab.com//mailman/listinfo/kphotoalbum mailing list] and via [https://phabricator.kde.org/project/view/255/ phabricator]. To use the latter, we recommend using [[Infrastructure/Phabricator#Using_Arcanist_to_post_patches|arcanist]].
We accept patches vie email to our [https://mail.kde.org/cgi-bin/mailman/listinfo/kphotoalbum mailing list] and Merge Requests submitted via [[Infrastructure/GitLab|GitLab]].


=== Translations ===
=== Translations ===


Please contact the [[KDE_Localization]] team. If you need help, you can also write an email to the [https://mail.kdab.com//mailman/listinfo/kphotoalbum mailing list].
Please contact the [[KDE_Localization]] team. If you need help, you can also write an email to the [https://mail.kde.org/cgi-bin/mailman/listinfo/kphotoalbum mailing list].


=== Graphical design, logos, icons, UI improvements ===
=== Graphical design, logos, icons, UI improvements ===


Yes, please! We can always use a helping hand in this department. If you are interested in doing graphical design, or if you can help us with the user interface, please reach out to us on the [https://mail.kdab.com//mailman/listinfo/kphotoalbum mailing list]!
Yes, please! We can always use a helping hand in this department. If you are interested in doing graphical design, or if you can help us with the user interface, please reach out to us on the [https://mail.kde.org/cgi-bin/mailman/listinfo/kphotoalbum mailing list]!


== How to do a release ==
== How to do a release ==


=== Preparing a release tarball ===
* Update <tt>CMakeLists.txt</tt> with the new version number you are just about to tag<br/>{{Input|1=<nowiki>project(kphotoalbum LANGUAGES CXX VERSION 5.8.0)</nowiki>}}


Building a snapshot tar ball is rather straight forward. Install the releaseme building tool and run a command to generate the source package.
* Update <tt>org.kde.kphotoalbum.appdata.xml</tt> with the new version


{{Input|1=<nowiki>git clone git://anongit.kde.org/releaseme
* Update the <tt>ChangeLog</tt> to mark the new release and add the key improvements to the list of changes, if they are not already mentioned in the ChangeLog
cd releaseme</nowiki>}}
To create the source package, run e. g.:
{{Input|1=<nowiki>./tarme.rb --origin trunk --version 5.1 kphotoalbum</nowiki>}}


=== Steps for doing a release ===
* Update <tt>doc/index.docbook</tt> to reflect the new release (if the documentation has been updated)<br/>{{Input|1=<nowiki><releaseinfo>5.8.0</releaseinfo></nowiki>}}


* Update CMakeLists.txt with the new version number you are just about to tag
* Commit the last changes and push them<br/>{{Input|1=<nowiki>git commit -a
git push</nowiki>}}


* Update the ChangeLog to mark the new release and add the key improvements to the list of changes, if they are not already mentioned in the ChangeLog
* Wait for the CI to pass


* Update doc/index.docbook to reflect the new release (if the documentation has been updated)<br />{{Input|1=<nowiki><releaseinfo>4.5</releaseinfo></nowiki>}}
* Tag the new release and push it out<br />{{Input|1=<nowiki>git tag -a -m "kpa 5.8.0 released" v5.8.0
 
* Commit the last changes<br />{{Input|1=<nowiki>git commit -v -a</nowiki>}}
 
* Tag the new release and push it out<br />{{Input|1=<nowiki>git tag -a -m "kpa 5.4 released" v5.4
git push
git push --tags</nowiki>}}
git push --tags</nowiki>}}


* Create a tar ball of the released sources using the instructions on the following section (''kphotoalbum.rb --version 5.4'')
* Create a tar ball of the released sources using releaseme (git clone https://invent.kde.org/sdk/releaseme.git):<br/>{{Input|1=<nowiki>git pull
./tarme.rb --origin trunk --version 5.8.0 kphotoalbum</nowiki>}}


* Upload the created tar ball to the <tt>incoming</tt> directory of upload.kde.org using an FTP client. The current instructions of notifying administrators of the upload are shown when logging in to the FTP server. You create a ticket and provide SHA sums and some other information of the upload.
* Upload the created tar ball to the <tt>incoming</tt> directory of upload.kde.org using an FTP client. The current instructions of notifying administrators of the upload are shown when logging in to the FTP server. You create a ticket and provide SHA sums and some other information of the upload.
Line 56: Line 50:
* Add a new version to Bugzilla (bugs.kde.org, you have to have administrator rights to do this): ''Edit Products → KPhotoAlbum → Add version''
* Add a new version to Bugzilla (bugs.kde.org, you have to have administrator rights to do this): ''Edit Products → KPhotoAlbum → Add version''


* Update the KPA web pages to point to proper source file, you get a link to the mirroring system as when the uploaded tar to KDE FTP server has been processed. The sources of the web page can be checked out from <tt>svn+ssh://svn@svn.kde.org/home/kde/trunk/www/sites/kphotoalbum</tt> via svn.
* Wait for the tarball to hit the mirror servers before telling anybody ;-)
 
* Update the KPA web pages. The sources can be checked out via <tt>git@invent.kde.org:websites/kphotoalbum-org.git</tt>.


* Publish the release information (KPA's web site, mailing lists, distributor's bugtracking system, social media etc.).** Don't forget to post on the kde-distro-packagers mailing list, and make sure to mention any changes in dependencies.**
* Publish the release information (mailing lists, distributor's bugtracking system, social media etc.). Don't forget to post on the kde-distro-packagers mailing list, and make sure to mention any changes in dependencies!


* Create a video of the cool new features and publish it on Youtube. A nice tool for doing so is [http://recordmydesktop.sourceforge.net/ recordmydesktop]. If you uploaded such a video, don't forget to add it to the Videos page on the homepage (cf. the <tt>README_new_video.txt</tt> file).
* Create a video of the cool new features and publish it on Youtube. A nice tool for doing so is [http://recordmydesktop.sourceforge.net/ recordmydesktop]. If you uploaded such a video, don't forget to add it to the Videos page on the homepage (cf. the <tt>README_new_video.txt</tt> file).


* Notify people building the binary packages for different distributions
* Notify people building the binary packages for different distributions

Latest revision as of 13:23, 5 September 2022

The user documentation for KPhotoAlbum is in the userbase wiki. There is also a project page on phabricator.

Active Git branches

  • master
    Current development branch
  • 5.x
    Branch tracked by Neon/stable.
    When master is in stable condition, it should be synced to branch 5.x.

Building KPhotoAlbum

How to contribute

Sending Patches

We use clang-format to format our code. Please use our git hooks to prevent formatting problems with your code:

git config core.hooksPath ./dev/githooks/

We accept patches vie email to our mailing list and Merge Requests submitted via GitLab.

Translations

Please contact the KDE_Localization team. If you need help, you can also write an email to the mailing list.

Graphical design, logos, icons, UI improvements

Yes, please! We can always use a helping hand in this department. If you are interested in doing graphical design, or if you can help us with the user interface, please reach out to us on the mailing list!

How to do a release

  • Update CMakeLists.txt with the new version number you are just about to tag
    project(kphotoalbum LANGUAGES CXX VERSION 5.8.0)
  • Update org.kde.kphotoalbum.appdata.xml with the new version
  • Update the ChangeLog to mark the new release and add the key improvements to the list of changes, if they are not already mentioned in the ChangeLog
  • Update doc/index.docbook to reflect the new release (if the documentation has been updated)
    <releaseinfo>5.8.0</releaseinfo>
  • Commit the last changes and push them
    git commit -a
    git push
  • Wait for the CI to pass
  • Tag the new release and push it out
    git tag -a -m "kpa 5.8.0 released" v5.8.0
    git push --tags
  • Upload the created tar ball to the incoming directory of upload.kde.org using an FTP client. The current instructions of notifying administrators of the upload are shown when logging in to the FTP server. You create a ticket and provide SHA sums and some other information of the upload.
  • Add a new version to Bugzilla (bugs.kde.org, you have to have administrator rights to do this): Edit Products → KPhotoAlbum → Add version
  • Wait for the tarball to hit the mirror servers before telling anybody ;-)
  • Update the KPA web pages. The sources can be checked out via [email protected]:websites/kphotoalbum-org.git.
  • Publish the release information (mailing lists, distributor's bugtracking system, social media etc.). Don't forget to post on the kde-distro-packagers mailing list, and make sure to mention any changes in dependencies!
  • Create a video of the cool new features and publish it on Youtube. A nice tool for doing so is recordmydesktop. If you uploaded such a video, don't forget to add it to the Videos page on the homepage (cf. the README_new_video.txt file).
  • Notify people building the binary packages for different distributions