|
Lines 42-51
Link Here
|
| 42 |
</bookinfo> |
42 |
</bookinfo> |
| 43 |
|
43 |
|
| 44 |
|
44 |
|
|
|
45 |
<chapter id="why-port"> |
| 46 |
<title>Introduction</title> |
| 47 |
|
| 48 |
<para>The FreeBSD ports collection is the way almost everyone |
| 49 |
installs applications ("ports") on FreeBSD. Like everything |
| 50 |
else about FreeBSD, it is primarily a volunteer effort. |
| 51 |
It's important to keep this in mind when reading this |
| 52 |
document.</para> |
| 53 |
|
| 54 |
<para>In FreeBSD, anyone may submit a new port, or volunteer |
| 55 |
to maintain an existing port if it is unmaintained—you |
| 56 |
do not need any special commit privileges to do so. |
| 57 |
Over time, if you gain experience and respect within the |
| 58 |
developer community, you may eventually gain a ports |
| 59 |
"commit bit" and thus become a ports "committer" |
| 60 |
—someone who has the right to commit to the FreeBSD |
| 61 |
ports CVS tree.</para> |
| 62 |
|
| 63 |
<para>A typical problem, however, is that there are many |
| 64 |
more people who want to add new ports than to maintain |
| 65 |
existing ports, and many more people who want to maintain |
| 66 |
existing ports than who want to serve as ports committers. |
| 67 |
Please keep this in mind when deciding whether to port |
| 68 |
something in the first place—it does not make the project |
| 69 |
overall look good to have ports in the tree that do not |
| 70 |
work because they are no longer maintained.</para> |
| 71 |
</chapter> |
| 72 |
|
| 45 |
<chapter id="own-port"> |
73 |
<chapter id="own-port"> |
| 46 |
<title>Making a port yourself</title> |
74 |
<title>Making a port yourself</title> |
| 47 |
|
75 |
|
| 48 |
<para>So, now you are interested in making your own port or |
76 |
<para>So, you are still interested in making your own port or |
| 49 |
upgrading an existing one? Great!</para> |
77 |
upgrading an existing one? Great!</para> |
| 50 |
|
78 |
|
| 51 |
<para>What follows are some guidelines for creating a new port for |
79 |
<para>What follows are some guidelines for creating a new port for |
|
Lines 64-71
Link Here
|
| 64 |
<para>Only a fraction of the variables |
96 |
<para>Only a fraction of the variables |
| 65 |
(<makevar><replaceable>VAR</replaceable></makevar>) that can be |
97 |
(<makevar><replaceable>VAR</replaceable></makevar>) that can be |
| 66 |
overridden are mentioned in this document. Most (if not all) |
98 |
overridden are mentioned in this document. Most (if not all) |
| 67 |
are documented at the start of <filename>bsd.port.mk</filename>. |
99 |
are documented at the start of <filename>bsd.port.mk</filename>; |
| 68 |
This file uses a non-standard tab setting. |
100 |
the others probably ought to be. |
|
|
101 |
Note that this file uses a non-standard tab setting: |
| 69 |
<application>Emacs</application> and |
102 |
<application>Emacs</application> and |
| 70 |
<application>Vim</application> should recognize the setting on |
103 |
<application>Vim</application> should recognize the setting on |
| 71 |
loading the file. Both &man.vi.1; and |
104 |
loading the file. Both &man.vi.1; and |
|
Lines 79-85
Link Here
|
| 79 |
<title>Quick Porting</title> |
112 |
<title>Quick Porting</title> |
| 80 |
|
113 |
|
| 81 |
<para>This section tells you how to do a quick port. In many cases, it |
114 |
<para>This section tells you how to do a quick port. In many cases, it |
| 82 |
is not enough, but we will see.</para> |
115 |
is not sufficient, so you will have to read further on into |
|
|
116 |
the document.</para> |
| 83 |
|
117 |
|
| 84 |
<para>First, get the original tarball and put it into |
118 |
<para>First, get the original tarball and put it into |
| 85 |
<makevar>DISTDIR</makevar>, which defaults to |
119 |
<makevar>DISTDIR</makevar>, which defaults to |
|
Lines 134-140
Link Here
|
| 134 |
<filename>pkg-descr</filename> and |
168 |
<filename>pkg-descr</filename> and |
| 135 |
<filename>pkg-plist</filename>. Their |
169 |
<filename>pkg-plist</filename>. Their |
| 136 |
<filename>pkg-</filename> prefix distinguishes them from |
170 |
<filename>pkg-</filename> prefix distinguishes them from |
| 137 |
other files.</para> |
171 |
other files. (Note: the former |
|
|
172 |
<filename>pkg-comment</filename> files have now been folded |
| 173 |
into the <filename>Makefile</filename>s themselves as the |
| 174 |
one-line <literal>COMMENT</literal> variable and are |
| 175 |
thus deprecated. Please make sure your port does not |
| 176 |
include them.)</para> |
| 138 |
|
177 |
|
| 139 |
<sect2> |
178 |
<sect2> |
| 140 |
<title><filename>pkg-descr</filename></title> |
179 |
<title><filename>pkg-descr</filename></title> |
|
Lines 497-504
Link Here
|
| 497 |
make sure all the stages up to that one are completed and call |
536 |
make sure all the stages up to that one are completed and call |
| 498 |
the real targets or scripts, and they are not intended to be |
537 |
the real targets or scripts, and they are not intended to be |
| 499 |
changed. If you want to fix the extraction, fix |
538 |
changed. If you want to fix the extraction, fix |
| 500 |
<maketarget>do-extract</maketarget>, but never ever touch |
539 |
<maketarget>do-extract</maketarget>, but never ever change |
| 501 |
<maketarget>extract</maketarget>!</para> |
540 |
the way <maketarget>extract</maketarget> operates!</para> |
| 502 |
</note> |
541 |
</note> |
| 503 |
|
542 |
|
| 504 |
<para>Now that you understand what goes on when the user types |
543 |
<para>Now that you understand what goes on when the user types |
|
Lines 516-531
Link Here
|
| 516 |
<emphasis>mainstream</emphasis> sources when and where you |
555 |
<emphasis>mainstream</emphasis> sources when and where you |
| 517 |
can.</para> |
556 |
can.</para> |
| 518 |
|
557 |
|
|
|
558 |
<para>You will need to set the variable <makevar>MASTER_SITES</makevar> |
| 559 |
to reflect where the original tarball resides. You will find |
| 560 |
convenient shorthand definitions for most mainstream sites |
| 561 |
in <filename>bsd.sites.mk</filename>. Please use these |
| 562 |
sites—and the associated definitions—if |
| 563 |
at all possible, to help avoid the problem of having the same |
| 564 |
information repeated over again many times in the source base. |
| 565 |
As these sites tend to change over time, this becomes a |
| 566 |
maintainence nightmare for everyone involved.</para> |
| 567 |
|
| 519 |
<para>If you cannot find a FTP/HTTP site that is well-connected to the |
568 |
<para>If you cannot find a FTP/HTTP site that is well-connected to the |
| 520 |
net, or can only find sites that have irritatingly non-standard |
569 |
net, or can only find sites that have irritatingly non-standard |
| 521 |
formats, you might want to put a copy on a reliable FTP or HTTP |
570 |
formats, you might want to put a copy on a reliable FTP or HTTP |
| 522 |
server that you control (e.g., your home page). Make sure you set |
571 |
server that you control (e.g., your home page).</para> |
| 523 |
<makevar>MASTER_SITES</makevar> to reflect your choice.</para> |
|
|
| 524 |
|
572 |
|
| 525 |
<para>If you cannot find somewhere convenient and reliable to put the |
573 |
<para>If you cannot find somewhere convenient and reliable to put the |
| 526 |
distfile |
574 |
distfile |
| 527 |
we can <quote>house</quote> it ourselves |
575 |
we can <quote>house</quote> it ourselves |
| 528 |
on <hostid>ftp.FreeBSD.org</hostid>. |
576 |
on <hostid>ftp.FreeBSD.org</hostid>; however, this is the |
|
|
577 |
least-preferred solution, as files housed there tend to get stale. |
| 529 |
The distfile must be placed into |
578 |
The distfile must be placed into |
| 530 |
<filename>~/public_distfiles/</filename> of someone's |
579 |
<filename>~/public_distfiles/</filename> of someone's |
| 531 |
<hostid>freefall</hostid> account. |
580 |
<hostid>freefall</hostid> account. |
|
Lines 535-543
Link Here
|
| 535 |
<makevar>MASTER_SITE_SUBDIR</makevar> to their |
584 |
<makevar>MASTER_SITE_SUBDIR</makevar> to their |
| 536 |
<hostid>freefall</hostid> username.</para> |
585 |
<hostid>freefall</hostid> username.</para> |
| 537 |
|
586 |
|
| 538 |
<para>If your port's distfile changes all the time for no good reason, |
587 |
<para>If your port's distfile changes all the time without any |
|
|
588 |
kind of version update by the author, |
| 539 |
consider putting the distfile in your home page and listing it as |
589 |
consider putting the distfile in your home page and listing it as |
| 540 |
the first <makevar>MASTER_SITES</makevar>. This will prevent users |
590 |
the first <makevar>MASTER_SITES</makevar>. (It is too bad we |
|
|
591 |
cannot always talk port authors out of doing this, because it |
| 592 |
really helps to establish some kind of source code control, but |
| 593 |
alas this is not always easy). Hosting your own version will |
| 594 |
prevent users |
| 541 |
from getting <errorname>checksum mismatch</errorname> errors, and |
595 |
from getting <errorname>checksum mismatch</errorname> errors, and |
| 542 |
also reduce the workload of maintainers of our FTP site. Also, if |
596 |
also reduce the workload of maintainers of our FTP site. Also, if |
| 543 |
there is only one master site for the port, it is recommended that |
597 |
there is only one master site for the port, it is recommended that |
|
Lines 583-590
Link Here
|
| 583 |
|
637 |
|
| 584 |
<para>In the preparation of the port, files that have been added or |
638 |
<para>In the preparation of the port, files that have been added or |
| 585 |
changed can be picked up with a recursive &man.diff.1; |
639 |
changed can be picked up with a recursive &man.diff.1; |
| 586 |
for later feeding to &man.patch.1;. Each set of patches you |
640 |
for later feeding to &man.patch.1;. |
| 587 |
wish to apply should be collected into a file named |
641 |
Each set of patches you wish to apply should be collected |
|
|
642 |
into a file named |
| 588 |
<filename>patch-<replaceable>*</replaceable></filename> where |
643 |
<filename>patch-<replaceable>*</replaceable></filename> where |
| 589 |
<replaceable>*</replaceable> denotes the sequence in which the |
644 |
<replaceable>*</replaceable> denotes the sequence in which the |
| 590 |
patches will be applied — these are done in |
645 |
patches will be applied — these are done in |
|
Lines 644-655
Link Here
|
| 644 |
<title>Handling user input</title> |
699 |
<title>Handling user input</title> |
| 645 |
|
700 |
|
| 646 |
<para>If your port requires user input to build, configure, or install, |
701 |
<para>If your port requires user input to build, configure, or install, |
| 647 |
then set <makevar>IS_INTERACTIVE</makevar> in your <filename>Makefile</filename>. This |
702 |
you must set <makevar>IS_INTERACTIVE</makevar> in your Makefile. This |
| 648 |
will allow <quote>overnight builds</quote> to skip your port if the |
703 |
will allow <quote>overnight builds</quote> to skip your port if the |
| 649 |
user sets the variable <envar>BATCH</envar> in his environment (and |
704 |
user sets the variable <envar>BATCH</envar> in his environment (and |
| 650 |
if the user sets the variable <envar>INTERACTIVE</envar>, then |
705 |
if the user sets the variable <envar>INTERACTIVE</envar>, then |
| 651 |
<emphasis>only</emphasis> those ports requiring interaction are |
706 |
<emphasis>only</emphasis> those ports requiring interaction are |
| 652 |
built).</para> |
707 |
built). This will save a lot of wasted time on the set of |
|
|
708 |
machines that continually build ports (see below).</para> |
| 653 |
|
709 |
|
| 654 |
<para>It is also recommended that if there are reasonable default |
710 |
<para>It is also recommended that if there are reasonable default |
| 655 |
answers to the questions, you check the |
711 |
answers to the questions, you check the |
|
Lines 669-674
Link Here
|
| 669 |
and sections in that template to make your port easier for others to |
725 |
and sections in that template to make your port easier for others to |
| 670 |
read.</para> |
726 |
read.</para> |
| 671 |
|
727 |
|
|
|
728 |
<important> |
| 729 |
<para>There are a large number of port <literal>Makefile</literal>s |
| 730 |
in the ports collection that get the ordering of these variables |
| 731 |
wrong. Please do not blindly copy other <literal>Makefile</literal>s |
| 732 |
from other ports without checking the order of these variables; |
| 733 |
this just encourages wider propogation of bad usage in the source |
| 734 |
base. If in doubt of what the <quote>canonical order</quote> of the |
| 735 |
variables ought to be, try to follow the order in |
| 736 |
<filename>bsd.port.mk</filename>. (In fact blindly copying |
| 737 |
other <literal>Makefile</literal>s may encourage even worse |
| 738 |
brokenness that just the ordering of the variables!)</para> |
| 739 |
</important> |
| 740 |
|
| 672 |
<para>Now, consider the following problems in sequence as you design |
741 |
<para>Now, consider the following problems in sequence as you design |
| 673 |
your new <filename>Makefile</filename>:</para> |
742 |
your new <filename>Makefile</filename>:</para> |
| 674 |
|
743 |
|
|
Lines 805-814
Link Here
|
| 805 |
</itemizedlist> |
874 |
</itemizedlist> |
| 806 |
|
875 |
|
| 807 |
<para>A rule of thumb is to ask yourself whether a change |
876 |
<para>A rule of thumb is to ask yourself whether a change |
| 808 |
committed to a port is something which someone, somewhere, |
877 |
committed to a port is something which everyone |
| 809 |
would benefit from having (either because of an |
878 |
would benefit from having (either because of an |
| 810 |
enhancement, fix, or by virtue that the new package will |
879 |
enhancement, fix, or by virtue that the new package will |
| 811 |
actually work for them). If yes, the |
880 |
actually work at all), and weigh that against that fact |
|
|
881 |
that it will cause everyone who regularly updates their |
| 882 |
ports tree to be compelled to update. If yes, the |
| 812 |
<makevar>PORTREVISION</makevar> should be bumped so that |
883 |
<makevar>PORTREVISION</makevar> should be bumped so that |
| 813 |
automated tools (e.g. &man.pkg.version.1;) |
884 |
automated tools (e.g. &man.pkg.version.1;) |
| 814 |
will highlight the fact that a new package is |
885 |
will highlight the fact that a new package is |
|
Lines 830-836
Link Here
|
| 830 |
<makevar>PORTEPOCH</makevar> version should be increased. |
901 |
<makevar>PORTEPOCH</makevar> version should be increased. |
| 831 |
If <makevar>PORTEPOCH</makevar> is nonzero it is appended |
902 |
If <makevar>PORTEPOCH</makevar> is nonzero it is appended |
| 832 |
to the package name as described in section 0 above. |
903 |
to the package name as described in section 0 above. |
| 833 |
<makevar>PORTEPOCH</makevar> is never decreased or reset |
904 |
<makevar>PORTEPOCH</makevar> must never be decreased or reset |
| 834 |
to zero, because that would cause comparison to a package |
905 |
to zero, because that would cause comparison to a package |
| 835 |
from an earlier epoch to fail (i.e. the package would not |
906 |
from an earlier epoch to fail (i.e. the package would not |
| 836 |
be detected as out of date): the new version number (e.g. |
907 |
be detected as out of date): the new version number (e.g. |
|
Lines 840-845
Link Here
|
| 840 |
automated tools and found to be greater than the implied |
911 |
automated tools and found to be greater than the implied |
| 841 |
suffix <literal>,0</literal> on the earlier package.</para> |
912 |
suffix <literal>,0</literal> on the earlier package.</para> |
| 842 |
|
913 |
|
|
|
914 |
<para>Dropping or resetting <makevar>PORTEPOCH</makevar> |
| 915 |
incorrectly is a common error in the ports collection and leads |
| 916 |
to no end of grief; if you do not understand the above discussion, |
| 917 |
please keep after it until you do, or ask questions on |
| 918 |
the mailing lists.</para> |
| 919 |
|
| 843 |
<para>It is expected that <makevar>PORTEPOCH</makevar> will |
920 |
<para>It is expected that <makevar>PORTEPOCH</makevar> will |
| 844 |
not be used for the majority of ports, and that sensible |
921 |
not be used for the majority of ports, and that sensible |
| 845 |
use of <makevar>PORTVERSION</makevar> can often pre-empt |
922 |
use of <makevar>PORTVERSION</makevar> can often pre-empt |
|
Lines 890-896
Link Here
|
| 890 |
<literal>0.1.0</literal>, not <quote>what comes after |
967 |
<literal>0.1.0</literal>, not <quote>what comes after |
| 891 |
0.9</quote> - oops, too late now). Since the new minor |
968 |
0.9</quote> - oops, too late now). Since the new minor |
| 892 |
version <literal>2</literal> is numerically less than the |
969 |
version <literal>2</literal> is numerically less than the |
| 893 |
previous version <literal>10</literal> the |
970 |
previous version <literal>10</literal>, the |
| 894 |
<makevar>PORTEPOCH</makevar> must be bumped to manually |
971 |
<makevar>PORTEPOCH</makevar> must be bumped to manually |
| 895 |
force the new package to be detected as <quote>newer</quote>. Since it |
972 |
force the new package to be detected as <quote>newer</quote>. Since it |
| 896 |
is a new vendor release of the code, |
973 |
is a new vendor release of the code, |
|
Lines 921-927
Link Here
|
| 921 |
installed the <literal>gtkmumble-0.10_1</literal> package would not detect |
998 |
installed the <literal>gtkmumble-0.10_1</literal> package would not detect |
| 922 |
the <literal>gtkmumble-0.3</literal> package as newer, since |
999 |
the <literal>gtkmumble-0.3</literal> package as newer, since |
| 923 |
<literal>3</literal> is still numerically less than |
1000 |
<literal>3</literal> is still numerically less than |
| 924 |
<literal>10</literal>.</para> |
1001 |
<literal>10</literal>. This is the whole point of |
|
|
1002 |
<makevar>PORTEPOCH</makevar> in the first place.</para> |
| 1003 |
|
| 1004 |
<para>Yes, this is subtle, but again, do not fiddle with |
| 1005 |
the setting of <makevar>PORTEPOCH</makevar> until you |
| 1006 |
understand this!</para> |
| 925 |
</note> |
1007 |
</note> |
| 926 |
</sect3> |
1008 |
</sect3> |
| 927 |
</sect2> |
1009 |
</sect2> |
|
Lines 937-947
Link Here
|
| 937 |
<literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. |
1019 |
<literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. |
| 938 |
Make sure this conforms to our <link |
1020 |
Make sure this conforms to our <link |
| 939 |
linkend="porting-pkgname">guidelines for a good package |
1021 |
linkend="porting-pkgname">guidelines for a good package |
| 940 |
name</link>. In particular, you are not allowed to use a |
1022 |
name</link>. In particular, you are <emphasis>not</emphasis> allowed to use a |
| 941 |
hyphen (<literal>-</literal>) in |
1023 |
hyphen (<literal>-</literal>) in |
| 942 |
<makevar>PORTVERSION</makevar>. Also, if the package name |
1024 |
<makevar>PORTVERSION</makevar>. Also, if the package name |
| 943 |
has the <replaceable>language-</replaceable> or the |
1025 |
has the <replaceable>language-</replaceable> or the |
| 944 |
<replaceable>-compiled.specifics</replaceable> part, use |
1026 |
<replaceable>-compiled.specifics</replaceable> part (see below), use |
| 945 |
<makevar>PKGNAMEPREFIX</makevar> and |
1027 |
<makevar>PKGNAMEPREFIX</makevar> and |
| 946 |
<makevar>PKGNAMESUFFIX</makevar>, respectively. Do not make |
1028 |
<makevar>PKGNAMESUFFIX</makevar>, respectively. Do not make |
| 947 |
them part of <makevar>PORTNAME</makevar>.</para> |
1029 |
them part of <makevar>PORTNAME</makevar>.</para> |
|
Lines 952-958
Link Here
|
| 952 |
|
1034 |
|
| 953 |
<para>The following are the conventions you should follow in naming your |
1035 |
<para>The following are the conventions you should follow in naming your |
| 954 |
packages. This is to have our package directory easy to scan, as |
1036 |
packages. This is to have our package directory easy to scan, as |
| 955 |
there are already lots and lots of packages and users are going to |
1037 |
there are already thousands of packages and users are going to |
| 956 |
turn away if they hurt their eyes!</para> |
1038 |
turn away if they hurt their eyes!</para> |
| 957 |
|
1039 |
|
| 958 |
<para>The package name should look like |
1040 |
<para>The package name should look like |
|
Lines 1216-1231
Link Here
|
| 1216 |
<para>If your port truly belongs to something that is different from |
1298 |
<para>If your port truly belongs to something that is different from |
| 1217 |
all the existing ones, you can even create a new category name. In |
1299 |
all the existing ones, you can even create a new category name. In |
| 1218 |
that case, please send mail to the &a.ports; to propose a new |
1300 |
that case, please send mail to the &a.ports; to propose a new |
| 1219 |
category.</para> |
1301 |
category. However, in general, until there are more than a |
|
|
1302 |
handful of ports which could be reclassified into the category |
| 1303 |
you propose, you will probably be turned down.</para> |
| 1304 |
|
| 1305 |
<para>(Aside: occasionally someone proposes redoing the categories |
| 1306 |
as either a 2-level structure, or some other kind of keyword |
| 1307 |
structure. To date, nothing has come of any of these proposals, |
| 1308 |
because while they are very easy to make, the effort involved to |
| 1309 |
retrofit the entire existing ports collection with any kind of |
| 1310 |
reorganization is daunting to say the very least. Please read |
| 1311 |
the history of these proposals in the past mailing lists before |
| 1312 |
you post this idea; further, you should be prepared to be |
| 1313 |
challenged to offer some kind of working prototype.)</para> |
| 1220 |
</sect2> |
1314 |
</sect2> |
| 1221 |
|
1315 |
|
| 1222 |
<sect2 id="porting-categories"> |
1316 |
<sect2 id="porting-categories"> |
| 1223 |
<title>Current list of categories</title> |
1317 |
<title>Current list of categories</title> |
| 1224 |
|
1318 |
|
| 1225 |
<para>First, this is the current list of port categories. Those |
1319 |
<para>Here is the current list of port categories. Those |
| 1226 |
marked with an asterisk (<literal>*</literal>) are |
1320 |
marked with an asterisk (<literal>*</literal>) are |
| 1227 |
<emphasis>virtual</emphasis> categories—those that do not have |
1321 |
<emphasis>virtual</emphasis> categories—those that do not have |
| 1228 |
a corresponding subdirectory in the ports tree.</para> |
1322 |
a corresponding subdirectory in the ports tree. They are only |
|
|
1323 |
used as secondary categories, and only for search purposes.</para> |
| 1229 |
|
1324 |
|
| 1230 |
<note> |
1325 |
<note> |
| 1231 |
<para>For non-virtual categories, you will find a one-line |
1326 |
<para>For non-virtual categories, you will find a one-line |
|
Lines 1251-1257
Link Here
|
| 1251 |
|
1346 |
|
| 1252 |
<row> |
1347 |
<row> |
| 1253 |
<entry><filename>afterstep*</filename></entry> |
1348 |
<entry><filename>afterstep*</filename></entry> |
| 1254 |
<entry>Ports to support the AfterStep window manager.</entry> |
1349 |
<entry>Ports to support the |
|
|
1350 |
<ulink url="http://www.afterstep.org"> |
| 1351 |
AfterStep</ulink> window manager.</entry> |
| 1255 |
</row> |
1352 |
</row> |
| 1256 |
|
1353 |
|
| 1257 |
<row> |
1354 |
<row> |
|
Lines 1291-1298
Link Here
|
| 1291 |
|
1388 |
|
| 1292 |
<row> |
1389 |
<row> |
| 1293 |
<entry><filename>comms</filename></entry> |
1390 |
<entry><filename>comms</filename></entry> |
| 1294 |
<entry>Communication software. Mostly software to talk to |
1391 |
<entry>Communication software. (Mostly software to talk to |
| 1295 |
your serial port.</entry> |
1392 |
your serial port.)</entry> |
| 1296 |
</row> |
1393 |
</row> |
| 1297 |
|
1394 |
|
| 1298 |
<row> |
1395 |
<row> |
|
Lines 1313-1329
Link Here
|
| 1313 |
|
1410 |
|
| 1314 |
<row> |
1411 |
<row> |
| 1315 |
<entry><filename>devel</filename></entry> |
1412 |
<entry><filename>devel</filename></entry> |
| 1316 |
<entry>Development utilities. Do not put libraries here just |
1413 |
<entry>Development utilities. (Note: do not put libraries here just |
| 1317 |
because they are libraries—unless they truly do not |
1414 |
because they are libraries—unless they truly do not |
| 1318 |
belong anywhere else, they should not be in this |
1415 |
belong anywhere else, they should not be in this |
| 1319 |
category.</entry> |
1416 |
category.)</entry> |
| 1320 |
</row> |
1417 |
</row> |
| 1321 |
|
1418 |
|
| 1322 |
<row> |
1419 |
<row> |
| 1323 |
<entry><filename>editors</filename></entry> |
1420 |
<entry><filename>editors</filename></entry> |
| 1324 |
<entry>General editors. Specialized editors go in the section |
1421 |
<entry>General editors. (Specialized editors go in the section |
| 1325 |
for those tools (e.g., a mathematical-formula editor will go |
1422 |
for those tools (e.g., a mathematical-formula editor will go |
| 1326 |
in <filename>math</filename>).</entry> |
1423 |
in <filename>math</filename>) ).</entry> |
| 1327 |
</row> |
1424 |
</row> |
| 1328 |
|
1425 |
|
| 1329 |
<row> |
1426 |
<row> |
|
Lines 1333-1344
Link Here
|
| 1333 |
|
1430 |
|
| 1334 |
<row> |
1431 |
<row> |
| 1335 |
<entry><filename>emulators</filename></entry> |
1432 |
<entry><filename>emulators</filename></entry> |
| 1336 |
<entry>Emulators for other operating systems. Terminal |
1433 |
<entry>Emulators for other operating systems. (Terminal |
| 1337 |
emulators do <emphasis>not</emphasis> belong |
1434 |
emulators do <emphasis>not</emphasis> belong |
| 1338 |
here—X-based ones should go to |
1435 |
here—X-based ones should go to |
| 1339 |
<filename>x11</filename> and text-based ones to either |
1436 |
<filename>x11</filename> and text-based ones to either |
| 1340 |
<filename>comms</filename> or <filename>misc</filename>, |
1437 |
<filename>comms</filename> or <filename>misc</filename>, |
| 1341 |
depending on the exact functionality.</entry> |
1438 |
depending on the exact functionality.)</entry> |
| 1342 |
</row> |
1439 |
</row> |
| 1343 |
|
1440 |
|
| 1344 |
<row> |
1441 |
<row> |
|
Lines 1353-1362
Link Here
|
| 1353 |
|
1450 |
|
| 1354 |
<row> |
1451 |
<row> |
| 1355 |
<entry><filename>ftp</filename></entry> |
1452 |
<entry><filename>ftp</filename></entry> |
| 1356 |
<entry>FTP client and server utilities. If your |
1453 |
<entry>FTP client and server utilities. (If your |
| 1357 |
port speaks both FTP and HTTP, put it in |
1454 |
port speaks both FTP and HTTP, put it in |
| 1358 |
<filename>ftp</filename> with a secondary |
1455 |
<filename>ftp</filename> with a secondary |
| 1359 |
category of <filename>www</filename>.</entry> |
1456 |
category of <filename>www</filename>.)</entry> |
| 1360 |
</row> |
1457 |
</row> |
| 1361 |
|
1458 |
|
| 1362 |
<row> |
1459 |
<row> |
|
Lines 1371-1378
Link Here
|
| 1371 |
|
1468 |
|
| 1372 |
<row> |
1469 |
<row> |
| 1373 |
<entry><filename>gnome*</filename></entry> |
1470 |
<entry><filename>gnome*</filename></entry> |
| 1374 |
<entry>Ports from the GNU Object Model Environment (GNOME) |
1471 |
<entry>Ports from the |
| 1375 |
Project.</entry> |
1472 |
<ulink url="http://www.gnome.org">GNOME |
|
|
1473 |
project</ulink>.</entry> |
| 1376 |
</row> |
1474 |
</row> |
| 1377 |
|
1475 |
|
| 1378 |
<row> |
1476 |
<row> |
|
Lines 1417-1424
Link Here
|
| 1417 |
|
1515 |
|
| 1418 |
<row> |
1516 |
<row> |
| 1419 |
<entry><filename>kde*</filename></entry> |
1517 |
<entry><filename>kde*</filename></entry> |
| 1420 |
<entry>Ports from the K Desktop Environment (KDE) |
1518 |
<entry>Ports from the |
| 1421 |
Project.</entry> |
1519 |
<ulink url="http://www.kde.org">K Desktop Environment (KDE) |
|
|
1520 |
Project</ulink>.</entry> |
| 1422 |
</row> |
1521 |
</row> |
| 1423 |
|
1522 |
|
| 1424 |
<row> |
1523 |
<row> |
|
Lines 1455-1466
Link Here
|
| 1455 |
<row> |
1554 |
<row> |
| 1456 |
<entry><filename>misc</filename></entry> |
1555 |
<entry><filename>misc</filename></entry> |
| 1457 |
<entry>Miscellaneous utilities—basically things that |
1556 |
<entry>Miscellaneous utilities—basically things that |
| 1458 |
do not belong anywhere else. This is the only category |
1557 |
do not belong anywhere else. (This is the only category |
| 1459 |
that should not appear with any other non-virtual category. |
1558 |
that should not appear with any other non-virtual category. |
| 1460 |
If you have <literal>misc</literal> with something else in |
1559 |
If you have <literal>misc</literal> with something else in |
| 1461 |
your <makevar>CATEGORIES</makevar> line, that means you can |
1560 |
your <makevar>CATEGORIES</makevar> line, that means you can |
| 1462 |
safely delete <literal>misc</literal> and just put the port |
1561 |
safely delete <literal>misc</literal> and just put the port |
| 1463 |
in that other subdirectory!</entry> |
1562 |
in that other subdirectory! Also note: if at all possible, |
|
|
1563 |
try to find a better category for your port than |
| 1564 |
<filename>misc</filename>; ports tend to get overlooked |
| 1565 |
in here.)</entry> |
| 1464 |
</row> |
1566 |
</row> |
| 1465 |
|
1567 |
|
| 1466 |
<row> |
1568 |
<row> |
|
Lines 1480-1491
Link Here
|
| 1480 |
|
1582 |
|
| 1481 |
<row> |
1583 |
<row> |
| 1482 |
<entry><filename>offix*</filename></entry> |
1584 |
<entry><filename>offix*</filename></entry> |
| 1483 |
<entry>Ports from the OffiX suite.</entry> |
1585 |
<entry>Ports from the |
|
|
1586 |
<ulink url="http://leb.net/OffiX/">OffiX</ulink> suite.</entry> |
| 1484 |
</row> |
1587 |
</row> |
| 1485 |
|
1588 |
|
| 1486 |
<row> |
1589 |
<row> |
| 1487 |
<entry><filename>palm</filename></entry> |
1590 |
<entry><filename>palm</filename></entry> |
| 1488 |
<entry>Software support for the Palm(tm) series.</entry> |
1591 |
<entry>Software support for the |
|
|
1592 |
<ulink url="http://www.palm.com/">Palm(tm)</ulink> series.</entry> |
| 1489 |
</row> |
1593 |
</row> |
| 1490 |
|
1594 |
|
| 1491 |
<row> |
1595 |
<row> |
|
Lines 1495-1511
Link Here
|
| 1495 |
|
1599 |
|
| 1496 |
<row> |
1600 |
<row> |
| 1497 |
<entry><filename>perl5*</filename></entry> |
1601 |
<entry><filename>perl5*</filename></entry> |
| 1498 |
<entry>Ports that require <literal>perl</literal> version 5 to run.</entry> |
1602 |
<entry>Ports that require <command>perl</command> version 5 to run.</entry> |
| 1499 |
</row> |
1603 |
</row> |
| 1500 |
|
1604 |
|
| 1501 |
<row> |
1605 |
<row> |
| 1502 |
<entry><filename>picobsd</filename></entry> |
1606 |
<entry><filename>picobsd</filename></entry> |
| 1503 |
<entry>Ports to support PicoBSD.</entry> |
1607 |
<entry>Ports to support |
|
|
1608 |
<ulink url="http://people.FreeBSD.org/~picobsd/"> |
| 1609 |
PicoBSD</ulink>.</entry> |
| 1504 |
</row> |
1610 |
</row> |
| 1505 |
|
1611 |
|
| 1506 |
<row> |
1612 |
<row> |
| 1507 |
<entry><filename>plan9*</filename></entry> |
1613 |
<entry><filename>plan9*</filename></entry> |
| 1508 |
<entry>Various programs from Plan9.</entry> |
1614 |
<entry>Various programs from |
|
|
1615 |
<ulink url="http://www.cs.bell-labs.com/plan9dist/"> |
| 1616 |
Plan9</ulink>.</entry> |
| 1509 |
</row> |
1617 |
</row> |
| 1510 |
|
1618 |
|
| 1511 |
<row> |
1619 |
<row> |
|
Lines 1515-1527
Link Here
|
| 1515 |
|
1623 |
|
| 1516 |
<row> |
1624 |
<row> |
| 1517 |
<entry><filename>print</filename></entry> |
1625 |
<entry><filename>print</filename></entry> |
| 1518 |
<entry>Printing software. Desktop publishing tools |
1626 |
<entry>Printing software. (Desktop publishing tools |
| 1519 |
(previewers, etc.) belong here too.</entry> |
1627 |
(previewers, etc.) belong here too.)</entry> |
| 1520 |
</row> |
1628 |
</row> |
| 1521 |
|
1629 |
|
| 1522 |
<row> |
1630 |
<row> |
| 1523 |
<entry><filename>python*</filename></entry> |
1631 |
<entry><filename>python*</filename></entry> |
| 1524 |
<entry>Software related to the Python language.</entry> |
1632 |
<entry>Software related to the |
|
|
1633 |
<ulink url="http://www.python.org/">Python</ulink> |
| 1634 |
language.</entry> |
| 1525 |
</row> |
1635 |
</row> |
| 1526 |
|
1636 |
|
| 1527 |
<row> |
1637 |
<row> |
|
Lines 1584-1591
Link Here
|
| 1584 |
|
1694 |
|
| 1585 |
<row> |
1695 |
<row> |
| 1586 |
<entry><filename>textproc</filename></entry> |
1696 |
<entry><filename>textproc</filename></entry> |
| 1587 |
<entry>Text processing utilities. It does not include |
1697 |
<entry>Text processing utilities. (This does not include |
| 1588 |
desktop publishing tools, which go to <filename>print</filename>.</entry> |
1698 |
desktop publishing tools, which should go to |
|
|
1699 |
<filename>print</filename>.)</entry> |
| 1589 |
</row> |
1700 |
</row> |
| 1590 |
|
1701 |
|
| 1591 |
<row> |
1702 |
<row> |
|
Lines 1636-1654
Link Here
|
| 1636 |
|
1747 |
|
| 1637 |
<row> |
1748 |
<row> |
| 1638 |
<entry><filename>www</filename></entry> |
1749 |
<entry><filename>www</filename></entry> |
| 1639 |
<entry>Software related to the World Wide Web. HTML language |
1750 |
<entry>Software related to the World Wide Web. (HTML language |
| 1640 |
support belongs here too.</entry> |
1751 |
support belongs here too.)</entry> |
| 1641 |
</row> |
1752 |
</row> |
| 1642 |
|
1753 |
|
| 1643 |
<row> |
1754 |
<row> |
| 1644 |
<entry><filename>x11</filename></entry> |
1755 |
<entry><filename>x11</filename></entry> |
| 1645 |
<entry>The X Window System and friends. This category is only |
1756 |
<entry>The X Window System and friends. (This category is only |
| 1646 |
for software that directly supports the window system. Do not |
1757 |
for software that directly supports the window system. Do not |
| 1647 |
put regular X applications here. If your port is an X |
1758 |
put regular X applications here; most of them should go |
|
|
1759 |
into other <filename>x11-*</filename> categories (see below). |
| 1760 |
Note: if your port <emphasis>is</emphasis> an X |
| 1648 |
application, define <makevar>USE_XLIB</makevar> (implied by |
1761 |
application, define <makevar>USE_XLIB</makevar> (implied by |
| 1649 |
<makevar>USE_IMAKE</makevar>) and put it in the appropriate |
1762 |
<makevar>USE_IMAKE</makevar>) ).</entry> |
| 1650 |
categories. Also, many of them go into other |
|
|
| 1651 |
<filename>x11-*</filename> categories (see below).</entry> |
| 1652 |
</row> |
1763 |
</row> |
| 1653 |
|
1764 |
|
| 1654 |
<row> |
1765 |
<row> |
|
Lines 1683-1689
Link Here
|
| 1683 |
|
1794 |
|
| 1684 |
<row> |
1795 |
<row> |
| 1685 |
<entry><filename>zope*</filename></entry> |
1796 |
<entry><filename>zope*</filename></entry> |
| 1686 |
<entry>Zope support.</entry> |
1797 |
<entry><ulink url="http://www.zope.org/">Zope</ulink> |
|
|
1798 |
support.</entry> |
| 1687 |
</row> |
1799 |
</row> |
| 1688 |
</tbody> |
1800 |
</tbody> |
| 1689 |
</tgroup> |
1801 |
</tgroup> |
|
Lines 1709-1719
Link Here
|
| 1709 |
<listitem> |
1821 |
<listitem> |
| 1710 |
<para>Specific categories win over less-specific ones. For |
1822 |
<para>Specific categories win over less-specific ones. For |
| 1711 |
instance, an HTML editor should be listed as <filename>www |
1823 |
instance, an HTML editor should be listed as <filename>www |
| 1712 |
editors</filename>, not the other way around. Also, you do not |
1824 |
editors</filename>, not the other way around. Also, you should |
| 1713 |
need to list <filename>net</filename> when the port belongs to |
1825 |
not list <filename>net</filename> when the port belongs to |
| 1714 |
any of <filename>irc</filename>, <filename>mail</filename>, |
1826 |
any of <filename>irc</filename>, <filename>mail</filename>, |
| 1715 |
<filename>mbone</filename>, <filename>news</filename>, |
1827 |
<filename>mbone</filename>, <filename>news</filename>, |
| 1716 |
<filename>security</filename>, or <filename>www</filename>.</para> |
1828 |
<filename>security</filename>, or <filename>www</filename>, as |
|
|
1829 |
<filename>net</filename> is included implicitly.</para> |
| 1717 |
</listitem> |
1830 |
</listitem> |
| 1718 |
|
1831 |
|
| 1719 |
<listitem> |
1832 |
<listitem> |
|
Lines 1743-1750
Link Here
|
| 1743 |
<para>If you are not sure about the category, please put a comment to |
1856 |
<para>If you are not sure about the category, please put a comment to |
| 1744 |
that effect in your &man.send-pr.1; submission so we can |
1857 |
that effect in your &man.send-pr.1; submission so we can |
| 1745 |
discuss it before we import it. If you are a committer, send a note |
1858 |
discuss it before we import it. If you are a committer, send a note |
| 1746 |
to the &a.ports; so we can discuss it first—too often new ports are |
1859 |
to the &a.ports; so we can discuss it first. Too often, new ports are |
| 1747 |
imported to the wrong category only to be moved right away.</para> |
1860 |
imported to the wrong category only to be moved right away. |
|
|
1861 |
This causes unneccessary, and undesired, bloat in the master |
| 1862 |
source repository.</para> |
| 1748 |
</sect2> |
1863 |
</sect2> |
| 1749 |
</sect1> |
1864 |
</sect1> |
| 1750 |
|
1865 |
|
|
Lines 1800-1808
Link Here
|
| 1800 |
|
1915 |
|
| 1801 |
<para>It is recommended that you put multiple sites on this list, |
1916 |
<para>It is recommended that you put multiple sites on this list, |
| 1802 |
preferably from different continents. This will safeguard against |
1917 |
preferably from different continents. This will safeguard against |
| 1803 |
wide-area network problems, and we are even planning to add support |
1918 |
wide-area network problems. (We are hoping to add support |
| 1804 |
for automatically determining the closest master site and fetching |
1919 |
for automatically determining the closest master site and fetching |
| 1805 |
from there!</para> |
1920 |
from there in the future; having multiple sites will go |
|
|
1921 |
a long way towards helping this effort.)</para> |
| 1806 |
|
1922 |
|
| 1807 |
<para>If the original tarball is part of one of the popular |
1923 |
<para>If the original tarball is part of one of the popular |
| 1808 |
archives such as X-contrib, GNU, or Perl CPAN, you may be able |
1924 |
archives such as X-contrib, GNU, or Perl CPAN, you may be able |
|
Lines 1848-1855
Link Here
|
| 1848 |
neither of these are set then <makevar>EXTRACT_SUFX</makevar> |
1964 |
neither of these are set then <makevar>EXTRACT_SUFX</makevar> |
| 1849 |
defaults to <literal>.tar.gz</literal>.</para> |
1965 |
defaults to <literal>.tar.gz</literal>.</para> |
| 1850 |
|
1966 |
|
| 1851 |
<para>You never need to set both <makevar>EXTRACT_SUFX</makevar> and |
1967 |
<note> |
| 1852 |
<makevar>DISTFILES</makevar>.</para> |
1968 |
<para>You never need to set both <makevar>EXTRACT_SUFX</makevar> and |
|
|
1969 |
<makevar>DISTFILES</makevar>.</para> |
| 1970 |
</note> |
| 1853 |
</sect2> |
1971 |
</sect2> |
| 1854 |
|
1972 |
|
| 1855 |
<sect2> |
1973 |
<sect2> |
|
Lines 1937-1942
Link Here
|
| 1937 |
sites and subdirectories |
2055 |
sites and subdirectories |
| 1938 |
(<literal>MASTER_SITES:n</literal>)</title> |
2056 |
(<literal>MASTER_SITES:n</literal>)</title> |
| 1939 |
|
2057 |
|
|
|
2058 |
<para>(Consider this to be a somewhat <quote>advanced topic</quote>; |
| 2059 |
those new to this document may wish to skip this section at first). |
| 2060 |
</para> |
| 2061 |
|
| 1940 |
<para>This section has information on the fetching mechanism |
2062 |
<para>This section has information on the fetching mechanism |
| 1941 |
known as both <literal>MASTER_SITES:n</literal> and |
2063 |
known as both <literal>MASTER_SITES:n</literal> and |
| 1942 |
<literal>MASTER_SITES_NN</literal>. We will refer to this |
2064 |
<literal>MASTER_SITES_NN</literal>. We will refer to this |
|
Lines 2609-2614
Link Here
|
| 2609 |
<para>Set your mail-address here. Please. <!-- smiley |
2731 |
<para>Set your mail-address here. Please. <!-- smiley |
| 2610 |
--><emphasis>:-)</emphasis></para> |
2732 |
--><emphasis>:-)</emphasis></para> |
| 2611 |
|
2733 |
|
|
|
2734 |
<para>The format used should be <literal>user@hostname.domain</literal>. |
| 2735 |
Please do not include any descriptive text such as your real |
| 2736 |
name in this entry—that merely confuses |
| 2737 |
<filename>bsd.port.mk</filename>. Instead, put that information |
| 2738 |
into your <filename>pkg-descr</filename>.</para> |
| 2739 |
|
| 2612 |
<para>For a detailed description of the responsibilities of maintainers, |
2740 |
<para>For a detailed description of the responsibilities of maintainers, |
| 2613 |
refer to the <ulink url="../developers-handbook/policies.html#POLICIES-MAINTAINER">MAINTAINER on |
2741 |
refer to the <ulink url="../developers-handbook/policies.html#POLICIES-MAINTAINER">MAINTAINER on |
| 2614 |
Makefiles</ulink> section.</para> |
2742 |
Makefiles</ulink> section.</para> |
|
Lines 2620-2626
Link Here
|
| 2620 |
<para>This is a one-line description of the port. |
2748 |
<para>This is a one-line description of the port. |
| 2621 |
<emphasis>Please</emphasis> do not include the package name (or |
2749 |
<emphasis>Please</emphasis> do not include the package name (or |
| 2622 |
version number of the software) in the comment. The comment |
2750 |
version number of the software) in the comment. The comment |
| 2623 |
should begin with a capital, and end without a period. Here |
2751 |
should begin with a capital, end without a period, and |
|
|
2752 |
should not be surrounded by quotes. Here |
| 2624 |
is an example:</para> |
2753 |
is an example:</para> |
| 2625 |
|
2754 |
|
| 2626 |
<programlisting>COMMENT= A cat chasing a mouse all over the screen</programlisting> |
2755 |
<programlisting>COMMENT= A cat chasing a mouse all over the screen</programlisting> |
|
Lines 2910-2916
Link Here
|
| 2910 |
<para>When you type <command>make clean</command>, its dependencies |
3039 |
<para>When you type <command>make clean</command>, its dependencies |
| 2911 |
are automatically cleaned too. If you do not wish this to happen, |
3040 |
are automatically cleaned too. If you do not wish this to happen, |
| 2912 |
define the variable <makevar>NOCLEANDEPENDS</makevar> in your |
3041 |
define the variable <makevar>NOCLEANDEPENDS</makevar> in your |
| 2913 |
environment.</para> |
3042 |
environment. This may be particularly desireable if the |
|
|
3043 |
port has something that takes a long time to rebuild in its |
| 3044 |
dependency list, such as KDE, GNOME, Apache, and so forth.</para> |
| 2914 |
|
3045 |
|
| 2915 |
<para>To depend on another port unconditionally, use the |
3046 |
<para>To depend on another port unconditionally, use the |
| 2916 |
variable <makevar>${NONEXISTENT}</makevar> as the first field |
3047 |
variable <makevar>${NONEXISTENT}</makevar> as the first field |
|
Lines 2969-2981
Link Here
|
| 2969 |
<makevar>WANT_IMLIB</makevar>, and |
3100 |
<makevar>WANT_IMLIB</makevar>, and |
| 2970 |
<makevar>WANT_GNOME</makevar>.</para> |
3101 |
<makevar>WANT_GNOME</makevar>.</para> |
| 2971 |
</sect2> |
3102 |
</sect2> |
|
|
3103 |
|
| 3104 |
<sect2> |
| 3105 |
<title>Circular dependencies are fatal</title> |
| 3106 |
|
| 3107 |
<important> |
| 3108 |
<para>Do not introduce any circular dependencies into the |
| 3109 |
ports tree!</para> |
| 3110 |
</important> |
| 3111 |
|
| 3112 |
<para>The ports building technology does not tolerate |
| 3113 |
circular dependencies. If you introduce one, you will have |
| 3114 |
someone, somewhere in the world, whose FreeBSD installation will |
| 3115 |
break almost immediately, with many others quickly to follow. |
| 3116 |
These can really be hard to detect, especially with, |
| 3117 |
for instance, the GNOME libraries. If in doubt, before |
| 3118 |
you make that change, make sure you have done the following: |
| 3119 |
<command>cd /usr/ports; make index</command>. That process |
| 3120 |
can be quite slow on older machines, but you may be able to |
| 3121 |
save a large number of people—including yourself— |
| 3122 |
a lot of grief in the process.</para> |
| 3123 |
</sect2> |
| 2972 |
</sect1> |
3124 |
</sect1> |
| 2973 |
|
3125 |
|
| 2974 |
<sect1 id="makefile-wrkdir"> |
3126 |
<sect1 id="makefile-wrkdir"> |
| 2975 |
<title>Specifying the working directory</title> |
3127 |
<title>Specifying the working directory</title> |
| 2976 |
|
3128 |
|
| 2977 |
<para>Each port is extracted in to a working directory, which must be |
3129 |
<para>Each port is extracted in to a working directory, which must be |
| 2978 |
writable. The ports system assumes that the |
3130 |
writable. The ports system defaults to having the |
| 2979 |
<makevar>DISTFILES</makevar> unpack in to a directory called |
3131 |
<makevar>DISTFILES</makevar> unpack in to a directory called |
| 2980 |
<literal>${DISTNAME}</literal>. In other words, if you have |
3132 |
<literal>${DISTNAME}</literal>. In other words, if you have |
| 2981 |
set:</para> |
3133 |
set:</para> |
|
Lines 2987-2993
Link Here
|
| 2987 |
<filename>foo-1.0</filename>, and the rest of the files are located |
3139 |
<filename>foo-1.0</filename>, and the rest of the files are located |
| 2988 |
under that directory.</para> |
3140 |
under that directory.</para> |
| 2989 |
|
3141 |
|
| 2990 |
<para>There are a number of variables you can set if that is not the |
3142 |
<para>There are a number of variables you can override if that is not the |
| 2991 |
case.</para> |
3143 |
case.</para> |
| 2992 |
|
3144 |
|
| 2993 |
<sect2> |
3145 |
<sect2> |
|
Lines 3164-3171
Link Here
|
| 3164 |
|
3316 |
|
| 3165 |
<para>This variable indicates that although we are allowed to generate |
3317 |
<para>This variable indicates that although we are allowed to generate |
| 3166 |
binary packages, we are not allowed to put those packages, or the |
3318 |
binary packages, we are not allowed to put those packages, or the |
| 3167 |
port's <makevar>DISTFILES</makevar>, on to CDROM for resale. The |
3319 |
port's <makevar>DISTFILES</makevar>, onto a CDROM (or DVD-ROM) |
| 3168 |
<makevar>DISTFILES</makevar> will still be available via FTP.</para> |
3320 |
for resale. The |
|
|
3321 |
<makevar>DISTFILES</makevar> will still be available via FTP |
| 3322 |
(or HTTP if you set it up that way.)</para> |
| 3169 |
|
3323 |
|
| 3170 |
<para><makevar>NO_PACKAGE</makevar> and <makevar>NO_CDROM</makevar> |
3324 |
<para><makevar>NO_PACKAGE</makevar> and <makevar>NO_CDROM</makevar> |
| 3171 |
can be set simultaneously.</para> |
3325 |
can be set simultaneously.</para> |
|
Lines 3176-3186
Link Here
|
| 3176 |
|
3330 |
|
| 3177 |
<para>Set this variable if the application's license also forbids us |
3331 |
<para>Set this variable if the application's license also forbids us |
| 3178 |
from mirroring the application's <makevar>DISTFILES</makevar> via |
3332 |
from mirroring the application's <makevar>DISTFILES</makevar> via |
| 3179 |
FTP.</para> |
3333 |
FTP (or HTTP if you set it up that way.)</para> |
| 3180 |
|
3334 |
|
| 3181 |
<para>Also set this if the application's license has general |
3335 |
<para>Also set this if the application's license has general |
| 3182 |
restrictions on who may use it, e.g. the application is for |
3336 |
restrictions on who may use it, e.g. the application is for |
| 3183 |
non-commercial use only.</para> |
3337 |
non-commercial use only.</para> |
|
|
3338 |
|
| 3339 |
<para>Note that the port committer should add an entry to |
| 3340 |
<filename>/usr/ports/LEGAL</filename> describing exactly |
| 3341 |
what the restriction entails.</para> |
| 3184 |
</sect2> |
3342 |
</sect2> |
| 3185 |
|
3343 |
|
| 3186 |
<sect2> |
3344 |
<sect2> |
|
Lines 3563-3593
Link Here
|
| 3563 |
<sect1 id="using-bison"> |
3721 |
<sect1 id="using-bison"> |
| 3564 |
<title>Using Bison</title> |
3722 |
<title>Using Bison</title> |
| 3565 |
|
3723 |
|
| 3566 |
<para></para> |
3724 |
<para>This section is yet to be written.</para> |
| 3567 |
</sect1> |
3725 |
</sect1> |
| 3568 |
|
3726 |
|
| 3569 |
<sect1 id="using-java"> |
3727 |
<sect1 id="using-java"> |
| 3570 |
<title>Using Java</title> |
3728 |
<title>Using Java</title> |
| 3571 |
|
3729 |
|
| 3572 |
<para></para> |
3730 |
<para>This section is yet to be written.</para> |
| 3573 |
</sect1> |
3731 |
</sect1> |
| 3574 |
|
3732 |
|
| 3575 |
<sect1 id="using-python"> |
3733 |
<sect1 id="using-python"> |
| 3576 |
<title>Using Python</title> |
3734 |
<title>Using Python</title> |
| 3577 |
|
3735 |
|
| 3578 |
<para></para> |
3736 |
<para>This section is yet to be written.</para> |
| 3579 |
</sect1> |
3737 |
</sect1> |
| 3580 |
|
3738 |
|
| 3581 |
<sect1 id="using-emacs"> |
3739 |
<sect1 id="using-emacs"> |
| 3582 |
<title>Using Emacs</title> |
3740 |
<title>Using Emacs</title> |
| 3583 |
|
3741 |
|
| 3584 |
<para></para> |
3742 |
<para>This section is yet to be written.</para> |
| 3585 |
</sect1> |
3743 |
</sect1> |
| 3586 |
|
3744 |
|
| 3587 |
<sect1 id="using-ruby"> |
3745 |
<sect1 id="using-ruby"> |
| 3588 |
<title>Using Ruby</title> |
3746 |
<title>Using Ruby</title> |
| 3589 |
|
3747 |
|
| 3590 |
<para></para> |
3748 |
<para>This section is yet to be written.</para> |
| 3591 |
</sect1> |
3749 |
</sect1> |
| 3592 |
</chapter> |
3750 |
</chapter> |
| 3593 |
|
3751 |
|
|
Lines 3956-3962
Link Here
|
| 3956 |
|
4114 |
|
| 3957 |
<para>This variable will be set by <filename>bsd.port.mk</filename> to |
4115 |
<para>This variable will be set by <filename>bsd.port.mk</filename> to |
| 3958 |
be the appropriate reference to the Motif library. Please patch the |
4116 |
be the appropriate reference to the Motif library. Please patch the |
| 3959 |
source to use this wherever the Motif library is referenced in the |
4117 |
source of your port to reference this wherever the Motif library |
|
|
4118 |
is referenced in the |
| 3960 |
<filename>Makefile</filename> or |
4119 |
<filename>Makefile</filename> or |
| 3961 |
<filename>Imakefile</filename>.</para> |
4120 |
<filename>Imakefile</filename>.</para> |
| 3962 |
|
4121 |
|
|
Lines 3991-3997
Link Here
|
| 3991 |
|
4150 |
|
| 3992 |
<para>If your port installs fonts for the X Window System, put them in |
4151 |
<para>If your port installs fonts for the X Window System, put them in |
| 3993 |
<filename><makevar>X11BASE</makevar>/lib/X11/fonts/local</filename>. |
4152 |
<filename><makevar>X11BASE</makevar>/lib/X11/fonts/local</filename>. |
| 3994 |
This directory is new to <application>XFree86 3.3.3</application>. If it does not exist, |
4153 |
This directory was new to <application>XFree86 3.3.3</application>. If it does not exist, |
| 3995 |
please create it, and print out a message urging the user to update |
4154 |
please create it, and print out a message urging the user to update |
| 3996 |
their <application>XFree86</application> to 3.3.3 or newer, or at least add this directory to the |
4155 |
their <application>XFree86</application> to 3.3.3 or newer, or at least add this directory to the |
| 3997 |
font path in <filename>/etc/XF86Config</filename>.</para> |
4156 |
font path in <filename>/etc/XF86Config</filename>.</para> |
|
Lines 4295-4301
Link Here
|
| 4295 |
is installed with &man.pkg.add.1; you can do this via the |
4454 |
is installed with &man.pkg.add.1; you can do this via the |
| 4296 |
<filename>pkg-install</filename> script. This script will |
4455 |
<filename>pkg-install</filename> script. This script will |
| 4297 |
automatically be added to the package, and will be run twice by |
4456 |
automatically be added to the package, and will be run twice by |
| 4298 |
&man.pkg.add.1;. The first time as |
4457 |
&man.pkg.add.1;: the first time as |
| 4299 |
<literal>${SH} pkg-install ${PKGNAME} |
4458 |
<literal>${SH} pkg-install ${PKGNAME} |
| 4300 |
PRE-INSTALL</literal> and the second time as |
4459 |
PRE-INSTALL</literal> and the second time as |
| 4301 |
<literal>${SH} pkg-install ${PKGNAME} POST-INSTALL</literal>. |
4460 |
<literal>${SH} pkg-install ${PKGNAME} POST-INSTALL</literal>. |
|
Lines 4344-4353
Link Here
|
| 4344 |
<literal>%%PERL_VERSION%%</literal> will be substituted for |
4503 |
<literal>%%PERL_VERSION%%</literal> will be substituted for |
| 4345 |
appropriately. The value of <literal>%%OSREL%%</literal> is the |
4504 |
appropriately. The value of <literal>%%OSREL%%</literal> is the |
| 4346 |
numeric revision of the operating system (e.g., |
4505 |
numeric revision of the operating system (e.g., |
| 4347 |
<literal>2.2.7</literal>). <literal>%%PERL_VERSION%%</literal> is |
4506 |
<literal>4.8</literal>). <literal>%%PERL_VERSION%%</literal> is |
| 4348 |
the full version number of <literal>perl</literal> (e.g., |
4507 |
the full version number of <command>perl</command> (e.g., |
| 4349 |
<literal>5.00502</literal>) |
4508 |
<literal>5.00502</literal>) |
| 4350 |
and <literal>%%PERL_VER%%</literal> is the <literal>perl</literal> |
4509 |
and <literal>%%PERL_VER%%</literal> is the <command>perl</command> |
| 4351 |
version number minus |
4510 |
version number minus |
| 4352 |
the patchlevel (e.g., <literal>5.005</literal>).</para> |
4511 |
the patchlevel (e.g., <literal>5.005</literal>).</para> |
| 4353 |
|
4512 |
|
|
Lines 4476-4482
Link Here
|
| 4476 |
set, in which case it will be <makevar>X11BASE</makevar> (default |
4635 |
set, in which case it will be <makevar>X11BASE</makevar> (default |
| 4477 |
<filename>/usr/X11R6</filename>).</para> |
4636 |
<filename>/usr/X11R6</filename>).</para> |
| 4478 |
|
4637 |
|
| 4479 |
<para>Not hard-coding <filename>/usr/local</filename> or |
4638 |
<para>Avoiding hard-coding <filename>/usr/local</filename> or |
| 4480 |
<filename>/usr/X11R6</filename> anywhere in the source will make the |
4639 |
<filename>/usr/X11R6</filename> anywhere in the source will make the |
| 4481 |
port much more flexible and able to cater to the needs of other |
4640 |
port much more flexible and able to cater to the needs of other |
| 4482 |
sites. For X ports that use <command>imake</command>, this is |
4641 |
sites. For X ports that use <command>imake</command>, this is |
|
Lines 4533-4539
Link Here
|
| 4533 |
<sect1 id="testing-freshports"> |
4692 |
<sect1 id="testing-freshports"> |
| 4534 |
<title>FreshPorts sanity tests</title> |
4693 |
<title>FreshPorts sanity tests</title> |
| 4535 |
|
4694 |
|
| 4536 |
<para><ulink url="http://www.FreshPorts.org/">FreshPorts</ulink> has |
4695 |
<para><ulink url="http://www.FreshPorts.org/"></ulink> has |
| 4537 |
a sanity test feature which automatically tests each commit to the |
4696 |
a sanity test feature which automatically tests each commit to the |
| 4538 |
FreeBSD ports tree. If subscribed to this service, you will be |
4697 |
FreeBSD ports tree. If subscribed to this service, you will be |
| 4539 |
notified of any errors which FreshPorts detects during sanity |
4698 |
notified of any errors which FreshPorts detects during sanity |
|
Lines 4584-4589
Link Here
|
| 4584 |
doing a commit. If the diff is more than about 20KB, please compress |
4750 |
doing a commit. If the diff is more than about 20KB, please compress |
| 4585 |
and uuencode it; otherwise, just include it in the PR as is.</para> |
4751 |
and uuencode it; otherwise, just include it in the PR as is.</para> |
| 4586 |
|
4752 |
|
|
|
4753 |
<para>Finally, please see the |
| 4754 |
<ulink url="../../articles/problem-reports/pr-writing.html"> |
| 4755 |
Writing the problem report</ulink> section in the Problem |
| 4756 |
Reports article for more information about how to write |
| 4757 |
useful problem reports.</para> |
| 4758 |
|
| 4587 |
<important> |
4759 |
<important> |
| 4588 |
<para>If your upgrade is motivated by security concerns or a |
4760 |
<para>If your upgrade is motivated by security concerns or a |
| 4589 |
serious fault in the currently committed port, please notify |
4761 |
serious fault in the currently committed port, please notify |
|
Lines 4603-4616
Link Here
|
| 4603 |
<chapter id="porting-dads"> |
4775 |
<chapter id="porting-dads"> |
| 4604 |
<title>Dos and Don'ts</title> |
4776 |
<title>Dos and Don'ts</title> |
| 4605 |
|
4777 |
|
|
|
4778 |
<sect1 id="dads-intro"> |
| 4779 |
<title>Introduction</title> |
| 4780 |
|
| 4606 |
<para>Here is a list of common dos and don'ts that you encounter during |
4781 |
<para>Here is a list of common dos and don'ts that you encounter during |
| 4607 |
the porting process. You should check your own port against this list, |
4782 |
the porting process. You should check your own port against this list, |
| 4608 |
but you can also check ports in the PR database that others have |
4783 |
but you can also check ports in the |
|
|
4784 |
<ulink url="http://www.freebsd.org/cgi/query-pr-summary.cgi?query"> |
| 4785 |
PR database</ulink> that others have |
| 4609 |
submitted. Submit any comments on ports you check as described in |
4786 |
submitted. Submit any comments on ports you check as described in |
| 4610 |
<ulink url="../../articles/contributing/contrib-how.html#CONTRIB-GENERAL">Bug Reports and General |
4787 |
<ulink url="../../articles/contributing/contrib-how.html#CONTRIB-GENERAL">Bug Reports and General |
| 4611 |
Commentary</ulink>. Checking ports in the PR database will both make |
4788 |
Commentary</ulink>. Checking ports in the PR database will both make |
| 4612 |
it faster for us to commit them, and prove that you know what you are |
4789 |
it faster for us to commit them, and prove that you know what you are |
| 4613 |
doing.</para> |
4790 |
doing.</para> |
|
|
4791 |
</sect1> |
| 4614 |
|
4792 |
|
| 4615 |
<sect1 id="dads-strip"> |
4793 |
<sect1 id="dads-strip"> |
| 4616 |
<title>Stripping Binaries</title> |
4794 |
<title>Stripping Binaries</title> |
|
Lines 4678-4684
Link Here
|
| 4678 |
<makevar>WRKDIR</makevar>. <makevar>WRKDIR</makevar> is the only |
4856 |
<makevar>WRKDIR</makevar>. <makevar>WRKDIR</makevar> is the only |
| 4679 |
place that is guaranteed to be writable during the port build (see |
4857 |
place that is guaranteed to be writable during the port build (see |
| 4680 |
<ulink url="../handbook/ports-using.html#PORTS-CD"> |
4858 |
<ulink url="../handbook/ports-using.html#PORTS-CD"> |
| 4681 |
compiling ports from CDROM</ulink> for an |
4859 |
installing ports from a CDROM</ulink> for an |
| 4682 |
example of building ports from a read-only tree). If you need to |
4860 |
example of building ports from a read-only tree). If you need to |
| 4683 |
modify one of the <filename>pkg-<replaceable>*</replaceable></filename> |
4861 |
modify one of the <filename>pkg-<replaceable>*</replaceable></filename> |
| 4684 |
files, do so by <link |
4862 |
files, do so by <link |
|
Lines 4708-4714
Link Here
|
| 4708 |
compilation based upon what version of Unix it is running under. If |
4886 |
compilation based upon what version of Unix it is running under. If |
| 4709 |
you need to make such changes to the code for conditional |
4887 |
you need to make such changes to the code for conditional |
| 4710 |
compilation, make sure you make the changes as general as possible |
4888 |
compilation, make sure you make the changes as general as possible |
| 4711 |
so that we can back-port code to FreeBSD 1.x systems and cross-port |
4889 |
so that we can back-port code to older FreeBSD systems and cross-port |
| 4712 |
to other BSD systems such as 4.4BSD from CSRG, BSD/386, 386BSD, |
4890 |
to other BSD systems such as 4.4BSD from CSRG, BSD/386, 386BSD, |
| 4713 |
NetBSD, and OpenBSD.</para> |
4891 |
NetBSD, and OpenBSD.</para> |
| 4714 |
|
4892 |
|
|
Lines 4777-4789
Link Here
|
| 4777 |
<listitem> |
4955 |
<listitem> |
| 4778 |
<para>In FreeBSD 2.x, <literal>__FreeBSD__</literal> is defined to |
4956 |
<para>In FreeBSD 2.x, <literal>__FreeBSD__</literal> is defined to |
| 4779 |
be <literal>2</literal>. In earlier versions, it is |
4957 |
be <literal>2</literal>. In earlier versions, it is |
| 4780 |
<literal>1</literal>. Later versions will bump it to match |
4958 |
<literal>1</literal>. Later versions always bump it to match |
| 4781 |
their major version number.</para> |
4959 |
their major version number.</para> |
| 4782 |
</listitem> |
4960 |
</listitem> |
| 4783 |
|
4961 |
|
| 4784 |
<listitem> |
4962 |
<listitem> |
| 4785 |
<para>If you need to tell the difference between a FreeBSD 1.x |
4963 |
<para>If you need to tell the difference between a FreeBSD 1.x |
| 4786 |
system and a FreeBSD 2.x or 3.x system, usually the right answer |
4964 |
system and a FreeBSD 2.x or above system, usually the right answer |
| 4787 |
is to use the <literal>BSD</literal> macros described above. If |
4965 |
is to use the <literal>BSD</literal> macros described above. If |
| 4788 |
there actually is a FreeBSD specific change (such as special |
4966 |
there actually is a FreeBSD specific change (such as special |
| 4789 |
shared library options when using <command>ld</command>) then it |
4967 |
shared library options when using <command>ld</command>) then it |
|
Lines 5757-5763
Link Here
|
| 5757 |
|
5935 |
|
| 5758 |
<row> |
5936 |
<row> |
| 5759 |
<entry><makevar>OSVERSION</makevar></entry> |
5937 |
<entry><makevar>OSVERSION</makevar></entry> |
| 5760 |
<entry>The numeric version of the operating system, same as |
5938 |
<entry>The numeric version of the operating system; same as |
| 5761 |
<link |
5939 |
<link |
| 5762 |
linkend="freebsd-versions"><literal>__FreeBSD_version</literal></link>.</entry> |
5940 |
linkend="freebsd-versions"><literal>__FreeBSD_version</literal></link>.</entry> |
| 5763 |
</row> |
5941 |
</row> |
|
Lines 5765-5771
Link Here
|
| 5765 |
<row> |
5943 |
<row> |
| 5766 |
<entry><makevar>PORTOBJFORMAT</makevar></entry> |
5944 |
<entry><makevar>PORTOBJFORMAT</makevar></entry> |
| 5767 |
<entry>The object format of the system |
5945 |
<entry>The object format of the system |
| 5768 |
(<literal>aout</literal> or <literal>elf</literal>)</entry> |
5946 |
(<literal>elf</literal> or <literal>aout</literal>; |
|
|
5947 |
note that for <quote>modern</quote> versions of FreeBSD, |
| 5948 |
<literal>aout</literal> is deprecated.)</entry> |
| 5769 |
</row> |
5949 |
</row> |
| 5770 |
|
5950 |
|
| 5771 |
<row> |
5951 |
<row> |
|
Lines 5817-5822
Link Here
|
| 5817 |
.if ${PORTOBJFORMAT} == "aout" |
5997 |
.if ${PORTOBJFORMAT} == "aout" |
| 5818 |
${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so |
5998 |
${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so |
| 5819 |
.endif</programlisting> |
5999 |
.endif</programlisting> |
|
|
6000 |
|
| 6001 |
<para>You did remember to use tab instead of spaces after |
| 6002 |
<literal>BROKEN=</literal> and |
| 6003 |
<literal>TCL_LIB_FILE=</literal>, did you not? |
| 6004 |
<!-- smiley -->:-).</para> |
| 5820 |
</sect1> |
6005 |
</sect1> |
| 5821 |
|
6006 |
|
| 5822 |
<sect1 id="dads-documentation"> |
6007 |
<sect1 id="dads-documentation"> |
|
Lines 5873-5879
Link Here
|
| 5873 |
the subdirectory with the port's name, which is incorrect. Also, |
6058 |
the subdirectory with the port's name, which is incorrect. Also, |
| 5874 |
many ports put everything except binaries, header files and manual |
6059 |
many ports put everything except binaries, header files and manual |
| 5875 |
pages in the a subdirectory of <filename>lib</filename>, which does |
6060 |
pages in the a subdirectory of <filename>lib</filename>, which does |
| 5876 |
not bode well with the BSD paradigm. Many of the files should be |
6061 |
not work well with the BSD paradigm. Many of the files should be |
| 5877 |
moved to one of the following: <filename>etc</filename> |
6062 |
moved to one of the following: <filename>etc</filename> |
| 5878 |
(setup/configuration files), <filename>libexec</filename> |
6063 |
(setup/configuration files), <filename>libexec</filename> |
| 5879 |
(executables started internally), <filename>sbin</filename> |
6064 |
(executables started internally), <filename>sbin</filename> |
|
Lines 5935-5941
Link Here
|
| 5935 |
other ports. This is the current list of UIDs between 50 and |
6120 |
other ports. This is the current list of UIDs between 50 and |
| 5936 |
999.</para> |
6121 |
999.</para> |
| 5937 |
|
6122 |
|
| 5938 |
<programlisting>majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent |
6123 |
<programlisting>bind:*:53:53:Bind Sandbox:/:/sbin/nologin |
|
|
6124 |
majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent |
| 5939 |
cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent |
6125 |
cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent |
| 5940 |
gnats:*:61:1:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh |
6126 |
gnats:*:61:1:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh |
| 5941 |
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico |
6127 |
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico |
|
Lines 5982-5987
Link Here
|
| 5982 |
<makevar>EXTRACT*</makevar> instead, and using |
6168 |
<makevar>EXTRACT*</makevar> instead, and using |
| 5983 |
<makevar>GNU_CONFIGURE</makevar> instead of <literal>CONFIGURE_ARGS |
6169 |
<makevar>GNU_CONFIGURE</makevar> instead of <literal>CONFIGURE_ARGS |
| 5984 |
+= --prefix=${PREFIX}</literal>.</para> |
6170 |
+= --prefix=${PREFIX}</literal>.</para> |
|
|
6171 |
|
| 6172 |
<para>If you find yourself having to write a whole lot of lines |
| 6173 |
of new code to try to do something, please go back and review |
| 6174 |
<filename>bsd.port.mk</filename> to see if it contains an |
| 6175 |
existing implementation of what you are trying to do. While |
| 6176 |
hard to read, there are a great many seemingly-hard problems for |
| 6177 |
which <filename>bsd.port.mk</filename> already provides a |
| 6178 |
shorthand solution. There is almost nothing in |
| 6179 |
<filename>bsd.port.mk</filename> which was included by |
| 6180 |
accident and is not continually being worked on.</para> |
| 5985 |
</sect1> |
6181 |
</sect1> |
| 5986 |
|
6182 |
|
| 5987 |
<sect1 id="dads-cc"> |
6183 |
<sect1 id="dads-cc"> |
|
Lines 5989-5995
Link Here
|
| 5989 |
<makevar>CXX</makevar></title> |
6185 |
<makevar>CXX</makevar></title> |
| 5990 |
|
6186 |
|
| 5991 |
<para>The port should respect both <makevar>CC</makevar> |
6187 |
<para>The port should respect both <makevar>CC</makevar> |
| 5992 |
and <makevar>CXX</makevar> variables. If it does not, |
6188 |
and <makevar>CXX</makevar> variables. What we mean by this |
|
|
6189 |
is that the port should not set the values of these variables |
| 6190 |
absolutely, overriding existing values; instead, it should append |
| 6191 |
whatever values it needs to the existing values. This is so that |
| 6192 |
build options that affect all ports can be set globally.</para> |
| 6193 |
|
| 6194 |
<para>If the port does not respect these variables, |
| 5993 |
please add <literal>NO_PACKAGE=ignores either cc or |
6195 |
please add <literal>NO_PACKAGE=ignores either cc or |
| 5994 |
cxx</literal> to the <filename>Makefile</filename>.</para> |
6196 |
cxx</literal> to the <filename>Makefile</filename>.</para> |
| 5995 |
|
6197 |
|
|
Lines 6020-6026
Link Here
|
| 6020 |
<title>Respect <makevar>CFLAGS</makevar></title> |
6222 |
<title>Respect <makevar>CFLAGS</makevar></title> |
| 6021 |
|
6223 |
|
| 6022 |
<para>The port should respect the <makevar>CFLAGS</makevar> variable. |
6224 |
<para>The port should respect the <makevar>CFLAGS</makevar> variable. |
| 6023 |
If it does not, please add <literal>NO_PACKAGE=ignores |
6225 |
Again, what we mean by this |
|
|
6226 |
is that the port should not set the value of this variable |
| 6227 |
absolutely, overriding the existing value; instead, it should append |
| 6228 |
whatever values it needs to the existing value. This is so that |
| 6229 |
build options that affect all ports can be set globally.</para> |
| 6230 |
|
| 6231 |
<para>Again, if it does not, please add <literal>NO_PACKAGE=ignores |
| 6024 |
cflags</literal> to the <filename>Makefile</filename>.</para> |
6232 |
cflags</literal> to the <filename>Makefile</filename>.</para> |
| 6025 |
|
6233 |
|
| 6026 |
<para>An example of a <filename>Makefile</filename> respecting |
6234 |
<para>An example of a <filename>Makefile</filename> respecting |
|
Lines 6337-6343
Link Here
|
| 6337 |
|
6545 |
|
| 6338 |
<para>Other resources to assist port maintainers include a list of |
6546 |
<para>Other resources to assist port maintainers include a list of |
| 6339 |
<ulink url="http://bento.FreeBSD.org/">package building logs and |
6547 |
<ulink url="http://bento.FreeBSD.org/">package building logs and |
| 6340 |
errors </ulink> and the <ulink |
6548 |
errors</ulink> hosted on the <literal>bento cluster</literal>, |
|
|
6549 |
and also the <ulink |
| 6341 |
url="http://people.FreeBSD.org/~fenner/portsurvey/">FreeBSD |
6550 |
url="http://people.FreeBSD.org/~fenner/portsurvey/">FreeBSD |
| 6342 |
Ports distfiles survey</ulink>.</para> |
6551 |
Ports distfiles survey</ulink>.</para> |
| 6343 |
</chapter> |
6552 |
</chapter> |