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