|
Lines 616-621
Link Here
|
| 616 |
system. The detailed description of available <command>make</command> |
616 |
system. The detailed description of available <command>make</command> |
| 617 |
targets and environment variables is available in &man.ports.7;.</para> |
617 |
targets and environment variables is available in &man.ports.7;.</para> |
| 618 |
|
618 |
|
|
|
619 |
<warning> |
| 620 |
<para>As of late 2012, the FreeBSD Ports Project is in the process of |
| 621 |
migrating revision control systems from CVS to Subversion. As a |
| 622 |
result, these instructions are in a state of change. The preferred |
| 623 |
mechanism for general ports use is Portsnap; users requiring local |
| 624 |
customization of ports (e.g., additional patches) will prefer to use |
| 625 |
Subversion directly. The CVSup service is being phased out as of 28 |
| 626 |
February 2013, and its use is discouraged.</para></warning> |
| 627 |
|
| 619 |
<sect2 id="ports-tree"> |
628 |
<sect2 id="ports-tree"> |
| 620 |
<title>Obtaining the Ports Collection</title> |
629 |
<title>Obtaining the Ports Collection</title> |
| 621 |
|
630 |
|
|
Lines 632-639
Link Here
|
| 632 |
collection:</para> |
641 |
collection:</para> |
| 633 |
|
642 |
|
| 634 |
<procedure> |
643 |
<procedure> |
|
|
644 |
<title>Portsnap Method</title> |
| 645 |
|
| 646 |
<para><application>Portsnap</application> is a fast and user-friendly |
| 647 |
system for distributing the Ports Collection. |
| 648 |
Please refer to <link linkend="updating-upgrading-portsnap">Using Portsnap</link> |
| 649 |
for a detailed description of all <application>Portsnap</application> |
| 650 |
features.</para> |
| 651 |
|
| 652 |
<step> |
| 653 |
<para>Download a compressed snapshot of the Ports Collection into |
| 654 |
<filename class="directory">/var/db/portsnap</filename>. You can |
| 655 |
disconnect from the Internet after this step, if you wish.</para> |
| 656 |
|
| 657 |
<screen>&prompt.root; <userinput>portsnap fetch</userinput></screen> |
| 658 |
</step> |
| 659 |
|
| 660 |
<step> |
| 661 |
<para>If you are running <application>Portsnap</application> for the |
| 662 |
first time, extract the snapshot into <filename |
| 663 |
class="directory">/usr/ports</filename>: |
| 664 |
</para> |
| 665 |
|
| 666 |
<screen>&prompt.root; <userinput>portsnap extract</userinput></screen> |
| 667 |
|
| 668 |
<para>If you already have a populated <filename |
| 669 |
class="directory">/usr/ports</filename> and you are just updating, |
| 670 |
run the following command instead:</para> |
| 671 |
|
| 672 |
<screen>&prompt.root; <userinput>portsnap update</userinput></screen> |
| 673 |
</step> |
| 674 |
|
| 675 |
</procedure> |
| 676 |
|
| 677 |
<procedure> |
| 678 |
<title>Subversion Method</title> |
| 679 |
|
| 680 |
<para>If more control over the ports tree is needed (e.g maintaining |
| 681 |
local changes) <application>Subversion</application> can be used for |
| 682 |
obtaining the Ports Collection. Please refer to <ulink |
| 683 |
url="&url.articles.committers-guide;/subversion-primer.html">the |
| 684 |
Subversion Primer</ulink> for a detailed description of all |
| 685 |
<application>Subversion</application> features.</para> |
| 686 |
|
| 687 |
<step> |
| 688 |
<para>To check out the ports tree with <application>Subversion |
| 689 |
</application> it needs to be installed first. If you already have |
| 690 |
a copy of the ports tree install <application>Subversion |
| 691 |
</application>like this:</para> |
| 692 |
|
| 693 |
<screen>&prompt.root; <userinput>cd /usr/ports/devel/subversion |
| 694 |
</userinput> |
| 695 |
&prompt.root; <userinput>make install clean</userinput></screen> |
| 696 |
|
| 697 |
<para>If no ports tree is available <application>Subversion |
| 698 |
</application> can be installed via packages:</para> |
| 699 |
|
| 700 |
<screen>&prompt.root; <userinput>pkg_add -r subversion</userinput> |
| 701 |
</screen> |
| 702 |
|
| 703 |
<para>If <application>pkgng</application> is used for packages |
| 704 |
<application>Subversion</application> can be installed using |
| 705 |
pkgng:</para> |
| 706 |
|
| 707 |
<screen>&prompt.root; <userinput>pkg install subversion |
| 708 |
</userinput></screen> |
| 709 |
</step> |
| 710 |
|
| 711 |
<step> |
| 712 |
<para>Check out an initial copy of the ports tree. Using one of |
| 713 |
the provided <ulink |
| 714 |
url="&url.books.handbook;/mirrors-svn.html">Subversion |
| 715 |
mirrors</ulink> instead of svn.FreeBSD.org is prefered. |
| 716 |
Committers should read <ulink |
| 717 |
url="&url.articles.committers-guide;/subversion-primer.html">the |
| 718 |
Subversion Primer</ulink> prior to checkout as they might have |
| 719 |
to check out the ports tree using a different protocol. |
| 720 |
</para> |
| 721 |
|
| 722 |
<screen>&prompt.root; <userinput>svn checkout svn://<replaceable>svn.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput> |
| 723 |
</screen> |
| 724 |
</step> |
| 725 |
|
| 726 |
<step> |
| 727 |
<para>If you already have a checked out <filename |
| 728 |
class="directory">/usr/ports</filename> and you are just updating, |
| 729 |
run the following command instead:</para> |
| 730 |
|
| 731 |
<screen>&prompt.root; <userinput>cd /usr/ports</userinput> |
| 732 |
&prompt.root; <userinput>svn update</userinput></screen> |
| 733 |
</step> |
| 734 |
|
| 735 |
</procedure> |
| 736 |
|
| 737 |
<procedure> |
| 635 |
<title>CVSup Method</title> |
738 |
<title>CVSup Method</title> |
| 636 |
|
739 |
|
|
|
740 |
<warning><para>The CVSup method of retrieving and synchronizing the |
| 741 |
ports collection is being deprecated as part of a migration to |
| 742 |
Subversion. While it remains supported, the service will be |
| 743 |
discontinued as of 28 February 2013.</para></warning> |
| 744 |
|
| 637 |
<para>This is a quick method for getting and keeping your copy of the |
745 |
<para>This is a quick method for getting and keeping your copy of the |
| 638 |
Ports Collection up to date using <application>CVSup</application> |
746 |
Ports Collection up to date using <application>CVSup</application> |
| 639 |
protocol. If you want to learn more about |
747 |
protocol. If you want to learn more about |
|
Lines 710-749
Link Here
|
| 710 |
</procedure> |
818 |
</procedure> |
| 711 |
|
819 |
|
| 712 |
<procedure> |
820 |
<procedure> |
| 713 |
<title>Portsnap Method</title> |
|
|
| 714 |
|
| 715 |
<para><application>Portsnap</application> is an alternative system for |
| 716 |
distributing the Ports Collection. |
| 717 |
Please refer to <link linkend="updating-upgrading-portsnap">Using Portsnap</link> |
| 718 |
for a detailed description of all <application>Portsnap</application> |
| 719 |
features.</para> |
| 720 |
|
| 721 |
<step> |
| 722 |
<para>Download a compressed snapshot of the Ports Collection into |
| 723 |
<filename class="directory">/var/db/portsnap</filename>. You can |
| 724 |
disconnect from the Internet after this step, if you wish.</para> |
| 725 |
|
| 726 |
<screen>&prompt.root; <userinput>portsnap fetch</userinput></screen> |
| 727 |
</step> |
| 728 |
|
| 729 |
<step> |
| 730 |
<para>If you are running <application>Portsnap</application> for the |
| 731 |
first time, extract the snapshot into <filename |
| 732 |
class="directory">/usr/ports</filename>: |
| 733 |
</para> |
| 734 |
|
| 735 |
<screen>&prompt.root; <userinput>portsnap extract</userinput></screen> |
| 736 |
|
| 737 |
<para>If you already have a populated <filename |
| 738 |
class="directory">/usr/ports</filename> and you are just updating, |
| 739 |
run the following command instead:</para> |
| 740 |
|
| 741 |
<screen>&prompt.root; <userinput>portsnap update</userinput></screen> |
| 742 |
</step> |
| 743 |
|
| 744 |
</procedure> |
| 745 |
|
| 746 |
<procedure> |
| 747 |
<title>Sysinstall Method</title> |
821 |
<title>Sysinstall Method</title> |
| 748 |
|
822 |
|
| 749 |
<para>This method involves using <application>sysinstall</application> |
823 |
<para>This method involves using <application>sysinstall</application> |