Changeset View
Changeset View
Standalone View
Standalone View
head/en_US.ISO8859-1/books/porters-handbook/porting-dads/chapter.xml
Show First 20 Lines • Show All 364 Lines • ▼ Show 20 Lines | <sect1 xml:id="dads-readme"> | ||||
<note> | <note> | ||||
<para>If <command>make readme</command> fails, make sure that | <para>If <command>make readme</command> fails, make sure that | ||||
the default value of <varname>ECHO_MSG</varname> has not | the default value of <varname>ECHO_MSG</varname> has not | ||||
been modified by the port.</para> | been modified by the port.</para> | ||||
</note> | </note> | ||||
</sect1> | </sect1> | ||||
<sect1 xml:id="dads-arch-neutral"> | |||||
<title>Marking a Port as Architecture Neutral</title> | |||||
<para>Ports that do not have any architecture-dependent files | |||||
or requirements are identified by setting | |||||
<literal>NO_ARCH=yes</literal>.</para> | |||||
</sect1> | |||||
<sect1 xml:id="dads-noinstall"> | <sect1 xml:id="dads-noinstall"> | ||||
<title>Marking a Port Not Installable with | <title>Marking a Port Not Installable with | ||||
<varname>BROKEN</varname>, <varname>FORBIDDEN</varname>, or | <varname>BROKEN</varname>, <varname>FORBIDDEN</varname>, or | ||||
<varname>IGNORE</varname></title> | <varname>IGNORE</varname></title> | ||||
<para>In certain cases, users must be prevented from installing | <para>In certain cases, users must be prevented from installing | ||||
a port. There are several variables that can be used in a | a port. There are several variables that can be used in a | ||||
port's <filename>Makefile</filename> to tell the user that the | port's <filename>Makefile</filename> to tell the user that the | ||||
▲ Show 20 Lines • Show All 107 Lines • ▼ Show 20 Lines | <note> | ||||
installed port (for example, if they install a file in | installed port (for example, if they install a file in | ||||
the same place that performs a different function), | the same place that performs a different function), | ||||
<link linkend="conflicts">use | <link linkend="conflicts">use | ||||
<varname>CONFLICTS</varname> instead</link>. | <varname>CONFLICTS</varname> instead</link>. | ||||
<varname>CONFLICTS</varname> will set | <varname>CONFLICTS</varname> will set | ||||
<varname>IGNORE</varname> by itself.</para> | <varname>IGNORE</varname> by itself.</para> | ||||
</note> | </note> | ||||
</listitem> | </listitem> | ||||
</itemizedlist> | |||||
</sect2> | |||||
<sect2 xml:id="dads-noinstall-notes"> | |||||
<title>Implementation Notes</title> | |||||
<para>Do not quote the values of <varname>BROKEN</varname>, | |||||
<varname>IGNORE</varname>, and related variables. Due to the | |||||
way the information is shown to the user, the wording of | |||||
messages for each variable differ:</para> | |||||
<programlisting>BROKEN= fails to link with base -lcrypto</programlisting> | |||||
<programlisting>IGNORE= unsupported on recent versions</programlisting> | |||||
<para>resulting in this output from | |||||
<command>make describe</command>:</para> | |||||
<programlisting>===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.</programlisting> | |||||
<programlisting>===> foobar-0.1 is unsupported on recent versions.</programlisting> | |||||
</sect2> | |||||
</sect1> | |||||
<sect1 xml:id="dads-arch"> | |||||
<title>Architectural Considerations</title> | |||||
<sect2 xml:id="dads-arch-neutral"> | |||||
<title>Marking a Port as Architecture Neutral</title> | |||||
<para>Ports that do not have any architecture-dependent files | |||||
or requirements are identified by setting | |||||
<literal>NO_ARCH=yes</literal>.</para> | |||||
</sect2> | |||||
<sect2 xml:id="dads-arch-ignore"> | |||||
<title>Marking a Port as Ignored Only On Certain Architectures</title> | |||||
<itemizedlist> | |||||
<listitem> | <listitem> | ||||
<para>To mark a port as <varname>IGNORE</varname>d | <para>To mark a port as <varname>IGNORE</varname>d | ||||
only on certain architectures, there are two other | only on certain architectures, there are two other | ||||
convenience variables that will automatically set | convenience variables that will automatically set | ||||
<varname>IGNORE</varname>: | <varname>IGNORE</varname>: | ||||
<varname>ONLY_FOR_ARCHS</varname> and | <varname>ONLY_FOR_ARCHS</varname> and | ||||
<varname>NOT_FOR_ARCHS</varname>. Examples:</para> | <varname>NOT_FOR_ARCHS</varname>. Examples:</para> | ||||
<programlisting>ONLY_FOR_ARCHS= i386 amd64</programlisting> | <programlisting>ONLY_FOR_ARCHS= i386 amd64</programlisting> | ||||
<programlisting>NOT_FOR_ARCHS= ia64 sparc64</programlisting> | <programlisting>NOT_FOR_ARCHS= ia64 sparc64</programlisting> | ||||
<para>A custom <varname>IGNORE</varname> message can be | <para>A custom <varname>IGNORE</varname> message can be | ||||
set using <varname>ONLY_FOR_ARCHS_REASON</varname> and | set using <varname>ONLY_FOR_ARCHS_REASON</varname> and | ||||
<varname>NOT_FOR_ARCHS_REASON</varname>. Per | <varname>NOT_FOR_ARCHS_REASON</varname>. Per | ||||
architecture entries are possible with | architecture entries are possible with | ||||
<varname>ONLY_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname> | <varname>ONLY_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname> | ||||
and | and | ||||
<varname>NOT_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname>.</para> | <varname>NOT_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname>.</para> | ||||
</listitem> | </listitem> | ||||
</itemizedlist> | |||||
</sect2> | |||||
<sect2 xml:id="dads-arch-i386"> | |||||
<itemizedlist> | |||||
<listitem> | <listitem> | ||||
<para>If a port fetches i386 binaries and installs them, | <para>If a port fetches i386 binaries and installs them, | ||||
set <varname>IA32_BINARY_PORT</varname>. If this variable | set <varname>IA32_BINARY_PORT</varname>. If this variable | ||||
is set, <filename>/usr/lib32</filename> must be present | is set, <filename>/usr/lib32</filename> must be present | ||||
for IA32 versions of libraries and the kernel must support | for IA32 versions of libraries and the kernel must support | ||||
IA32 compatibility. If one of these two | IA32 compatibility. If one of these two | ||||
dependencies is not satisfied, <varname>IGNORE</varname> | dependencies is not satisfied, <varname>IGNORE</varname> | ||||
will be set automatically.</para> | will be set automatically.</para> | ||||
</listitem> | </listitem> | ||||
</itemizedlist> | </itemizedlist> | ||||
</sect2> | |||||
<sect2 xml:id="dads-noinstall-notes"> | |||||
<title>Implementation Notes</title> | |||||
<para>Do not quote the values of <varname>BROKEN</varname>, | |||||
<varname>IGNORE</varname>, and related variables. Due to the | |||||
way the information is shown to the user, the wording of | |||||
messages for each variable differ:</para> | |||||
<programlisting>BROKEN= fails to link with base -lcrypto</programlisting> | |||||
<programlisting>IGNORE= unsupported on recent versions</programlisting> | |||||
<para>resulting in this output from | |||||
<command>make describe</command>:</para> | |||||
<programlisting>===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.</programlisting> | |||||
<programlisting>===> foobar-0.1 is unsupported on recent versions.</programlisting> | |||||
</sect2> | </sect2> | ||||
</sect1> | </sect1> | ||||
<sect1 xml:id="dads-deprecated"> | <sect1 xml:id="dads-deprecated"> | ||||
<title>Marking a Port for Removal with | <title>Marking a Port for Removal with | ||||
<varname>DEPRECATED</varname> or | <varname>DEPRECATED</varname> or | ||||
<varname>EXPIRATION_DATE</varname></title> | <varname>EXPIRATION_DATE</varname></title> | ||||
▲ Show 20 Lines • Show All 178 Lines • Show Last 20 Lines |