source: trunk/README @ 4388

Last change on this file since 4388 was 4388, checked in by fkr, 17 years ago

Bug:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

  • mention base/doc/README.platforms in README
  • mention FreeBSD and OpenBSD in base/doc/README.platforms

XXX:
we should add informations on how to properly handle platforms in
Portfiles.

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