From nobody@FreeBSD.org  Wed Apr 24 03:47:31 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id BB727350
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 24 Apr 2013 03:47:31 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id 9157F1D4C
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 24 Apr 2013 03:47:31 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r3O3lVwb075296
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 24 Apr 2013 03:47:31 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id r3O3lVPF075295;
	Wed, 24 Apr 2013 03:47:31 GMT
	(envelope-from nobody)
Message-Id: <201304240347.r3O3lVPF075295@red.freebsd.org>
Date: Wed, 24 Apr 2013 03:47:31 GMT
From: Eitan Adler <lists@eitanadler.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [exp-run] LEGAL variable to capture generic issues
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         178096
>Category:       ports
>Synopsis:       [exp-run] LEGAL variable to capture generic issues
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    eadler
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 24 03:50:00 UTC 2013
>Closed-Date:    Wed Dec 11 00:23:43 UTC 2013
>Last-Modified:  Wed Dec 11 00:30:00 UTC 2013
>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@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:
Responsible-Changed-From-To: freebsd-ports-bugs->portmgr 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Thu May 2 23:08:17 UTC 2013 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178096 
State-Changed-From-To: open->feedback 
State-Changed-By: tabthorpe 
State-Changed-When: Wed Oct 16 14:25:28 UTC 2013 
State-Changed-Why:  
Ask for submitter fix. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178096 

From: Thomas Abthorpe <tabthorpe@goodking.ca>
To: bug-followup@FreeBSD.org, lists@eitanadler.com
Cc:  
Subject: Re: ports/178096: [exp-run] LEGAL variable to capture generic issues
Date: Wed, 16 Oct 2013 10:26:26 -0400

 Please provide supplementary patches that demonstrate the functionality
 of the code provided.
 
 -- 
 Thomas Abthorpe		| FreeBSD Committer
 tabthorpe@FreeBSD.org	| http://people.freebsd.org/~tabthorpe
State-Changed-From-To: feedback->open 
State-Changed-By: eadler 
State-Changed-When: Wed Oct 16 21:30:33 UTC 2013 
State-Changed-Why:  
Submitter provided requested information 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178096 

From: Eitan Adler <lists@eitanadler.com>
To: Thomas Abthorpe <tabthorpe@goodking.ca>
Cc: bug-followup <bug-followup@freebsd.org>
Subject: Re: ports/178096: [exp-run] LEGAL variable to capture generic issues
Date: Wed, 16 Oct 2013 17:29:58 -0400

 On Wed, Oct 16, 2013 at 10:26 AM, Thomas Abthorpe <tabthorpe@goodking.ca> wrote:
 > Please provide supplementary patches that demonstrate the functionality
 > of the code provided.
 
 I believe I did so in prior portmgr emails as well as in the previous thread.
 
 As an example this could be used by devel/raknet
 Index: Makefile
 ===================================================================
 --- Makefile    (revision 330201)
 +++ Makefile    (working copy)
 @@ -21,6 +21,7 @@ LICENSE_COMB= dual
  LICENSE_NAME_SpecialAuth=      Special authorization from developer
  LICENSE_FILE_SpecialAuth=      ${FILESDIR}/SpecialAuth.mbox
  LICENSE_PERMS_SpecialAuth=     dist-mirror dist-sell pkg-mirror
 pkg-sell auto-accept
 +LICENSE_TEXT=  FreeBSD granted special license to distribute 3.x under GPLv3
 
  USE_ZIP=       yes
  NO_WRKSUBDIR=  yes
 
 The end goal is to move the information from LEGAL to the ports
 Makefiles as well as putting more information into LEGAL.
 
 
 
 -- 
 Eitan Adler
Responsible-Changed-From-To: portmgr->bdrewery 
Responsible-Changed-By: bdrewery 
Responsible-Changed-When: Sat Oct 19 15:59:00 CDT 2013 
Responsible-Changed-Why:  
take for exp-run 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178096 
Responsible-Changed-From-To: bdrewery->portmgr 
Responsible-Changed-By: bdrewery 
Responsible-Changed-When: Mon Oct 21 19:08:10 CDT 2013 
Responsible-Changed-Why:  
No failures after exp-run 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178096 
Responsible-Changed-From-To: portmgr->eadler 
Responsible-Changed-By: bdrewery 
Responsible-Changed-When: Tue Dec 10 17:38:16 CST 2013 
Responsible-Changed-Why:  
approved please commit 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178096 
State-Changed-From-To: open->closed 
State-Changed-By: eadler 
State-Changed-When: Wed Dec 11 00:23:42 UTC 2013 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178096 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/178096: commit references a PR
Date: Wed, 11 Dec 2013 00:23:23 +0000 (UTC)

 Author: eadler
 Date: Wed Dec 11 00:23:15 2013
 New Revision: 336130
 URL: http://svnweb.freebsd.org/changeset/ports/336130
 
 Log:
   bsd.port.mk: add LEGAL_TEXT and LEGAL_PACKAGE variable
   
   The license system did not a method to give 'positive' permissions or other
   'LEGAL' information without affecting the resulting package in some way
   (RESTRICTED, NO_PACKAGE, NO_CDROM, etc.).
   
   Provide a generic mechanism to provide this.
   
   Further, provide a special variable "LEGAL" which can be used to capture any of
   NO_PACKAGE, NO_CDROM, RESTRICTED, LEGAL_TEXT in reverse priority order.
   
   PR:		ports/178096
   Approved by:	portmgr (bdrewery)
 
 Modified:
   head/Mk/bsd.port.mk
 
 Modified: head/Mk/bsd.port.mk
 ==============================================================================
 --- head/Mk/bsd.port.mk	Tue Dec 10 23:56:44 2013	(r336129)
 +++ head/Mk/bsd.port.mk	Wed Dec 11 00:23:15 2013	(r336130)
 @@ -169,6 +169,8 @@ FreeBSD_MAINTAINER=	portmgr@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
 @@ -3164,6 +3166,17 @@ IGNORE=		is marked as broken on ${ARCH}:
  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:
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
>Unformatted:
