MantisBT - Doomseeker
View Issue Details
0003821Doomseeker[All Projects] Epicpublic2020-06-08 02:302022-05-31 01:43
WubTheCaptain 
Blzut3 
lowfeatureN/A
closedfixed 
1.3.1 
1.3.31.3.3 
0003821: Replacing Eili Reilin's JSON library (qt-json) with JSON support in Qt
0003794:0021408:
Quote from Blzut3
Given that Qt JSON was added years before we added support for Qt5 much less dropped Qt4 support, should we instead have a ticket for switching to Qt 5's own JSON classes?

Maintaining that copy of Eili Reilin's qt-json library has proved burdensome. It seems sensible to me to drop qt-json and switch to Qt5's JSON support.
'https://doc.qt.io/qt-5/json.html [^]'
No tags attached.
parent of 0003900closed Pol M Translations have remnant strings of now removed Eeli Reilin's QtJson library 
related to 0003794closed WubTheCaptain qt-json is older than aa0930a (stray #include <iostream>) 
related to 0003795closed Blzut3 qt-json isn't a Git submodule 
related to 0003796closed WubTheCaptain qt-json dependency is duplicated to different files (2nd report) 
child of 0003895needs testing Blzut3 Add support for Qt 6.2+ 
Issue History
2020-06-08 02:30WubTheCaptainNew Issue
2020-06-08 02:31WubTheCaptainRelationship addedrelated to 0003794
2020-06-08 02:31WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=13160#r13160
2020-06-08 02:34WubTheCaptainNote Added: 0021416
2020-06-08 02:34WubTheCaptainCategoryCleanup => Epic
2020-06-08 02:35WubTheCaptainAdditional Information Updatedbug_revision_view_page.php?rev_id=13162#r13162
2020-06-08 04:21Blzut3Relationship addedrelated to 0003795
2020-06-08 04:23Blzut3Relationship addedrelated to 0003796
2020-06-08 05:37WubTheCaptainStatusnew => acknowledged
2020-06-08 13:46ZalewaNote Added: 0021436
2020-06-08 14:08WubTheCaptainStatusacknowledged => confirmed
2021-08-08 21:53Blzut3Relationship addedchild of 0003895
2021-08-08 21:54Blzut3Note Added: 0021703
2021-08-08 22:19Blzut3Target Version => 1.3.3
2021-08-10 05:42WubTheCaptainPrioritynone => low
2021-08-15 02:45Blzut3Assigned To => Blzut3
2021-08-15 02:45Blzut3Statusconfirmed => assigned
2021-08-15 03:16Blzut3Note Added: 0021726
2021-08-15 03:16Blzut3Statusassigned => needs testing
2021-08-16 18:36WubTheCaptainRelationship addedparent of 0003900
2021-08-16 18:37WubTheCaptainNote Added: 0021729
2021-08-16 20:10WubTheCaptainNote Added: 0021737
2021-08-16 20:47WubTheCaptainNote Added: 0021738
2021-08-16 20:53WubTheCaptainNote Edited: 0021738bug_revision_view_page.php?bugnote_id=21738#r13337
2021-08-16 20:53WubTheCaptainNote Edited: 0021738bug_revision_view_page.php?bugnote_id=21738#r13338
2021-08-16 20:58WubTheCaptainNote Edited: 0021738bug_revision_view_page.php?bugnote_id=21738#r13339
2021-08-16 20:59WubTheCaptainNote Edited: 0021738bug_revision_view_page.php?bugnote_id=21738#r13340
2021-08-17 00:43Blzut3Note Added: 0021740
2022-01-18 17:50ZalewaNote Added: 0022100
2022-01-20 05:57Blzut3Statusneeds testing => resolved
2022-01-20 05:57Blzut3Fixed in Version => 1.3.3
2022-01-20 05:57Blzut3Resolutionopen => fixed
2022-05-31 01:43WubTheCaptainStatusresolved => closed

Notes
(0021416)
WubTheCaptain   
2020-06-08 02:34   
This is theoretically an epic category issue, because the GUI options to display Eili Reilin's JSON library license text would need to be stripped out too. And strip the build system too.
I'm not sure how to categorize a new child issue for that, so here's a note.
(0021436)
Zalewa   
2020-06-08 13:46   
Despite this having no apparent functional benefit, I support this change. Dropping external dependency that can be fully replaced by another dependency we need either way is always good, and in this case the costs should be minimal.
(0021703)
Blzut3   
2021-08-08 21:54   
Technically this still compiles with Qt 6, but some stuff is deprecated so marking this as part of that effort.
(0021726)
Blzut3   
2021-08-15 03:16   
'https://bitbucket.org/Doomseeker/doomseeker/commits/fc903e1a484a3ac314d9205727eee63ea3828b59 [^]'

QJsonDocument was more or less drop in.
(0021729)
WubTheCaptain   
2021-08-16 18:37   
0003821:0021726: Code review found 0003900.
(0021737)
WubTheCaptain   
2021-08-16 20:10   
I have no idea if the autoupdater will remove LICENSE-json.txt with the next update, but it is so "trivial", "have not tried" and I have no intent or means of trying it to have an issue closed as "won't fix" I'm not reporting a new issue; only making a note here.
(0021738)
WubTheCaptain   
2021-08-16 20:47   
(edited on: 2021-08-16 20:59)
I spent a fair amount trying to understand if /usr/share/doc/doomseeker/LICENSE-json will be removed on Debian systems via DRD Team Debian Package Repository on upgrade, and while I have no definitive answer, I was almost about to create a "have not tried" issue for this due to complications arising from lack of a Debian source package (0003246) to have an easy answer with dh_installdocs(1). But I may trust dpkg to handle this gracefully, even though debian/rules / Debian maintainer script does not exist.

$ cd /tmp
$ mkdir doomseeker/ && cd doomseeker/
$ apt source doomseeker
Reading package lists... Done
E: Unable to find a source package for doomseeker
$ apt download doomseeker
Get:1'http://debian.drdteam.org [^]' stable/multiverse amd64 doomseeker amd64 1.3.2 [2015 kB]
Fetched 2015 kB in 1s (1591 kB/s)
$ ls -l
total 1968
-rw-r--r-- 1 wub wub 2014914 Aug  8 06:30 doomseeker_1.3.2_amd64.deb
$ ar x doomseeker_1.3.2_amd64.deb
$ ls -l
total 3944
-rw-r--r-- 1 wub wub    1057 Aug 16 20:42 control.tar.gz
-rw-r--r-- 1 wub wub 2013664 Aug 16 20:42 data.tar.xz
-rw-r--r-- 1 wub wub       4 Aug 16 20:42 debian-binary
-rw-r--r-- 1 wub wub 2014914 Aug  8 06:30 doomseeker_1.3.2_amd64.deb
$ tar --list -zf control.tar.gz
control
md5sums
$ tar zxfO control.tar.gz control
Architecture: amd64
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libqt5core5a (>= 5.9.0~beta), libqt5gui5 (>= 
5.8.0), libqt5multimedia5 (>= 5.6.0~beta), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.6.0~beta), 
libqt5xml5 (>= 5.0.2), libstdc++6 (>= 5.2), libwadseeker2 (>= 2.1), zlib1g (>= 1:1.1.4)

