#14809: MacPorts-1.6.0 installer postflight script ------------------------------------+--------------------------------------- Reporter: lailoken3@verizon.net | Owner: macports-tickets@lists.macosforge.org Type: defect | Status: new Priority: Normal | Milestone: MacPorts base bugs Component: base | Version: 1.6.0 Resolution: | Keywords: installer postflight Port: | ------------------------------------+--------------------------------------- Changes (by ryandesign@macports.org): * cc: ryandesign@macports.org (added) Comment: Replying to [ticket:14809 lailoken3@…]:
1) line 36 assumes that the install is to the boot drive, it does not take the selected installation drive into account
Line 36 of `postflight` in 1.6.0 is: {{{ BINPATH=$PREFIX/bin }}} That is correct, since that's what we want to write into the `.profile`. The part that may appear incorrect is where we later use that to set the path to run `port selfupdate`: {{{ export PATH=$BINPATH:$PATH port -v selfupdate || { echo "An attempt to synchronize your recent MacPorts installation with the project's rsync server failed!" echo "Please run 'port -d selfupdate' manually to find out the cause of the error." exit 1 } }}} This has changed substantially in the `postflight` that's now in trunk. Now we have a function `update_macports` which does this: {{{ if ! ${BINPATH}/port -v selfupdate; then echo "An attempt to synchronize your recent MacPorts installation with the project's rsync server failed!" echo "Please run 'sudo port -d selfupdate' manually to find out the cause of the error." else echo "Successful!" fi }}} This would be just as unsuccessful if you're not installing MacPorts on the boot drive. Even if we change it at this point to prepend "`$2`" to `${BINPATH}` to use the selected install drive instead of the boot drive, the selfupdate wouldn't work. There's no abstraction in `port` that would let it know to prepend some prefix to its own during install time. Even if there were, the selfupdate may download and compile a new version of MacPorts. If so, we would want that compilation to run on the destination operating system. So in conclusion, the simplest correct thing to do at this point would be to prevent the disk image installer from installing on anything other than the boot drive. -- Ticket URL: <http://trac.macports.org/ticket/14809#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS