PPM doesn't update, but no error

Posted by ultrablue on 2007-03-30 08:40
Forums: PPM | OS: Windows XP Pro

Hello:

I'm using PPM 4.0 to update my packages.

However, my packages don't get updated. PPM claims that it's downloaded and installed them, but when I refresh it shows the exact same packages need to be updated.

Checking the site dir shows that the packages really didn't get updated.

This happens from the GUI or the CLI.

Thanks!
Greg

kevinw
ActiveState Staff
Mon, 2007-04-02 13:54

Hi Greg,

If you quit PPM, run "ppm area sync" from the command prompt, and start PPM again does this persist? Also, what was the command you ran to upgrade all of the packages?

Cheers,

kjw

ultrablue | Wed, 2007-04-04 08:43

Kevin:

I did as you asked, but nothing has changed.

Well, sort of.

I'm seeing that a number of packages appear to be installed in two areas (perl and site). The packages in the perl area aren't being updated.

So, here's an example:

Package Name Area Installed Available
Archive-Zip* perl 1.16 1.18
Archive-Zip site 1.18
DBD-SQLite* site 1.12 1.13
DBD-SQLite perl 1.13

The * indicates the PPM is showing that there's an update available.

Note that this is with View Upgradeable Packages selected.

So, if I mark the first for install, and then Run Marked Actions, PPM says:

Archive-Zip marked for install
Preparing install to site area of:
	Archive-Zip
Downloading Archive-Zip-1.18 ... DONE
Unpacking Archive-Zip-1.18 ... DONE
Generating HTML for Archive-Zip-1.18 ... DONE
Installing to site area ... DONE
DONE

So, it got installed to the site area (not the perl area), which is great, just what I wanted. But the view doesn't change; in other words, it still looks like this:

Package Name Area Installed Available
Archive-Zip* perl 1.16 1.18
Archive-Zip site 1.18
DBD-SQLite* site 1.12 1.13
DBD-SQLite perl 1.13

If I quit and restart, I get the same view, so it appears that nothing changed at all (even though the package was updated in site).

So, I'm really confused. Why two packages? Are there really two packages? Why two areas?

Thanks!
Greg

kevinw
ActiveState Staff
Mon, 2007-04-09 12:25

Hi Greg,

There are really two areas and two packages. The "perl" area is "precious" -- that is, modules there will not be added, removed, or upgraded. This is because these modules are used by PPM and other core functions of ActivePerl and their integrity must be maintained.

The "site" area is where the meat and potatoes of package management goes on. It is searched for modules before the "perl" area, so your code will always get the newest version first, so long as the newest version is installed in the "site" area. In other words, things above are looking just the way they should for Archive-Zip.

Cheers,

kjw

ultrablue | Mon, 2007-04-09 14:00

Kevin:

I've always wondered what a precious package is and now I know.

But, according the PPM 4 docs:
No more 'precious' packages. PPM can upgrade itself as well other bundled and core modules.

What's up with that?

Thanks for your help!
Greg

kevinw
ActiveState Staff
Tue, 2007-04-10 10:30

Hi Greg,

I asked one of the Perl developers and here is part of his answer:


The concept of "precious" packages is gone. PPM still rely on having certain packages available and it tries to ensure its success by searching for modules in the 'perl' area before it search 'site'. For this to work it is highly desirable for the packages in the 'perl' area not to be removed or 'upgraded' unless this happens when ActivePerl itself is.

He goes on to say that it is possible to force upgrades of packages in the 'perl' area, but is unnecessary and may possibly cause problems.

Cheers,

kjw

ultrablue | Tue, 2007-04-10 10:42

Kevin:

Acknowledged.

Is this a good place to make a feature request?

How about an option to hide precious packages?

In any case, thanks for your time and diligence -- I really appreciate it; please pass along my thanks to the programmers, as well. I think the GUI is a good idea.

Thanks again,
Greg

kevinw
ActiveState Staff
Tue, 2007-04-10 10:45

Hi Greg,

A better place for feature requests is to file a bug with a severity of "enhancement" against ActivePerl at:

http://bugs.activestate.com/

That ensures the feature gets considered and you get direct feedback.

Cheers,

kjw