Skip Menu |

This queue is for tickets about the Bit-Vector CPAN distribution.

Report information
The Basics
Id: 59851
Status: stalled
Worked: 5 min
Priority: 0/
Queue: Bit-Vector

People
Owner: STBEY [...] cpan.org
Requestors: dmacks [...] netspace.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Overly-strict Storable version requirement?
Date: Fri, 30 Jul 2010 00:59:03 -0400
To: bug-Bit-Vector [...] rt.cpan.org
From: "Daniel Macks" <dmacks [...] netspace.org>
Bit-Vector-7.1 asserts a requirement for Storable >= 2.21. I don't see documentation why that is necessary, and the uses of Storable I see in Bit-Vector all seem to be viable under lower versions. For example, all the Storable:: functions called in Vector.pm the test-suite exist in Storable-2.15. I tried removing the "$Storable::VERSION < 2.21" skip-test checks in tests 50 and 51, and those (as well as all other) self-tests passed completely. Tested on OS X in 32-bit mode, both with apple's perl5.10.0 (with its core Storable-2.18) and with fink's perl5.8.8 (with its core Storable-2.15).   I am trying to redistribute Bit-Vector and trying to avoid un-necessarily-high dependencies. Would love some information about whether Storable really needs to be updated beyond those in perl core distros.   dan -- Daniel Macks dmacks@netspace.org
On Fri Jul 30 00:59:14 2010, dmacks@netspace.org wrote: Show quoted text
> Bit-Vector-7.1 asserts a requirement for Storable >= 2.21. I don't see > documentation why that is necessary, and the uses of Storable I see > in Bit-Vector all seem to be viable under lower versions. For > example, all the Storable:: functions called in Vector.pm the test- > suite exist in Storable-2.15. I tried removing the > "$Storable::VERSION < 2.21" skip-test checks in tests 50 and 51, > and those (as well as all other) self-tests passed completely. > Tested on OS X in 32-bit mode, both with apple's perl5.10.0 (with > its core Storable-2.18) and with fink's perl5.8.8 (with its core > Storable-2.15). >   > I am trying to redistribute Bit-Vector and trying to avoid un- > necessarily-high dependencies. Would love some information about > whether Storable really needs to be updated beyond those in perl > core distros. > > Daniel Macks > dmacks@netspace.org
Hi Dan! You are right that this requirement for Storable >= 2.21 is overcautious. Other versions of Storable with lower version numbers will also work. The reason why I set the prerequisite to the latest version number of Storable available at that time was that I did not have the time to conduct the necessary (extensive!) tests which of the other Storable versions would work, and which would not. This unfortunately was not feasible for me to do. If you know that the particular version of Storable installed on your target machines will work with Bit::Vector, nothing should prevent you from using that version. You may in that case simply ignore the warning that the version number of Storable is lower than expected when running the Makefile.PL of Bit::Vector. As long as the test suite of Bit::Vector passes, there should be no problem at all. However, before running "make test", you will need to adjust the following piece of code at the top of the two files "t/50_freeze_thaw.t" and "t/51_file_nstore.t": if ($@ or $Storable::VERSION < 2.21) { print "1..0 # skip module Storable 2.21 or newer not found (we have $Storable::VERSION)\n"; exit 0; } For instance, change the "if" condition to just "if ($@)", or comment out the whole "if" statement. Just beware that later on, when upgrading Storable on those machines, your Bit::Vector data stored in previous sessions may become unreadable, because sometimes newer versions of Storable might not be 100% backwards compatible. Good luck!
Subject: Re: [rt.cpan.org #59851] Overly-strict Storable version requirement?
Date: Thu, 12 Aug 2010 20:16:29 -0400
To: bug-Bit-Vector [...] rt.cpan.org
From: "Daniel Macks" <dmacks [...] netspace.org>
Show quoted text
> If you know that the particular version of Storable installed on your > target machines will work with Bit::Vector, nothing should prevent you > from using that version.
[...[ Show quoted text
> Just beware that later on, when upgrading Storable on those machines, > your Bit::Vector data stored in previous sessions may become unreadable, > because sometimes newer versions of Storable might not be 100% backwards > compatible.
  Thanks! I hate Storable upgrades because they somehow always break some compatibility with something. That's why my whole goal is to avoid pushing one here:/ Anyway, feel free to consider this a "successful test" with those lower Storables if anyone asks.
I fear that by the time I will eventually get around to fix this, the problem might have solved itself through the version of Storable on which Bit::Vector depends now no longer being available or being outdated...