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"

Reply via email to