Skip Menu |

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id: 57197
Status: resolved
Priority: 0/
Queue: Perl-Dist-Strawberry

People
Owner: Nobody in particular
Requestors: kmx [...] cpan.org
Cc:
AdminCc:

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



Subject: 5.12 preconfigured PPM repositories
April2010 5.12.0 uses the following PPM repositories:
- Bribes: http://www.bribes.org/perl/ppm
- Trouchelle: http://trouchelle.com/ppm10
- ActiveState: http://ppm.activestate.com/PPMPackages/5.10-windows

At least the last 2 do not work with 5.12

We should rather use:
- http://trouchelle.com/ppm12/
- http://ppm4.activestate.com/MSWin32-x86/5.12/1200/

IMPORTANT NOTE: http://ppm4.activestate.com/MSWin32-x86/5.12/1200/ is 32 bit only, for 64 bit the right URL is http://ppm4.activestate.com/MSWin32-x64/5.12/1200/

--
kmx
Subject: Re: [rt.cpan.org #57197] 5.12 preconfigured PPM repositories
Date: Wed, 5 May 2010 13:08:40 +1000
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: Adam Kennedy <adamkennedybackup [...] gmail.com>
This bug alone might be worth doing an incremental release of our Perl 5.12 product. Adam K On 4 May 2010 20:31, kmx via RT <bug-Perl-Dist-Strawberry@rt.cpan.org> wrote: Show quoted text
> Tue May 04 06:31:07 2010: Request 57197 was acted upon. > Transaction: Ticket created by KMX >       Queue: Perl-Dist-Strawberry >     Subject: 5.12 preconfigured PPM repositories >   Broken in: (no value) >    Severity: (no value) >       Owner: Nobody >  Requestors: kmx@cpan.org >      Status: new >  Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=57197 > > > > April2010 5.12.0 uses the following PPM repositories: > - Bribes: http://www.bribes.org/perl/ppm > - Trouchelle: http://trouchelle.com/ppm10 > - ActiveState: http://ppm.activestate.com/PPMPackages/5.10-windows > > At least the last 2 do not work with 5.12 > > We should rather use: > - http://trouchelle.com/ppm12/ > - http://ppm4.activestate.com/MSWin32-x86/5.12/1200/ > > IMPORTANT NOTE: http://ppm4.activestate.com/MSWin32-x86/5.12/1200/ is 32 bit > only, for 64 bit the right URL is > http://ppm4.activestate.com/MSWin32-x64/5.12/1200/ > > -- > kmx > >
Personally, between this one and #57205 (which is already to "patched" status), I agree. I'll build a 5.12.0.1 off of the updated "maintenance" version once this bug is fixed. (That's what it's for, after all! :)
RT-Send-CC: adamkennedybackup [...] gmail.com
My further research revealed that it will not be as easy as simply changing the URL.

The new PPM repos use slightly different style - and the old approach based on:
1/ getting repo URL content
2/ parsing content of 1/ and getting list of URLs to *.ppd files
3/ fetching and parsing *.ppd file corresponding to the installed package
4/ installing package based on the info from parsed *.PPD file
simply does not work with the new repos as you have to use so called summary file (package.xml) which contains all infos about all packages in given repo.

So technically we have to patch (quite heavily) the PPM package (which is - if I understand well - already patched somehow and differs from the CPAN released PPM).

My guess: patching + testing = 3-5 mandays (+maybe some manday for studying ppm related specs)

--
kmx
From the Makefile.PL that's in http://svn.ali.as/cpan/trunk/Perl-Dist-Strawberry/share/modules/PPM-0.01_02.tar.gz : '5.10' => { 'ActiveState' => {location => 'http://ppm.activestate.com/PPMPackages/5.10-windows', summaryfile => 'searchsummary.ppm', }, 'Bribes' => {location => 'http://www.bribes.org/perl/ppm', summaryfile => 'searchsummary.ppm', }, 'Trouchelle' => {location => 'http://trouchelle.com/ppm10', summaryfile => 'package.xml', }, }, So the PPM program, I would think, already knows about summary files. I just need to know what summary file is being used in addition to the URL for each of those repositories. I'll patch #43243 while I'm changing these, as well.
Which makes the 5.12 entry in the hash I pulled that one from earlier: '5.12' => { ($Config ~= m/x86/) ? ('ActiveState' => {location => 'http://ppm4.activestate.com/MSWin32-x86/5.12/1200/', summaryfile => 'package.xml', }, 'Bribes' => {location => 'http://www.bribes.org/perl/ppm', summaryfile => 'searchsummary.ppm', }, 'Trouchelle' => {location => 'http://trouchelle.com/ppm12', summaryfile => 'package.xml', }, },) : ('ActiveState64' => {location => 'http://ppm4.activestate.com/MSWin32-x64/5.12/1200/', summaryfile => 'package.xml', },) ; ppm4 support may be accidental, but I'll find out if anything significant changed during testing.
Show quoted text
> I just need to know what summary file is being used in addition to the
> URL for each of those repositories.

As far as I understand it works like this

1/ in the "old times" summary file was used just for searching and full pacckage details were stored in separate *.ppd files
see http://www.bribes.org/perl/ppm/searchsummary.ppm

2/ in the "new times" summary file contains the full information about all packages (no *.ppd files needed as they contain exactly the same info)
see http://www.bribes.org/perl/ppm/package.lst

The problem is that http://www.bribes.org/perl/ppm/ support both ways old + new. However ActiveState repos support ontly the new way.

The currently used version of PPM included in strawberry supports unfortunately only the old style.

--
kmx


On Wed May 05 15:09:14 2010, KMX wrote: Show quoted text
> > I just need to know what summary file is being used in addition to
> the
> > URL for each of those repositories.
> > As far as I understand it works like this > > 1/ in the "old times" summary file was used just for searching and > full > pacckage details were stored in separate *.ppd files > see http://www.bribes.org/perl/ppm/searchsummary.ppm > > 2/ in the "new times" summary file contains the full information about > all > packages (no *.ppd files needed as they contain exactly the same info) > see http://www.bribes.org/perl/ppm/package.lst > > The problem is that http://www.bribes.org/perl/ppm/ support both ways > old + > new. However ActiveState repos support ontly the new way. > > The currently used version of PPM included in strawberry supports > unfortunately > only the old style.
In that case, I'd want to fix this bug in 2 steps: 1) At least add the repositories that support 'old-style' for 5.12 32-bit, and release 5.12.0.1 using those repositories and the other changes in the patch file I've attached to bug 43243 (not including PPM in the 64-bit rebuilds, unfortunately, as I don't see an 'old-style' repository that supports 64-bit.) I've got to pay some bills right now, but I'll put a draft module up in about 2 hours that does this step. 2) Write a version of PPM that supports 'new-style', and have that go through the beta-testing process for July's builds, because I feel that supporting 'new-style' PPM would be too much of a change not to go through at least some beta testing. Agreed? My understanding is that newer versions of the PPM modules included with ActiveState aren't open-source, so we can't use their code. :(
Show quoted text
> In that case, I'd want to fix this bug in 2 steps:
>
> 1) At least add the repositories that support 'old-style' for 5.12
> 32-bit, and release 5.12.0.1 using those repositories and the other
> changes in the patch file I've attached to bug 43243 (not including PPM
> in the 64-bit rebuilds, unfortunately, as I don't see an 'old-style'
> repository that supports 64-bit.)
>
> I've got to pay some bills right now, but I'll put a draft module up in
> about 2 hours that does this step.
>
> 2) Write a version of PPM that supports 'new-style', and have that go
> through the beta-testing process for July's builds, because I feel that
> supporting 'new-style' PPM would be too much of a change not to go
> through at least some beta testing.
>
> Agreed?

Yes, I fully agree. As for 2) please create s SVN repo for the new PPM (in case I have some time to hack on it :)

Show quoted text
> My understanding is that newer versions of the PPM modules included with
> ActiveState aren't open-source, so we can't use their code. :(

I do not know what license it is but ppm4 related info at http://docs.activestate.com/activeperl/5.12/lib/ActivePerl/PPM/PPD.html seems to be sufficient.

--
kmx


The directions in http://csjewell.dreamwidth.org/12480.html will suffice as far as step 1 and #43243 are concerned. PPM has been imported as http://svn.ali.as/cpan/branches/Perl-Dist-Strawberry/PPM-new-style/ , as well, so work can be done to add the ability to use "new-style" repositories to it.
5.12.0.1 fixes this.