Bug 16292 - xscreensaver complains about being too old
Summary: xscreensaver complains about being too old
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 5
Hardware: All Linux
Priority: Normal minor
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: advisory MGA5-32-OK MGA5-64-OK
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2015-07-04 18:39 CEST by Pavel Kreuzt
Modified: 2015-07-23 11:40 CEST (History)
5 users (show)

See Also:
Source RPM: xscreensaver-5.29-6.mga5.src.rpm
CVE:
Status comment:


Attachments
Source code of the senescent_p function (3.40 KB, text/plain)
2015-07-07 09:46 CEST, Nicolas Salguero
Details

Description Pavel Kreuzt 2015-07-04 18:39:42 CEST
Description of problem: When starting xscreensaver-demo manually or XFCE frontend to configure it, the app complains about being "too old" version (latest version is 5.33). Also I don't find GLMatrix mod. Is it disabled because of any legal issue? It's present in other distros.


Version-Release number of selected component (if applicable): xscreensaver-5.29-6.mga5


Steps to Reproduce:
1. Launch a frontend to configure xscreensaver, both xscreensaver-demo or XFCE config utility
2. Read the popup that appears


Reproducible: 

Steps to Reproduce:
Comment 1 Samuel Verschelde 2015-07-05 20:42:14 CEST
Assigning to maintainer who can decide if an update is needed in Mageia 5 or only in cauldron.

Assignee: bugsquad => nicolas.salguero

Comment 2 David Walser 2015-07-05 23:12:28 CEST
GLMatrix was removed for copyright reasons.  Other distros are free to make their own choices on that matter.

As for being "too old," 5.29 isn't that old, and we were in version freeze for a long time and there was no compelling reason to update it.  "It's not the latest version" certainly isn't a compelling reason, nor is some nagging dialog to that effect.  However, if there is such a dialog or message, it should be disabled, so we'll do that if we can.

CC: (none) => jani.valimaa
Summary: xscreensaver is too old and some mods are missing => xscreensaver complains about being too old

Comment 3 Nicolas Salguero 2015-07-06 09:56:05 CEST
Hi,

Regarding GLMatrix, the SPEC file indicates that GLMatrix is present when building for PLF so I wondered if I could replace PLF with tainted section so that there would be a version without GLMatrix in core and a version with GLMatrix in tainted.

What do you think about that proposition?

Best regards,

Nico.
Nicolas Salguero 2015-07-06 09:56:20 CEST

Status: NEW => ASSIGNED

Comment 4 Jani Välimaa 2015-07-06 10:39:25 CEST
(In reply to David Walser from comment #2)
> 
> As for being "too old," 5.29 isn't that old, and we were in version freeze
> for a long time and there was no compelling reason to update it.  "It's not
> the latest version" certainly isn't a compelling reason, nor is some nagging
> dialog to that effect.  However, if there is such a dialog or message, it
> should be disabled, so we'll do that if we can.

https://bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/1406825

Being "tool old" is because of the upstream maintainer got tiread about distros shipping old versions and getting bug reports about already fixed in newer versions. Because of all that he added some code to check if the build is more than 12 months old. It's not so hard to patch it to not whine.

Related lines in code:
https://github.com/danfuzz/xscreensaver/blob/f9983b7c0795eacde86415ca6362af0873b1cf07/driver/prefs.c#L1654
https://github.com/danfuzz/xscreensaver/blob/f9983b7c0795eacde86415ca6362af0873b1cf07/driver/splash.c#L170
https://github.com/danfuzz/xscreensaver/blob/f9983b7c0795eacde86415ca6362af0873b1cf07/driver/splash.c#L223

I can create a patch if Nicolas doesn't beat me.
Jani Välimaa 2015-07-06 10:39:46 CEST

See Also: (none) => https://launchpad.net/bugs/1406825

Comment 5 Nicolas Salguero 2015-07-06 10:54:38 CEST
I already prepared a patch to make the senescent_p() function always return False :-)

If it is ok locally in my tests, I will commit my patch.
Comment 6 Jani Välimaa 2015-07-06 11:02:44 CEST
It think there's no need to edit the function itself. :)

Just replace the function call with False in https://github.com/danfuzz/xscreensaver/blob/f9983b7c0795eacde86415ca6362af0873b1cf07/driver/splash.c#L170
Comment 7 Nicolas Salguero 2015-07-06 11:24:02 CEST
Sorry, I tested your solution and it did not work because this function is also directly called in several others C files in driver directory: demo-Gtk.c, lock.c and xscreensaver.c.

The warning pop-up when running xscreensaver-demo seems to come from demo-Gtk.c and the warning when you want to unlock seems to come from lock.c.

So I think the best solution is to make the senescent_p() function always return False.
Comment 8 Nicolas Salguero 2015-07-06 12:13:07 CEST
Suggested advisory:
========================

