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)
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: | new → closed |
Summary: | selfupdate should sync last not first → selfupdate should not run portindex when base is outdated |
Yeah, it's not safe to keep running after base files have been changed.