MantisBT - Doomseeker
View Issue Details
0003307Doomseeker[All Projects] Bugpublic2017-10-22 18:272018-10-06 18:19
WubTheCaptain 
Zalewa 
normalminoralways
closedfixed 
Debian GNU/Linuxbuster/sid
1.2 
1.21.2 
0003307: Player slots style appearance may change to "marines" in a non-free build after a Doomseeker build without "marines" is executed
The user's configuration of player slots style may forcibly change the appearance to "marines", the top (and default?) option if switching between Doomseeker builds.

It should keep the previous choice of the user, e.g. "blocks" or "numbers" if chosen.

  1. Start Doomseeker 1.1 (or Doomseeker 1.2 built with DOOMSEEKER_INSTALL_NONFREE enabled). This build should have the "marines" style available.

  2. Press the F5 key to open the configuration or find Options → Configuration from the top crate navigation.

  3. Navigate to "Appearance" settings.

  4. Under "Player slots style", select any other option but "marines" (e.g. blocks or numbers).

  5. Hit "Apply" or "OK" to save the settings.

  6. Exit Doomseeker.

  7. Start Doomseeker 1.2 built without DOOMSEEKER_INSTALL_NONFREE (no marines).

  8. Exit Doomseeker.

  9. Start Doomseeker 1.1 (or Doomseeker 1.2 built with DOOMSEEKER_INSTALL_NONFREE enabled). This build should have the "marines" style available.

  10. Notice the player slots style has changed to "marines" automatically.

1.2 hasn't been released yet. Tested with build from commit de91fa3.


  • https://bitbucket.org/Doomseeker/doomseeker/commits/bc86aca9433ba2f7bab27ac527220296bb10ec8c

  • https://bitbucket.org/Doomseeker/doomseeker/commits/34c18c972380f1c3cf0cb9a9aa78333bce1951b2

No tags attached.
Issue History
2017-10-22 18:27WubTheCaptainNew Issue
2017-10-22 18:32WubTheCaptainSummaryPlayer slots style appearance may change to "marines" after a non-free Doomseeker build without "marines" is executed => Player slots style appearance may change to "marines" in a non-free build after a Doomseeker build without "marines" is executed
2017-10-22 18:36ZalewaNote Added: 0018587
2017-10-22 18:37WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=11173#r11173
2017-10-22 18:44WubTheCaptainNote Added: 0018588
2017-10-22 18:44WubTheCaptainStatusnew => acknowledged
2017-10-22 18:46WubTheCaptainStatusacknowledged => feedback
2017-10-22 18:51WubTheCaptainNote Added: 0018589
2017-10-22 18:51WubTheCaptainStatusfeedback => new
2017-10-22 18:53ZalewaNote Added: 0018590
2017-10-22 18:53ZalewaNote Edited: 0018590bug_revision_view_page.php?bugnote_id=18590#r11175
2017-10-22 18:58ZalewaNote Added: 0018591
2017-10-22 19:19WubTheCaptainNote Added: 0018593
2017-10-22 19:19WubTheCaptainStatusnew => feedback
2017-10-22 19:37WubTheCaptainTarget Version => 1.2
2017-10-22 23:49WubTheCaptainStatusfeedback => acknowledged
2017-11-04 03:11WubTheCaptainNote Added: 0018756
2017-11-04 03:11WubTheCaptainStatusacknowledged => needs review
2017-11-04 03:13WubTheCaptainAssigned To => Zalewa
2017-11-04 09:03ZalewaNote Added: 0018757
2017-11-04 14:30WubTheCaptainNote Added: 0018763
2017-11-04 14:30WubTheCaptainStatusneeds review => resolved
2017-11-04 14:30WubTheCaptainFixed in Version => 1.2
2017-11-04 14:30WubTheCaptainResolutionopen => fixed
2018-10-06 18:19WubTheCaptainStatusresolved => closed

Notes
(0018587)
Zalewa   
2017-10-22 18:36   
I was actually aware that going back to the older version will reset the setting to the one that is at index 0 in the combo box. I reused the same setting in doomseeker.ini to avoid bloating the .ini with garbage. In old version this setting stored an int, after the change it stores a string. When you run an old version it will fail to convert the string to a number and return 0 instead. I didn't think this was a serious problem, but if for any reason you think so, I can change the configuration class to save the new setting under a different name. With this, going back to an older version of Doomseeker will restore the setting to the value from before the update, which will be unexpected to the user just the same, so basically this is a tomato-tomahto situation.
(0018588)
WubTheCaptain   
2017-10-22 18:44   
I believe the current behavior is a bug from Debian's policy perspective.

Quote from Debian Policy Manual v4.1.1.1, section 10.7.3. Behavior
Configuration file handling must conform to the following behavior:


  • local changes must be preserved during a package upgrade, and

  • configuration files must be preserved when the package is removed, and only deleted when the package is purged.



Consider packages doomseeker and doomseeker-nonfree, then "upgrading" from the prior to latter.
(0018589)
WubTheCaptain   
2017-10-22 18:51   
Oh yeah, I actually understand what you're talking about now. Close this as won't fix because of configuration file change? Would be good to document this change of behavior somewhere though.
(0018590)
Zalewa   
2017-10-22 18:53   
Quote
Would be good to document this change of behavior somewhere though.

Yeah, we'll document it in CHANGELOG.md, which gets updated once for every few commits.

We might want to develop a habit of updating it with all commits, but commits don't directly translate to the changelog.

(0018591)
Zalewa   
2017-10-22 18:58   
With all things said and done I could technically implement a backward mapping of strings to indices (so, "marines" -> 0, "blocks" -> 1, "numeric" -> 2) and save it in the configuration under the old name. This would allow to smoothly downgrade Doomseeker.

However, such code is harder to test than it sounds, it's useful in exactly one, rare situation and in result it can break in unexpected ways when software evolves. Weighing in costs & benefits, I'd say this case is too unimportant to spend more time on it.
(0018593)
WubTheCaptain   
2017-10-22 19:19   
If this doesn't reproduce in Doomseeker 1.2 but only Doomseeker 1.1, I'm okay with a note in CHANGELOG.md being enough.
(0018756)
WubTheCaptain   
2017-11-04 03:11   
'https://bitbucket.org/Doomseeker/doomseeker/commits/3013b512d0538c7c65ff72a464793958be307f30 [^]'
(0018757)
Zalewa   
2017-11-04 09:03   
Version incompatibility notice added to CHANGELOG.md:'https://bitbucket.org/Doomseeker/doomseeker/commits/46c40dfceb726d4b9ff21473cfd2d8826a61b585 [^]'
(0018763)
WubTheCaptain   
2017-11-04 14:30   
Thank you. That should be good.