The updated xscreensaver packages are built with a patch that disable complaints about version being too old at all the places that warning appears.
========================

Updated packages in core/updates_testing:
========================
i586:
xscreensaver-5.29-6.1.mga5.i586.rpm
xscreensaver-base-5.29-6.1.mga5.i586.rpm
xscreensaver-common-5.29-6.1.mga5.i586.rpm
xscreensaver-extrusion-5.29-6.1.mga5.i586.rpm
xscreensaver-gl-5.29-6.1.mga5.i586.rpm

x86_64:
xscreensaver-5.29-6.1.mga5.x86_64.rpm
xscreensaver-base-5.29-6.1.mga5.x86_64.rpm
xscreensaver-common-5.29-6.1.mga5.x86_64.rpm
xscreensaver-extrusion-5.29-6.1.mga5.x86_64.rpm
xscreensaver-gl-5.29-6.1.mga5.x86_64.rpm

Source RPMs:
xscreensaver-5.29-6.1.mga5.src.rpm

Assignee: nicolas.salguero => qa-bugs

Comment 9 Jani Välimaa 2015-07-06 13:25:16 CEST
I think this should be also fixed in Cauldron for the future releases.
Comment 10 David Walser 2015-07-06 14:45:48 CEST
Thanks Nicolas.

Yes, this should definitely be fixed in Cauldron too.

You *could* enable GLMatrix in a tainted build, but frankly having to do a tainted build for this as well would be a pain, and in this case, just for one more silly screensaver, it's not worth it.  It's not like enabling important functionality like codecs.
Comment 11 David Walser 2015-07-06 21:23:59 CEST
Nicolas, make sure you leave yourself in CC when you assign to QA.  You missed Jani and I'd last comments.

CC: (none) => nicolas.salguero

Comment 12 Nicolas Salguero 2015-07-07 09:46:54 CEST
Created attachment 6822 [details]
Source code of the senescent_p function

Sorry, I thought I would have continued to receive e-mails because I made at least one comment on this bug.  I will be careful the next time.

