source: trunk/README @ 1083

Last change on this file since 1083 was 1083, checked in by jkh, 17 years ago

Document portall as well.

  • Property svn:eol-style set to native
File size: 4.2 KB
Line 
1WHAT IS THE DARWIN PORTS SYSTEM
2
3    Darwin Ports 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    Darwin Ports 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
26        2. sudo make install
27                Run 'sudo make install' to install darwinports on your system.
28
29        3. [optional] edit /etc/ports/ports.conf
30                The /etc/ports/ports.conf configuration file takes the same
31                directives as a Portfile, and can be used to override all
32                ports' defaults. You may wish to set things like debugging
33                and "verbosity" options in this file, the list of available
34                options being as follows:
35
36                portdbpath - Specifies path to store ports system specific data.
37
38                ports_debug - Takes either a "yes" or "no" value.
39                            If set, debug messages are printed
40
41                ports_verbose - Takes either a "yes" or "no" value.
42                            If set, informational messages are printed
43
44        3. edit /etc/ports/sources.conf
45                The /etc/ports/sources.conf file lists the location of
46                both local and remote port software hierarchies. There is
47                no default specified, so be sure to add an entry for your
48                local ports tree. (usually the darwinports/dports directory)
49
50    All necessary code and TCL will be compiled and installed as follows:
51        /System/Library/Tcl/8.3/darwinports1.0
52            - TCL library for interfacing with the Darwin Ports System
53
54        PREFIX is set to /opt/local but can be overridden on the make command
55        line and affects the installation of the following components:
56
57        $PREFIX/bin/port
58            - Command line port building utility
59        $PREFIX/share/darwinports/
60            - TCL libraries internal to the ports system
61
62        The following files are provided for customization of the system:
63
64        /etc/defaults/ports.conf
65            - System-wide port default settings
66        /etc/ports/ports.conf
67            - User customizable port settings
68        /etc/ports/sources.conf
69            - List of port sources (places to get ports data from)
70
71
72USING THE PORT COMMAND
73
74    If you haven't already, add /opt/local/bin to your path (or $PREFIX/bin
75if you've elected to install darwinports somewhere else). If you're
76unsure how, add the following line to your ~/.cshrc file.
77
78        set path=($path /opt/local/bin)
79
80    Your changes to ~/.cshrc will not take effect until you have opened
81a new shell.
82
83    To update your local indexes, run:
84
85        port sync
86
87    The following command will build and install a port:
88
89        port install <portname>
90
91    To find a specific port, try using "port search".
92
93        port search vi
94
95    Please refer to the port man page for complete documentation on the port
96    command.
97
98    It is also possible to do operations, like building or fetching, for
99    all ports on the system using the portall command.  It takes essentially
100    the same arguments as the port command but operates iteratively on every
101    port in dports/.  When you do a "make clean" from this directory, for
102    example, a "portall clean" is also invoked to completely clean things up.
103
104
105CREATING NEW PORTS
106
107    Ports consist of directory containing both a Portfile and associated
108files. Currently the only bundled files are patch files, and these are likely
109to be kept to a minimum.
110
111    A Portfile consists of valid TCL, evaluated by a TCL interpreter
112instantiated by the Darwin Ports System. Portfiles use extremely straight-
113forward key/value pair syntax, while allowing the author to use the full
114extent of TCL's functionality where necessary.
115
116    To get started, refer to doc/exampleport and the portfile(7) man page.
Note: See TracBrowser for help on using the repository browser.