On Jan 8, 2008, at 10:30 PM, Stefan Schwarzer wrote:
I wanted to install MacPorts on my Mac - MacPro with Leopard, latest version. But, while using the disk image, the installation finished with this message: "The following install step failed: run postflight script for MacPorts-1.6.0."
[snip]
I wrote the postflight script so I should chime in. Can you please try grepping through /var/log/install* files to see if there are any relevant messages there about the failure?
[snip]
Here are the info. Can it be that it can't connect to MacPorts (for an update or so) which causes the problem? I am behind a firewill - will have to ask the admin to open port 873 - if that's correct
[snip]
Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Synchronizing local ports tree from rsync://rsync.macports.org/ release/ports/ Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: rsync: failed to connect to rsync.macports.org: Connection refused (61) Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync-30/ rsync/clientserver.c(94) Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Error: / opt/local/bin/port: port selfupdate failed: Couldn't sync the ports tree: Synchronization the local ports tree failed doing rsync Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: An attempt to synchronize your recent MacPorts installation with the project's rsync server failed! Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Please run 'port -d selfupdate' manually to find out the cause of the error. Jan 9 07:25:24 gridmac7 runner[18974]: postflight[18990]: Jan 9 07:25:24 gridmac7 Installer[18967]: Install failed: The following install step failed: run postflight script for MacPorts-1.6.0. Contact the software manufacturer for assistance.
So the postflight script failed because it couldn't connect to the rsync server. Doesn't matter why it happened (whether our rsync server was down (which it wasn't) or whether the user's firewall prevented the connection); we should ensure that any inability to connect to the rsync server does not cause the postflight script to fail like that. Best thing would be if we could pop up a friendly message to the user that they need to update their installation themselves, but it might also be ok to just silently fail. In any event, the installation in the Installer should complete.