Regarding the fix in Cauldron, the source code of the senescent_p() function have changed in version 5.33 to contain a lengthy comment from the author explaining his choice and the "version too old" is for versions that have more than 18 months (it is 12 months in mga5 version).
Comment 13 David Walser 2015-07-07 14:36:59 CEST
(In reply to Nicolas Salguero from comment #12)
> Regarding the fix in Cauldron, the source code of the senescent_p() function
> have changed in version 5.33 to contain a lengthy comment from the author
> explaining his choice and the "version too old" is for versions that have
> more than 18 months (it is 12 months in mga5 version).

It still needs to be fixed.  At 18 months, it will pop up at some point (at least toward the end) of every Mageia lifecycle.
Comment 14 Nicolas Salguero 2015-07-07 15:02:24 CEST
I agree but do we always return False, deliberately ignoring the author will, or do we return False when the version has more than 24 months, for example?
Comment 15 Samuel Verschelde 2015-07-07 15:09:10 CEST
(In reply to Nicolas Salguero from comment #14)
> I agree but do we always return False, deliberately ignoring the author
> will, or do we return False when the version has more than 24 months, for
> example?

I'm not sure that the author got a lot of bug reports from Mageia users, and the way he's doing it seems wrong to me. Why won't he just ask for the version in his bugtracker and discard reports about old versions, like most developers do? Well, rhetorical question, you're not going to know :)

I would be fine with returning false, because if someday we have a longer supported version we are the ones who'll get the bug reports for nothing, like we did already with this one. He's just deporting the trouble towards distributions.
Comment 16 Nicolas Salguero 2015-07-07 15:16:04 CEST
Okay, so I will also patch Cauldron to always return False.

Many thanks.
Comment 17 Dave Hodgins 2015-07-08 01:52:04 CEST
Advisory committed to svn.

CC: (none) => davidwhodgins
Whiteboard: (none) => advisory

Comment 18 William Kenney 2015-07-21 20:45:36 CEST
In VirtualBox, M4, KDE, 32-bit

Package(s) under test:
xscreensaver xscreensaver-base xscreensaver-common xscreensaver-extrusion
xscreensaver-gl

default install of xscreensaver xscreensaver-base xscreensaver-common
xscreensaver-extrusion xscreensaver-gl

[root@localhost wilcal]# urpmi xscreensaver
Package xscreensaver-5.29-6.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-base
Package xscreensaver-base-5.29-6.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-common
Package xscreensaver-common-5.29-6.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-extrusion
Package xscreensaver-extrusion-5.29-6.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-gl
Package xscreensaver-gl-5.29-6.mga5.i586 is already installed

Launching returns an error message:
This version of xscreensaver is VERY OLD!
Please upgrade!
http://www.jwz.org/xscreensaver/
(If this is the latest version that your distro ships, then
your distro is doing you a disservice. Build from source.)

install xscreensaver xscreensaver-base xscreensaver-common
xscreensaver-extrusion xscreensaver-gl from updates_testing

[root@localhost wilcal]# urpmi xscreensaver
Package xscreensaver-5.29-6.1.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-base
Package xscreensaver-base-5.29-6.1.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-common
Package xscreensaver-common-5.29-6.1.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-extrusion
Package xscreensaver-extrusion-5.29-6.1.mga5.i586 is already installed
[root@localhost wilcal]# urpmi xscreensaver-gl
Package xscreensaver-gl-5.29-6.1.mga5.i586 is already installed

Launches without the error message.

Test platform:
Intel Core i7-2600K Sandy Bridge 3.4GHz
GIGABYTE GA-Z68X-UD3-B3 LGA 1155 MoBo
GIGABYTE GV-N440D3-1GI Nvidia GeForce GT 440 (Fermi) 1GB
RTL8111/8168B PCI Express 1Gbit Ethernet
DRAM 16GB (4 x 4GB)
Mageia 4 64-bit, Nvidia driver
virtualbox-4.3.26-1.mga4.x86_64
virtualbox-guest-additions-4.3.26-1.mga4.x86_64

CC: (none) => wilcal.int

Comment 19 William Kenney 2015-07-21 20:46:49 CEST
A lot of these screensavers don't work. But I seem to remember
it being this way.
Comment 20 William Kenney 2015-07-21 21:28:13 CEST
Correction. Line 1 in comment 18 reads:

In VirtualBox, M4, KDE, 32-bit

Should be:

In VirtualBox, M5, KDE, 32-bit
Comment 21 William Kenney 2015-07-21 21:39:24 CEST
In VirtualBox, M5, KDE, 64-bit

Package(s) under test:
xscreensaver xscreensaver-base xscreensaver-common xscreensaver-extrusion
xscreensaver-gl

default install of xscreensaver xscreensaver-base xscreensaver-common
xscreensaver-extrusion xscreensaver-gl

[root@localhost wilcal]# urpmi xscreensaver
Package xscreensaver-5.29-6.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-base
Package xscreensaver-base-5.29-6.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-common
Package xscreensaver-common-5.29-6.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-extrusion
Package xscreensaver-extrusion-5.29-6.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-gl
Package xscreensaver-gl-5.29-6.mga5.x86_64 is already installed

Launching returns an error message:
This version of xscreensaver is VERY OLD!
Please upgrade!
http://www.jwz.org/xscreensaver/
(If this is the latest version that your distro ships, then
your distro is doing you a disservice. Build from source.)

install xscreensaver xscreensaver-base xscreensaver-common
xscreensaver-extrusion xscreensaver-gl from updates_testing

[root@localhost wilcal]# urpmi xscreensaver
Package xscreensaver-5.29-6.1.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-base
Package xscreensaver-base-5.29-6.1.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-common
Package xscreensaver-common-5.29-6.1.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-extrusion
Package xscreensaver-extrusion-5.29-6.1.mga5.x86_64 is already installed
[root@localhost wilcal]# urpmi xscreensaver-gl
Package xscreensaver-gl-5.29-6.1.mga5.x86_64 is already installed

Launches without the error message.

Test platform:
Intel Core i7-2600K Sandy Bridge 3.4GHz
GIGABYTE GA-Z68X-UD3-B3 LGA 1155 MoBo
GIGABYTE GV-N440D3-1GI Nvidia GeForce GT 440 (Fermi) 1GB
RTL8111/8168B PCI Express 1Gbit Ethernet
DRAM 16GB (4 x 4GB)
Mageia 4 64-bit, Nvidia driver
virtualbox-4.3.26-1.mga4.x86_64
virtualbox-guest-additions-4.3.26-1.mga4.x86_64
Comment 22 William Kenney 2015-07-21 21:42:09 CEST
This thing looks ok to me. What you say David's?
Comment 23 David Walser 2015-07-22 17:06:14 CEST
(In reply to William Kenney from comment #22)
> This thing looks ok to me. What you say David's?

Sounds ok to me.
Comment 24 William Kenney 2015-07-22 17:19:06 CEST
This update works fine.
Testing complete for mga5 32-bit & 64-bit
Validating the update.
Could someone from the sysadmin team push to updates.
Thanks

Keywords: (none) => validated_update
Whiteboard: advisory => advisory MGA5-32-OK MGA5-64-OK
CC: (none) => sysadmin-bugs

Comment 25 Mageia Robot 2015-07-23 11:40:05 CEST
An update for this issue has been pushed to Mageia Updates repository.

http://advisories.mageia.org/MGAA-2015-0065.html

Status: ASSIGNED => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.