Diagnosing why a port doesn't have binaries
Ryan Schmidt
ryandesign at macports.org
Sun May 6 00:34:03 PDT 2012
On May 5, 2012, at 23:15, Jeremy Lavergne wrote:
>> I'm trying to diagnose why we're not providing binaries of the php ports. I'm guessing it's a license conflict. For example php depends on readline, and readline is under the gpl while php is under the php license, and those are listed as incompatible licenses in port_binary_distributable.tcl.
>>
>> I recall we've switched some other ports from depending on readline to depending on libedit for this reason. Is that a good place for me to start?
>>
>> Is there a good way to get a complete list of all the license incompatibilities or other reasons why a binary is not being provided, or do I have to manually go through the dependency chain and look at every port's license?
>
> Well, making a dot (graphviz) file from all those relationships would be an easy to graphically spot them.
Yes, I can use "port rdeps" or port-depgraph [1] to see the relationships between the dependencies. But that doesn't answer tell me which of them impede distributing a binary. I did some cursory initial research manually. PHP depends on readline so I used "port info readline" to see that it's under the GPL, and then I read port_binary_distributable.tcl to see that the GPL is incompatible with the PHP license. So that's one thing I need to correct. Another PHP dependency is gsed, so I used "port info gsed" to see that it's also under the GPL, but here that's not a problem because PHP only uses the gsed program; gsed doesn't install any libraries, and the gsed port indicates that via "installs_libs no", so MacPorts already knows this. What I was hoping for was an automated report, something like:
$ port why-no-binary php54
php54 is under the PHP license which is incompatible with the GPL license used by dependency readline
... (possibly additional reasons)
I wasn't sure if information about why a binary was not being produced was already part of the buildbot's logs. (The buildbot logs are so enormous that it's difficult to just look through them.)
[1] https://trac.macports.org/browser/contrib/port-depgraph
More information about the macports-dev
mailing list