Troubles using port_binary_distributable.tcl

Ryan Schmidt ryandesign at macports.org
Tue May 20 19:45:39 PDT 2014


On May 20, 2014, at 18:16, Davide Liessi wrote:

> 2014-05-21 1:01 GMT+02:00 Ryan Schmidt:
>> port_binary_distributable.tcl was fixed to be compatible with both MacPorts 2.2.x and 2.3.x so make sure you have the latest version of the script from the repository.
> 
> Indeed /opt/local/var/macports/sources/rsync.macports.org/release/base/portmgr/jobs/port_binary_distributable.tcl
> was outdated, while
> /opt/macports-src/base/portmgr/jobs/port_binary_distributable.tcl
> worked as expected (/opt/macports-src/ is the SVN repository of
> MacPorts base source).
> 
> I thought that installing MacPorts from source and/or running 'sudo
> port sync' would also update those scripts inside /opt/local.
> Why does this not happen?

The directory /opt/local/var/macports/sources/rsync.macports.org/release/base contains whatever base version was downloaded by "sudo port selfupdate". This only includes released stable versions. If you install a newer non-stable version, either from svn or an alpha, beta or release candidate package, then selfupdate will do nothing, which explains why the contents of that directory, in this case including the port_binary_distributable.tcl script, are MacPorts 2.2.1 versions, even though you are running a later version of MacPorts.

This problem will resolve itself once MacPorts 2.3.0 is released, which should be soon, unless problems are found.

I don't think we ever expected users to manually run anything in that directory; the directory exists only for MacPorts to use during selfupdates. If you want to run port_binary_distributable.tcl, get the version corresponding to your version of MacPorts from the repository.


On May 20, 2014, at 19:56, Jeremy Lavergne wrote:

> Is this something we should have the scripts check before running? If the MacPorts version is newer than they’re expecting, demand the user download a fresh copy.

This seems like overkill to me. Most MacPorts releases haven't made the types of internal changes that were made in 2.3.0 that cause changes in scripts to be necessary.


> Or, perhaps, make the scripts a package that can be installed to libexec?


We could make a port for port_binary_distributable.tcl. Or are you thinking it should be installed as part of the MacPorts base installation? I guess the reason why it's not now is that we like being able to change the list of approved licenses without having to release a new version of MacPorts.

What other scripts besides port_binary_distributable.tcl are you thinking of?



More information about the macports-users mailing list