On Sun, Mar 24, 2013 at 3:33 PM, Eitan Adler <li...@eitanadler.com> wrote:
> 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 > _______________________________________________ > > This is very useful feature because to find such information sometimes requires much search work . During package/port development , this information is easily available and recording it into visible field will make external searches unnecessary . At the beginning , this field may be empty , but over time , it may be populated during renew of package/port descriptions/versions . Thank you very much . Mehmet Erol Sanliturk _______________________________________________ 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"