Hi all, 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. Thoughts? Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk (revision 315169) +++ Mk/bsd.port.mk (working copy) @@ -161,6 +161,9 @@ FreeBSD_MAINTAINER= port...@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: -- Eitan Adler _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"