Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#43085 closed defect (fixed)

MacPorts port should not be installable

Reported by: stephan.jorek@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: cooljeanius (Eric Gallager)
Port: MacPorts

Description

Todays “port selfupdate” followed by an “port outdated” listed:

MacPorts                       2.2.1_0 < 2.3.0-beta1_0

This is the current subversion release, which I guess should »not yet« get published via “selfupdate”, right ?

On the other hand, if you deliberately released this version, then I'd like to mention, that this version is broken as it is not able to uninstall (upgrade) ports which have been installed with MacPorts 2.2.1. It reports broken/invalid Portfile-descriptions and leaves the system quite unusable. I already read some related mailing-list threads, which talk about changes in the Sqlite-database schema. Are there any steps I might have missed before upgrading MacPorts from 2.2.1 to 2.3.0 ? Do I have to reinstall everything ?

Change History (4)

comment:1 Changed 6 years ago by neverpanic (Clemens Lang)

This message suggests you have the MacPorts port installed. You should not install the MacPorts port, it's only for developers to create the binary installers they re-distribute to users.

MacPorts should always be updated using selfupdate, and it's entirely possible installing the MacPorts port has overwritten the files previously installed by the MacPorts installer without running the required post-setup scripts that avoid the problem you are mentioning. Didn't you have to force-activate the MacPorts port when you installed it? If you uninstall the MacPorts port now that will likely break your MacPorts installation, because it will remove the files required to run MacPorts.

I suggest you make a backup of /opt/local, uninstall the MacPorts port and run the 2.3.0-beta1 installer (see https://lists.macosforge.org/pipermail/macports-dev/2014-March/026208.html). Going back to 2.2.x is probably not a good idea now, because the layout of the database changed (and the beta seems pretty stable at the moment, so it's not worth the risk).

We should really prevent the MacPorts port from installing (and overwriting MacPorts' files).

comment:2 in reply to:  description ; Changed 6 years ago by stephan.jorek@…

Replying to stephan.jorek@…:

… This message suggests you have the MacPorts port installed. You should not install the MacPorts port, it's only for developers to create the binary installers they re-distribute to users.

Ok, acknowledged - my fault, sorry. Problem solved …

MacPorts should always be updated using selfupdate, and it's entirely possible installing the MacPorts port has overwritten the files previously installed by the MacPorts installer without running the required post- setup scripts that avoid the problem you are mentioning. Didn't you have to force-activate the MacPorts port when you installed it?

Yes, I had to force-activate it (and did a clean-up afterwards). And I have to admit, that I used the macports-migration reinstall-script from http://trac.macports.org/wiki/Migration . So, it was my fault …

If you uninstall the MacPorts port now that will likely break your MacPorts installation, because it will remove the files required to run MacPorts.

I'm not sure, but a running (tcl) process survives the removal of its own binaries and scripts, as long as everything has already been loaded into RAM, or am I wrong ? Like when running the port-repl or the migration-script I mentioned above ?

I suggest you make a backup of /opt/local, uninstall the MacPorts port and run the 2.3.0-beta1 installer (see https://lists.macosforge.org/pipermail/macports-dev/2014-March/026208.html). Going back to 2.2.x is probably not a good idea now, because the layout of the database changed (and the beta seems pretty stable at the moment, so it's not worth the risk).

Yep, have it already running on my second machine … good job so far. +1

We should really prevent the MacPorts port from installing (and overwriting MacPorts' files).

Good spot, and/or to make it absolutely obvious rename “MacPorts” to “MacPorts-dev” ?

Thanks for your immediate reply,

Stephan

comment:3 in reply to:  2 Changed 6 years ago by neverpanic (Clemens Lang)

Port: MacPorts added
Resolution: fixed
Status: newclosed
Summary: MacPorts 2.3 »beta« already released via selfupdate ?MacPorts port should not be installable

Replying to stephan.jorek@…:

Ok, acknowledged - my fault, sorry. Problem solved …

You couldn't have known – the port doesn't say anything about that.

I'm not sure, but a running (tcl) process survives the removal of its own binaries and scripts, as long as everything has already been loaded into RAM, or am I wrong ? Like when running the port-repl or the migration-script I mentioned above ?

That might be true, but not every file needed might have been loaded at this point (even though the package require statements are usually at the top of our files, so that might even work).

Yep, have it already running on my second machine … good job so far. +1

That's good to hear :)

Good spot, and/or to make it absolutely obvious rename “MacPorts” to “MacPorts-dev”?

I've prevented installation of the MacPorts port with a very noisy message in r118259.

comment:4 Changed 6 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

Note: See TracTickets for help on using tickets.