From owner-freebsd-ports@FreeBSD.ORG Sun Mar 24 22:33:50 2013 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 618E6B7E for ; Sun, 24 Mar 2013 22:33:50 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-pb0-f43.google.com (mail-pb0-f43.google.com [209.85.160.43]) by mx1.freebsd.org (Postfix) with ESMTP id 4030A945 for ; Sun, 24 Mar 2013 22:33:50 +0000 (UTC) Received: by mail-pb0-f43.google.com with SMTP id md12so3878875pbc.16 for ; Sun, 24 Mar 2013 15:33:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=x-received:mime-version:from:date:message-id:subject:to :content-type; bh=6A6WR6Yrnw9HZuVLQ57icVXkSnSskfLQdN1velNmFwo=; b=QXaZgc8iGCtJp8t2Q5fqyfPhb5o7mHAT6ZRYqSmT6q1PDTmR9Efg2l5XxlUhLlb/XI clCXN//Psy7nOpjRTuvu5Cw6/sxPO0cc7TpQw7h3VsiUoqiDpKW2isYiWArSQvcpkx9j U2eLzjm219MBPxLyY/8j+IAYKbiLBX/cHxZfY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:from:date:message-id:subject:to :content-type:x-gm-message-state; bh=6A6WR6Yrnw9HZuVLQ57icVXkSnSskfLQdN1velNmFwo=; b=TbHzimMCTIMvHA/mSYwfnOQac3Xa6hITTEWKPgVQHo335zoh7UzLm7Qv42u8zekYST sF9rHQgSD7QOh6edXrMG/YtWbjIv1yBV4v+GMXe+ud9E3qmILEWRknYw4EHp5fhRZGAS aeKrYaNVNLQhKSlB1SFz6EAQ9AyFPNgoQ3WaHHOjAaFhJntPruz+ZRI51xCTJW7AuxJs mOBLzw4CRXb3Kp5AY+rbGli5OdR3ynbmQZ3whD3tc9KI3Acsk5oP1IFbntaqKWVV2bhZ VhNUyANZ4FqVelHqYQ6R7N0DsX87TJTWAK6ZfRUA6waY5W1TEjMPsFpQP9uk2lCMRuvY q85A== X-Received: by 10.68.129.9 with SMTP id ns9mr14478269pbb.16.1364164423984; Sun, 24 Mar 2013 15:33:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.66.139.162 with HTTP; Sun, 24 Mar 2013 15:33:13 -0700 (PDT) From: Eitan Adler Date: Sun, 24 Mar 2013 18:33:13 -0400 Message-ID: Subject: LEGAL variable to capture generic issues To: FreeBSD Ports Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQnPPcXucVA+IPTZSQSXcDRsw0AeYOM1w/YaIh5+d8O4Cu96zo8mE80wPFUGIsFeg1ocZmrY X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Mar 2013 22:33:50 -0000 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@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