[89004] trunk/base

jmr at macports.org jmr at macports.org
Mon Jan 16 21:54:18 PST 2012


Revision: 89004
          http://trac.macports.org/changeset/89004
Author:   jmr at macports.org
Date:     2012-01-16 21:54:16 -0800 (Mon, 16 Jan 2012)
Log Message:
-----------
add license_noconflict option to allow maintainer to manually check license compatibility for some dependencies

Modified Paths:
--------------
    trunk/base/doc/portfile.7
    trunk/base/portmgr/jobs/port_binary_distributable.tcl
    trunk/base/src/port1.0/portmain.tcl

Modified: trunk/base/doc/portfile.7
===================================================================
--- trunk/base/doc/portfile.7	2012-01-17 01:08:41 UTC (rev 89003)
+++ trunk/base/doc/portfile.7	2012-01-17 05:54:16 UTC (rev 89004)
@@ -449,6 +449,23 @@
 .br
 .Sy Example:
 .Dl installs_libs no
+.It Ic license_noconflict
+By default, it is assumed that ports may use libraries or headers from their
+dependencies and thus form a derivative work. A dependency with an
+incompatible license thus prevents the port from being distributed in binary
+form. If a dependency with an incompatible license is not used in such a way
+that a derivative work is formed, or should not prevent binary distribution
+for any other reason, add its name to this list.
+.br
+.Sy Type:
+.Em optional
+.br
+.Sy Default:
+.Em none
+.br
+.Sy Example:
+.Dl license_noconflict openssl
+.Dl license_noconflict readline gdbm
 .El
 .Sh TARGET HOOKS
 A number of hooks are available for customizing many of the standard

Modified: trunk/base/portmgr/jobs/port_binary_distributable.tcl
===================================================================
--- trunk/base/portmgr/jobs/port_binary_distributable.tcl	2012-01-17 01:08:41 UTC (rev 89003)
+++ trunk/base/portmgr/jobs/port_binary_distributable.tcl	2012-01-17 05:54:16 UTC (rev 89004)
@@ -133,6 +133,9 @@
         # when in doubt, assume code from the dep is incorporated
         lappend ret yes
     }
+    if {[info exists portInfo(license_noconflict)]} {
+        lappend ret $portInfo(license_noconflict)
+    }
     return $ret
 }
 
@@ -151,6 +154,9 @@
     array set portSeen {}
     set top_info [infoForPort $portName $variantInfo]
     set top_license [lindex $top_info 1]
+    foreach noconflict_port [lindex $top_info 3] {
+        set noconflict_ports($noconflict_port) 1
+    }
     set top_license_names {}
     # check that top-level port's license(s) are good
     foreach sublist $top_license {
@@ -182,6 +188,9 @@
         # mark as seen and remove from the list
         set portSeen($aPort) 1
         set portList [lreplace $portList 0 0]
+        if {[info exists noconflict_ports($aPort)]} {
+            continue
+        }
 
         set aPortInfo [infoForPort $aPort $variantInfo]
         set aPortLicense [lindex $aPortInfo 1]

Modified: trunk/base/src/port1.0/portmain.tcl
===================================================================
--- trunk/base/src/port1.0/portmain.tcl	2012-01-17 01:08:41 UTC (rev 89003)
+++ trunk/base/src/port1.0/portmain.tcl	2012-01-17 05:54:16 UTC (rev 89004)
@@ -53,7 +53,7 @@
         platforms default_variants install.user install.group \
         macosx_deployment_target universal_variant os.universal_supported \
         supported_archs depends_skip_archcheck installs_libs \
-        copy_log_files \
+        license_noconflict copy_log_files \
         compiler.cpath compiler.library_path \
         add_users
 
@@ -65,7 +65,7 @@
 option_proc notes handle_option_string
 
 # Export options via PortInfo
-options_export name version revision epoch categories maintainers platforms description long_description notes homepage license provides conflicts replaced_by installs_libs
+options_export name version revision epoch categories maintainers platforms description long_description notes homepage license provides conflicts replaced_by installs_libs license_noconflict
 
 default subport {[portmain::get_default_subport]}
 proc portmain::get_default_subport {} {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120116/779355fd/attachment.html>


More information about the macports-changes mailing list