> On Jun 1, 2016, at 6:41 PM, mcalh...@macports.org wrote:
> 
> Revision
> 149146
> Author
> mcalh...@macports.org
> Date
> 2016-06-01 16:41:20 -0700 (Wed, 01 Jun 2016)
> Log Message
> 
> octave family: writing to a plist file with /usr/bin/defaults is deprecated; 
> use PlistBuddy instead (possible fix of #51424)
> Modified Paths
> 
>       • trunk/dports/math/octave/Portfile
>       • trunk/dports/math/octave-devel/Portfile
> Diff
> 
> Modified: trunk/dports/math/octave/Portfile (149145 => 149146)
> --- trunk/dports/math/octave/Portfile 2016-06-01 23:39:34 UTC (rev 149145)
> +++ trunk/dports/math/octave/Portfile 2016-06-01 23:41:20 UTC (rev 149146)
> @@ -375,18 +375,25 @@
>          #NSHumanReadableCopyright      ''
>          #LSUIElement                   1
>          set values "
> -            CFBundleDevelopmentRegion     English
> -            CFBundleExecutable            Octave
> -            CFBundleIconFile              Octave.icns
> -            CFBundleDocumentTypes         {-array 
> \'{\"CFBundleTypeExtensions\" = (\"m\"); \"CFBundleTypeOSTypes\" = 
> (\"Mfile\"); \"CFBundleTypeRole\" = \"Editor\";}\'}
> -            CFBundleIdentifier            org.octave.Octave
> -            CFBundleInfoDictionaryVersion 6.0
> -            CFBundleSignature             Octave
> -            CFBundleVersion               ${version}
> -            CFBundleShortVersionString    ${version}
> +            CFBundleDevelopmentRegion                         string  English
> +            CFBundleExecutable                                string  Octave
> +            CFBundleIconFile                                  string  
> Octave.icns
> +            CFBundleIdentifier                                string  
> org.octave.Octave
> +            CFBundleInfoDictionaryVersion                     string  6.0
> +            CFBundleSignature                                 string  Octave
> +            CFBundleVersion                                   string  
> ${version}
> +            CFBundleShortVersionString                        string  
> ${version}
> +            CFBundleDocumentTypes                             array   {}
> +            CFBundleDocumentTypes:                            dict    {}
> +            CFBundleDocumentTypes:0:CFBundleTypeRole          string  
> \"Editor\"
> +            CFBundleDocumentTypes:0:CFBundleTypeExtensions    array   {}
> +            CFBundleDocumentTypes:0:CFBundleTypeExtensions:   string  \"m\"
> +            CFBundleDocumentTypes:0:CFBundleTypeOSTypes       array   {}
> +            CFBundleDocumentTypes:0:CFBundleTypeOSTypes:      string  
> \"Mfile\"
>          "
> -        foreach {key value} ${values} {
> -            system "/usr/bin/defaults write 
> ${worksrcpath}/${appName}/Contents/Info ${key} ${value}"
> +
> +        foreach {key type value} ${values} {
> +            system -W "${worksrcpath}/${appName}/Contents" 
> "/usr/libexec/PlistBuddy -c \"Add :${key} ${type} ${value}\" Info.plist"
> 
>          }

Do we maybe need a generic plist-writing function in MacPorts base to make this 
easier? MacPorts base itself could make use of it for writing launchd plists, 
and the app portgroup and ports like octave could use it for writing 
Info.plists.

Note that, if this port previously worked on Tiger, this change will break it, 
because /usr/libexec/PlistBuddy is not on Tiger (though PlistBuddy is almost 
certainly elsewhere on Tiger systems, inside at least one of the installer 
receipts).


_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to