Bug 362092 - RFE: make qt5-based libktorrent parallel-installable with older kde4-based libktorrent-1.x
Summary: RFE: make qt5-based libktorrent parallel-installable with older kde4-based li...
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: 5.0
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-22 15:51 UTC by Rex Dieter
Modified: 2016-10-19 14:37 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
Turn LibKTorrent into a kf5-based framework parallel-installable with prior kde4-based libktorrent (27.82 KB, patch)
2016-06-03 17:17 UTC, Rex Dieter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rex Dieter 2016-04-22 15:51:28 UTC
The latest Qt5-based libktorrent-2.0.1 is not fully parallel installable with kde4 libktorrent-1.3.x.  The latter is still used by the latest version of kget released as part of kde applications 16.04

Conflicting parts include:
library name
header files/location
cmake files
translations
Comment 1 Rex Dieter 2016-04-22 15:58:53 UTC
marking rfe/wishlist
Comment 2 Rex Dieter 2016-06-03 13:01:34 UTC
ping, any news or work ongoing to implement this?

(Turning libktorrent into a KF5 framework would effectively satisfy this issue too)
Comment 3 Rex Dieter 2016-06-03 13:05:27 UTC
<offtopic>While we're at it, libktorrent in git is missings tags for recent releases, last tag I see is : v1.3.1</offoptic>
Comment 4 Rex Dieter 2016-06-03 17:12:35 UTC
OK, scratching my own itch I think I got a good first-pass at converting libktorrent to resemble a parallel-installable framework (I used name KF5ktorrent, but that's arbitrary).  I'll attach my work-in-progress shortly.

Consumer applications will require modification of course, but it'll mostly be a matter of replacing LibKTorrent references with KF5ktorrent and link contexts using korrent with KF5::kforrent. 

If this approach is agreeable, I can then post things to reviewboard formally if you wish.
Comment 5 Rex Dieter 2016-06-03 17:17:49 UTC
Created attachment 99344 [details]
Turn LibKTorrent into a kf5-based framework parallel-installable with prior kde4-based libktorrent

Only basic testing, builds ok, tests pass, and (modified) ktorrent buids ok too.
Comment 6 Rex Dieter 2016-06-04 14:24:11 UTC
As an aside, po-file translations will need to be renamed too, the patch includes:

-add_definitions(-DTRANSLATION_DOMAIN="libktorrent")
+add_definitions(-DTRANSLATION_DOMAIN="libktorrent5")

but that's all so far.  I'm pretty sure more work is needed, but can solicit help from translation gurus when/if we get that far.
Comment 7 Rex Dieter 2016-07-25 18:07:40 UTC
ping, almost 2 months, any comment on this idea?  would you rather a reviewboard submission?
Comment 8 Rex Dieter 2016-08-19 15:28:06 UTC
Submitted to reviewboard,
https://git.reviewboard.kde.org/r/128716/
Comment 9 Rex Dieter 2016-10-19 14:36:23 UTC
Git commit ea56ea8b5b6114f7a7e95d1eb83bdcd3cc8065aa by Rex Dieter.
Committed on 19/10/2016 at 14:28.
Pushed by rdieter into branch 'master'.

Turn libktorrent into a kf5 framework

First try at turning LibKTorrent into a kf5-based framework
parallel-installable with prior (kde4-based) libktorrent releases.
REVIEW: 128716

M  +11   -13   CMakeLists.txt
R  +1    -1    KF5TorrentConfig.cmake.in [from: LibKTorrentConfig.cmake.in - 088% similarity]
M  +1    -1    examples/ktcli/CMakeLists.txt
M  +14   -12   src/CMakeLists.txt
M  +1    -1    src/datachecker/CMakeLists.txt
M  +1    -1    src/datachecker/tests/CMakeLists.txt
M  +1    -1    src/dht/CMakeLists.txt
M  +2    -2    src/dht/tests/CMakeLists.txt
M  +1    -1    src/diskio/CMakeLists.txt
M  +2    -2    src/diskio/tests/CMakeLists.txt
M  +1    -1    src/download/CMakeLists.txt
M  +1    -1    src/download/tests/CMakeLists.txt
M  +1    -1    src/magnet/CMakeLists.txt
M  +1    -1    src/magnet/tests/CMakeLists.txt
M  +1    -1    src/mse/CMakeLists.txt
M  +1    -1    src/mse/tests/CMakeLists.txt
M  +1    -1    src/net/CMakeLists.txt
M  +2    -2    src/net/tests/CMakeLists.txt
M  +1    -1    src/peer/CMakeLists.txt
M  +4    -4    src/peer/tests/CMakeLists.txt
M  +1    -1    src/torrent/CMakeLists.txt
M  +3    -3    src/torrent/tests/CMakeLists.txt
M  +1    -1    src/tracker/CMakeLists.txt
M  +1    -1    src/upnp/CMakeLists.txt
M  +1    -1    src/util/CMakeLists.txt
M  +5    -5    src/util/tests/CMakeLists.txt
M  +1    -1    src/utp/CMakeLists.txt
M  +12   -12   src/utp/tests/CMakeLists.txt
M  +1    -1    testlib/CMakeLists.txt

http://commits.kde.org/libktorrent/ea56ea8b5b6114f7a7e95d1eb83bdcd3cc8065aa
Comment 10 Rex Dieter 2016-10-19 14:37:36 UTC
Git commit d19cb5f86f684950c500326ca868e4a638348270 by Rex Dieter.
Committed on 19/10/2016 at 14:36.
Pushed by rdieter into branch 'master'.

Adjust to use new KF5::Torrent cmake target

See also:
REVIEW: 128716

M  +1    -1    CMakeLists.txt
M  +1    -1    ktorrent/CMakeLists.txt
M  +1    -1    libktcore/CMakeLists.txt
M  +1    -1    plugins/bwscheduler/CMakeLists.txt
M  +1    -1    plugins/downloadorder/CMakeLists.txt
M  +1    -1    plugins/infowidget/CMakeLists.txt
M  +1    -1    plugins/ipfilter/CMakeLists.txt
M  +1    -1    plugins/ipfilter/tests/CMakeLists.txt
M  +1    -1    plugins/logviewer/CMakeLists.txt
M  +1    -1    plugins/magnetgenerator/CMakeLists.txt
M  +1    -1    plugins/mediaplayer/CMakeLists.txt
M  +1    -1    plugins/scanfolder/CMakeLists.txt
M  +1    -1    plugins/scripting/CMakeLists.txt
M  +1    -1    plugins/search/CMakeLists.txt
M  +1    -1    plugins/shutdown/CMakeLists.txt
M  +1    -1    plugins/stats/CMakeLists.txt
M  +1    -1    plugins/syndication/CMakeLists.txt
M  +1    -1    plugins/upnp/CMakeLists.txt
M  +1    -1    plugins/zeroconf/CMakeLists.txt

http://commits.kde.org/ktorrent/d19cb5f86f684950c500326ca868e4a638348270