ports/178096: [exp-run] LEGAL variable to capture generic issues

Eitan Adler lists at eitanadler.com
Wed Apr 24 03:50:01 UTC 2013


>Number:         178096
>Category:       ports
>Synopsis:       [exp-run] LEGAL variable to capture generic issues
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 24 03:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Eitan Adler
>Release:        
>Organization:
>Environment:
>Description:
I have been trying to capture the differences between LEGAL and the ports tree.
At this point I am convinced we need a new variable to capture in a
machine usable way issues such as "special permission granted to
distribute under the GPL" or "No license -- see
http://cr.yp.to/softwarelaw.html".  Furthermore some ports define
NO_PACKAGE for reasons of legality (GPL issues) and others defined it
for other reasons (the package becomes too big).  We have no method to
differentiate between these two reasons.

I'd like to add a global "meta" variable that captures this
relationship.  This would add the ability to mark per port special
text to be included in LEGAL even if it doesn't affect the ports tee
behavior.

The patch below would require a little bit of additional work (ports
which defined NO_PACKAGE for reasons other than legality would also
need to define LEGAL_PACKAGE= yes).  This would make it much easier to
autogenerate LEGAL from the tree.
>How-To-Repeat:

>Fix:
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk      (revision 315169)
+++ Mk/bsd.port.mk      (working copy)
@@ -161,6 +161,9 @@ FreeBSD_MAINTAINER= portmgr at FreeBSD.org
 #                                but distfiles can be put on ftp sites and CDROMs.
 # FORBIDDEN            - Package build should not be attempted because of
 #                                security vulnerabilities.
+# LEGAL_TEXT   - Port has legal issues (e.g., special
+#                                permission to distribute, lacks a license).
+# LEGAL_PACKAGE        - Port has no legal issues but defines NO_PACKAGE
 # IGNORE               - Package build should be skipped entirely (e.g.
 #                                because of serious unfixable problems in the build,
 #                                because it cannot be manually fetched, etc).  Error
@@ -3200,6 +3203,17 @@ IGNORE=          is marked as broken: ${BROKEN}
 IGNORE=                is forbidden: ${FORBIDDEN}
 .endif

+# Define the text to be output to LEGAL
+.if defined(LEGAL_TEXT)
+LEGAL= ${LEGAL_TEXT}
+.elif defined(RESTRICTED)
+LEGAL= ${RESTRICTED}
+.elif defined(NO_CDROM)
+LEGAL= ${NO_CDROM}
+.elif defined(NO_PACKAGE) && ! defined(LEGAL_PACKAGE)
+LEGAL= ${NO_PACKAGE}
+.endif
+
 .if (defined(MANUAL_PACKAGE_BUILD) && defined(PACKAGE_BUILDING))
 IGNORE=                has to be built manually: ${MANUAL_PACKAGE_BUILD}
 clean:

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list