source: trunk/doc/faq/xml/faq.xml @ 26404

Last change on this file since 26404 was 26404, checked in by boeyms@…, 13 years ago

Pick off some low-hanging fruit to start updating the DocBook documentation:

  • Replace instances of "Darwinports" with "MacPorts", "dport" with "mport", "CVS" with "Subversion" and "cvs" with "svn";
  • Update some of the old email address and links;
  • Make one update about MacPorts no longer supporting OSes other than Mac OS 10.3 and above.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.1 KB
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "">
6  <articleinfo>
7    <title>MacPorts FAQ</title>
9                <author>
10                        <firstname>Jordan</firstname>
11                        <surname>Hubbard</surname>
12                        <affiliation>
13                                <address><email></email></address>
14                        </affiliation>
15                </author>
17                <author>
18                        <firstname>Will</firstname>
19                        <surname>Barton</surname>
20                        <affiliation>
21                                <address><email></email></address>
22                        </affiliation>
23                </author>
25    <copyright>
26      <year>2002</year>
27      <year>2003</year>
28      <year>2004</year>
29      <holder>The OpenDarwin Project</holder>
30    </copyright>
31  </articleinfo>
33        <abstract>
34                <para>The MacPorts Frequently Asked Questions will attempt to
35                        answer some questions that are often asked about MacPorts.</para>
36        </abstract>
38        <qandaset defaultlabel="general">
39                <qandadiv>
40                        <title>General Questions</title>
42                        <qandaentry>
43                                <question>
44                                        <para>What IS MacPorts?</para>
45                                </question>
47                                <answer>
48                                        <para>MacPorts is probably best described by comparison:  It's
49                                                sort of like the FreeBSD ports collection or fink in
50                                                that it automates the process of building 3rd party
51                                                software for Mac OS X.  It also tracks all dependency
52                                                information for a given piece of software and knows how to
53                                                make it build under Mac OS X and install it to a common
54                                                location, meaning that software installed via MacPorts
55                                                doesn't simply scatter itself all over the system or
56                                                require user knowledge of what to install in what order.</para>
57                                </answer>
58                        </qandaentry>
60                        <qandaentry>
61                                <question>
62                                        <para>How does MacPorts compare to FreeBSD ports?</para>
63                                </question>
65                                <answer>
66                                        <para>FreeBSD ports is essentially implemented as some very
67                                                impressive but hairy BSD make(1)'s macros and can be a
68                                                little opaque and non-extensible from the perspective of
69                                                someone looking to extend or re-factor parts of the system.
70                                                Given that Makefiles aren't the easiest thing to parse, it is
71                                                also harder to "mine" the FreeBSD ports collection for data to
72                                                use for other purposes, such as generating documentation indexes
73                                                or arbitrary front-ends for creating or managing ports.</para>
74                                </answer>
75                        </qandaentry>
77                        <qandaentry>
78                                <question>
79                                        <para>Why did MacPorts start from scratch rather than
80                                        adopting something like FreeBSD ports?</para>
81                                </question>
83                                <answer>
84                                        <para>Even discounting some of the limitations of FreeBSD
85                                        ports         described above, the "science" of creating
86                                        automated build         systems is rather more complex than it
87                                        looks at first glance and         there's always room for
88                                        fresh approaches to the problem, which         is what we set
89                                        out to do with MacPorts. There are certainly         other
90                                        systems, some of which have already been mentioned, which
91                                        have made their own attempts at solving this problem and there
92                                        will likely be many more such systems in the future since
93                                        trying         to find a single solution which pleases
94                                        everyone is rather like         trying to find a single
95                                        programmin language which pleases         everyone - it's more
96                                        or less impossible.  We urge people to         judge
97                                        MacPorts' design on its own merits and consider it a
98                                        parallel rather than a competing effort since there's more
99                                        software out there than any one system can ever manage to
100                                        encapsulate and automate. </para>
101                                </answer>
102                        </qandaentry>
104                        <qandaentry>
105                                <question>
106                                        <para>Will MacPorts run on any other Operating System?</para>
107                                </question>
109                                <answer>
110                                        <para>MacPorts was designed to be as portable as possible.
111                                        Though our target platforms are Mac OS X and Darwin,
112                                        MacPorts is known to work on FreeBSD, OpenBSD, NetBSD and
113                                        Solaris.  We also provide individual ports with ways of
114                                        specifying platform-specific rules that are only invoked on
115                                        that particular platform.</para>
116                                </answer>
117                        </qandaentry>
119                        <qandaentry>
120                                <question>
121                                        <para>Does MacPorts also do Package Management?</para>
122                                </question>
124                                <answer>
125                                        <para>MacPorts works by first building software and
126                                        installing it into a <varname>destroot</varname>, a
127                                        fake-installation location, then installing it into the
128                                        MacPorts prefix (<filename>/opt/local</filename> by
129                                        default).  It records this installation in its registry, and
130                                        you can query the installed port and uninstall it through
131                                        MacPorts.  Work is underway to add full package management
132                                        features to MacPorts.</para>
134                                        <para>You can also have MacPorts build a Mac OS X
135                                        <filename>.pkg</filename> file of the port, and install it
136                                        using the Mac OS X Installer.  If that package has
137                                        dependencies, then you can also build a multi-part package
138                                        (<filename>.mpkg</filename>) which contains them as well.  You
139                                        can also build RPM packages from MacPorts.</para>
140                                </answer>
141                        </qandaentry>
143                        <qandaentry>
144                                <question>
145                                        <para>Why does MacPorts install everything into
146                                        <filename>/opt/local</filename> by default?</para>
147                                </question>
149                                <answer>
150                                        <para>First, this location can be set to anything you like by
151                                        editing /etc/ports/ports.conf or specifying
152                                        <varname>--prefix</varname> during the
153                                        <filename>./configure</filename> phase of the MacPorts
154                                        installation, so nothing           is fixed
155                                        in place.  Even the basic MacPorts infrastructure,
156                                        which installs into /opt/local by           default, can be
157                                        installed elsewhere by overriding the value of
158                                        PREFIX on the command line (see the           README file for
159                                        details).  Second, we had           to pick SOME location for
160                                        things to install into so that they           would not
161                                        collide with system components or things already
162                                        installed in /usr/local, so we elected to           loosely
163                                        follow Sun's convention and go with
164                                        /opt/local.</para>
165                                </answer>
166                        </qandaentry>
168                </qandadiv>
169        </qandaset>
171        <qandaset defaultlabel="general">
172                <qandadiv>
173                        <title>Common Problems</title>
175                </qandadiv>
176        </qandaset>
Note: See TracBrowser for help on using the repository browser.