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.
Responsible Changed From-To: freebsd-ports-bugs->portmgr Over to maintainer(s).
State Changed From-To: open->feedback Ask for submitter fix.
Please provide supplementary patches that demonstrate the functionality of the code provided. -- Thomas Abthorpe | FreeBSD Committer tabthorpe@FreeBSD.org | http://people.freebsd.org/~tabthorpe
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
State Changed From-To: feedback->open Submitter provided requested information
Responsible Changed From-To: portmgr->bdrewery take for exp-run
Responsible Changed From-To: bdrewery->portmgr No failures after exp-run
Responsible Changed From-To: portmgr->eadler approved please commit
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"
State Changed From-To: open->closed Committed. Thanks!