View | Details | Raw Unified | Return to bug 62808
Collapse All | Expand All

(-)book.sgml (-33 / +51 lines)
Lines 3416-3422 Link Here
3416
    <sect1 id="porting-restrictions">
3416
    <sect1 id="porting-restrictions">
3417
      <title>Ports with distribution restrictions</title>
3417
      <title>Ports with distribution restrictions</title>
3418
3418
3419
      <para>Licenses vary, and some of them place restrictions on how the
3419
      <para>Software licenses vary, and some ports have restrictions on how the
3420
	application can be packaged, whether it can be sold for profit, and so
3420
	application can be packaged, whether it can be sold for profit, and so
3421
	on.</para>
3421
	on.</para>
3422
3422
Lines 3428-3453 Link Here
3428
	  please contact the &a.ports;.</para>
3428
	  please contact the &a.ports;.</para>
3429
      </important>
3429
      </important>
3430
3430
3431
      <para>In situations like this, the following variables can be set.  In
3431
      <para>If a port contains license restrictions, the port
3432
	addition, <filename>ports/LEGAL</filename> should also be
3432
	  committer should add an entry to <filename>ports/LEGAL</filename>
3433
	updated.</para>
3433
	  describing exactly what the license restriction entails.
3434
	  In addition, the following variables should be set in the
3435
	  port's <filename>Makefile</filename>:
3436
      </para>
3434
3437
3435
      <sect2>
3438
      <sect2>
3436
	<title><makevar>NO_PACKAGE</makevar></title>
3439
	<title><makevar>RESTRICTED</makevar></title>
3437
3438
	<para>This variable indicates that we may not generate a binary
3439
	  package of the application.  However, the port's
3440
	  <makevar>DISTFILES</makevar> files may be freely distributed.</para>
3441
3440
3442
	<para><makevar>NO_PACKAGE</makevar> should also be used if the binary
3441
	<para>Set this variable if the application's license forbids us
3443
	  package is not generally useful, and the application should always
3442
	  from mirroring the application's <makevar>DISTFILES</makevar> or
3444
	  be compiled from the source code.  For example, if the application
3443
	  distributing pre-built packages of the port via FTP or CD-ROM.
3445
	  has configuration information that is site specific hard coded in to
3444
	</para>
3446
	  it at compile time, set <makevar>NO_PACKAGE</makevar>.</para>
3447
3445
3448
	<para><makevar>NO_PACKAGE</makevar> should be set to a string
3446
	<para><makevar>RESTRICTED</makevar> should be set to a string
3449
	  describing the reason why the package should not be
3447
	  describing the reason why the port cannot be redistributed.
3450
	  generated.</para>
3448
	  Typically, this indicates that the port contains proprietary
3449
	  software and that the user will need to manually download the
3450
	  <makevar>DISTFILES</makevar> for themselves, possibly after
3451
	  registering for the software or agreeing to accept the terms of
3452
	  an EULA.</para>
3451
      </sect2>
3453
      </sect2>
3452
3454
3453
      <sect2>
3455
      <sect2>
Lines 3455-3483 Link Here
3455
3457
3456
	<para>This variable indicates that although we are allowed to generate
3458
	<para>This variable indicates that although we are allowed to generate
3457
	  binary packages, we are not allowed to put those packages, or the
3459
	  binary packages, we are not allowed to put those packages, or the
3458
	  port's <makevar>DISTFILES</makevar>, onto a CDROM (or DVD-ROM)
3460
	  port's <makevar>DISTFILES</makevar>, onto a CD-ROM (or DVD-ROM)
3459
	  for resale.  The
3461
	  for resale.  However, the prebuilt binary packages and the port's
3460
	  <makevar>DISTFILES</makevar> will still be available via FTP
3462
	  <makevar>DISTFILES</makevar> will still be available via FTP.</para>
3461
	  (or HTTP if you set it up that way.)</para>
3462
3463
3463
	<para><makevar>NO_PACKAGE</makevar> and <makevar>NO_CDROM</makevar>
3464
	<para><makevar>NO_CDROM</makevar> should be set to a string
3464
	  can be set simultaneously.</para>
3465
	  describing the reason why the port cannot be redistributed
3466
	  on CD-ROM.  For instance, this should be used if the port's license
3467
	  is for "non-commercial" use only.</para>
3465
      </sect2>
3468
      </sect2>
3466
3469
3467
      <sect2>
3470
      <sect2>
3468
	<title><makevar>RESTRICTED</makevar></title>
3471
	<title><makevar>NO_PACKAGE</makevar></title>
3469
3472
3470
	<para>Set this variable if the application's license also forbids us
3473
	<para>This variable indicates that we may not generate a binary
3471
	  from mirroring the application's <makevar>DISTFILES</makevar> via
3474
	  package of the application.  However, the port's
3472
	  FTP (or HTTP if you set it up that way.)</para>
3475
	  <makevar>DISTFILES</makevar> files may be freely distributed.</para>
3473
3476
3474
	<para>Also set this if the application's license has general
3477
	<para><makevar>NO_PACKAGE</makevar> should also be used if the binary
3475
	  restrictions on who may use it, e.g. the application is for
3478
	  package is not generally useful, and the application should always
3476
	  non-commercial use only.</para>
3479
	  be compiled from the source code.  For example, if the application
3480
	  has configuration information that is site specific hard coded in to
3481
	  it at compile time, set <makevar>NO_PACKAGE</makevar>.</para>
3477
3482
3478
	<para>Note that the port committer should add an entry to
3483
	<para><makevar>NO_PACKAGE</makevar> should be set to a string
3479
	  <filename>/usr/ports/LEGAL</filename> describing exactly
3484
	  describing the reason why the package should not be
3480
	  what the restriction entails.</para>
3485
	  generated.</para>
3486
3487
	  <note>
3488
	    <para><makevar>NO_PACKAGE</makevar> and <makevar>NO_CDROM</makevar>
3489
	    can be set simultaneously.</para></note>
3481
      </sect2>
3490
      </sect2>
3482
3491
3483
      <sect2>
3492
      <sect2>
Lines 3486-3491 Link Here
3486
	<para>If only some of the distribution files are restricted then set
3495
	<para>If only some of the distribution files are restricted then set
3487
	  this variable to list them.  It defaults to <literal>${DISTFILES}
3496
	  this variable to list them.  It defaults to <literal>${DISTFILES}
3488
	    ${PATCHFILES}</literal>.</para>
3497
	    ${PATCHFILES}</literal>.</para>
3498
      </sect2>
3499
3500
      <sect2>
3501
      <title>Related variables</title>
3502
3503
      <para>In addition to the variables above, a port may also be marked as
3504
        <makevar>BROKEN</makevar>, <makevar>FORBIDDEN</makevar>, or
3505
	<makevar>IGNORE</makevar>.  Please refer to the following section
3506
	for additional details:	<xref linkend="dads-broken">.</para>
3489
      </sect2>
3507
      </sect2>
3490
    </sect1>
3508
    </sect1>

Return to bug 62808