Opened 13 years ago

Closed 12 years ago

#29822 closed defect (fixed)

p5-http-date @6.00_0 trips up p5-libwww-perl 6.x upgrade when using direct mode

Reported by: l2g@… Owned by: l2g@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: danielluke (Daniel J. Luke)
Port: p5-http-date

Description (last modified by l2g@…)

From Daniel J. Luke:

On Jun 11, 2011, at 10:00 PM, Larry Gilbert wrote:

I've tested the upgrade many times over and I don't expect any problems, but if you run into any, please let me know.

it fails when using 'direct' mode (instead of image mode):

DEBUG: Executing proc-pre-org.macports.activate-activate-0
Warning: Deactivating old, pre-6.x libwww-perl to activate p5-http-date
--->  Deactivating p5-libwww-perl
Error: Target org.macports.activate returned: Image error: p5-libwww-perl @5.837_1 not installed
as an image.
DEBUG: Backtrace: Image error: p5-libwww-perl @5.837_1 not installed as an image.
   while executing
"$pre $targetname"
Warning: the following items did not execute (for p5-http-date): org.macports.activate
Log for p5-http-date is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.
macports.org_release_ports_perl_p5-http-date/main.log
Error: Problem while installing p5-http-date
To report a bug, see <http://guide.macports.org/#project.tickets>

Simple workaround is to uninstall p5-libwww-perl (with force if necessary) and then install it again.

(the problem is the pre-activate method in p5-http-date assumes image mode).

Change History (4)

comment:1 Changed 13 years ago by l2g@…

Description: modified (diff)
Owner: changed from macports-tickets@… to l2g@…
Status: newassigned

comment:2 Changed 13 years ago by l2g@…

I've thought this over a bit.

In direct mode, there is only one version of each port installed. So to have the same upgrade behavior in direct mode, p5-libwww-perl would simply have to be uninstalled.

But if a failure occurs, then the system is left with no p5-libwww-perl. That makes me uneasy. (At least in image mode, a deactivated p5-libwww-perl is still installed.)

So I think the "workaround" given above may actually be the best route for direct-mode users to go. Thus I would want to edit this port, p5-libwww-perl, and all of its dependents so they would inform direct-mode users of this necessity, rather than simply allow upgrades to fail without explanation.

Objections? Other suggestions?

comment:3 Changed 13 years ago by danielluke (Daniel J. Luke)

I think it's OK to uninstall/install for any direct mode users. Upgrade for direct (+archive mode) works by building the new archive, uninstalling, and then installing the new port.

Since it's happening in pre-activate (which is after destroot), you already should have a successful build.

comment:4 Changed 12 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed

Direct mode is no more.

Note: See TracTickets for help on using tickets.