LEGAL variable to capture generic issues

Mehmet Erol Sanliturk m.e.sanliturk at gmail.com
Sun Mar 24 23:11:47 UTC 2013


On Sun, Mar 24, 2013 at 3:33 PM, Eitan Adler <lists at 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= portmgr at 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


More information about the freebsd-ports mailing list