[133076] trunk/dports/multimedia/VLC

Macports mf2k at macports.org
Fri Feb 20 08:31:36 PST 2015


On Feb 19, 2015, at 9:27 PM, Joshua Root <jmr at macports.org> wrote:

> On 2015-2-20 11:16 , Ryan Schmidt wrote:
>> On Feb 19, 2015, at 1:43 PM, mf2k at macports.org wrote:
>>> 
>>> Revision
>>> 133076
>>> Author
>>> mf2k at macports.org
>>> Date
>>> 2015-02-19 11:43:20 -0800 (Thu, 19 Feb 2015)
>>> Log Message
>>> 
>>> vlc: Move pulseaudio to a variant. Enable qt4 ui plugin. Remove some sparkle code. Update configure options to match upstream recommended ones. (#46748)
>> 
>>> Modified: trunk/dports/multimedia/VLC/Portfile (133075 => 133076)
>> 
>>> +            # the vlc executable needs to be started with a full path to the app bundle executable
>>> +            # or else the Mac OS X interface will hang beyond even a ^C or ^\ :
>>> +            file delete ${destroot}${prefix}/bin/vlc
>>> +            set vlc [open "${filespath}/vlc" "w"]
>>> +            puts ${vlc} "#!/bin/sh"
>>> +            puts ${vlc} ""
>>> +            puts ${vlc} "exec ${applications_dir}/VLC.app/Contents/MacOS/VLC \"$@\""
>>> +            close ${vlc}
>>> +            xinstall -m 755 ${filespath}/vlc ${destroot}${prefix}/bin
>> 
>> A port should not attempt to modify (or create or delete) a file in filespath, nor anywhere outside of worksrcpath (except perhaps for copying default configuration files in a post-activate block).
>> 
>> The usual way to accomplish what you're doing here would be to have a script in the files directory, which you would commit to the repository as normal, containing the desired script, with the path to the applications directory represented by the placeholder "@APPLICATIONS_DIR@". The port installs the file where it needs to go in the destroot, then uses reinplace to replace the placeholder with its final value.
> 
> You shouldn't even be able to write to ${filespath}, it just happens
> that (a) this is the destroot phase so we're running as root, and (b)
> you're using Tcl commands (as opposed to something run via system) so
> sandboxing isn't applied.
> 
> That should be considered a bug in base, albeit not an easy one to fix.

I have made some adjustments in r133108. 


Cheers!
Frank




More information about the macports-dev mailing list