Opened 11 years ago

Closed 11 years ago

#25156 closed defect (fixed)

MacPorts installer package postflight script requires Xcode to be installed

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

Description

The MacPorts 1.9.0-rc2 disk image installer package, unlike that of 1.8.2 and earlier, now has this postflight process:

  • get the port definitions from rsync (sync)
  • create the index (portindex)
  • update to the latest MacPorts (selfupdate)

The portindex part is new; previous versions just downloaded the pre-made portindex from the server.

Installing MacPorts 1.9.0-rc2 on a computer with no prior MacPorts or Xcode installed, I can see in the installer log the following problematic messages flying by:

$ grep -C 1 '\(Failed to parse file\|Ports failed\)' 'Installer Log 6-Jun-2010.txt'
Jun  6 00:08:36 adam installd[2222]: ./postflight: Adding port archivers/xz-devel
Jun  6 00:08:36 adam installd[2222]: ./postflight: Failed to parse file archivers/zip/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:08:36 adam installd[2222]: ./postflight: Adding port archivers/zlib
--
Jun  6 00:09:17 adam installd[2222]: ./postflight: Adding port graphics/Quarter
Jun  6 00:09:17 adam installd[2222]: ./postflight: Failed to parse file graphics/Renaissance-Framework/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:17 adam installd[2222]: ./postflight: Adding port graphics/SimGear
--
Jun  6 00:09:34 adam installd[2222]: ./postflight: Adding port lang/mercury-extras
Jun  6 00:09:34 adam installd[2222]: ./postflight: Failed to parse file lang/mit-scheme/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:34 adam installd[2222]: ./postflight: Adding port lang/mosml
--
Jun  6 00:09:35 adam installd[2222]: ./postflight: Adding port lang/objc
Jun  6 00:09:35 adam installd[2222]: ./postflight: Failed to parse file lang/ocaml/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:35 adam installd[2222]: ./postflight: Adding port lang/ocaml-doc
--
Jun  6 00:09:36 adam installd[2222]: ./postflight: Adding port lang/python24-doc
Jun  6 00:09:36 adam installd[2222]: ./postflight: Failed to parse file lang/python25/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:36 adam installd[2222]: ./postflight: Adding port lang/python25-doc
Jun  6 00:09:36 adam installd[2222]: ./postflight: Failed to parse file lang/python26/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:36 adam installd[2222]: ./postflight: Adding port lang/python26-doc
Jun  6 00:09:36 adam installd[2222]: ./postflight: Failed to parse file lang/python27/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:36 adam installd[2222]: ./postflight: Failed to parse file lang/python31/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:36 adam installd[2222]: ./postflight: Adding port lang/q
--
Jun  6 00:09:53 adam installd[2222]: ./postflight: Adding port net/netcat
Jun  6 00:09:53 adam installd[2222]: ./postflight: Failed to parse file net/netclasses-framework/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:09:53 adam installd[2222]: ./postflight: Adding port net/netdude
--
Jun  6 00:10:47 adam installd[2222]: ./postflight: Adding port python/py26-pyxmpp
Jun  6 00:10:47 adam installd[2222]: ./postflight: Failed to parse file python/py26-qscintilla/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:10:47 adam installd[2222]: ./postflight: Adding port python/py26-quadtree
--
Jun  6 00:11:02 adam installd[2222]: ./postflight: Adding port science/xpa
Jun  6 00:11:02 adam installd[2222]: ./postflight: Failed to parse file science/yorick/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:11:02 adam installd[2222]: ./postflight: Adding port science/yorick-gl
--
Jun  6 00:11:17 adam installd[2222]: ./postflight: Adding port textproc/libebml
Jun  6 00:11:17 adam installd[2222]: ./postflight: Failed to parse file textproc/libiconv/Portfile: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Jun  6 00:11:18 adam installd[2222]: ./postflight: Adding port textproc/liblrdf
--
Jun  6 00:11:37 adam installd[2222]: ./postflight: Ports successfully parsed:	6999 
Jun  6 00:11:37 adam installd[2222]: ./postflight: Ports failed:			12 
Jun  6 00:11:37 adam installd[2222]: ./postflight: Up-to-date ports skipped:	0

The index would presumably be regenerated correctly once the user installs Xcode and then reruns "sudo port sync" or "sudo port selfupdate". But since most ports in MacPorts require Xcode, and since MacPorts itself, with the above log as evidence, itself does, the installer should not allow the user to install MacPorts if Xcode is not already installed.

Or, portindex should be changed so it does not require Xcode to be installed to generate a correct complete index. But that seems like it would be harder to do.

Change History (2)

comment:1 Changed 11 years ago by ryandesign (Ryan Schmidt)

Version: 1.8.21.8.99

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

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.