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