Description: Universal cross-platform server browser designed primarily for Doom.
  This package provides the core program which should be complimented with one or
 more plugins providing support for querying their respective servers.
Homepage:'https://doomseeker.drdteam.org [^]'
Maintainer: Doomseeker Team <admin@maniacsvault.net>
Package: doomseeker
Priority: optional
Section: devel
Version: 1.3.2
Installed-Size: 6052

$ tar --list -Jf data.tar.xz
./usr/
./usr/bin/
./usr/bin/doomseeker
./usr/share/
./usr/share/applications/
./usr/share/applications/org.drdteam.Doomseeker.desktop
./usr/share/doc/
./usr/share/doc/doomseeker/
./usr/share/doc/doomseeker/LICENSE-json
./usr/share/doomseeker/
./usr/share/doomseeker/IpToCountry.dat
./usr/share/doomseeker/theme/
./usr/share/doomseeker/theme/slots/
./usr/share/doomseeker/theme/slots/marines/
./usr/share/doomseeker/theme/slots/marines/bot.png
./usr/share/doomseeker/theme/slots/marines/open.png
./usr/share/doomseeker/theme/slots/marines/player.png
./usr/share/doomseeker/theme/slots/marines/specopen.png
./usr/share/doomseeker/theme/slots/marines/spectator.png
./usr/share/doomseeker/translations/
./usr/share/doomseeker/translations/ca_ES.qm
./usr/share/doomseeker/translations/es_ES.qm
./usr/share/doomseeker/translations/pl_PL.qm
./usr/share/doomseeker/translations/translations.def
./usr/share/icons/
./usr/share/icons/doomseeker.png
$ rm control.tar.gz data.tar.xz debian-binary doomseeker_1.3.2_amd64.deb
$ cd /tmp; rmdir doomseeker/
$ 

(Also in package libwadseeker2 at /usr/share/doc/wadseeker/LICENSE-json.)

(0021740)
Blzut3   
2021-08-17 00:43   
Given that the license file is a file tracked by the package manager and is not marked as a config file it's supposed to be deleted by the package manager automatically.

The Windows auto updater probably won't delete it, but not really a big enough deal to do anything about it I don't think.
(0022100)
Zalewa   
2022-01-18 17:50   
I found and fixed an oopsie:'https://bitbucket.org/Doomseeker/doomseeker/commits/14c497e218caf452f8eafea9dba8a464359f8549 [^]'

The other features that use and rely on JSON appear to work.