Opened 13 years ago

Closed 13 years ago

#30739 closed defect (fixed)

selfupdate should not run portindex when base is outdated

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone: MacPorts 2.0.2
Component: base Version: 2.0.1
Keywords: Cc:
Port:

Description

selfupdate syncs the ports tree and then builds the new version of MacPorts. Which means that you've got a new ports tree, full of ports that have new MacPorts 2.0 commands, trying to be parsed by MacPorts 1.9.2, failing, generating tons of errors while trying to build the new portindex:

Adding port textproc/xercesc3
Failed to parse file textproc/xmlcatmgr/Portfile: invalid command name "installs_libs"
Adding port textproc/xmlresume2x
Failed to parse file textproc/xmlto/Portfile: invalid command name "installs_libs"
Adding port www/ZendFramework

selfupdate should first update base, then sync the ports tree with that new version of base. Or if it's not possible to relaunch itself, then it should exit after updating base and tell the user to run selfupdate again.

Change History (5)

comment:1 Changed 13 years ago by jmroot (Joshua Root)

Yeah, it's not safe to keep running after base files have been changed.

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Seems like it would be easier to just not generate the portindex locally if base is outdated.

comment:3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

FYI I'm syncing with svn so updating the portindex locally is the only way it ever gets updated.

comment:4 Changed 13 years ago by drkp (Dan Ports)

This is probably a good idea, but note that even if we change it and release a new base version, it won't help people upgrading from 1.9.x (they'll be running the old selfupdate code, obviously).

comment:5 Changed 13 years ago by jmroot (Joshua Root)

Milestone: MacPorts 2.0.2
Resolution: fixed
Status: newclosed
Summary: selfupdate should sync last not firstselfupdate should not run portindex when base is outdated
Note: See TracTickets for help on using tickets.