source: trunk/README @ 2416

Last change on this file since 2416 was 2215, checked in by landonf (Landon Fuller), 17 years ago

Beautification and FreeBSD-related information
Bug #: 377
Submitted by: Felix Kronlage <fkr@…>

  • Property svn:eol-style set to native
File size: 4.2 KB
Line 
1WHAT IS THE DARWIN PORTS SYSTEM
2
3    DarwinPorts is a software build, install, and packaging infrastructure
4designed to meet the same functionality requirements as the FreeBSD ports
5architecture while maintaining extensibility for future enhancement.
6
7    DarwinPorts currently builds and runs on MacOS X 10.2 (Darwin 6.0). The
8system is portable, written in TCL with a limited set of TCL extensions in C.
9
10    For in-depth documentation on the internals of the ports system
11architecture, refer to base/docs/INTERNALS.
12
13    Please note that DarwinPorts is split into two parts.  The "darwin ports
14infrastructure", which lives in the base/ subdirectory and is the only
15mandatory component of the system, and the "dports" directory which contains
16the actual ported software descriptions.  The latter is optional and can be
17either fetched on demand over the net or a local copy can be used.  See
18documentation on /etc/ports/sources.conf below.
19
20INSTALLATION
21
22    Installation Steps:
23        1. make
24                Run 'make' to compile all necessary software.
25                In order to install DarwinPorts on FreeBSD the default group-ownership
26                must be passed: 'make DSTGRP=wheel'
27               
28
29        2. sudo make install
30                Run 'sudo make install' to install DarwinPorts on your system.
31                Again, installing on FreeBSD require the group-ownership to be
32                passed: 'sudo make install DSTGRP=wheel'
33
34
35        3. [optional] edit /etc/ports/ports.conf
36                The /etc/ports/ports.conf configuration file defines several
37                configuration options for the DarwinPorts infrastructure. If
38                you wish to change installation paths or the location at
39                which various port system specific data is stored, change the
40                following settings:
41
42                portdbpath - Specifies path to store ports system specific data.
43
44                prefix - Specifies directory in which to install ports
45
46        3. edit /etc/ports/sources.conf
47                The /etc/ports/sources.conf file lists the location of
48                both local and remote port software hierarchies. Be sure
49                to add an entry for your local ports tree
50                (usually the darwinports/dports directory)
51
52    All necessary code and TCL will be compiled and installed as follows:
53        [Mac OS X] /System/Library/Tcl/8.3/darwinports1.0
54        [FreeBSD] /usr/local/lib/tcl8.3/darwinports1.0
55            - TCL library for interfacing with the DarwinPorts System
56
57        PREFIX is set to /opt/local but can be overridden on the make command
58        line and affects the installation of the following components:
59
60        $PREFIX/bin/port
61            - Command line port building utility
62        $PREFIX/share/darwinports/
63            - TCL libraries internal to the ports system
64
65        The following files are provided for customization of the system:
66
67        /etc/defaults/ports.conf
68            - System-wide port default settings
69        /etc/ports/ports.conf
70            - User customizable port settings
71        /etc/ports/sources.conf
72            - List of port sources (places to get ports data from)
73
74
75USING THE PORT COMMAND
76
77    If you haven't already, add /opt/local/bin to your path (or $PREFIX/bin
78if you've elected to install DarwinPorts somewhere else). If you're
79unsure how, add the following line to your ~/.cshrc file.
80
81        set path=($path /opt/local/bin)
82
83    Your changes to ~/.cshrc will not take effect until you have opened
84a new shell.
85
86    The following command will build and install a port:
87
88        port install <portname>
89
90    To find a specific port, try using "port search".
91
92        port search vi
93
94    Please refer to the port man page for complete documentation on the port
95    command.
96
97    It is also possible to do operations, like building or fetching, for
98    all ports on the system using the portall command.  It takes essentially
99    the same arguments as the port command but operates iteratively on every
100    port in dports/.  When you do a "make clean" from this directory, for
101    example, a "portall clean" is also invoked to completely clean things up.
102
103
104CREATING NEW PORTS
105
106    Ports consist of directory containing both a Portfile and associated
107files. Currently the only bundled files are patch files, and these are likely
108to be kept to a minimum.
109
110    A Portfile consists of valid TCL, evaluated by a TCL interpreter
111instantiated by the DarwinPorts System. Portfiles use extremely straight-
112forward key/value pair syntax, while allowing the author to use the full
113extent of TCL's functionality where necessary.
114
115    To get started, refer to base/doc/exampleport and the portfile(7) man page.
Note: See TracBrowser for help on using the repository browser.