Bug 370448

Summary: Ktorrent stable tarballs have VERSION_TYPE = bt::DEVEL in ktversion.h, and thus identified as development client
Product: [Applications] ktorrent Reporter: Knut Andre Tidemann <knut.tidemann>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED FIXED    
Severity: normal CC: howl.nsp, nate, prettyvanilla, rdieter, ulatekh
Priority: NOR    
Version: 5.1   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 21.08.0
Attachments: Patch to fix the problem

Description Knut Andre Tidemann 2016-10-11 10:09:30 UTC
Both of these stable tarballs are marked as development versions in ktversion.h.

Is this the intended behavior? As it is not possible to see from the UI that it announces it self as a development version to trackers and some of them do not like development clients.

Reproducible: Always

Steps to Reproduce:
1. Open libktcore/ktversion.h in the 5.0 or 5.0.1 stable tarballs from http://download.kde.org/stable/ktorrent/5.0/

Actual Results:  
VERSION_TYPE is set to DEVEL.

Expected Results:  
I would think VERSION_TYPE should be set to NORMAL in a release.
Comment 1 Pino Toscano 2017-09-15 07:24:33 UTC
Happens with 5.1 as well.

Also, the kt::MINOR and kt::RELEASE variables are outdated.
Comment 2 Pino Toscano 2017-09-15 07:24:44 UTC
*** Bug 383149 has been marked as a duplicate of this bug. ***
Comment 3 howl 2020-04-13 15:28:19 UTC
As Pino said 5.1 still affected, I have changed the version of the bug because I suppouse 5.0 is not going to be solved so let's see if at least 5.1.

5.1.1 identifies itself as 5.1dev.

Even looking at the code in the 5.1.2 tarball someone is not updating the version numbers as release is 1 instead of 2.

The only variable that is getting properly updated is KT_VERSION_MACRO but still the version_type is being bt::DEVEL for all the releases since 5.0.
Comment 4 howl 2020-04-13 16:05:25 UTC
Reviewing the procedure in the 4 series when tagging a release of KTorrent, for example a future 5.1.3, this should be done in libktcore/ktversion.h:

 #include <version.h>
 #include "util/constants.h"
 
-#define KT_VERSION_MACRO "5.1.2"
+#define KT_VERSION_MACRO "5.1.3"
 
 namespace kt
 {
 	const bt::Uint32 MAJOR = 5;
 	const bt::Uint32 MINOR = 1;
-	const bt::Uint32 RELEASE = 2;
-	const bt::VersionType VERSION_TYPE = bt::DEVEL;
+	const bt::Uint32 RELEASE = 3;
+	const bt::VersionType VERSION_TYPE = bt::NORMAL;
 	const char VERSION_STRING[] = KT_VERSION_MACRO;
 }


Also when the release is a Release Candidate the way is:
#define KT_VERSION_MACRO "5.2rc1"
 	const bt::Uint32 MAJOR = 5;
 	const bt::Uint32 MINOR = 2;
	const bt::Uint32 RELEASE = 1;
	VERSION_TYPE = bt::RELEASE_CANDIDATE
Comment 5 Steve 2020-11-08 14:25:03 UTC
Created attachment 133148 [details]
Patch to fix the problem

The fix for this is easy...is it ever going to be applied? I have to rebuild ktorrent every time the package is updated. Several of the trackers I use only have the release version whitelisted.

This bug just had its 4-year anniversary...