httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randy Kobes <>
Subject Re: Issues with CPAN releases
Date Tue, 22 Jun 2004 19:59:19 GMT
On Tue, 22 Jun 2004, David Wheeler wrote:

> On Jun 22, 2004, at 11:53 AM, Randy Kobes wrote:
> >>>    Apache::Request => '>= 1.2, != 1.5, < 2.0',
> >>
> >> OK, thanks.  This info belongs in the README (and FAQ as
> >> well, I suppose).
> >
> > One issue unfortunately that remains that Stas mentioned is
> > installation within the CPAN/CPANPLUS shells. These use the
> > CPAN indices, which map module names to distributions. Thus,
> > for example, now Apache::Request is associated with
> > libapreq-1.3, with CPAN version 1.3. But when libapreq2 is
> > released (and indexed by PAUSE), it will register
> > Apache::Request of libapreq2, and if the version of this
> > Apache::Request is higher than 1.3, installing
> > Apache::Request will install libapreq2.
> Not with the above version requirement string. Or am I misunderstanding
> you?

I think the problem is that the CPAN indices only keep track
of the highest version of a module. Thus, for example, if
Apache::Request of libapreq2 was version 2.0, then version
1.3 of libapreq-1.3 wouldn't be visible within for
queries on Apache::Request. One could, by a version
requirement string like you describe, exclude installing
Apache::Request version 2.0 for a mp1 module, but you
couldn't install Apache::Request version 1.3. And vice-versa
if Apache::Request of libapreq2 had a version less than 1.3
- in that case, libapreq2's Apache::Request wouldn't be
visible, and while you could exclude installing version 1.3
for a mp2 module, you couldn't install libapreq2's

> Of course, the simplest solution would be to rename it
> Apache2::Request.

That would solve this problem; however, there's a
counterargument that libapreq2's Apache::Request has the
same (basic) functionality as that within libapreq-1.3, and
is used much the same way, so why change the name?
Especially since applications may be able to use the newer
module with little or no modification, so changing the name
may break or, at best, confuse things.

best regards,

View raw message