XCode 4.3

Joshua Root jmr at macports.org
Sat Feb 18 19:42:38 PST 2012


On 2012-2-19 05:09 , Dan Ports wrote:
> On Sat, Feb 18, 2012 at 08:32:40AM -0800, James Berry wrote:
>> 	- The record of whether you've agree to the license is stored per-user in ~/Library/Preferences/com.apple.dt.Xcode.plist:
> [...] 
>> Maybe we need to create a macports user home at something like /opt/local/users/macports, with no access except to /opt/local/users/macportsLibrary/Preferences??? ?
> 
> Well, there are already some ports that want to access the macports
> user's $HOME and run into problems because it's /var/empty. In
> https://trac.macports.org/ticket/31827 we were talking about creating a
> temporary, per-build home directory. If we're going to do that, which
> sounds like a good idea, we could populate it with that plist.
> 
> Of course, we'd still have to get the user to accept the license once
> to generate that plist.

How about this then:

Remember the location of the invoking user's home dir by saving $HOME
when we start up. Set HOME at the macports level to
${prefix}/var/macports/home. Copy or link the Xcode plist from the
user's home into ${prefix}/var/macports/home.

Create something like ${workpath}/.home for each port and copy or link
the Xcode plist to there from the user's home. Set HOME to that dir when
doing command_exec.

That way we're using the user's own prior acceptance of the EULA when
they execute port.

- Josh


More information about the macports-dev mailing list