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 _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev