Changeset 123002


Ignore:
Timestamp:
Aug 3, 2014, 4:06:51 PM (10 years ago)
Author:
cal@…
Message:

base: merge new-help-system, thanks to raimue for all the hard work

Location:
trunk/base
Files:
1 deleted
16 edited
36 copied

Legend:

Unmodified
Added
Removed
  • trunk/base/Mk/macports.autoconf.mk.in

    r118562 r123002  
    7171portsdir                = @PORTSDIR@
    7272
     73MACPORTS_VERSION        = @MACPORTS_VERSION@
     74
    7375SILENT                  = @
  • trunk/base/configure

    r120187 r123002  
    728728MDLS
    729729MDFIND
     730MAN
    730731MAKE
    731732LZMA
     
    51795180
    51805181
     5182# Extract the first word of "man", so it can be a program name with args.
     5183set dummy man; ac_word=$2
     5184{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5185$as_echo_n "checking for $ac_word... " >&6; }
     5186if ${ac_cv_path_MAN+:} false; then :
     5187  $as_echo_n "(cached) " >&6
     5188else
     5189  case $MAN in
     5190  [\\/]* | ?:[\\/]*)
     5191  ac_cv_path_MAN="$MAN" # Let the user override the test with a path.
     5192  ;;
     5193  *)
     5194  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5195for as_dir in $PATH
     5196do
     5197  IFS=$as_save_IFS
     5198  test -z "$as_dir" && as_dir=.
     5199    for ac_exec_ext in '' $ac_executable_extensions; do
     5200  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5201    ac_cv_path_MAN="$as_dir/$ac_word$ac_exec_ext"
     5202    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5203    break 2
     5204  fi
     5205done
     5206  done
     5207IFS=$as_save_IFS
     5208
     5209  ;;
     5210esac
     5211fi
     5212MAN=$ac_cv_path_MAN
     5213if test -n "$MAN"; then
     5214  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAN" >&5
     5215$as_echo "$MAN" >&6; }
     5216else
     5217  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5218$as_echo "no" >&6; }
     5219fi
     5220
     5221
    51815222# Extract the first word of "mdfind", so it can be a program name with args.
    51825223set dummy mdfind; ac_word=$2
     
    60616102$as_echo "no" >&6; }
    60626103fi
    6063 
    60646104
    60656105
  • trunk/base/configure.ac

    r120187 r123002  
    146146AC_PATH_PROG(LZMA, [lzma], [])
    147147AC_PATH_PROG(MAKE, [make])
     148AC_PATH_PROG(MAN, [man])
    148149AC_PATH_PROG(MDFIND, [mdfind], [])
    149150AC_PATH_PROG(MDLS, [mdls], [])
     
    169170
    170171AC_CHECK_PROG(HAVE_LAUNCHD, [launchd], [yes], [], [/sbin])
    171 
    172172
    173173if test "x$MTREE" = "x"; then
  • trunk/base/doc

    • Property svn:ignore
      •  

        old new  
        55prefix.mtree
        66macosx.mtree
         7asciidoc.conf
        78*[0-9].gz
         9*[0-9].xml
         10*[0-9].html
         11.dep
  • trunk/base/doc/Makefile.in

    r122044 r123002  
    22VPATH  = @srcdir@
    33
    4 MAN1=           port.1
     4# If this is a selfupdate, we never want to run any tools from the target
     5# prefix (could be broken or wrong architecture), otherwise try to use the
     6# tools from the target prefix for generating man pages if they exist
     7ifeq ($(SELFUPDATING),1)
     8ASCIIDOC=
     9XSLTPROC=
     10else
     11ASCIIDOC=       $(wildcard ${prefix}/bin/asciidoc)
     12XSLTPROC=       $(wildcard ${prefix}/bin/xsltproc)
     13endif
     14
     15ASCIIDOCFLAGS=  -f asciidoc.conf -a manversion=${MACPORTS_VERSION}
     16XSLTFLAGS=      -nonet
     17
     18MAN1=           port.1 \
     19                port-activate.1 \
     20                port-build.1 \
     21                port-checksum.1 \
     22                port-configure.1 \
     23                port-deactivate.1 \
     24                port-destroot.1 \
     25                port-edit.1 \
     26                port-extract.1 \
     27                port-fetch.1 \
     28                port-install.1 \
     29                port-patch.1 \
     30                port-uninstall.1
    531MAN5=           macports.conf.5
    6 MAN7=           portfile.7 portstyle.7 porthier.7 portgroup.7
    7 CONF=       archive_sites.conf macports.conf pubkeys.conf sources.conf variants.conf
     32MAN7=           portfile.7 portstyle.7 porthier.7 portgroup.7 portundocumented.7
     33MAN=            ${MAN1} ${MAN5} ${MAN7}
     34
     35# Filter man pages with existing source files
     36MANTXT=         $(wildcard ${MAN:%=%.txt})
     37# Only those can be transformed into XML
     38MANXML=         ${MANTXT:.txt=.xml}
     39# HTML version for all man pages
     40MANHTML=        ${MAN:%=%.html}
     41
     42CONF=           archive_sites.conf macports.conf pubkeys.conf sources.conf variants.conf
    843INSTALLDIR=     ${DESTDIR}${prefix}
    944TOPSRCDIR=      ..
     
    1348endif
    1449
    15 all: ${MAN1:.1=.1.gz} ${MAN5:.5=.5.gz} ${MAN7:.7=.7.gz}
     50all: man
     51
     52# Update "include::" dependencies
     53.dep: $(wildcard *.txt) asciidoc-deps.tcl
     54        $(INTREE_TCLSH) ./asciidoc-deps.tcl *.txt > $@
     55
     56-include .dep
     57
     58.PHONY: man xml html
     59
     60man: ${MAN} ${MAN:%=%.gz}
     61
     62xml: ${MANXML}
     63
     64html: ${MANHTML}
    1665
    1766clean:
     67        rm -f ${MANTXT:%.txt=%.gz}
     68        rm -f ${MANTXT:%.txt=%.html}
     69        rm -f ${MANTXT:%.txt=%.xml}
    1870        rm -f *.{1,5,7}.gz
     71        rm -f .dep
    1972
    2073test:
     
    3285%.7.gz: %.7
    3386        gzip -c $^ > $@
     87
     88%: %.soelim
     89        ln -f $< $@
     90
     91%.html: %.soelim
     92        ln -sf $(shell basename $$(awk '{print $$2}' < $<)).html $@
     93
     94# Define these rules only if both asciidoc and xsltproc are available
     95ifneq ($(ASCIIDOC)$(XSLTPROC),)
     96%: %.xml manpage.xsl
     97        $(XSLTPROC) $(XSLTFLAGS) manpage.xsl $<
     98
     99%.xml: %.txt asciidoc.conf
     100        $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $<
     101
     102%.html: %.txt asciidoc.conf
     103        $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b xhtml11 $<
     104else
     105man: ${MAN} ${MAN:%=%.gz}
     106        @echo "* Warning: Using pre-generated man pages only."
     107        @echo "* asciidoc and xsltproc are required to generate man pages from source."
     108
     109%.xml %.html: | %.txt
     110        @echo "* In order to modify and generate output from these source files,"
     111        @echo "* please install asciidoc and xsltproc or use"
     112        @echo "*   $(MAKE) ASCIIDOC=.../bin/asciidoc XSLTPROC=../bin/xsltproc"
     113        @echo "* with appropriate paths."
     114        @exit 1
     115endif
    34116
    35117install: all
     
    64146        $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 644 prefix.mtree "${INSTALLDIR}/share/macports/install/"
    65147        $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 644 macosx.mtree "${INSTALLDIR}/share/macports/install/"
    66         $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 444 port.1.gz "${INSTALLDIR}/share/man/man1"
    67         $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 444 macports.conf.5.gz "${INSTALLDIR}/share/man/man5"
    68         $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 444 portfile.7.gz "${INSTALLDIR}/share/man/man7"
    69         $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 444 portstyle.7.gz "${INSTALLDIR}/share/man/man7"
    70         $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 444 porthier.7.gz "${INSTALLDIR}/share/man/man7"
    71         $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 444 portgroup.7.gz "${INSTALLDIR}/share/man/man7"
     148
     149        for page in ${MAN1} ${MAN5} ${MAN7}; do \
     150                $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 "$${page}.gz" "${INSTALLDIR}/share/man/man$$(echo $$page | sed -e 's/.*\.//')"; \
     151        done
  • trunk/base/doc/macports.conf.5

    r99275 r123002  
    1 .\" Copyright (c) 2005 Matt Anton <matt@opendarwin.org>
    2 .\" Copyright (c) 2007 Juan Manuel Palacios <jmpp@macports.org>
    3 .\" Copyright (c) 2007-2011 The MacPorts Project
    4 .\" All rights reserved.
    5 .\"
    6 .\" Redistribution and use in source and binary forms, with or without
    7 .\" modification, are permitted provided that the following conditions
    8 .\" are met:
    9 .\" 1. Redistributions of source code must retain the above copyright
    10 .\"    notice, this list of conditions and the following disclaimer.
    11 .\" 2. Redistributions in binary form must reproduce the above copyright
    12 .\"    notice, this list of conditions and the following disclaimer in the
    13 .\"    documentation and/or other materials provided with the distribution.
    14 .\"
    15 .\" THIS SOFTWARE IS PROVIDED BY Eric Melville AND CONTRIBUTORS ``AS IS'' AND
    16 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    17 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    18 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    19 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    20 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    21 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    22 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    23 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    24 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    25 .\" SUCH DAMAGE.
    26 .\"
    27 .Dd May 22, 2007
    28 .Dt MACPORTS.CONF 5 "MacPorts"
    29 .Os
    30 .Sh NAME
    31 macports.conf
    32 .Nd Configuration file of the MacPorts system
    33 .Sh DESCRIPTION
    34 .Nm macports.conf
    35 is the configuration file used to bootstrap the MacPorts system. This file is read by the
    36 .Nm port
    37 command and determines how it behaves. Lines beginning with '#' are comments, empty lines are ignored.
    38 The format is that of a simple key/value space or tab separated pair.
    39 .Pp
     1'\" t
     2.TH "MACPORTS\&.CONF" "5" "2013\-03\-10" "MacPorts 2\&.3\&.99" "MacPorts Manual"
     3.\" -----------------------------------------------------------------
     4.\" * Define some portability stuff
     5.\" -----------------------------------------------------------------
     6.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     7.\" http://bugs.debian.org/507673
     8.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
     9.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     10.ie \n(.g .ds Aq \(aq
     11.el       .ds Aq '
     12.\" -----------------------------------------------------------------
     13.\" * set default formatting
     14.\" -----------------------------------------------------------------
     15.\" disable hyphenation
     16.nh
     17.\" disable justification (adjust text to left margin only)
     18.ad l
     19.\" -----------------------------------------------------------------
     20.\" * MAIN CONTENT STARTS HERE *
     21.\" -----------------------------------------------------------------
     22.SH "NAME"
     23macports.conf \- Configuration file of the MacPorts system
     24.SH "DESCRIPTION"
     25.sp
     26\fBmacports\&.conf\fR is the configuration file used to bootstrap the MacPorts system\&. This file is read by the \fBport\fR command and determines how it behaves\&. Lines beginning with \fI#\fR are comments, empty lines are ignored\&. The format is that of a simple key/value space or tab separated pair\&.
     27.sp
    4028The file contains entries of the form:
    41 .Pp
    42 .Dl Va "<key> <value>"
    43 .Pp
    44 The value of any given key can be referred to by the '${<keyname>}' abstraction, where <keyname> expands
    45 to the key in question.
    46 .Pp
    47 .Sh KEYS
    48 The following keys are used by
    49 .Nm port
    50 itself:
    51 .Pp
    52 .Bl -tag -width lc
    53 .It Va prefix
    54 Sets the directory where ports are installed. Any path may be used but those with spaces and/or non ascii
    55 characters should be avoided, as this can break some ports. This key is often referred to as '${prefix}'.
    56 .br
    57 .Ic Default:
     29.sp
     30.if n \{\
     31.RS 4
     32.\}
     33.nf
     34<key> <value>
     35.fi
     36.if n \{\
     37.RE
     38.\}
     39.sp
     40The value of any given key can be referred to by the \fI${<keyname>}\fR abstraction, where \fI<keyname>\fR expands to the key in question\&.
     41.SH "KEYS"
     42.sp
     43The following keys are used by \fBport\fR itself:
     44.PP
     45prefix
     46.RS 4
     47Sets the directory where ports are installed\&. Any path may be used but those with spaces and/or non ascii characters should be avoided, as this can break some ports\&. This key is often referred to as
     48\fI${prefix}\fR\&.
     49.TS
     50tab(:);
     51lt lt.
     52T{
     53\fBDefault:\fR
     54T}:T{
    5855/opt/local
    59 .It Va portdbpath
    60 Directory where MacPorts keeps working data such as downloaded sources, installed ports' receipts
    61 and the main registry. The same path restrictions apply as for '${prefix}'.
    62 .br
    63 .Ic Default:
     56T}
     57.TE
     58.sp 1
     59.RE
     60.PP
     61portdbpath
     62.RS 4
     63Directory where MacPorts keeps working data such as downloaded sources, installed ports\*(Aq receipts and the main registry\&. The same path restrictions apply as for
     64\fI${prefix}\fR\&.
     65.TS
     66tab(:);
     67lt lt.
     68T{
     69\fBDefault:\fR
     70T}:T{
    6471${prefix}/var/macports
    65 .It Va portdbformat
    66 Storage type to use for the MacPorts registry. The preferred format is "sqlite", with "flat"
    67 also available as a legacy format.
    68 .br
    69 .Ic Default:
     72T}
     73.TE
     74.sp 1
     75.RE
     76.PP
     77portdbformat
     78.RS 4
     79Storage type to use for the MacPorts registry\&. The preferred format is "sqlite", with "flat" also available as a legacy format\&.
     80.TS
     81tab(:);
     82lt lt.
     83T{
     84\fBDefault:\fR
     85T}:T{
    7086sqlite
    71 .It Va applications_dir
    72 Directory containing Applications installed from ports.
    73 .br
    74 .Ic Default:
     87T}
     88.TE
     89.sp 1
     90.RE
     91.PP
     92applications_dir
     93.RS 4
     94Directory containing Applications installed from ports\&.
     95.TS
     96tab(:);
     97lt lt.
     98T{
     99\fBDefault:\fR
     100T}:T{
    75101/Applications/MacPorts
    76 .It Va frameworks_dir
    77 Directory containing Frameworks installed from ports.
    78 .br
    79 .Ic Default:
     102T}
     103.TE
     104.sp 1
     105.RE
     106.PP
     107frameworks_dir
     108.RS 4
     109Directory containing Frameworks installed from ports\&.
     110.TS
     111tab(:);
     112lt lt.
     113T{
     114\fBDefault:\fR
     115T}:T{
    80116${prefix}/Library/Frameworks
    81 .It Va sources_conf
    82 Location of the sources file. This file enables rsync synchronization of the default ports tree with the
    83 MacPorts rsync server (through the "sync" target of the
    84 .Nm port
    85 command) and any other local tree(s) you might have.
    86 .br
    87 .Ic Default:
    88 ${prefix}/etc/macports/sources.conf
    89 .It Va variants_conf
    90 Location of the optional global variants definition file, listing those that should be used in all installed
    91 ports if available.
    92 .br
    93 .Ic Default:
    94 ${prefix}/etc/macports/variants.conf
    95 .It Va buildfromsource
    96 Controls whether ports are built from source or downloaded as pre-built
    97 archives. Setting to 'always' will never use archives, 'never' will always
    98 try to use an archive and fail if one is not available. 'ifneeded' will try to
    99 fetch an archive and fall back to building from source if that isn't possible.
    100 .br
    101 .Ic Default:
     117T}
     118.TE
     119.sp 1
     120.RE
     121.PP
     122sources_conf
     123.RS 4
     124Location of the sources file\&. This file enables rsync synchronization of the default ports tree with the MacPorts rsync server (through the "sync" target of the port command) and any other local tree(s) you might have\&.
     125.TS
     126tab(:);
     127lt lt.
     128T{
     129\fBDefault:\fR
     130T}:T{
     131${prefix}/etc/macports/sources\&.conf
     132T}
     133.TE
     134.sp 1
     135.RE
     136.PP
     137variants_conf
     138.RS 4
     139Location of the optional global variants definition file, listing those that should be used in all installed ports if available\&.
     140.TS
     141tab(:);
     142lt lt.
     143T{
     144\fBDefault:\fR
     145T}:T{
     146${prefix}/etc/macports/variants\&.conf
     147T}
     148.TE
     149.sp 1
     150.RE
     151.PP
     152buildfromsource
     153.RS 4
     154Controls whether ports are built from source or downloaded as pre\-built archives\&. Setting to
     155\fIalways\fR
     156will never use archives,
     157\fInever\fR
     158will always try to use an archive and fail if one is not available\&.
     159\fIifneeded\fR
     160will try to fetch an archive and fall back to building from source if that isn\(cqt possible\&.
     161.TS
     162tab(:);
     163lt lt.
     164T{
     165\fBDefault:\fR
     166T}:T{
    102167ifneeded
    103 .It Va portarchivetype
    104 Format of archives in which to store port images. This controls both the type
    105 of archive created locally after building from source, and the type to request
    106 from remote servers. Changing this will not affect the usability of already
    107 installed archives; they can be of any supported type.
    108 .br
    109 Supported types are: tgz, tar, tbz, tbz2, tlz, txz, xar, zip, cpgz, cpio
    110 .br
    111 .Ic Default:
     168T}
     169.TE
     170.sp 1
     171.RE
     172.PP
     173portarchivetype
     174.RS 4
     175Format of archives in which to store port images\&. This controls both the type of archive cre\- ated locally after building from source, and the type to request from remote servers\&. Changing this will not affect the usability of already installed archives; they can be of any supported type\&.
     176.TS
     177tab(:);
     178lt lt
     179lt lt.
     180T{
     181\fBSupported types:\fR
     182T}:T{
     183tgz, tar, tbz, tbz2, tlz, txz, xar, zip, cpgz, cpio
     184T}
     185T{
     186\fBDefault:\fR
     187T}:T{
    112188tbz2
    113 .It Va configureccache
    114 Use ccache (C/C++ compiler cache). Requires that ccache has been installed.
    115 .br
    116 .Ic Default:
     189T}
     190.TE
     191.sp 1
     192.RE
     193.PP
     194configureccache
     195.RS 4
     196Use ccache (C/C++ compiler cache)\&. Requires that ccache has been installed\&.
     197.TS
     198tab(:);
     199lt lt.
     200T{
     201\fBDefault:\fR
     202T}:T{
    117203no
    118 .It Va ccache_dir
     204T}
     205.TE
     206.sp 1
     207.RE
     208.PP
     209ccache_dir
     210.RS 4
    119211Location where ccache stores its files
    120 .br
    121 .Ic Default:
    122 ${portdbpath}/build/.ccache
    123 .It Va ccache_size
    124 Maximum size ccache may use.
    125 .br
    126 Use 'G', 'M', or 'K' suffix for giga-, mega- or kilobytes.
    127 .br
    128 .Ic Default:
     212.TS
     213tab(:);
     214lt lt.
     215T{
     216\fBDefault:\fR
     217T}:T{
     218${portdbpath}/build/\&.ccache
     219T}
     220.TE
     221.sp 1
     222.RE
     223.PP
     224ccache_size
     225.RS 4
     226Maximum size ccache may use\&. Use
     227\fIG\fR,
     228\fIM\fR, or
     229\fIK\fR
     230suffix for giga\-, mega\- or kilobytes\&.
     231.TS
     232tab(:);
     233lt lt.
     234T{
     235\fBDefault:\fR
     236T}:T{
    1292372G
    130 .It Va configuredistcc
    131 Use distcc (distributed compiler). Requires that distcc has been installed.
    132 .br
    133 .Ic Default:
     238T}
     239.TE
     240.sp 1
     241.RE
     242.PP
     243configuredistcc
     244.RS 4
     245Use distcc (distributed compiler)\&. Requires that distcc has been installed\&.
     246.TS
     247tab(:);
     248lt lt.
     249T{
     250\fBDefault:\fR
     251T}:T{
    134252no
    135 .It Va configurepipe
    136 Use pipes rather than intermediate files when compiling C/C++/etc (gcc -pipe)
    137 .br
    138 .Ic Default:
     253T}
     254.TE
     255.sp 1
     256.RE
     257.PP
     258configurepipe
     259.RS 4
     260Use pipes rather than intermediate files when compiling C/C++/etc (gcc \-pipe)
     261.TS
     262tab(:);
     263lt lt.
     264T{
     265\fBDefault:\fR
     266T}:T{
    139267yes
    140 .It Va buildnicevalue
    141 Lowered scheduling priority (0-20) to use for make when building ports
    142 .br
    143 .Ic Default:
     268T}
     269.TE
     270.sp 1
     271.RE
     272.PP
     273buildnicevalue
     274.RS 4
     275Lowered scheduling priority (0\-20) to use for make when building ports
     276.TS
     277tab(:);
     278lt lt.
     279T{
     280\fBDefault:\fR
     281T}:T{
    1442820
    145 .It Va buildmakejobs
    146 Number of simultaneous make jobs (commands) to use when building ports. 0 is a
    147 special value meaning "the number of CPU cores or the number of GB
    148 of physical memory plus one, whichever is less."
    149 .br
    150 .Ic Default:
     283T}
     284.TE
     285.sp 1
     286.RE
     287.PP
     288buildmakejobs
     289.RS 4
     290Number of simultaneous make jobs (commands) to use when building ports\&. 0 is a special value meaning "the number of CPU cores or the number of GB of physical memory plus one, whichever is less\&."
     291.TS
     292tab(:);
     293lt lt.
     294T{
     295\fBDefault:\fR
     296T}:T{
    1512970
    152 .It Va portautoclean
    153 Automatic cleaning of the build directory of a given port after it has been installed.
    154 .br
    155 .Ic Default:
     298T}
     299.TE
     300.sp 1
     301.RE
     302.PP
     303portautoclean
     304.RS 4
     305Automatic cleaning of the build directory of a given port after it has been installed\&.
     306.TS
     307tab(:);
     308lt lt.
     309T{
     310\fBDefault:\fR
     311T}:T{
    156312yes
    157 .It Va keeplogs
    158 Keep logs for ports
    159 .br
    160 .Ic Default:
     313T}
     314.TE
     315.sp 1
     316.RE
     317.PP
     318keeplogs
     319.RS 4
     320Keep logs for ports\&.
     321.TS
     322tab(:);
     323lt lt.
     324T{
     325\fBDefault:\fR
     326T}:T{
    161327no
    162 .It Va build_arch
    163 The machine architecture to try to build for in normal use
    164 .br
    165 Regular architectures include: ppc, i386, ppc64, x86_64
    166 .br
    167 .Ic Default (10.6):
     328T}
     329.TE
     330.sp 1
     331.RE
     332.PP
     333build_arch
     334.RS 4
     335The machine architecture to try to build for in normal use\&.
     336.TS
     337tab(:);
     338lt lt
     339lt lt
     340lt lt.
     341T{
     342\fBRegular architectures include:\fR
     343T}:T{
     344ppc, i386, ppc64, x86_64
     345T}
     346T{
     347\fBDefault (10\&.6):\fR
     348T}:T{
    168349x86_64 or i386 depending on hardware
    169 .br
    170 .Ic Default (10.5 and earlier):
     350T}
     351T{
     352\fBDefault (10\&.5 and earlier):\fR
     353T}:T{
    171354i386 or ppc depending on hardware
    172 .It Va universal_archs
    173 The machine architectures to use for +universal variant
    174 (multiple architecture entries should be space separated)
    175 .br
    176 Regular architectures include: ppc, i386, ppc64, x86_64
    177 .br
    178 .Ic Default (10.6):
     355T}
     356.TE
     357.sp 1
     358.RE
     359.PP
     360universal_archs
     361.RS 4
     362The machine architectures to use for +universal variant (multiple architecture entries should be space separated)\&.
     363.TS
     364tab(:);
     365lt lt
     366lt lt
     367lt lt.
     368T{
     369\fBRegular architectures include:\fR
     370T}:T{
     371ppc, i386, ppc64, x86_64
     372T}
     373T{
     374\fBDefault (10\&.6):\fR
     375T}:T{
    179376x86_64 i386
    180 .br
    181 .Ic Default (10.5 and earlier):
     377T}
     378T{
     379\fBDefault (10\&.5 and earlier):\fR
     380T}:T{
    182381i386 ppc
    183 .It Va startupitem_type
    184 Set the default type of startupitems to be generated, overridable by Portfiles that explicitly state a
    185 startupitem.type key. If set to "default", then a type will be selected that's appropriate to the OS.
    186 Supported types are: none, SystemStarter, launchd, default, rcNG.
    187 .br
    188 .Ic Default:
     382T}
     383.TE
     384.sp 1
     385.RE
     386.PP
     387startupitem_type
     388.RS 4
     389Set the default type of startupitems to be generated, overridable by Portfiles that explicitly state a startupitem\&.type key\&. If set to "default", then a type will be selected that\(cqs appropriate to the OS\&.
     390.TS
     391tab(:);
     392lt lt
     393lt lt.
     394T{
     395\fBSupported types:\fR
     396T}:T{
     397none, SystemStarter, launchd, default, rcNG\&.
     398T}
     399T{
     400\fBDefault:\fR
     401T}:T{
    189402default
    190 .It Va startupitem_install
    191 Option to install symlinks into /Library/LaunchAgents or
    192 /Library/LaunchDaemons; startupitem_install may be empty, "yes" or "no";
    193 if the option is NOT "no" then a symlink for the startupitem will be
    194 created in the appropriate system directory.
    195 .br
    196 .Ic Default:
     403T}
     404.TE
     405.sp 1
     406.RE
     407.PP
     408destroot_umask
     409.RS 4
     410Umask value to use during the destrooting of a port\&.
     411.TS
     412tab(:);
     413lt lt.
     414T{
     415\fBDefault:\fR
     416T}:T{
     417022
     418T}
     419.TE
     420.sp 1
     421.RE
     422.PP
     423rsync_server
     424.RS 4
     425Default rsync server to connect to when running "selfupdate" through the port com\- mand to update your base MacPorts infrastructure\&. While selfupdate also syncs the ports tree, it uses the settings from ${sources_conf} to do so\&.
     426.TS
     427tab(:);
     428lt lt.
     429T{
     430\fBDefault:\fR
     431T}:T{
     432rsync\&.macports\&.org
     433T}
     434.TE
     435.sp 1
     436.RE
     437.PP
     438rsync_dir
     439.RS 4
     440Rsync directory from which to pull MacPorts sources from the rsync server\&.
     441.TS
     442tab(:);
     443lt lt.
     444T{
     445\fBDefault:\fR
     446T}:T{
     447release/base/ (which pulls sources for the currently shipping MacPorts release)
     448T}
     449.TE
     450.sp 1
     451.RE
     452.PP
     453rsync_options
     454.RS 4
     455Default rsync options to use when connecting to the rsync server\&.
     456.TS
     457tab(:);
     458lt lt.
     459T{
     460\fBDefault:\fR
     461T}:T{
     462\-rtzv \-\-delete\-after
     463T}
     464.TE
     465.sp 1
     466.RE
     467.PP
     468binpath
     469.RS 4
     470Sets the directory search path for locating system executables used by MacPorts\&. This variable should contain the paths for locating utilities such as rsync, tar, cvs and others\&. Don\(cqt change this unless you understand and accept the consequences\&.
     471.TS
     472tab(:);
     473lt lt.
     474T{
     475\fBDefault:\fR
     476T}:T{
     477${prefix}/bin:${prefix}/sbin:/bin:/sbin:/usr/bin:/usr/sbin
     478T}
     479.TE
     480.sp 1
     481.RE
     482.PP
     483extra_env
     484.RS 4
     485List of extra environment variables MacPorts should keep in the user\(cqs environment when sanitizing it\&. Changing this is unsupported\&.
     486.RE
     487.PP
     488proxy_override_env
     489.RS 4
     490Proxy support\&. Precedence is: env, macports\&.conf, System Preferences\&. That is, if it\(cqs set in the environment, that will be used instead of anything here or in System Preferences\&. Setting proxy_override_env to yes will cause any proxies set here (or in System Preferences if set there but not here) to override what\(cqs in the environment\&. Note that System Preferences doesn\(cqt have an rsync proxy definition\&. Also note, on 10\&.5, sudo will clear many environment variables including those for proxy support\&. Equivalent environment variables: http_proxy, HTTPS_PROXY, FTP_PROXY, RSYNC_PROXY, NO_PROXY
     491.TS
     492tab(:);
     493lt lt.
     494T{
     495\fBDefault:\fR
     496T}:T{
    197497yes
    198 .It Va destroot_umask
    199 Umask value to use during the destrooting of a port.
    200 .br
    201 .Ic Default:
    202 022
    203 .It Va rsync_server
    204 Default rsync server to connect to when running "selfupdate" through the
    205 .Nm port
    206 command to update your base MacPorts infrastructure. While selfupdate also
    207 syncs the ports tree, it uses the settings from ${sources_conf} to do so.
    208 .br
    209 .Ic Default:
    210 rsync.macports.org
    211 .It Va rsync_dir
    212 Rsync directory from which to pull MacPorts sources from the rsync server.
    213 .br
    214 .Ic Default:
    215 release/base/ (which pulls sources for the currently shipping MacPorts release)
    216 .It Va rsync_options
    217 Default rsync options to use when connecting to the rsync server.
    218 .br
    219 .Ic Default:
    220 -rtzv --delete-after
    221 .It Va binpath
    222 Sets the directory search path for locating system executables used by MacPorts. This variable should contain
    223 the paths for locating utilities such as rsync, tar, cvs and others. Changing this is unsupported; don't do so
    224 unless you understand and accept the consequences.
    225 .br
    226 .Ic Default:
    227 ${prefix}/bin:${prefix}/sbin:/bin:/sbin:/usr/bin:/usr/sbin
    228 .It Va extra_env
    229 List of extra environment variables MacPorts should keep in the user's environment when sanitizing it.
    230 Changing this is unsupported.
    231 .It Va proxy_override_env
    232 Proxy support. Precedence is: env, macports.conf, System Preferences.
    233 That is, if it's set in the environment, that will be used instead of
    234 anything here or in System Preferences. Setting proxy_override_env to
    235 yes will cause any proxies set here (or in System Preferences if set
    236 there but not here) to override what's in the environment. Note that
    237 System Preferences doesn't have an rsync proxy definition. Also note, on
    238 10.5, sudo will clear many environment variables including those for
    239 proxy support. Equivalent environment variables: http_proxy,
    240 HTTPS_PROXY, FTP_PROXY, RSYNC_PROXY, NO_PROXY
    241 .br
    242 .Ic Default:
     498T}
     499.TE
     500.sp 1
     501.RE
     502.PP
     503proxy_http
     504.RS 4
     505HTTP proxy
     506.TS
     507tab(:);
     508lt lt.
     509T{
     510\fBDefault:\fR
     511T}:T{
     512none
     513T}
     514.TE
     515.sp 1
     516.RE
     517.PP
     518proxy_https
     519.RS 4
     520HTTPS proxy
     521.TS
     522tab(:);
     523lt lt.
     524T{
     525\fBDefault:\fR
     526T}:T{
     527none
     528T}
     529.TE
     530.sp 1
     531.RE
     532.PP
     533proxy_ftp
     534.RS 4
     535FTP proxy
     536.TS
     537tab(:);
     538lt lt.
     539T{
     540\fBDefault:\fR
     541T}:T{
     542none
     543T}
     544.TE
     545.sp 1
     546.RE
     547.PP
     548proxy_rsync
     549.RS 4
     550rsync proxy
     551.TS
     552tab(:);
     553lt lt.
     554T{
     555\fBDefault:\fR
     556T}:T{
     557none
     558T}
     559.TE
     560.sp 1
     561.RE
     562.PP
     563proxy_skip
     564.RS 4
     565Hosts not to go through the proxy (comma\-separated, applies to HTTP, HTTPS and FTP, but not rsync)\&.
     566.TS
     567tab(:);
     568lt lt.
     569T{
     570\fBDefault:\fR
     571T}:T{
     572none
     573T}
     574.TE
     575.sp 1
     576.RE
     577.PP
     578host_blacklist
     579.RS 4
     580Space separated list of download hosts that should not be used\&.
     581.TS
     582tab(:);
     583lt lt.
     584T{
     585\fBDefault:\fR
     586T}:T{
     587none
     588T}
     589.TE
     590.sp 1
     591.RE
     592.PP
     593preferred_hosts
     594.RS 4
     595Space separated list of download hosts that should be used preferentially\&.
     596.TS
     597tab(:);
     598lt lt.
     599T{
     600\fBDefault:\fR
     601T}:T{
     602none
     603T}
     604.TE
     605.sp 1
     606.RE
     607.PP
     608revupgrade_autorun
     609.RS 4
     610Controls whether the rev\-upgrade action will be run automatically after upgrading ports\&.
     611.TS
     612tab(:);
     613lt lt.
     614T{
     615\fBDefault:\fR
     616T}:T{
    243617yes
    244 .It Va proxy_http
    245 HTTP proxy
    246 .br
    247 .Ic Default:
    248 none
    249 .It Va proxy_https
    250 HTTPS proxy
    251 .br
    252 .Ic Default:
    253 none
    254 .It Va proxy_ftp
    255 FTP proxy
    256 .br
    257 .Ic Default:
    258 none
    259 .It Va proxy_rsync
    260 rsync proxy
    261 .br
    262 .Ic Default:
    263 none
    264 .It Va proxy_skip
    265 Hosts not to go through the proxy (comma-separated, applies to HTTP,
    266 HTTPS and FTP, but not rsync):
    267 .br
    268 .Ic Default:
    269 none
    270 .It Va host_blacklist
    271 Space separated list of download hosts that should not be used.
    272 .br
    273 .Ic Default:
    274 none
    275 .It Va preferred_hosts
    276 Space separated list of download hosts that should be used preferentially.
    277 .br
    278 .Ic Default:
    279 none
    280 .It Va revupgrade_autorun
    281 Controls whether the rev-upgrade action will be run automatically after
    282 upgrading ports.
    283 .br
    284 .Ic Default:
    285 yes
    286 .It Va revupgrade_mode
    287 Controls the rev-upgrade functionality which checks for broken linking and can
    288 rebuild ports to fix it. 'rebuild' means ports will automatically be rebuilt
    289 when broken linking is detected in their files, while 'report' means broken
    290 files will be scanned for and reported but the ports will not be rebuilt.
    291 .br
    292 .Ic Default:
     618T}
     619.TE
     620.sp 1
     621.RE
     622.PP
     623revupgrade_mode
     624.RS 4
     625Controls the rev\-upgrade functionality which checks for broken linking and can rebuild ports to fix it\&.
     626\fIrebuild\fR
     627means ports will automatically be rebuilt when broken linking is detected in their files, while
     628\fIreport\fR
     629means broken files will be scanned for and reported but the ports will not be rebuilt\&.
     630.TS
     631tab(:);
     632lt lt.
     633T{
     634\fBDefault:\fR
     635T}:T{
    293636rebuild
    294 .It Va default_compiler
    295 Default value for configure.compiler. This can be a space-separated list. Later
    296 entries will be used if earlier entries are unavailable or blacklisted by a
    297 port. Setting this is unsupported.
    298 .br
    299 .Ic Default:
     637T}
     638.TE
     639.sp 1
     640.RE
     641.PP
     642default_compiler
     643.RS 4
     644Default value for configure\&.compiler\&. This can be a space\-separated list\&. Later entries will be used if earlier entries are unavailable or blacklisted by a port\&. Setting this is unsupported\&.
     645.TS
     646tab(:);
     647lt lt.
     648T{
     649\fBDefault:\fR
     650T}:T{
    300651none (internal list based on Xcode version is normally used)
    301 .El
    302 .Sh FILES
    303 .Bl -tag -width
    304 .It Va ${prefix}/etc/macports/macports.conf
    305 Standard system-wide MacPorts configuration file.
    306 .It Va ~/.macports/macports.conf
    307 User-specific configuration override. This file, if found, will be used instead of the default file at
    308 ${prefix}/etc/macports/macports.conf.
    309 .El
    310 .Sh SEE ALSO
    311 .Xr port 1 ,
    312 .Xr portfile 7 ,
    313 .Xr portgroup 7 ,
    314 .Xr portstyle 7
    315 .Xr porthier 7 ,
    316 .Sh AUTHORS
    317 .An "Juan Manuel Palacios" Aq jmpp@macports.org
    318 .An "Matt Anton" Aq matt@opendarwin.org
     652T}
     653.TE
     654.sp 1
     655.RE
     656.SH "FILES"
     657.PP
     658${prefix}/etc/macports/macports\&.conf
     659.RS 4
     660Standard system\-wide MacPorts configuration file\&.
     661.RE
     662.PP
     663~/\&.macports/macports\&.conf
     664.RS 4
     665User\-specific configuration override\&. This file, if found, will be used instead of the default file at ${prefix}/etc/macports/macports\&.conf\&.
     666.RE
     667.SH "SEE ALSO"
     668.sp
     669\fBport\fR(1), \fBportfile\fR(7)
     670.SH "AUTHORS"
     671.sp
     672.if n \{\
     673.RS 4
     674.\}
     675.nf
     676(C) 2007\-2011 The MacPorts Project
     677Juan Manuel Palacios <jmpp@macports\&.org>
     678Matt Anton <matt@opendarwin\&.org>
     679Rainer Mueller <raimue@macports\&.org>
     680.fi
     681.if n \{\
     682.RE
     683.\}
  • trunk/base/doc/port.1

    r118039 r123002  
    1 .\" port.1
    2 .\"
    3 .\" Copyright (c) 2004-2011 The MacPorts Project
    4 .\" Copyright (c) 2002-2003 Apple Inc.
    5 .\" All rights reserved.
    6 .\"
    7 .\" Redistribution and use in source and binary forms, with or without
    8 .\" modification, are permitted provided that the following conditions
    9 .\" are met:
    10 .\" 1. Redistributions of source code must retain the above copyright
    11 .\"    notice, this list of conditions and the following disclaimer.
    12 .\" 2. Redistributions in binary form must reproduce the above copyright
    13 .\"    notice, this list of conditions and the following disclaimer in the
    14 .\"    documentation and/or other materials provided with the distribution.
    15 .\" 3. Neither the name of Apple Inc. nor the names of its
    16 .\"    contributors may be used to endorse or promote products derived from
    17 .\"    this software without specific prior written permission.
    18 .\"
    19 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    20 .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    22 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    23 .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    24 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    25 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    26 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    27 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    28 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    29 .\" POSSIBILITY OF SUCH DAMAGE.
    30 .\"
    31 .Dd April 29, 2007
    32 .Dt PORT 1 "MacPorts"
    33 .Os
    34 .Sh NAME
    35 .Nm port
    36 .Nd operate on individual or multiple Mac
    37 .Ar ports
    38 .Sh SYNOPSIS
    39 .Nm
    40 .Op Fl bcdfknopqRstuvy
    41 .Op Fl D Ar portdir
    42 .Op Fl F Ar cmdfile
    43 .Op Ar action
    44 .Op Ar actionflags
    45 .Op Oo Ar portname | pseudo-portname | port-url Oc
    46 .Op Oo Ar @version Oc Oo +/-variant ... Oc ... Oo option=value ... Oc
    47 .Sh DESCRIPTION
    48 .Nm
    49 is designed to operate on individual or multiple Mac
    50 .Ar ports ,
    51 optionally within a single call, based on the requested
    52 .Ar action .
    53 If no
    54 .Ar portdir
     1'\" t
     2.TH "PORT" "1" "2014\-08\-03" "MacPorts 2\&.3\&.99" "MacPorts Manual"
     3.\" -----------------------------------------------------------------
     4.\" * Define some portability stuff
     5.\" -----------------------------------------------------------------
     6.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     7.\" http://bugs.debian.org/507673
     8.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
     9.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     10.ie \n(.g .ds Aq \(aq
     11.el       .ds Aq '
     12.\" -----------------------------------------------------------------
     13.\" * set default formatting
     14.\" -----------------------------------------------------------------
     15.\" disable hyphenation
     16.nh
     17.\" disable justification (adjust text to left margin only)
     18.ad l
     19.\" -----------------------------------------------------------------
     20.\" * MAIN CONTENT STARTS HERE *
     21.\" -----------------------------------------------------------------
     22.SH "NAME"
     23port \- Command line interface for MacPorts
     24.SH "SYNOPSIS"
     25.sp
     26.nf
     27\fBport\fR [\fB\-bcdfknopqRstuvy\fR] [\fB\-D\fR \fIportdir\fR] [\fB\-F\fR \fIcmdfile\fR] [\fIaction\fR] [\fIactionflags\fR]
     28     [[\fIportname\fR | \fIpseudo\-portname\fR | \fIport\-expressions\fR | \fIport\-url\fR]]
     29     [[\fI@version\fR] [+/\-variant \&...] \&... [option=value \&...]]
     30.fi
     31.SH "DESCRIPTION"
     32.sp
     33\fBport\fR is designed to operate on individual or multiple \fIports\fR, optionally within a single call, based on the requested \fIaction\fR\&. If no \fIaction\fR is specified the port command enters interactive mode, in which commands are read via stdin\&. If no \fIportdir\fR or \fIportname\fR is specified for an \fIaction\fR, the current working directory is assumed\&. Batch commands may be passed via a \fIcmdfile\fR\&. Port \fIoptions\fR are passed as key=value pairs and take precedence over individual \fIportname\fR options as specified in its Portfile and system\-wide settings\&.
     34.sp
     35Port \fIvariants\fR can be specified as \fI+name\fR, which indicates the variant is desired, or \fI\-name\fR, indicating the contrary\&. In case of ambiguities, a port can be fully specified with the \fI@version_revision+variants\fR format\&.
     36.sp
     37Installed ports can be activated or deactivated without being uninstalled\&. A port can be installed in multiple versions and variant combinations, but only one of them can be \fIactive\fR\&. See \fBportarchives\fR(7)\&.
     38.sp
     39When passing \fIportnames\fR to an \fIaction\fR, \fBport\fR recognizes various \fIpseudo\-portnames\fR that will expand to the specified set of ports from the available port tree(s)\&. These may be used in the same way as a \fIportname\fR\&.
     40.PP
     41\fBThe \fR\fB\fIpseudo\-portnames\fR\fR\fB are:\fR
     42.sp
     43.RS 4
     44.ie n \{\
     45\h'-04'\(bu\h'+03'\c
     46.\}
     47.el \{\
     48.sp -1
     49.IP \(bu 2.3
     50.\}
     51\fIall\fR: all the ports in each ports tree listed in
     52\fIsources\&.conf\fR
     53.RE
     54.sp
     55.RS 4
     56.ie n \{\
     57\h'-04'\(bu\h'+03'\c
     58.\}
     59.el \{\
     60.sp -1
     61.IP \(bu 2.3
     62.\}
     63\fIcurrent\fR: the port in the current working directory
     64.RE
     65.sp
     66.RS 4
     67.ie n \{\
     68\h'-04'\(bu\h'+03'\c
     69.\}
     70.el \{\
     71.sp -1
     72.IP \(bu 2.3
     73.\}
     74\fIactive\fR: set of installed and active ports
     75.RE
     76.sp
     77.RS 4
     78.ie n \{\
     79\h'-04'\(bu\h'+03'\c
     80.\}
     81.el \{\
     82.sp -1
     83.IP \(bu 2.3
     84.\}
     85\fIinactive\fR: set of installed but inactive ports
     86.RE
     87.sp
     88.RS 4
     89.ie n \{\
     90\h'-04'\(bu\h'+03'\c
     91.\}
     92.el \{\
     93.sp -1
     94.IP \(bu 2.3
     95.\}
     96\fIinstalled\fR: set of all installed ports
     97.RE
     98.sp
     99.RS 4
     100.ie n \{\
     101\h'-04'\(bu\h'+03'\c
     102.\}
     103.el \{\
     104.sp -1
     105.IP \(bu 2.3
     106.\}
     107\fIuninstalled\fR: ports in the ports tree(s) that are not installed
     108.RE
     109.sp
     110.RS 4
     111.ie n \{\
     112\h'-04'\(bu\h'+03'\c
     113.\}
     114.el \{\
     115.sp -1
     116.IP \(bu 2.3
     117.\}
     118\fIoutdated\fR: installed ports that are out of date with respect to their current version/revision in the ports tree(s)
     119.RE
     120.sp
     121.RS 4
     122.ie n \{\
     123\h'-04'\(bu\h'+03'\c
     124.\}
     125.el \{\
     126.sp -1
     127.IP \(bu 2.3
     128.\}
     129\fIobsolete\fR: set of ports that are installed but no longer exist in any port tree
     130.RE
     131.sp
     132.RS 4
     133.ie n \{\
     134\h'-04'\(bu\h'+03'\c
     135.\}
     136.el \{\
     137.sp -1
     138.IP \(bu 2.3
     139.\}
     140\fIrequested\fR: installed ports that were explicitly asked for
     141.RE
     142.sp
     143.RS 4
     144.ie n \{\
     145\h'-04'\(bu\h'+03'\c
     146.\}
     147.el \{\
     148.sp -1
     149.IP \(bu 2.3
     150.\}
     151\fIunrequested\fR: installed ports that were installed only to satisfy dependencies
     152.RE
     153.sp
     154.RS 4
     155.ie n \{\
     156\h'-04'\(bu\h'+03'\c
     157.\}
     158.el \{\
     159.sp -1
     160.IP \(bu 2.3
     161.\}
     162\fIleaves\fR: installed ports that are unrequested and have no dependents
     163.RE
     164.sp
     165Sets of ports can also be specified with \fIpseudo\-portname selectors\fR, which expand to the ports in which the value of the \fIPortfile\fR option corresponding to the selector\(cqs name (in either singular or plural form where applicable) matches the given regular expression\&. Usage is: selector:regex
     166.PP
     167\fBThe \fR\fB\fIpseudo\-portname selectors\fR\fR\fB are:\fR
     168.sp
     169.RS 4
     170.ie n \{\
     171\h'-04'\(bu\h'+03'\c
     172.\}
     173.el \{\
     174.sp -1
     175.IP \(bu 2.3
     176.\}
     177\fIname\fR
     178.RE
     179.sp
     180.RS 4
     181.ie n \{\
     182\h'-04'\(bu\h'+03'\c
     183.\}
     184.el \{\
     185.sp -1
     186.IP \(bu 2.3
     187.\}
     188\fIversion\fR
     189.RE
     190.sp
     191.RS 4
     192.ie n \{\
     193\h'-04'\(bu\h'+03'\c
     194.\}
     195.el \{\
     196.sp -1
     197.IP \(bu 2.3
     198.\}
     199\fIrevision\fR
     200.RE
     201.sp
     202.RS 4
     203.ie n \{\
     204\h'-04'\(bu\h'+03'\c
     205.\}
     206.el \{\
     207.sp -1
     208.IP \(bu 2.3
     209.\}
     210\fIepoch\fR
     211.RE
     212.sp
     213.RS 4
     214.ie n \{\
     215\h'-04'\(bu\h'+03'\c
     216.\}
     217.el \{\
     218.sp -1
     219.IP \(bu 2.3
     220.\}
     221\fIvariant\fR
     222.RE
     223.sp
     224.RS 4
     225.ie n \{\
     226\h'-04'\(bu\h'+03'\c
     227.\}
     228.el \{\
     229.sp -1
     230.IP \(bu 2.3
     231.\}
     232\fIvariants\fR
     233.RE
     234.sp
     235.RS 4
     236.ie n \{\
     237\h'-04'\(bu\h'+03'\c
     238.\}
     239.el \{\
     240.sp -1
     241.IP \(bu 2.3
     242.\}
     243\fIcategory\fR
     244.RE
     245.sp
     246.RS 4
     247.ie n \{\
     248\h'-04'\(bu\h'+03'\c
     249.\}
     250.el \{\
     251.sp -1
     252.IP \(bu 2.3
     253.\}
     254\fIcategories\fR
     255.RE
     256.sp
     257.RS 4
     258.ie n \{\
     259\h'-04'\(bu\h'+03'\c
     260.\}
     261.el \{\
     262.sp -1
     263.IP \(bu 2.3
     264.\}
     265\fImaintainer\fR
     266.RE
     267.sp
     268.RS 4
     269.ie n \{\
     270\h'-04'\(bu\h'+03'\c
     271.\}
     272.el \{\
     273.sp -1
     274.IP \(bu 2.3
     275.\}
     276\fImaintainers\fR
     277.RE
     278.sp
     279.RS 4
     280.ie n \{\
     281\h'-04'\(bu\h'+03'\c
     282.\}
     283.el \{\
     284.sp -1
     285.IP \(bu 2.3
     286.\}
     287\fIplatform\fR
     288.RE
     289.sp
     290.RS 4
     291.ie n \{\
     292\h'-04'\(bu\h'+03'\c
     293.\}
     294.el \{\
     295.sp -1
     296.IP \(bu 2.3
     297.\}
     298\fIplatforms\fR
     299.RE
     300.sp
     301.RS 4
     302.ie n \{\
     303\h'-04'\(bu\h'+03'\c
     304.\}
     305.el \{\
     306.sp -1
     307.IP \(bu 2.3
     308.\}
     309\fIdescription\fR
     310.RE
     311.sp
     312.RS 4
     313.ie n \{\
     314\h'-04'\(bu\h'+03'\c
     315.\}
     316.el \{\
     317.sp -1
     318.IP \(bu 2.3
     319.\}
     320\fIlong_description\fR
     321.RE
     322.sp
     323.RS 4
     324.ie n \{\
     325\h'-04'\(bu\h'+03'\c
     326.\}
     327.el \{\
     328.sp -1
     329.IP \(bu 2.3
     330.\}
     331\fIhomepage\fR
     332.RE
     333.sp
     334.RS 4
     335.ie n \{\
     336\h'-04'\(bu\h'+03'\c
     337.\}
     338.el \{\
     339.sp -1
     340.IP \(bu 2.3
     341.\}
     342\fIlicense\fR
     343.RE
     344.sp
     345.RS 4
     346.ie n \{\
     347\h'-04'\(bu\h'+03'\c
     348.\}
     349.el \{\
     350.sp -1
     351.IP \(bu 2.3
     352.\}
     353\fIportdir\fR
     354.RE
     355.sp
     356Other pseudo\-portname selectors match ports which have a particular relationship to another port\&. These will match ports that are direct or recursive dependencies or dependents of the given portname:
     357.sp
     358.RS 4
     359.ie n \{\
     360\h'-04'\(bu\h'+03'\c
     361.\}
     362.el \{\
     363.sp -1
     364.IP \(bu 2.3
     365.\}
     366\fIdepof\fR
     367.RE
     368.sp
     369.RS 4
     370.ie n \{\
     371\h'-04'\(bu\h'+03'\c
     372.\}
     373.el \{\
     374.sp -1
     375.IP \(bu 2.3
     376.\}
     377\fIrdepof\fR
     378.RE
     379.sp
     380.RS 4
     381.ie n \{\
     382\h'-04'\(bu\h'+03'\c
     383.\}
     384.el \{\
     385.sp -1
     386.IP \(bu 2.3
     387.\}
     388\fIdependentof\fR
     389.RE
     390.sp
     391.RS 4
     392.ie n \{\
     393\h'-04'\(bu\h'+03'\c
     394.\}
     395.el \{\
     396.sp -1
     397.IP \(bu 2.3
     398.\}
     399\fIrdependentof\fR
     400.RE
     401.sp
     402Search strings that will expand to a set of matching ports can be constructed based on the "\fIpseudo\-portname selector\fR":regex combination used\&. \fIportnames\fR containing valid UNIX glob patterns will also expand to the set of matching ports\&. Any action passed to port will be invoked on each of them\&.
     403.sp
     404For example:
     405.sp
     406.if n \{\
     407.RS 4
     408.\}
     409.nf
     410port info variant:no_ssl
     411port uninstall name:sql
     412port echo depof:mysql5
     413port echo \*(Aqapache*\*(Aq
     414.fi
     415.if n \{\
     416.RE
     417.\}
     418.sp
     419Logical operators "and", "or", "not", "!", "(" and ")" may be used to combine individual \fIportnames\fR, port glob patterns and/or \fIpseudo\-portnames\fR to construct complex \fIport\-expressions\fR that expand to the set of matching ports\&.
     420.sp
     421For example:
     422.sp
     423.if n \{\
     424.RS 4
     425.\}
     426.nf
     427port upgrade outdated and \*(Aqpy27\-*\*(Aq
     428port echo maintainer:jberry and uninstalled and \e( category:java and not commons* \e)
     429.fi
     430.if n \{\
     431.RE
     432.\}
     433.if n \{\
     434.sp
     435.\}
     436.RS 4
     437.it 1 an-trap
     438.nr an-no-space-flag 1
     439.nr an-break-flag 1
     440.br
     441.ps +1
     442\fBNote\fR
     443.ps -1
     444.br
     445.sp
     446Special shell characters like *, \e( or \e) need to be escaped in order to be passed correctly to \fBport\fR\&.
     447.sp .5v
     448.RE
     449.SH "GLOBAL OPTIONS"
     450.sp
     451The port command recognizes several global flags and options\&.
     452.PP
     453\fBOutput control\fR
     454.PP
     455\-v
     456.RS 4
     457Verbose mode, generates verbose messages
     458.RE
     459.PP
     460\-d
     461.RS 4
     462Debug mode, generate debugging messages, implies \-v
     463.RE
     464.PP
     465\-q
     466.RS 4
     467Quiet mode, suppress informational messages to a minimum
     468.RE
     469.PP
     470\fBInstallation and upgrade\fR
     471.PP
     472\-n
     473.RS 4
     474Don\(cqt follow dependencies in upgrade (affects
     475\fIupgrade\fR
     476and
     477\fIinstall\fR)
     478.RE
     479.PP
     480\-R
     481.RS 4
     482Also upgrade dependents (only for
     483\fIupgrade\fR)
     484.RE
     485.PP
     486\-u
     487.RS 4
     488Uninstall inactive ports when upgrading and uninstalling
     489.RE
     490.PP
     491\-y
     492.RS 4
     493Perform a dry run\&. All of the steps to build the ports and their dependencies are computed, but not actually performed\&. With the verbose flag, every step is reported; otherwise there is just one message per port, which allows you to easily determine the recursive deps of a port (and the order in which they will be built)\&.
     494.RE
     495.PP
     496\fBSources\fR
     497.PP
     498\-s
     499.RS 4
     500Source\-only mode, build and install from source; do not attempt to fetch binary archives\&.
     501.RE
     502.PP
     503\-b
     504.RS 4
     505Binary\-only mode, build and install from binary archives, ignore source, abort if no archive available\&.
     506.RE
     507.PP
     508\fBCleaning\fR
     509.PP
     510\-c
     511.RS 4
     512Autoclean mode, execute clean after
     513\fIinstall\fR
     514.RE
     515.PP
     516\-k
     517.RS 4
     518Keep mode, do not autoclean after
     519\fIinstall\fR
     520.RE
     521.PP
     522\fBExit status\fR
     523.PP
     524\-p
     525.RS 4
     526Despite any errors encountered, proceed to process multiple ports and commands\&.
     527.RE
     528.PP
     529\fBDevelopment\fR
     530.PP
     531\-o
     532.RS 4
     533Honor state files even if the Portfile was modified\&. This flag is called \-o because it used to mean "older"\&.
     534.RE
     535.PP
     536\-t
     537.RS 4
     538Enable trace mode debug facilities on platforms that support it, currently only Mac OS X\&.
     539
     540This feature is two\-folded\&. It consists in automatically detecting and reporting undeclared dependencies based on what files the port reads or what programs the port executes\&. In verbose mode, it will also report unused dependencies for each stage of the port installation\&. It also consists in forbidding and reporting file creation and file writes outside allowed directories (temporary directories and ${workpath})\&.
     541.RE
     542.PP
     543\fBMisc\fR
     544.PP
     545\-f
     546.RS 4
     547Force mode, ignore state file
     548.RE
     549.PP
     550\-D \fIportdir\fR
     551.RS 4
     552Specfiy
     553\fIportdir\fR
     554.RE
     555.PP
     556\-F \fIcmdfile\fR
     557.RS 4
     558Read and process the
     559\fIfile\fR
     560of commands specified by the argument\&. If the argument is
     561\fI\-\fR, then read commands from stdin\&. If the option is given multiple times, then multiple files will be read\&.
     562.RE
     563.SH "USER TARGETS"
     564.sp
     565Targets most commonly used by regular MacPorts users are:
     566.PP
     567search
     568.RS 4
     569Search for an available port whose name matches a regular expression\&.
     570.sp
     571For example:
     572.sp
     573.if n \{\
     574.RS 4
     575.\}
     576.nf
     577port search vim
     578.fi
     579.if n \{\
     580.RE
     581.\}
     582.RE
     583.PP
     584info
     585.RS 4
     586Displays meta\-information available for
     587\fIportname\fR\&. Specific meta\-information may be requested through an option such as
     588\fB\-\-maintainer\fR
    55589or
    56 .Ar portname
    57 is specified, the current working directory is assumed; if no
    58 .Ar action
    59 is specified the port command enters interactive mode, in which commands are read via stdin. Batch commands may be
    60 passed via a
    61 .Ar cmdfile .
    62 Port
    63 .Ar options
    64 are passed as key=value pairs and take precedence over individual
    65 .Ar portname
    66 options as specified in its Portfile and system-wide settings.
    67 .Pp
    68 Port
    69 .Ar variants
    70 can specified as
    71 .Ar +name ,
    72 which indicates the variant is desired, or
    73 .Ar -name ,
    74 indicating the contrary. In case of ambiguities, a port can be fully specified with the
    75 .Ar @version_revision+variants
    76 format.
    77 .Pp
    78 Installed ports can be activated or deactivated without being uninstalled. A port can be installed if all other
    79 version/variant(s) combinations installed at any given moment are deactivated.
    80 .Pp
    81 The
    82 .Nm
    83 command knows various
    84 .Ar pseudo-portnames
    85 that will expand to the specified set of ports from the available ports tree(s). These may be used in place of a
    86 .Ar portname .
    87 Common options are:
    88 .Pp
    89 .Bl -bullet -offset indent -compact
    90 .It
    91 .Ar all :
    92 all the ports in each ports tree listed in
    93 .Ar sources.conf
    94 .Pp
    95 .It
    96 .Ar current :
    97 the port in the current working directory.
    98 .Pp
    99 .It
    100 .Ar active :
    101 set of installed and active ports.
    102 .Pp
    103 .It
    104 .Ar inactive :
    105 set of installed but inactive ports.
    106 .Pp
    107 .It
    108 .Ar actinact :
    109 set of installed ports that have both an active version and one or more inactive versions.
    110 .Pp
    111 .It
    112 .Ar installed :
    113 set of all installed ports.
    114 .Pp
    115 .It
    116 .Ar uninstalled :
    117 ports in the ports tree(s) that aren't installed.
    118 .Pp
    119 .It
    120 .Ar outdated :
    121 installed ports that are out of date with respect to their current version/revision in the ports tree(s)
    122 .Pp
    123 .It
    124 .Ar obsolete :
    125 set of ports that are installed but no longer exist in any port tree
    126 .Pp
    127 .It
    128 .Ar requested :
    129 installed ports that were explicitly asked for.
    130 .Pp
    131 .It
    132 .Ar unrequested :
    133 installed ports that were installed only to satisfy dependencies.
    134 .Pp
    135 .It
    136 .Ar leaves :
    137 installed ports that are unrequested and have no dependents.
    138 .Pp
    139 .El
    140 Sets of ports can also be specified with
    141 .Ar pseudo-portname selectors ,
    142 which expand to the ports in which the value of the
    143 .Ar Portfile
    144 key corresponding to the selector's name (in either singular or plural form where applicable)
    145 matches the given regular expression. Usage is:
    146 .Ar selector:regex
    147 .Pp
    148 Available selectors are:
    149 .Pp
    150 .Bl -bullet -offset indent -compact
    151 .It
    152 .Ar name
    153 .It
    154 .Ar version
    155 .It
    156 .Ar revision
    157 .It
    158 .Ar epoch
    159 .It
    160 .Ar variant
    161 .It
    162 .Ar variants
    163 .It
    164 .Ar category
    165 .It
    166 .Ar categories
    167 .It
    168 .Ar maintainer
    169 .It
    170 .Ar maintainers
    171 .It
    172 .Ar platform
    173 .It
    174 .Ar platforms
    175 .It
    176 .Ar description
    177 .It
    178 .Ar long_description
    179 .It
    180 .Ar homepage
    181 .It
    182 .Ar portdir
    183 .El
    184 .Pp
    185 .Pp
    186 Other pseudo-portname selectors match ports which have a particular relationship to
    187 another port. These will match ports that are direct or recursive dependencies or dependents
    188 of the given portname:
    189 .Pp
    190 .Bl -bullet -offset indent -compact
    191 .It
    192 .Ar depof
    193 .It
    194 .Ar rdepof
    195 .It
    196 .Ar dependentof
    197 .It
    198 .Ar rdependentof
    199 .El
    200 .Pp
    201 .Ar portnames
    202 containing valid UNIX glob patterns will also expand to the set of matching ports. Any
    203 .Ar action
    204 passed to
    205 .Nm
    206 will be invoked on each of them. For example:
    207 .Pp
    208 .Dl port list variant:no_ssl
    209 .Dl port uninstall name:sql
    210 .Dl port echo depof:mysql5
    211 .\" COMMENT: glob pattern expansion in portnames:
    212 .\" write an example here that illustrats better glob pattern expansion in portnames, but that does not employ
    213 .\" logical operators (and, or, not, !) because I still haven't gotten to them yet.
    214 .Dl port echo apache*
    215 .Pp
    216 Logical operators "and", "or", "not", "!", "(" and ")" may be used to combine individual
    217 .Ar portnames ,
    218 port glob patterns and/or
    219 .Ar pseudo-portnames
    220 to construct complex port expressions that expand to the set of matching ports. For example:
    221 .Pp
    222 .Dl port upgrade installed and "apache*"
    223 .Dl port echo maintainer:jberry and uninstalled and \e(\ category:java and not commons*\ \e)
    224 .\" COMMENT: more complex exmaples here would be useful.
    225 .\" PENDING: port-url explanation. Proposed text:
    226 .\".Pp
    227 .\"A
    228 .\".Ar portname
    229 .\"may also be specified as a URL pointing to the location of the
    230 .\".Ar portdir
    231 .\" ...
    232 .Pp
    233 The
    234 .Nm
    235 command also recognizes several command line flags and
    236 .Ar targets :
    237 .Sh OPTIONS
    238 .Bl -tag -width -indent
    239 .It Fl v
    240 verbose mode (generate verbose messages)
    241 .It Fl d
    242 debug mode (generate debugging messages, implies
    243 .Fl v )
    244 .It Fl q
    245 quiet mode (suppress messages)
    246 .It Fl n
    247 don't upgrade dependencies (affects upgrade and install)
    248 .It Fl R
    249 also upgrade dependents (only affects upgrade) - note that this does not upgrade dependents' dependencies
    250 .It Fl u
    251 uninstall non-active ports when upgrading and uninstalling
    252 .It Fl f
    253 force mode (ignore state file)
    254 .It Fl o
    255 honor state files even if the Portfile has been modified since (called -o because it used to mean "older")
    256 .It Fl s
    257 source-only mode (build and install from source, do not attempt to fetch binary archives)
    258 .It Fl b
    259 binary-only mode (build and install from binary archives, ignore source, abort if no archive available)
    260 .It Fl c
    261 autoclean mode (execute clean after install)
    262 .It Fl k
    263 keep mode (don't autoclean after install)
    264 .It Fl D
    265 specify
    266 .Ar portdir
    267 .It Fl F
    268 Read and process the
    269 .Ar file
    270 of commands specified by the argument. If the argument is '-', then read commands from stdin. If the option is given multiple times, then multiple files will be read.
    271 .It Fl p
    272 Despite any errors encountered, proceed to process multiple ports and commands.
    273 .It Fl y
    274 Perform a dry run. All of the steps to build the ports and their dependencies are computed, but not actually performed. With the verbose flag, every step is reported; otherwise there is just one message per port, which allows you to easily determine the recursive deps of a port (and the order in which they will be built).
    275 .It Fl t
    276 enable trace mode debug facilities on platforms that support it (Mac OS X). This feature is two-folded. It consists in automatically detecting and reporting undeclared dependencies based on what files the port reads or what programs the port executes. In verbose mode, it will also report unused dependencies for each stage of the port installation. It also consists in forbidding and reporting file creation and file writes outside allowed directories (temporary directories and ${workpath}).
    277 .El
    278 .Sh USER TARGETS
    279 Targets most commonly used by regular MacPorts users are:
    280 .Ss search
    281 Search for an available port. By default, the search string is treated as a case-insensitive glob,
    282 and is matched against the name and description fields. To have the search string treated as
    283 a regular expression, as a literal, or in a case-sensitive manner, use
    284 .Fl -regex,
    285 .Fl -exact,
    286 or
    287 .Fl -case-sensitive,
    288 respectively. To match against a different set of fields, use one or more
    289 .Fl -<field-name>
    290 options. To display each result on a single line, use
    291 .Fl -line.
     590\fB\-\-category\fR\&. Recognized field names are those from the PortIndex, see \(lqport help info\(rq for a complete list\&. If no specific fields are specified, a useful default collection of fields will be displayed\&. If the global option
     591\fB\-q\fR
     592is in effect, the meta\-info fields will not be labeled\&. If the option
     593\fB\-\-line\fR
     594is provided, all such data will be consolidated into a single line per port, suitable for processing in a pipe of commands\&. If the option
     595\fB\-\-pretty\fR
     596is provided, the information will be formatted in a somewhat more attractive fashion for human readers\&. This is the default when no options at all are specified to info\&. If the option
     597\fB\-\-index\fR
     598is provided, the information will be pulled from the PortIndex rather than from the Portfile\&. In this case variant information, such as dependencies, will not affect the output\&.
     599.sp
    292600For example:
    293 .Pp
    294 .Dl "port search vim"
    295 .Dl "port search --regex --depends_build 'docbook.*[0-9]+'"
    296 .Pp
    297 .Ss info
    298 Displays meta-information available for
    299 .Ar portname .
    300 Specific meta-information may be requested through an option such as
    301 .Fl -maintainer
    302 or
    303 .Fl -category
    304 (recognized field names are those from the PortIndex, see "port help
    305 info" for a complete list). If no specific fields are specified, a
    306 useful default collection of fields will be displayed. If the global option
    307 .Fl q
    308 is in effect, the meta-info fields will not be labeled.
    309 If the option
    310 .Fl -line
    311 is provided, all such data will be consolidated into a single line per port,
    312 suitable for processing in a pipe of commands.
    313 If the option
    314 .Fl -pretty
    315 is provided, the information will be formatted in a somewhat more
    316 attractive fashion for human readers. This is the default when no
    317 options at all are specified to info.
    318 If the option
    319 .Fl -index
    320 is provided, the information will be pulled from the PortIndex rather than
    321 from the Portfile (in this case variant information, such as dependencies,
    322 will not affect the output).
    323 .Pp
     601.sp
     602.if n \{\
     603.RS 4
     604.\}
     605.nf
     606port info vim +ruby
     607port info \-\-category \-\-name apache*
     608port \-q info \-\-category \-\-name \-\-version category:java
     609port info \-\-line \-\-category \-\-name all
     610port info \-\-pretty \-\-fullname \-\-depends gtk2
     611port info \-\-index python27
     612.fi
     613.if n \{\
     614.RE
     615.\}
     616.RE
     617.PP
     618notes
     619.RS 4
     620Displays notes for
     621\fIportname\fR
     622which usually contain useful information concerning setup and use of the port\&.
     623.RE
     624.PP
     625variants
     626.RS 4
     627Lists the variants available for
     628\fIportname\fR\&.
     629.RE
     630.PP
     631deps
     632.RS 4
     633Lists the other ports that are required to build and run portname\&. This is simply an alias for \(lqinfo \-\-pretty \-\-fullname \-\-depends\(rq\&.
     634.RE
     635.PP
     636rdeps
     637.RS 4
     638Recursively lists the other ports that are required to build and run portname\&. To display the full dependency tree instead of only showing each port once, use \-\-full\&. To take dependency information from the PortIndex instead of the Portfile (faster, but does not take variant selections into account), use \-\-index\&. To exclude dependencies that are only needed at build time (i\&.e\&. depends_fetch, depends_extract, depends_build), use
     639\fB\-\-no\-build\fR\&.
     640.RE
     641.PP
     642dependents
     643.RS 4
     644Lists the installed ports that depend on the port
     645\fIportname\fR\&.
     646.RE
     647.PP
     648rdependents
     649.RS 4
     650Recursively lists the installed ports that depend on the port portname\&. To display the full tree of dependents instead of only showing each port once, use \-\-full\&.
     651.RE
     652.PP
     653install
     654.RS 4
     655Install and activate
     656\fIportname\fR\&.
     657.RE
     658.PP
     659uninstall
     660.RS 4
     661Deactivate and uninstall portname\&. To uninstall all installed but
     662\fIinactive\fR
     663ports, use
     664\fB\-u\fR\&. To recursively uninstall all dependents of this port, use
     665\fB\-\-follow\-dependents\fR\&. To uninstall portname and then recursively uninstall all ports it depended on, use \-\-follow\-dependencies\&. This will not uninstall dependencies that are marked as requested or that have other dependents\&.
     666.sp
    324667For example:
     668.sp
     669.if n \{\
     670.RS 4
     671.\}
     672.nf
     673port uninstall vim
     674port \-u uninstall
     675port uninstall \-\-follow\-dependents python27
     676.fi
     677.if n \{\
     678.RE
     679.\}
     680.RE
     681.PP
     682select
     683.RS 4
     684For a given group, selects a version to be the default by creating appropriate symbolic links\&. For instance, python might be linked to python2\&.6\&. Available select groups are installed as subdirectories of ${prefix}/etc/select/ and can be listed using
     685\fB\-\-summary\fR\&. To list the available versions in a group, use
     686\fB\-\-list\fR\&. To see which version is currently selected for a group, use
     687\fB\-\-show\fR\&. To change the selected version for a group, use
     688\fB\-\-set\fR\&.
     689.sp
     690For example:
     691.sp
     692.if n \{\
     693.RS 4
     694.\}
     695.nf
     696port select \-\-summary
     697port select \-\-show python
     698port select \-\-list python
     699port select \-\-set python python34
     700.fi
     701.if n \{\
     702.RE
     703.\}
     704.RE
     705.PP
     706activate
     707.RS 4
     708Activate the installed
     709\fIportname\fR\&.
     710.RE
     711.PP
     712deactivate
     713.RS 4
     714Deactivate the installed
     715\fIportname\fR\&.
     716.RE
     717.PP
     718setrequested
     719.RS 4
     720Mark portname as requested\&.
     721.RE
     722.PP
     723unsetrequested
     724.RS 4
     725Mark portname as unrequested\&.
     726.RE
     727.PP
     728installed
     729.RS 4
     730Show the installed version, variants and activation status for each
     731\fIportname\fR\&. If no arguments are given, all installed ports are displayed\&.
     732.RE
     733.PP
     734location
     735.RS 4
     736Print the install location of a given port\&.
     737.RE
     738.PP
     739contents
     740.RS 4
     741Lists the files installed by
     742\fIportname\fR\&.
     743.RE
     744.PP
     745provides
     746.RS 4
     747Determines which port owns a given file and can take either a relative or absolute path\&.
     748.sp
     749For example:
     750.sp
     751.if n \{\
     752.RS 4
     753.\}
     754.nf
     755port provides /opt/local/etc/irssi\&.conf
     756port provides include/tiff\&.h
     757.fi
     758.if n \{\
     759.RE
     760.\}
     761.RE
     762.PP
     763sync
     764.RS 4
     765Performs a sync operation only on the ports tree of a MacPorts installation, pulling in the latest revision available of the Portfiles from the MacPorts rsync server\&.
     766.sp
     767To update you would normally do:
     768.sp
     769.if n \{\
     770.RS 4
     771.\}
     772.nf
     773sudo port \-d sync
     774.fi
     775.if n \{\
     776.RE
     777.\}
     778.sp
     779If any of the ports tree(s) uses a file: URL that points to a local subversion working copy, sync will perform an svn update on the working copy with the user set to the owner of the working copy\&.
     780.RE
     781.PP
     782outdated
     783.RS 4
     784Lists the installed ports which need a
     785\fIupgrade\fR\&.
     786.RE
     787.PP
     788upgrade
     789.RS 4
     790The upgrade target works on a port and its dependencies\&. If you want to change this behavior, look at the switches for
     791\fB\-n\fR
     792(no dependencies) and
     793\fB\-R\fR
     794(dependents) above\&.
     795.sp
     796Upgrade the installed
     797\fIportname\fR\&. For example:
     798.sp
     799.if n \{\
     800.RS 4
     801.\}
     802.nf
     803port upgrade vim
     804.fi
     805.if n \{\
     806.RE
     807.\}
     808.sp
     809To upgrade all outdated ports:
     810.sp
     811.if n \{\
     812.RS 4
     813.\}
     814.nf
     815port upgrade outdated
     816.fi
     817.if n \{\
     818.RE
     819.\}
     820.sp
     821To upgrade
     822\fIportname\fR
     823and the ports that depend on it:
     824.sp
     825.if n \{\
     826.RS 4
     827.\}
     828.nf
     829port \-R upgrade libiconv
     830.fi
     831.if n \{\
     832.RE
     833.\}
     834.sp
     835To force a rebuild of
     836\fIportname\fR
     837and all of its dependencies use:
     838.sp
     839.if n \{\
     840.RS 4
     841.\}
     842.nf
     843port upgrade \-\-force vim
     844.fi
     845.if n \{\
     846.RE
     847.\}
     848.sp
     849To upgrade
     850\fIportname\fR
     851without following its dependencies before, use
     852\fB\-n\fR\&.
     853.sp
     854For example:
     855.sp
     856.if n \{\
     857.RS 4
     858.\}
     859.nf
     860port \-n upgrade wireshark
     861.fi
     862.if n \{\
     863.RE
     864.\}
     865.sp
     866.if n \{\
     867.sp
     868.\}
     869.RS 4
     870.it 1 an-trap
     871.nr an-no-space-flag 1
     872.nr an-break-flag 1
    325873.br
    326 .Dl "port info vim +ruby"
    327 .Dl "port info --category --name apache*"
    328 .Dl "port -q info --category --name --version category:java"
    329 .Dl "port info --line --category --name all"
    330 .Dl "port info --pretty --fullname --depends gtk2"
    331 .Dl "port info --index python24"
    332 .Ss notes
    333 Displays notes for
    334 .Ar portname
    335 (useful information concerning setup and use of the port).
    336 .Ss variants
    337 Lists the build variants available for
    338 .Ar portname .
    339 .Ss deps
    340 Lists the other ports that are required to build and run
    341 .Ar portname .
    342 This is simply an alias for "info --pretty --fullname --depends".
    343 .Ss rdeps
    344 Recursively lists the other ports that are required to build and run
    345 .Ar portname .
    346 To display the full dependency tree instead of only showing each port once, use
    347 .Fl -full .
    348 To take dependency information from the PortIndex instead of the Portfile
    349 (faster, but does not take variant selections into account), use
    350 .Fl -index .
    351 To exclude dependencies that are only needed at build time (i.e.
    352 depends_fetch, depends_extract, depends_build), use
    353 .Fl -no-build .
    354 .Ss dependents
    355 Lists the installed ports that depend on the port
    356 .Ar portname .
    357 .Ss rdependents
    358 Recursively lists the installed ports that depend on the port
    359 .Ar portname .
    360 To display the full tree of dependents instead of only showing each port once, use
    361 .Fl -full .
    362 .Ss install
    363 Install and activate
    364 .Ar portname .
    365 .Ss uninstall
    366 Deactivate and uninstall
    367 .Ar portname .
    368 To uninstall all installed but inactive ports, use
    369 .Fl u .
    370 To recursively uninstall all ports that depend on
    371 .Ar portname
    372 before uninstalling the port itself, use
    373 .Fl -follow-dependents .
    374 To uninstall
    375 .Ar portname
    376 and then recursively uninstall all ports it depended on, use
    377 .Fl -follow-dependencies .
    378 This will not uninstall dependencies that are marked as requested or that have other dependents.
    379 .Pp
     874.ps +1
     875\fBNote\fR
     876.ps -1
     877.br
     878By selecting the variants to use in the upgraded build of the port, any variants specified on the command line take highest precedence, then the variants active in the latest installed version of the port, and finally the global variants specified in variants\&.conf, if any\&. Note that upgrade will not normally rebuild a port only to change the selected variants; you can either specify \-\-enforce\-variants, or deactivate the port and reinstall it with different variants\&.
     879.sp .5v
     880.RE
     881\ \&
     882.sp
     883After the upgrade MacPorts will automatically run rev\-upgrade to check for broken ports that need to be rebuilt\&. If there are known problems with rev\-upgrade or other reasons why you would want to avoid running this step, you can disable it by running port upgrade with the \-\-no\-rev\-upgrade switch:
     884.sp
     885.if n \{\
     886.RS 4
     887.\}
     888.nf
     889port upgrade \-\-no\-rev\-upgrade outdated
     890.fi
     891.if n \{\
     892.RE
     893.\}
     894.RE
     895.PP
     896rev\-upgrade
     897.RS 4
     898Manually check for broken binaries and rebuild ports containing broken binaries\&. rev\-upgrade is usually automatically run after each upgrade, unless you specify the \-\-no\-rev\-upgrade option\&.
     899
     900rev\-upgrade can run more checks against a special loadcommand in Mach\-O binaries that should always be referencing the file itself\&. This check is most helpful for maintainers to check whether their ports have been built correctly\&. It is disabled by default and can be enabled by passing \-\-id\- loadcmd\-check to rev\-upgrade\&.
     901
     902See also:
     903\fBmacports.conf\fR(5)
     904.RE
     905.PP
     906clean
     907.RS 4
     908Clean the files used for building
     909\fIportname\fR\&. To just remove the work files, use the
     910\fB\-\-work\fR\fIactionflag\fR\&. This is the default when no flag is given\&. To remove the distribution files (fetched tarballs, patches, etc), specify
     911\fB\-\-dist\fR\&. To remove any archive(s) of a port than remain in the temporary download directory, pass
     912\fB\-\-archive\fR\&. (This does not remove archives from the installed location\&.) To remove log files for a port, pass
     913\fB\-\-logs\fR\&. To remove the work files, distribution files, temporary archives and logs pass
     914\fB\-\-all\fR\&.
     915.sp
    380916For example:
    381 .Pp
    382 .Dl "port uninstall vim"
    383 .Dl "port -u uninstall"
    384 .Dl "port uninstall --follow-dependents python24"
    385 .Ss select
    386 For a given
    387 .Ar group ,
    388 selects a
    389 .Ar version
    390 to be the default by creating appropriate symbolic links.
    391 For instance,
    392 .Ic "python"
    393 might be linked to
    394 .Ic "python2.6" .
    395 Available select groups are installed as subdirectories of
    396 .Ar ${prefix}/etc/select/
    397 and can be listed using
    398 .Fl -summary .
    399 To list the available versions in a group, use
    400 .Fl -list .
    401 To see which version is currently selected for a group, use
    402 .Fl -show .
    403 To change the selected version for a group, use
    404 .Fl -set .
    405 .Pp
     917.sp
     918.if n \{\
     919.RS 4
     920.\}
     921.nf
     922port clean \-\-dist vim
     923port clean \-\-archive vim
     924port clean \-\-logs vim
     925.fi
     926.if n \{\
     927.RE
     928.\}
     929.sp
     930To remove only certain version(s) of a port\(cqs archives (version is any valid UNIX glob pattern), you can use:
     931.sp
     932.if n \{\
     933.RS 4
     934.\}
     935.nf
     936port clean \-\-archive vim 6\&.2\&.114
     937.fi
     938.if n \{\
     939.RE
     940.\}
     941.sp
     942or:
     943.sp
     944.if n \{\
     945.RS 4
     946.\}
     947.nf
     948port clean \-\-archive vim \*(Aq6\&.*\*(Aq
     949.fi
     950.if n \{\
     951.RE
     952.\}
     953.RE
     954.PP
     955log
     956.RS 4
     957Parses and shows log files for
     958\fIportname\fR\&. To filter log files by some criterions use
     959\fB\-\-phase\fR
     960to specify the phase you want to show and
     961\fB\-\-verbosity\fR
     962to specify message category (msg, info, debug)\&.
     963.sp
    406964For example:
    407 .Pp
    408 .Dl "port select --summary"
    409 .Dl "port select --show python"
    410 .Dl "port select --list python"
    411 .Dl "port select --set python python34"
    412 .Pp
    413 .Ss activate
    414 Activate the installed
    415 .Ar portname .
    416 .Ss deactivate
    417 Deactivate the installed
    418 .Ar portname .
    419 .Ss setrequested
    420 Mark
    421 .Ar portname
    422 as requested.
    423 .Ss unsetrequested
    424 Mark
    425 .Ar portname
    426 as unrequested.
    427 .Ss installed
    428 Show the installed versions and variants for
    429 .Ar portname .
    430 If no
    431 .Ar portname
    432 is given, all installed ports are shown.
    433 .Ss location
    434 Print the install location of a given port.
    435 .Ss contents
    436 Lists the files installed by
    437 .Ar portname .
    438 .Ss provides
    439 Determines which port owns a given file and can take either a relative or absolute path. For example:
    440 .Pp
    441 .Dl "port provides /opt/local/etc/irssi.conf"
    442 .Dl "port provides include/tiff.h"
    443 .Ss sync
    444 Performs a sync operation only on the ports tree of a MacPorts installation, pulling in the latest
    445 revision available of the
    446 .Ar Portfiles
    447 from the MacPorts rsync server. To update you would normally do:
    448 .Pp
    449 .Dl "sudo port -d sync"
    450 .Pp
    451 If any of the ports tree(s) uses a file: URL that points to a local subversion working copy,
    452 .Ic sync
    453 will perform an
    454 .Ic "svn update"
    455 on the working copy with the user set to the owner of the working copy.
    456 .Ss outdated
    457 List the installed ports that need upgrading.
    458 .Ss upgrade
    459 The upgrade target works on a port and its dependencies. If you
    460 want to change this behaviour, look at the switches for n (no
    461 dependencies) and R (dependents) below.
    462 .Pp   
    463 Upgrade the installed
    464 .Ar portname .
     965.sp
     966.if n \{\
     967.RS 4
     968.\}
     969.nf
     970port log \-\-phase configure vim
     971port log \-\-phase fetch \-\-verbosity debug vim
     972.fi
     973.if n \{\
     974.RE
     975.\}
     976.RE
     977.PP
     978logfile
     979.RS 4
     980Displays the path to the log file for
     981\fIportname\fR\&.
     982.RE
     983.PP
     984echo
     985.RS 4
     986Writes to stdout the arguments passed to
     987\fIport\fR\&. This follows the expansion of
     988\fIpseudo\-portnames\fR, portname glob patterns,
     989\fIpseudo\-portname selectors\fR
     990and the evaluation of
     991\fIport\-expressions\fR\&.
     992\fBecho\fR
     993may be used to determine the exact set of ports to which a given string of arguments will expand, without performing any further operations on them\&.
     994.sp
    465995For example:
    466 .Pp
    467 .Dl "port upgrade vim"
    468 .Pp
    469 To upgrade all installed ports:
    470 .Pp
    471 .Dl "port upgrade installed"
    472 .Pp
    473 To upgrade
    474 .Ar portname
    475 and the ports that depend on it:
    476 .Pp
    477 .Dl "port -R upgrade libiconv"
    478 .Pp
    479 To force an upgrade (rebuild) use:
    480 .Pp
    481 .Dl "port upgrade --force vim"
    482 .Pp
    483 To upgrade
    484 .Ar portname
    485 without following its dependencies, use
    486 .Fl n .
     996.sp
     997.if n \{\
     998.RS 4
     999.\}
     1000.nf
     1001port echo category:net
     1002port echo maintainer:jmpp and name:netw
     1003port echo maintainer:jmpp and \e( net* or category:text \e)
     1004.fi
     1005.if n \{\
     1006.RE
     1007.\}
     1008.RE
     1009.PP
     1010list
     1011.RS 4
     1012If no argument is given, display a list of the latest version of all available ports\&. If portname(s) are given as arguments, display a list of the latest version of each port\&.
     1013.RE
     1014.PP
     1015mirror
     1016.RS 4
     1017Create/update a local mirror of distfiles used for ports given on the command line\&. The filemap database can be reset by using the
     1018\fB\-\-new\fR
     1019option (though if no database is found, it will be created automatically)\&. If the fetched file does not match the checksum given in the Portfile, it is deleted\&. This can be used with
     1020\fIpseudo\-portnames\fR, e\&.g\&.
     1021\fIall\fR, to mirror everything\&. Note that if you use
     1022\fIall\fR, you\(cqll most likely want to use
     1023\fB\-p\fR
     1024so
     1025\fBport\fR
     1026doesn\(cqt quit on the first download failure\&.
     1027.RE
     1028.PP
     1029version
     1030.RS 4
     1031Display the release number of the installed MacPorts infrastructure\&.
     1032.RE
     1033.PP
     1034selfupdate
     1035.RS 4
     1036Updates the MacPorts system, ports tree(s) and base tools if needed, from the MacPorts rsync server, installing the newest infrastructure available\&.
     1037.sp
     1038To update you would typically do:
     1039.sp
     1040.if n \{\
     1041.RS 4
     1042.\}
     1043.nf
     1044sudo port selfupdate
     1045.fi
     1046.if n \{\
     1047.RE
     1048.\}
     1049.sp
     1050See
     1051\fIsync\fR
     1052for more information about updating ports tree(s)\&.
     1053.RE
     1054.PP
     1055load
     1056.RS 4
     1057Provides a shortcut to using launchctl to load a port\(cqs daemon (as installed in /Library/LaunchDaemons)\&. It runs:
     1058.sp
     1059.if n \{\
     1060.RS 4
     1061.\}
     1062.nf
     1063launchctl load \-w /Library/LaunchDaemons/org\&.macports\&.${port}\&.plist
     1064.fi
     1065.if n \{\
     1066.RE
     1067.\}
     1068.RE
     1069.PP
     1070unload
     1071.RS 4
     1072A shortcut to launchctl, like load, but unloads the daemon\&.
     1073.RE
     1074.PP
     1075gohome
     1076.RS 4
     1077Loads the home page for the given portname in the default web browser\&.
     1078.RE
     1079.PP
     1080usage
     1081.RS 4
     1082Displays a condensed usage summary\&.
     1083.RE
     1084.PP
     1085help
     1086.RS 4
     1087Displays a summary of all available actions and port command syntax on stdout\&.
     1088.RE
     1089.SH "DEVELOPER TARGETS"
     1090.sp
     1091The targets that are often used by Port developers are intended to provide access to the different phases of a Port\(cqs build process:
     1092.PP
     1093dir
     1094.RS 4
     1095Displays the path to the directory containing
     1096\fIportname\fR\&.
     1097.RE
     1098.PP
     1099work
     1100.RS 4
     1101Displays the path to the work directory for
     1102\fIportname\fR\&.
     1103.RE
     1104.PP
     1105cd
     1106.RS 4
     1107Changes the current working directory to the one containing portname\&. Only useful in interactive mode\&.
     1108.RE
     1109.PP
     1110file
     1111.RS 4
     1112Displays the path to the Portfile for
     1113\fIportname\fR\&.
     1114.RE
     1115.PP
     1116url
     1117.RS 4
     1118Displays the URL for the path of the given portname, which can be passed as
     1119\fIport\-url\fR\&.
     1120.RE
     1121.PP
     1122cat
     1123.RS 4
     1124Concatenates and prints the contents of
     1125\fIPortfile\fR
     1126on stdout\&.
     1127.RE
     1128.PP
     1129edit
     1130.RS 4
     1131Opens Portfile with your default editor specified in your shell\(cqs environment variable\&. You can also use the \-\-editor flag on the command line to specify an alternative editor\&.
     1132.sp
    4871133For example:
    488 .Pp
    489 .Dl "port -n upgrade wireshark"
    490 .Pp 
    491 Note that in selecting the variants to use in the upgraded build of the
    492 port, any variants specified on the command line take highest precedence,
    493 then the variants active in the latest installed version of the port, and
    494 finally the global variants specified in variants.conf, if any.  Note that
    495 upgrade will not normally rebuild a port only to change the selected
    496 variants; you can either specify --enforce-variants, or deactivate the port and reinstall it
    497 with different variants.
    498 .Pp
    499 After the upgrade MacPorts will automatically run \fBrev-upgrade\fP to check for
    500 broken ports that need to be rebuilt. If there are known problems with
    501 \fBrev-upgrade\fP or other reasons why you would want to avoid running this
    502 step, you can disable it by running \fBport upgrade\fP with the
    503 \fB--no-rev-upgrade\fP switch:
    504 .Pp
    505 .Dl "port upgrade --no-rev-upgrade outdated"
    506 .Ss rev-upgrade
    507 Manually check for broken binaries and rebuild ports containing broken binaries.
    508 \fBrev-upgrade\fP is usually automatically run after each upgrade, unless you
    509 specify the \fB--no-rev-upgrade\fP option.
    510 .Pp
    511 \fBrev-upgrade\fP can run more checks against a special loadcommand in Mach-O
    512 binaries that should always be referencing the file itself. This check is most
    513 helpful for maintainers to check whether their ports have been built correctly.
    514 It is disabled by default and can be enabled by passing \fB--id-loadcmd-check\fP
    515 to \fBrev-upgrade\fP.
    516 .Pp
    517 See also:
    518 .Xr macports.conf 5
    519 .Ss clean
    520 Clean the files used for building
    521 .Ar portname .
    522 To just remove the work files, use the
    523 .Fl -work
    524 .Ar actionflag .
    525 This is the default when no flag is given.
    526 To remove the distribution files (tarballs, etc), specify
    527 .Fl -dist .
    528 To remove any archives of a port that remain in the temporary download directory, pass
    529 .Fl -archive .
    530 (This does not remove archives from the installed location.)
    531 To remove the log files for a port, pass
    532 .Fl -logs .
    533 To remove the work files, distribution files, temporary archives and logs, pass
    534 .Fl -all .
    535 For example:
    536 .Pp
    537 .Dl "port clean --dist vim"
    538 .Dl "port clean --logs vim"
    539 .Pp
    540 To remove only certain version(s) of a port's temporary archives (
    541 .Ar version
    542 is any valid UNIX glob pattern), you can use:
    543 .Pp
    544 .Dl "port clean --archive vim 6.2.114"
    545 .Pp
    546 or:
    547 .Pp
    548 .Dl "port clean --archive vim '6.*'"
    549 .Ss log
    550 Parses and shows log files for
    551 .Ar portname .
    552 To filter log files by some criterions use
    553 .Fl -phase
    554 to specify phase you want to show and
    555 .Fl -verbosity
    556 to specify message category (msg, info, debug)
    557 For example:
    558 .Pp
    559 .Dl "port log --phase configure vim"
    560 .Dl "port log --phase fetch --verbosity debug vim"
    561 .Pp
    562 .Ss logfile
    563 Displays the path to the log file for
    564 .Ar portname .
    565 .Pp
    566 .Ss echo
    567 Writes to stdout the arguments passed to
    568 .Nm .
    569 This follows the expansion of
    570 .Ar pseudo-portnames ,
    571 portname glob patterns,
    572 .Ar pseudo-portname selectors
    573 and the evaluation of port expressions.
    574 .Nm echo
    575 may be used to determine the exact set of ports to which a given string of arguments will expand, without performing any further operations on them. For example:
    576 .Pp
    577 .Dl port echo category:net
    578 .Dl port echo maintainer:jmpp and name:netw
    579 .Dl port echo maintainer:jmpp and \e(\ net* or category:text\ \e)
    580 .Pp
    581 .Ss list
    582 If no argument is given, display a list of the latest version of all available ports.
    583 If portname(s) are given as arguments, display a list of the latest version of each port.
    584 .Ss mirror
    585 Create/update a local mirror of distfiles used for ports given on the command line.  The filemap database can be reset by using the
    586 .Fl -new
    587 option (though if no database is found, it will be created automatically).
    588 If the fetched file does not match the checksum given in the Portfile, it is
    589 deleted.  This can be used with
    590 .Ar pseudo-portnames ,
    591 eg,
    592 .Ar all ,
    593 to mirror everything.  Note that if you use
    594 .Ar all ,
    595 you'll most likely want to use
    596 .Fl p
    597 so
    598 .Nm
    599 doesn't quit on the first download failure.
    600 .Ss version
    601 Display the release number of the installed MacPorts infrastructure.
    602 .Ss platform
    603 Display the platform information for the current system.
    604 .Ss selfupdate
    605 Updates the MacPorts system, ports tree(s) and base tools if needed, from the MacPorts rsync server,
    606 installing the newest infrastructure available. To update you would typically do:
    607 .Pp
    608 .Dl "sudo port selfupdate"
    609 .Pp
    610 See
    611 .Ic sync
    612 for more information about updating ports tree(s).
    613 .Ss load
    614 Provides a shortcut to using launchctl to load a port's daemon (as installed
    615 in /Library/LaunchDaemons).  It runs:
    616 .Pp
    617 .Dl launchctl load -w /Library/LaunchDaemons/org.macports.${port}.plist
    618 .Ss unload
    619 A shortcut to launchctl, like load, but unloads the daemon.
    620 .Ss gohome
    621 Loads the home page for the given
    622 .Ar portname
    623 in the default web browser.
    624 .Ss usage
    625 Displays a condensed usage summary.
    626 .Ss help
    627 Displays a summary of all available actions and port command syntax on stdout.
    628 .Sh DEVELOPER TARGETS
    629 The targets that are often used by Port developers are intended to provide access to the different phases of a Port's build process:
    630 .Ss dir
    631 Displays the path to the directory containing
    632 .Ar portname .
    633 .Ss work
    634 Displays the path to the work directory for
    635 .Ar portname .
    636 .Ss cd
    637 Changes the current working directory to the one containing
    638 .Ar portname .
    639 Only useful in interactive mode.
    640 .Ss file
    641 Displays the path to the Portfile for
    642 .Ar portname .
    643 .Ss url
    644 Displays the URL for the path of the given
    645 .Ar portname ,
    646 which can be passed as port-url
    647 .Ss cat
    648 Concatenates and prints the contents of
    649 .Ar Portfile
    650 on stdout.
    651 .Ss edit
    652 Opens
    653 .Ar Portfile
    654 with your default editor specified in your shell's environment variable.
    655 .Pp
    656 You can also use the
    657 .Fl -editor
    658 flag on the command line to specify an alternative editor. For example:
    659 .Dl port edit --editor nano apache2
    660 .Pp
    661 .Ss fetch
     1134.sp
     1135.if n \{\
     1136.RS 4
     1137.\}
     1138.nf
     1139port edit \-\-editor nano apache2
     1140.fi
     1141.if n \{\
     1142.RE
     1143.\}
     1144.RE
     1145.PP
     1146fetch
     1147.RS 4
    6621148Fetches the distribution files required to build
    663 .Ar portname .
    664 .Ss checksum
    665 Compute the checksums of the distribution files for
    666 .Ar portname ,
    667 and compare them to the checksums listed in
    668 .Ar Portfile .
    669 .Ss extract
     1149\fIportname\fR\&.
     1150.RE
     1151.PP
     1152checksum
     1153.RS 4
     1154Compute the checksums of the distribution files for
     1155\fIportname\fR, and compare them to the checksums listed in
     1156\fIPortfile\fR\&.
     1157.RE
     1158.PP
     1159extract
     1160.RS 4
    6701161Extracts the distribution files for
    671 .Ar portname .
    672 .Ss patch
    673 Applies any required patches to
    674 .Ar portname's
    675 extracted distribution files.
    676 .Ss configure
     1162\fIportname\fR\&.
     1163.RE
     1164.PP
     1165patch
     1166.RS 4
     1167Applies any required patches to
     1168\fIportname\(cqs\fR
     1169extracted distribution files\&.
     1170.RE
     1171.PP
     1172configure
     1173.RS 4
    6771174Runs any configure process for
    678 .Ar portname .
    679 .Ss build
     1175\fIportname\fR\&.
     1176.RE
     1177.PP
     1178build
     1179.RS 4
    6801180Build
    681 .Ar portname .
    682 .Ss destroot
     1181\fIportname\fR\&.
     1182.RE
     1183.PP
     1184destroot
     1185.RS 4
    6831186Installs
    684 .Ar portname
    685 to a temporary directory.
    686 .Ss test
     1187\fIportname\fR
     1188to a temporary directory\&.
     1189.RE
     1190.PP
     1191test
     1192.RS 4
    6871193Tests
    688 .Ar portname .
    689 .Ss lint
    690 Verifies Portfile for
    691 .Ar portname .
    692 To nitpick about whitespace and patchfile names, use
    693 .Fl -nitpick .
    694 .Ss distcheck
    695 Check if the distfiles haven't changed and can be fetched.
    696 .Ss distfiles
    697 Display each distfile, its checksums, and the URLs used to fetch it.
    698 .Ss livecheck
    699 Check if the software hasn't been updated since the Portfile was last modified.
    700 .Sh PACKAGING TARGETS
     1194\fIportname\fR\&.
     1195.RE
     1196.PP
     1197lint
     1198.RS 4
     1199Verifies Portfile for portname\&. To nitpick about whitespace and patchfile names, use
     1200\fB\-\-nitpick\fR\&.
     1201.RE
     1202.PP
     1203distcheck
     1204.RS 4
     1205Check if the distfiles haven\(cqt changed and can be fetched\&.
     1206.RE
     1207.PP
     1208distfiles
     1209.RS 4
     1210Display each distfile, its checksums, and the URLs used to fetch it\&.
     1211.RE
     1212.PP
     1213livecheck
     1214.RS 4
     1215Check if the software hasn\(cqt been updated since the Portfile was last modified\&.
     1216.RE
     1217.SH "PACKAGING TARGETS"
     1218.sp
    7011219There are also targets for producing installable packages of ports:
    702 .Pp
    703 .Ss pkg
     1220.PP
     1221pkg
     1222.RS 4
    7041223Creates an OS X installer package of
    705 .Ar portname.
    706 .Ss mpkg
    707 Creates an OS X installer metapackage of
    708 .Ar portname
    709 and its dependencies.
    710 .Ss dmg
    711 Creates an internet-enabled disk image containing an OS X package of
    712 .Ar portname .
    713 .Ss mdmg
    714 Creates an internet-enabled disk image containing an OS X metapackage of
    715 .Ar portname
    716 and its dependencies.
    717 .Ss rpm
     1224\fIportname\fR\&.
     1225.RE
     1226.PP
     1227mpkg
     1228.RS 4
     1229Creates an OS X installer metapackage of
     1230\fIportname\fR
     1231and its dependencies\&.
     1232.RE
     1233.PP
     1234dmg
     1235.RS 4
     1236Creates an internet\-enabled disk image containing an OS X package of
     1237\fIportname\fR\&.
     1238.RE
     1239.PP
     1240mdmg
     1241.RS 4
     1242Creates an internet\-enabled disk image containing an OS X metapackage of
     1243\fIportname\fR
     1244and its dependencies\&.
     1245.RE
     1246.PP
     1247rpm
     1248.RS 4
    7181249Creates an RPM binary package of
    719 .Ar portname ,
    720 similar to a tgz "archive".
    721 .Ss srpm
     1250\fIportname\fR, similar to a tgz \(lqarchive\(rq\&.
     1251.RE
     1252.PP
     1253srpm
     1254.RS 4
    7221255Creates a SRPM source package of
    723 .Ar portname ,
    724 similar to a xar "portpkg".
    725 .Ss dpkg
     1256\fIportname\fR, similar to a xar \(lqportpkg\(rq\&.
     1257.RE
     1258.PP
     1259dpkg
     1260.RS 4
    7261261Creates a DEB binary package of
    727 .Ar portname .
    728 .Sh EXAMPLES
    729 The following demonstrates invoking
    730 .Nm
    731 with the
    732 .Ar extract
    733 target on
    734 .Ar portdir
    735 \&"textproc/figlet" and extract.suffix set to ".tgz":
    736 .Pp
    737 .Dl "port extract -D textproc/figlet extract.suffix=.tgz"
    738 .Pp
    739 .Sh FILES
    740 .Bl -tag -width
    741 .It Va ${prefix}/etc/macports/macports.conf
    742 Global configuration file for the MacPorts system.
    743 .It Va ${prefix}/etc/macports/sources.conf
    744 Global listing of the ports trees used by MacPorts. This file also enables rsync synchronization.
    745 .It Va ${prefix}/etc/macports/variants.conf
    746 Global variants used when a port is installed.
    747 .It Va ~/.macports/macports.conf
    748 User configuration file for the MacPorts system. It overrides the global
    749 .Ar macports.conf
    750 file.
    751 .El
    752 .Sh DIAGNOSTICS
    753 .Ex -std
    754 .Sh SEE ALSO
    755 .Xr macports.conf 5 ,
    756 .Xr portfile 7 ,
    757 .Xr portgroup 7 ,
    758 .Xr portstyle 7 ,
    759 .Xr porthier 7
    760 .Sh AUTHORS
    761 .An "Landon Fuller" Aq landonf@macports.org
    762 .An "James Berry" Aq jberry@macports.org
    763 .An "Jordan K. Hubbard" Aq jkh@macports.org
    764 .An "Juan Manuel Palacios" Aq jmpp@macports.org
    765 .An "Kevin Van Vechten" Aq kevin@opendarwin.org
    766 .An "Ole Guldberg Jensen" Aq olegb@opendarwin.org
    767 .An "Robert Shaw" Aq rshaw@opendarwin.org
    768 .An "Chris Ridd" Aq cjr@opendarwin.org
    769 .An "Matt Anton" Aq matt@opendarwin.org
    770 .An "Joe Auty" Aq joe@opendarwin.org
     1262\fIportname\fR\&.
     1263.RE
     1264.SH "EXAMPLES"
     1265.sp
     1266The following demonstrates invoking port with the extract target on portdir \(lqtextproc/figlet\(rq and extract\&.suffix set to \(lq\&.tgz\(rq:
     1267.sp
     1268.if n \{\
     1269.RS 4
     1270.\}
     1271.nf
     1272port extract \-D textproc/figlet extract\&.suffix=\&.tgz
     1273.fi
     1274.if n \{\
     1275.RE
     1276.\}
     1277.SH "FILES"
     1278.PP
     1279${prefix}/etc/macports/macports\&.conf
     1280.RS 4
     1281Global configuration file for the MacPorts system\&.
     1282.RE
     1283.PP
     1284${prefix}/etc/macports/sources\&.conf
     1285.RS 4
     1286Global listing of the ports trees used by MacPorts\&. This file also enables rsync synchronization\&.
     1287.RE
     1288.PP
     1289${prefix}/etc/macports/variants\&.conf
     1290.RS 4
     1291Global variants used when a port is installed\&.
     1292.RE
     1293.PP
     1294~/\&.macports/macports\&.conf
     1295.RS 4
     1296User configuration file for the MacPorts system\&. It overrides the global
     1297\fImacports\&.conf(5)\fR
     1298file\&.
     1299.RE
     1300.SH "DIAGNOSTICS"
     1301.sp
     1302The \fBport\fR utility exits 0 on success, and >0 if an error occurs\&.
     1303.SH "SEE ALSO"
     1304.sp
     1305\fBmacports.conf\fR(5), \fBportfile\fR(7), \fBportgroup\fR(7), \fBportstyle\fR(7), \fBporthier\fR(7)
     1306.SH "AUTHORS"
     1307.sp
     1308.if n \{\
     1309.RS 4
     1310.\}
     1311.nf
     1312(C) 2002\-2003 Apple Inc\&.
     1313(C) 2004\-2012 The MacPorts Project
     1314Landon Fuller <landonf@macports\&.org>
     1315James Berry <jberry@macports\&.org>
     1316Jordan K\&. Hubbard <jkh@macports\&.org>
     1317Juan Manuel Palacios <jmpp@macports\&.org>
     1318Kevin Van Vechten <kevin@opendarwin\&.org>
     1319Ole Guldberg Jensen <olegb@opendarwin\&.org>
     1320Robert Shaw <rshaw@opendarwin\&.org>
     1321Chris Ridd <cjr@opendarwin\&.org>
     1322Matt Anton <matt@opendarwin\&.org>
     1323Joe Auty <joe@opendarwin\&.org>
     1324Rainer Mueller <raimue@macports\&.org>
     1325.fi
     1326.if n \{\
     1327.RE
     1328.\}
  • trunk/base/doc/portgroup.7

    r79593 r123002  
    1 .\" portgroup.7
    2 .\"
    3 .\" Copyright (c) 2005 Paul Guyot <pguyot@kallisys.net>
    4 .\" All rights reserved.
    5 .\"
    6 .\" Redistribution and use in source and binary forms, with or without
    7 .\" modification, are permitted provided that the following conditions
    8 .\" are met:
    9 .\" 1. Redistributions of source code must retain the above copyright
    10 .\"    notice, this list of conditions and the following disclaimer.
    11 .\" 2. Redistributions in binary form must reproduce the above copyright
    12 .\"    notice, this list of conditions and the following disclaimer in the
    13 .\"    documentation and/or other materials provided with the distribution.
    14 .\" 3. Neither the name of The MacPorts Project nor the names of its
    15 .\"    contributors may be used to endorse or promote products derived from
    16 .\"    this software without specific prior written permission.
    17 .\"
    18 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    19 .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    22 .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    23 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    24 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    25 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    26 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    27 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    28 .\" POSSIBILITY OF SUCH DAMAGE.
    29 .\"
    30 .Dd February 5, 2007
    31 .Dt XCODE 7 "MacPorts"
    32 .Os
    33 .Sh NAME
    34 .Nm PortGroup
    35 .Nd MacPorts PortGroup command reference
    36 .Sh SYNOPSIS
    37 .Nm PortGroup gnustep 1.0
    38 .Nm PortGroup perl5 1.0
    39 .Nm PortGroup python24 1.0
    40 .Nm PortGroup python25 1.0
    41 .Nm PortGroup python30 1.0
    42 .Nm PortGroup ruby 1.0
    43 .Nm PortGroup xcode 1.0
    44 .Sh DESCRIPTION
    45 MacPorts defines the notion of PortGroup classes with the PortGroup command.
    46 These classes factorize the work for similar ports.  Port maintainers willing to
    47 use
    48 .Nm PortGroup
    49 need to have some notion of Portfiles. See
    50 .Xr portfile 7
    51 .Pp
    52 .Sh XCODE PORTGROUP
    53 .Nm PortGroup xcode
    54 is here to easily port Xcode-based opensource software. It handles
    55 configuration, build and destroot phases. It also defines some values
    56 for Xcode-based software. A minimum Portfile using the xcode PortGroup class
    57 only defines the fetch and the checksum phases.
    58 .Pp
    59 Using
    60 .Nm PortGroup xcode
    61 is a way to make your port more robust to Xcode version updates as the PortGroup
    62 is tested against all supported Mac OS X and Xcode versions.
    63 .Sh XCODE PORTGROUP SUGAR
    64 Portfiles using xcode PortGroup do not need to define the following variables:
    65 .Bl -tag -width lc
    66 .It Ic categories
    67 .Sy Default:
    68 .Em aqua
    69 .br
    70 .It Ic platforms
    71 .Sy Default:
    72 .Em macosx
    73 .br
    74 .It Ic use_configure
    75 .Sy Default:
    76 .Em no
    77 .El
    78 .br
    79 Moreover, Portfiles using
    80 .Nm PortGroup xcode
    81 do not need to define any build or destroot phase.  Some options are provided
    82 for tailoring these phases to what the software requires.
    83 .Sh XCODE PORTGROUP SPECIFIC VARIABLES
    84 Portfiles using xcode PortGroup may define the following variables:
    85 .Bl -tag -width lc
    86 .It Ic xcode.project
    87 path (relative to ${build.dir} and ${destroot.dir}) of the Xcode project. If
    88 unset, let xcode tool figure it out. It usually succeeds if there is a single
    89 project in the directory.
    90 .br
    91 .Sy Type:
    92 .Em optional
    93 .br
    94 .Sy Example:
    95 .Dl xcode.project ${name}.xcode
    96 .br
    97 .It Ic xcode.configuration
    98 Project configuration/buildstyle to use.
    99 .br
    100 .Sy Type:
    101 .Em optional
    102 .br
    103 .Sy Default:
    104 .Em Deployment
    105 .br
    106 .Sy Example:
    107 .Dl xcode.configuration Main
    108 .br
    109 .It Ic xcode.target
    110 If present, overrides build.target and destroot.target.
    111 .br
    112 .Sy Type:
    113 .Em optional
    114 .br
    115 .It Ic xcode.build.settings
    116 Additional settings passed to the xcode build tool during the build phase.
    117 These settings should be in the X=Y form.
    118 .br
    119 .Sy Type:
    120 .Em optional
    121 .br
    122 .Sy Example:
    123 .Bd -literal -offset indent -compact
    124 xcode.build.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks
    125 .Ed
    126 .It Ic xcode.destroot.type
    127 Type of project that will be installed. This tells Xcode PortGroup how to
    128 destroot the project. Correct values are application and framework.
    129 .br
    130 .Sy Type:
    131 .Em optional
    132 .br
    133 .Sy Default:
    134 .Em application
    135 .br
    136 .Sy Example:
    137 .Dl xcode.destroot.type framework
    138 .br
    139 .It Ic xcode.destroot.path
    140 Where to install the build product.
    141 .br
    142 .Sy Type:
    143 .Em optional
    144 .br
    145 .Sy Default:
    146 .Em ${prefix}/Library/Frameworks
    147 or
    148 .Em /Applications/MacPorts depending on xcode.destroot.type
    149 .br
    150 .It Ic xcode.destroot.settings
    151 Additional settings passed to the xcode build tool during the destroot phase.
    152 These settings should be in the X=Y form.
    153 .br
    154 .Sy Type:
    155 .Em optional
    156 .br
    157 .Sy Example:
    158 .Bd -literal -offset indent -compact
    159 xcode.destroot.settings SKIP_INSTALL=NO
    160 .Ed
    161 .El
    162 .Sh STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP
    163 The following standard Portfile variables actually affect
    164 .Nm xcode PortGroup.
    165 In most cases, you will not need to set any of these variables in the Portfile.
    166 .Bl -tag -width lc
    167 .It Ic destroot
    168 Where to destroot the project.
    169 .br
    170 .It Ic build.cmd
    171 The command to invoke to build the project.
    172 .Nm xcode PortGroup
    173 sets this variable to ${xcodebuildcmd}.
    174 .br
    175 .It Ic build.target
    176 The Xcode target to build.
    177 .Nm xcode PortGroup
    178 sets this variable to "", thus building all targets. This variable will be
    179 ignored if xcode.target is set.
    180 .br
    181 .It Ic build.pre_args
    182 Additional parameters for ${build.cmd}.
    183 .br
    184 .Sy Default:
     1'\" t
     2.TH "PORTGROUP" "7" "2013\-03\-10" "MacPorts 2\&.3\&.99" "MacPorts Manual"
     3.\" -----------------------------------------------------------------
     4.\" * Define some portability stuff
     5.\" -----------------------------------------------------------------
     6.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     7.\" http://bugs.debian.org/507673
     8.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
     9.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     10.ie \n(.g .ds Aq \(aq
     11.el       .ds Aq '
     12.\" -----------------------------------------------------------------
     13.\" * set default formatting
     14.\" -----------------------------------------------------------------
     15.\" disable hyphenation
     16.nh
     17.\" disable justification (adjust text to left margin only)
     18.ad l
     19.\" -----------------------------------------------------------------
     20.\" * MAIN CONTENT STARTS HERE *
     21.\" -----------------------------------------------------------------
     22.SH "NAME"
     23portgroup \- MacPorts PortGroup command reference
     24.SH "SYNOPSIS"
     25.sp
     26.nf
     27PortGroup gnustep 1\&.0
     28PortGroup perl5 1\&.0
     29PortGroup python24 1\&.0
     30PortGroup python25 1\&.0
     31PortGroup python30 1\&.0
     32PortGroup ruby 1\&.0
     33PortGroup xcode 1\&.0
     34.fi
     35.SH "DESCRIPTION"
     36.sp
     37MacPorts defines the notion of PortGroup classes with the PortGroup command\&. These classes factorize the work for similar ports\&. Port maintainers willing to use PortGroup need to have some notion of Portfiles\&. See \fBportfile\fR(7)\&.
     38.SH "XCODE PORTGROUP"
     39.sp
     40\fBPortGroup xcode\fR is here to easily port Xcode\-based opensource software\&. It handles configuration, build and destroot phases\&. It also defines some values for Xcode\-based software\&. A minimum Portfile using the \fBxcode PortGroup\fR class only defines the fetch and the checksum phases\&.
     41.sp
     42Using \fBPortGroup xcode\fR is a way to make your port more robust to Xcode version updates as the PortGroup is tested against all supported Mac OS X and Xcode versions\&.
     43.SS "XCODE PORTGROUP SUGAR"
     44.sp
     45Portfiles using \fBxcode PortGroup\fR do not need to define the following variables:
     46.PP
     47categories
     48.RS 4
     49\fBDefault:\fR
     50aqua
     51.RE
     52.PP
     53platforms
     54.RS 4
     55\fBDefault:\fR
     56macosx
     57.RE
     58.PP
     59use_configure
     60.RS 4
     61\fBDefault:\fR
     62no
     63.RE
     64.sp
     65Moreover, Portfiles using \fBPortGroup xcode\fR do not need to define any build or destroot phase\&. Some options are provided for tailoring these phases to what the software requires\&.
     66.SS "XCODE PORTGROUP SPECIFIC VARIABLES"
     67.sp
     68Portfiles using \fBxcode PortGroup\fR may define the following variables:
     69.PP
     70xcode\&.project
     71.RS 4
     72Path (relative to ${build\&.dir} and ${destroot\&.dir}) of the Xcode project\&. If unset, let xcode tool figure it out\&. It usually succeeds if there is a single project in the directory\&.
     73.TS
     74tab(:);
     75lt lt.
     76T{
     77\fBType:\fR
     78T}:T{
     79optional
     80T}
     81.TE
     82.sp 1
     83\fBExample:\fR
     84.sp
     85.if n \{\
     86.RS 4
     87.\}
     88.nf
     89xcode\&.project ${name}\&.xcode
     90.fi
     91.if n \{\
     92.RE
     93.\}
     94.RE
     95.PP
     96xcode\&.configuration
     97.RS 4
     98Project configuration/buildstyle to use\&.
     99.TS
     100tab(:);
     101lt lt
     102lt lt.
     103T{
     104\fBType:\fR
     105T}:T{
     106optional
     107T}
     108T{
     109\fBDefault:\fR
     110T}:T{
     111Deployment
     112T}
     113.TE
     114.sp 1
     115\fBExample:\fR
     116.sp
     117.if n \{\
     118.RS 4
     119.\}
     120.nf
     121xcode\&.configuration Main
     122.fi
     123.if n \{\
     124.RE
     125.\}
     126.RE
     127.PP
     128xcode\&.target
     129.RS 4
     130If present, overrides build\&.target and destroot\&.target\&.
     131.TS
     132tab(:);
     133lt lt.
     134T{
     135\fBType:\fR
     136T}:T{
     137optional
     138T}
     139.TE
     140.sp 1
     141.RE
     142.PP
     143xcode\&.build\&.settings
     144.RS 4
     145Additional settings passed to the xcode build tool during the build phase\&. These settings should be in the X=Y form\&.
     146.TS
     147tab(:);
     148lt lt.
     149T{
     150\fBType:\fR
     151T}:T{
     152optional
     153T}
     154.TE
     155.sp 1
     156\fBExample:\fR
     157.sp
     158.if n \{\
     159.RS 4
     160.\}
     161.nf
     162xcode\&.build\&.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks
     163.fi
     164.if n \{\
     165.RE
     166.\}
     167.RE
     168.PP
     169xcode\&.destroot\&.type
     170.RS 4
     171Type of project that will be installed\&. This tells Xcode PortGroup how to destroot the project\&. Correct values are application and framework\&.
     172.TS
     173tab(:);
     174lt lt
     175lt lt.
     176T{
     177\fBType:\fR
     178T}:T{
     179optional
     180T}
     181T{
     182\fBDefault:\fR
     183T}:T{
     184application
     185T}
     186.TE
     187.sp 1
     188\fBExample:\fR
     189.sp
     190.if n \{\
     191.RS 4
     192.\}
     193.nf
     194xcode\&.destroot\&.type framework
     195.fi
     196.if n \{\
     197.RE
     198.\}
     199.RE
     200.PP
     201xcode\&.destroot\&.path
     202.RS 4
     203Where to install the build product\&.
     204.TS
     205tab(:);
     206lt lt
     207lt lt.
     208T{
     209\fBType:\fR
     210T}:T{
     211optional
     212T}
     213T{
     214\fBDefault:\fR
     215T}:T{
     216${prefix}/Library/Frameworks or /Applications/MacPorts depending on xcode\&.destroot\&.type
     217T}
     218.TE
     219.sp 1
     220.RE
     221.PP
     222xcode\&.destroot\&.settings
     223.RS 4
     224Additional settings passed to the xcode build tool during the destroot phase\&. These settings should be in the X=Y form\&.
     225.TS
     226tab(:);
     227lt lt.
     228T{
     229\fBType:\fR
     230T}:T{
     231optional
     232T}
     233.TE
     234.sp 1
     235\fBExample:\fR
     236.sp
     237.if n \{\
     238.RS 4
     239.\}
     240.nf
     241xcode\&.destroot\&.settings SKIP_INSTALL=NO
     242.fi
     243.if n \{\
     244.RE
     245.\}
     246.RE
     247.SS "STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP"
     248.sp
     249The following standard Portfile variables actually affect \fBxcode PortGroup\fR\&. In most cases, you will not need to set any of these variables in the Portfile\&.
     250.PP
     251destroot
     252.RS 4
     253Where to destroot the project\&.
     254.RE
     255.PP
     256build\&.cmd
     257.RS 4
     258The command to invoke to build the project\&.
     259\fBxcode PortGroup\fR
     260sets this variable to ${xcodebuildcmd}\&.
     261.RE
     262.PP
     263build\&.target
     264.RS 4
     265The Xcode target to build\&.
     266\fBxcode PortGroup\fR
     267sets this variable to "", thus building all targets\&. This variable will be ignored if xcode\&.target is set\&.
     268.RE
     269.PP
     270build\&.pre_args
     271.RS 4
     272Additional parameters for ${build\&.cmd}\&.
     273.TS
     274tab(:);
     275lt lt.
     276T{
     277\fBDefault:\fR
     278T}:T{
    185279none
    186 .br
    187 .It Ic build.args
    188 Main parameters for ${build.cmd}.
    189 .br
    190 .Sy Default:
    191 .Em build
    192 .br
    193 .It Ic build.post_args
    194 Additional parameters for ${build.cmd}.
    195 .br
    196 .Sy Default:
     280T}
     281.TE
     282.sp 1
     283.RE
     284.PP
     285build\&.args
     286.RS 4
     287Main parameters for ${build\&.cmd}\&.
     288.TS
     289tab(:);
     290lt lt.
     291T{
     292\fBDefault:\fR
     293T}:T{
     294build
     295T}
     296.TE
     297.sp 1
     298.RE
     299.PP
     300build\&.post_args
     301.RS 4
     302Additional parameters for ${build\&.cmd}\&.
     303.TS
     304tab(:);
     305lt lt.
     306T{
     307\fBDefault:\fR
     308T}:T{
    197309none
    198 .br
    199 .It Ic build.dir
    200 Where to build the project from (i.e. where the Xcode project is).
    201 .br
    202 .Sy Default:
     310T}
     311.TE
     312.sp 1
     313.RE
     314.PP
     315build\&.dir
     316.RS 4
     317Where to build the project from (i\&.e\&. where the Xcode project is)\&.
     318.TS
     319tab(:);
     320lt lt.
     321T{
     322\fBDefault:\fR
     323T}:T{
    203324${worksrcpath}
    204 .br
    205 .It Ic destroot.cmd
    206 The command to invoke to destroot the project.
    207 .Nm xcode PortGroup
    208 sets this variable to xcodebuildcmd.
    209 .br
    210 .It Ic destroot.target
    211 The Xcode target to install.
    212 .Nm xcode PortGroup
    213 sets this variable to "", thus installing all targets. This variable will be
    214 ignored if xcode.target is set.
    215 .br
    216 .It Ic destroot.pre_args
    217 Additional parameters for ${destroot.cmd}.
    218 .br
    219 .Sy Default:
     325T}
     326.TE
     327.sp 1
     328.RE
     329.PP
     330destroot\&.cmd
     331.RS 4
     332The command to invoke to destroot the project\&.
     333\fBxcode PortGroup\fR
     334sets this variable to xcodebuildcmd\&.
     335.RE
     336.PP
     337destroot\&.target
     338.RS 4
     339The Xcode target to install\&.
     340\fBxcode PortGroup\fR
     341sets this variable to "", thus installing all targets\&. This variable will be ignored if xcode\&.target is set\&.
     342.RE
     343.PP
     344destroot\&.pre_args
     345.RS 4
     346Additional parameters for ${destroot\&.cmd}\&.
     347.TS
     348tab(:);
     349lt lt.
     350T{
     351\fBDefault:\fR
     352T}:T{
    220353none
    221 .br
    222 .It Ic destroot.args
    223 Main parameters for ${destroot.cmd}.
    224 .br
    225 .Sy Default:
    226 .Em install
    227 .br
    228 .It Ic destroot.post_args
    229 Additional parameters for ${destroot.cmd}.
    230 .br
    231 .Sy Default:
     354T}
     355.TE
     356.sp 1
     357.RE
     358.PP
     359destroot\&.args
     360.RS 4
     361Main parameters for ${destroot\&.cmd}\&.
     362.TS
     363tab(:);
     364lt lt.
     365T{
     366\fBDefault:\fR
     367T}:T{
     368install
     369T}
     370.TE
     371.sp 1
     372.RE
     373.PP
     374destroot\&.post_args
     375.RS 4
     376Additional parameters for ${destroot\&.cmd}\&.
     377.TS
     378tab(:);
     379lt lt.
     380T{
     381\fBDefault:\fR
     382T}:T{
    232383none
    233 .br
    234 .It Ic destroot.dir
    235 Where to destroot the project from (i.e. where the Xcode project is).
    236 .br
    237 .Sy Default:
     384T}
     385.TE
     386.sp 1
     387.RE
     388.PP
     389destroot\&.dir
     390.RS 4
     391Where to destroot the project from (i\&.e\&. where the Xcode project is)\&.
     392.TS
     393tab(:);
     394lt lt.
     395T{
     396\fBDefault:\fR
     397T}:T{
    238398${worksrcpath}
    239 .br
    240 .El
    241 .Sh GNUSTEP PORTGROUP
    242 .Nm PortGroup gnustep
    243 is here to easily port GNUstep-based opensource software using the GNU
    244 objective-C runtime. It handles configuration, build and destroot phases.
    245 It also defines some values for GNUstep-based software. A minimum Portfile
    246 using the gnustep PortGroup class only defines the fetch and the checksum phases.
    247 .Sh GNUSTEP FILESYSTEM LAYOUTS
    248 .Nm PortGroup gnustep
    249 also supports both the traditionnal gnustep file layout and the new fhs file layout.
    250 However, the ports themselves do not necessarily support both.
    251 The Portfiles have access to many procedures in dealing with these two layouts :
    252 .Bl -tag -width lc
    253 .It Ic set_gnustep_make
     399T}
     400.TE
     401.sp 1
     402.RE
     403.SH "GNUSTEP PORTGROUP"
     404.sp
     405\fBPortGroup gnustep\fR is here to easily port GNUstep\-based opensource software using the GNU objective\- C runtime\&. It handles configuration, build and destroot phases\&. It also defines some values for GNUstep\-based software\&. A minimum Portfile using the \fBgnustep PortGroup\fR class only defines the fetch and the checksum phases\&.
     406.SS "GNUSTEP FILESYSTEM LAYOUTS"
     407.sp
     408PortGroup gnustep also supports both the traditionnal gnustep file layout and the new fhs file layout\&. However, the ports themselves do not necessarily support both\&. The Portfiles have access to many procedures in dealing with these two layouts:
     409.PP
     410set_gnustep_make
     411.RS 4
    254412Sets GNUSTEP_MAKEFILES according to the FilesystemLayout
    255 .br
    256 .It Ic set_gnustep_env
     413.RE
     414.PP
     415set_gnustep_env
     416.RS 4
    257417Sets DYLD_LIBRARY_PATH and PATH for the gnustep FilesystemLayout
    258 .br
    259 .It Ic gnustep_layout
     418.RE
     419.PP
     420gnustep_layout
     421.RS 4
    260422Returns true (1) if current file layout is gnustep
    261 .br
    262 .It Ic set_system_library
     423.RE
     424.PP
     425set_system_library
     426.RS 4
    263427Sets GNUSTEP_SYSTEM_LIBRARY according to the FilesystemLayout
    264 .br
    265 .It Ic set_local_library
     428.RE
     429.PP
     430set_local_library
     431.RS 4
    266432Sets GNUSTEP_LOCAL_LIBRARY according to the FilesystemLayout
    267 .br
    268 .El
    269 .Pp
    270 .Sh GNUSTEP PORTGROUP SUGAR
    271 Portfiles using gnustep PortGroup do not need to define the following variables:
    272 .Bl -tag -width lc
    273 .It Ic categories
    274 .Sy Default:
    275 .Em gnustep
    276 .br
    277 .It Ic homepage
    278 .Sy Default:
    279 .Em http://www.gnustep.org/
    280 .br
    281 .It Ic master_sites
    282 .Sy Default:
    283 .Em gnustep:core
    284 .br
    285 .It Ic depends_lib
    286 .Sy Default:
    287 .Em gnustep-core
    288 .br
    289 .It Ic use_configure
    290 .Sy Default:
    291 .Em no
    292 .It Ic configure.env
    293 .Sy Default:
    294 .Em DYLD_LIBRARY_PATH PATH
    295 .It Ic configure.pre_args-append
    296 .Sy Default:
    297 .Em CC=gcc-mp-4.2 GNUSTEP_MAKEFILES
    298 .br
    299 .It Ic build.type
    300 .Sy Default:
    301 .Em gnu
    302 .br
    303 .It Ic build.env
    304 .Sy Default:
    305 .Em DYLD_LIBRARY_PATH PATH
    306 .It Ic build.pre_args-append
    307 .Sy Default:
    308 .Em messages=yes
    309 .br
    310 .It Ic destroot.env
    311 .Sy Default:
    312 .Em DYLD_LIBRARY_PATH PATH
    313 .It Ic destroot.pre_args-append
    314 .Sy Default:
    315 .Em messages=yes
    316 .br
    317 .br
    318 .El
    319 .br
    320 Moreover, Portfiles using
    321 .Nm PortGroup gnustep
    322 do not need to define any build or destroot phase.  Some options are provided
    323 for tailoring these phases to what the software requires.  A mechanism is also
    324 provided to ease the patch process.
    325 .Sh GNUSTEP PORTGROUP SPECIFIC VARIABLES
    326 Portfiles using
    327 .Nm gnustep PortGroup
    328 may define the following variables:
    329 .Bl -tag -width lc
    330 .It Ic gnustep.post_flags
    331 an associative array which specifies the sub-directories relative to ${worksrcpath}
    332 and the SHARED_LD_POSTFLAGS variables to be added to GNUmakefile.preamble in those
    333 sub-directories.  This helps making the patching process easier on Darwin.
    334 .br
    335 .Sy Type:
    336 .Em optional
    337 .br
    338 .Sy Example:
    339 .Dl platform darwin {
    340 .Dl             array set gnustep.post_flags {
    341 .Dl                     BundleSubDir  """-lfoo -lbar""
    342 .Dl             }
    343 .Dl }
    344 .br
    345 .It Ic gnustep.cc
    346 .br
    347 .Sy Type:
    348 .Em optional
    349 .br
    350 .Sy Default:
    351 .Em gcc-mp-4.2
    352 .br
    353 .Sy Example:
    354 .Dl gnustep.cc gcc-mp-4.3
    355 .br
    356 .It Ic variant with_docs
    357 Many GNUstep packages include a Documentation sub-directory that is not
    358 built by default.  Enabling this variant builds and installs the included
    359 documentation.
    360 .br
    361 .Sy Type:
    362 .Em optional
    363 .br
    364 .Sy Example:
    365 .Dl port install gnustep-gui +with_docs
    366 .br
    367 .El
    368 .Sh SEE ALSO
    369 .Xr port 1 ,
    370 .Xr macports.conf 5 ,
    371 .Xr portfile 7 ,
    372 .Xr portstyle 7 ,
    373 .Xr porthier 7
    374 .Sh AUTHORS
    375 .An "Paul Guyot" Aq pguyot@kallisys.net
    376 .An "Yves de Champlain" Aq yves@macports.org
     433.RE
     434.SS "GNUSTEP PORTGROUP SUGAR"
     435.sp
     436Portfiles using \fBgnustep PortGroup\fR do not need to define the following variables:
     437.PP
     438categories
     439.RS 4
     440\fBDefault:\fR
     441gnustep
     442.RE
     443.PP
     444homepage
     445.RS 4
     446\fBDefault:\fR\m[blue]\fBhttp://www\&.gnustep\&.org/\fR\m[]
     447.RE
     448.PP
     449master_sites
     450.RS 4
     451\fBDefault:\fR
     452gnustep:core
     453.RE
     454.PP
     455depends_lib
     456.RS 4
     457\fBDefault:\fR
     458gnustep\-core
     459.RE
     460.PP
     461use_configure
     462.RS 4
     463\fBDefault:\fR
     464no
     465.RE
     466.PP
     467configure\&.env
     468.RS 4
     469\fBDefault:\fR
     470DYLD_LIBRARY_PATH PATH
     471.RE
     472.PP
     473configure\&.pre_args\-append
     474.RS 4
     475\fBDefault:\fR
     476CC=gcc\-mp\-4\&.2 GNUSTEP_MAKEFILES
     477.RE
     478.PP
     479build\&.type
     480.RS 4
     481\fBDefault:\fR
     482gnu
     483.RE
     484.PP
     485build\&.env
     486.RS 4
     487\fBDefault:\fR
     488DYLD_LIBRARY_PATH PATH
     489.RE
     490.PP
     491build\&.pre_args\-append
     492.RS 4
     493\fBDefault:\fR
     494messages=yes
     495.RE
     496.PP
     497destroot\&.env
     498.RS 4
     499\fBDefault:\fR
     500DYLD_LIBRARY_PATH PATH
     501.RE
     502.PP
     503destroot\&.pre_args\-append
     504.RS 4
     505\fBDefault:\fR
     506messages=yes
     507.RE
     508.sp
     509Moreover, Portfiles using \fBPortGroup gnustep\fR do not need to define any build or destroot phase\&. Some options are provided for tailoring these phases to what the software requires\&. A mechanism is also provided to ease the patch process\&.
     510.SS "GNUSTEP PORTGROUP SPECIFIC VARIABLES"
     511.sp
     512Portfiles using \fBgnustep PortGroup\fR may define the following variables:
     513.PP
     514gnustep\&.post_flags
     515.RS 4
     516an associative array which specifies the sub\-directories relative to ${worksrcpath} and the SHARED_LD_POSTFLAGS variables to be added to GNUmakefile\&.preamble in those sub\-directories\&. This helps making the patching process easier on Darwin\&.
     517.TS
     518tab(:);
     519lt lt.
     520T{
     521\fBType:\fR
     522T}:T{
     523optional
     524T}
     525.TE
     526.sp 1
     527\fBExample:\fR
     528.sp
     529.if n \{\
     530.RS 4
     531.\}
     532.nf
     533platform darwin {
     534    array set gnustep\&.post_flags {
     535        BundleSubDir "\-lfoo \-lbar"
     536    }
     537}
     538.fi
     539.if n \{\
     540.RE
     541.\}
     542.RE
     543.PP
     544gnustep\&.cc
     545.RS 4
     546.TS
     547tab(:);
     548lt lt
     549lt lt.
     550T{
     551\fBType:\fR
     552T}:T{
     553optional
     554T}
     555T{
     556\fBDefault:\fR
     557T}:T{
     558gcc\-mp\-4\&.2
     559T}
     560.TE
     561.sp 1
     562\fBExample:\fR
     563.sp
     564.if n \{\
     565.RS 4
     566.\}
     567.nf
     568gnustep\&.cc gcc\-mp\-4\&.3
     569.fi
     570.if n \{\
     571.RE
     572.\}
     573.RE
     574.PP
     575variant with_docs
     576.RS 4
     577Many GNUstep packages include a Documentation sub\-directory that is not built by default\&. Enabling this variant builds and installs the included documentation\&.
     578.TS
     579tab(:);
     580lt lt.
     581T{
     582\fBType:\fR
     583T}:T{
     584optional
     585T}
     586.TE
     587.sp 1
     588\fBExample:\fR
     589.sp
     590.if n \{\
     591.RS 4
     592.\}
     593.nf
     594port install gnustep\-gui +with_docs
     595.fi
     596.if n \{\
     597.RE
     598.\}
     599.RE
     600.SH "SEE ALSO"
     601.sp
     602\fBport\fR(1), \fBmacports.conf\fR(5), \fBportfile\fR(7), \fBportstyle\fR(7), \fBporthier\fR(7)
     603.SH "AUTHORS"
     604.sp
     605.if n \{\
     606.RS 4
     607.\}
     608.nf
     609(C) 2013 The MacPorts Project
     610Paul Guyot <pguyot@kallisys\&.net>
     611Yves de Champlain <yves@macports\&.org>
     612Rainer Mueller <raimue@macports\&.org>
     613.fi
     614.if n \{\
     615.RE
     616.\}
  • trunk/base/src/macports1.0/macports_autoconf.tcl.in

    r113478 r123002  
    4141    variable macports_user_dir "~/.macports"
    4242    variable macportsuser "@RUNUSR@"
     43    variable man_path "@MAN@"
    4344    variable mdfind_path "@MDFIND@"
    4445    variable mdls_path "@MDLS@"
  • trunk/base/src/pextlib1.0/Makefile.in

  • trunk/base/src/pextlib1.0/sha2.c

  • trunk/base/src/pextlib1.0/sha2.h

  • trunk/base/src/pextlib1.0/system.c

    r120059 r123002  
    108108}
    109109
    110 /* usage: system ?-notty? ?-nice value? ?-W path? command */
     110/* usage: system ?-notty? ?-nodup? ?-nice value? ?-W path? command */
    111111int SystemCmd(ClientData clientData UNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
    112112{
     
    123123    int fline, pos, ret;
    124124    int osetsid = 0;
     125    int odup = 1; /* redirect stdin/stdout/stderr by default */
    125126    int oniceval = INT_MAX; /* magic value indicating no change */
    126127    const char *path = NULL;
     
    142143        if (strcmp(arg, "-notty") == 0) {
    143144            osetsid = 1;
     145        } else if (strcmp(arg, "-nodup") == 0) {
     146            odup = 0;
    144147        } else if (strcmp(arg, "-nice") == 0) {
    145148            i++;
     
    169172     * popen() itself is not used because stderr is also desired.
    170173     */
    171     if (pipe(fdset) != 0) {
    172         Tcl_SetResult(interp, strerror(errno), TCL_STATIC);
    173         return TCL_ERROR;
     174    if (odup) {
     175        if (pipe(fdset) != 0) {
     176            Tcl_SetResult(interp, strerror(errno), TCL_STATIC);
     177            return TCL_ERROR;
     178        }
    174179    }
    175180
     
    181186        /*NOTREACHED*/
    182187    case 0: /* child */
    183         close(fdset[0]);
    184 
    185         if ((nullfd = open(_PATH_DEVNULL, O_RDONLY)) == -1)
    186             _exit(1);
    187         dup2(nullfd, STDIN_FILENO);
    188         dup2(fdset[1], STDOUT_FILENO);
    189         dup2(fdset[1], STDERR_FILENO);
     188        if (odup) {
     189            close(fdset[0]);
     190
     191            if ((nullfd = open(_PATH_DEVNULL, O_RDONLY)) == -1)
     192                _exit(1);
     193            dup2(nullfd, STDIN_FILENO);
     194            dup2(fdset[1], STDOUT_FILENO);
     195            dup2(fdset[1], STDERR_FILENO);
     196        }
    190197        /* drop the controlling terminal if requested */
    191198        if (osetsid) {
     
    237244    }
    238245
    239     close(fdset[1]);
    240 
    241     /* read from simulated popen() pipe */
    242     read_failed = 0;
    243     pos = 0;
    244     memset(circbuf, 0, sizeof(circbuf));
    245     pdes = fdopen(fdset[0], "r");
    246     if (pdes) {
    247         while ((buf = fgetln(pdes, &linelen)) != NULL) {
    248             char *sbuf;
    249             size_t slen;
    250    
    251             /*
    252              * Allocate enough space to insert a terminating
    253              * '\0' if the line is not terminated with a '\n'
    254              */
    255             if (buf[linelen - 1] == '\n')
    256                 slen = linelen;
    257             else
    258                 slen = linelen + 1;
    259    
    260             if (circbuf[pos].len == 0)
    261                 sbuf = malloc(slen);
    262             else {
    263                 sbuf = realloc(circbuf[pos].line, slen);
    264             }
    265    
    266             if (sbuf == NULL) {
    267                 read_failed = 1;
    268                 break;
    269             }
    270    
    271             memcpy(sbuf, buf, linelen);
    272             /* terminate line with '\0',replacing '\n' if it exists */
    273             sbuf[slen - 1] = '\0';
    274    
    275             circbuf[pos].line = sbuf;
    276             circbuf[pos].len = slen;
    277    
    278             if (pos++ == CBUFSIZ - 1) {
    279                 pos = 0;
    280             }
    281    
    282             if (ui_info(interp, sbuf) != TCL_OK) {
    283                 read_failed = 1;
    284                 break;
    285             }
    286         }
    287         fclose(pdes);
    288     } else {
    289         read_failed = 1;
    290         Tcl_SetResult(interp, strerror(errno), TCL_STATIC);
     246    if (odup) {
     247        close(fdset[1]);
     248
     249        /* read from simulated popen() pipe */
     250        read_failed = 0;
     251        pos = 0;
     252        memset(circbuf, 0, sizeof(circbuf));
     253        pdes = fdopen(fdset[0], "r");
     254        if (pdes) {
     255            while ((buf = fgetln(pdes, &linelen)) != NULL) {
     256                char *sbuf;
     257                size_t slen;
     258
     259                /*
     260                * Allocate enough space to insert a terminating
     261                * '\0' if the line is not terminated with a '\n'
     262                */
     263                if (buf[linelen - 1] == '\n')
     264                    slen = linelen;
     265                else
     266                    slen = linelen + 1;
     267
     268                if (circbuf[pos].len == 0)
     269                    sbuf = malloc(slen);
     270                else {
     271                    sbuf = realloc(circbuf[pos].line, slen);
     272                }
     273
     274                if (sbuf == NULL) {
     275                    read_failed = 1;
     276                    break;
     277                }
     278
     279                memcpy(sbuf, buf, linelen);
     280                /* terminate line with '\0',replacing '\n' if it exists */
     281                sbuf[slen - 1] = '\0';
     282
     283                circbuf[pos].line = sbuf;
     284                circbuf[pos].len = slen;
     285
     286                if (pos++ == CBUFSIZ - 1) {
     287                    pos = 0;
     288                }
     289
     290                if (ui_info(interp, sbuf) != TCL_OK) {
     291                    read_failed = 1;
     292                    break;
     293                }
     294            }
     295            fclose(pdes);
     296        } else {
     297            read_failed = 1;
     298            Tcl_SetResult(interp, strerror(errno), TCL_STATIC);
     299        }
    291300    }
    292301
     
    325334    }
    326335
    327     /* Cleanup. */
    328     close(fdset[0]);
    329     for (fline = 0; fline < CBUFSIZ; fline++) {
    330         if (circbuf[fline].len != 0) {
    331             free(circbuf[fline].line);
     336    if (odup) {
     337        /* Cleanup. */
     338        close(fdset[0]);
     339        for (fline = 0; fline < CBUFSIZ; fline++) {
     340            if (circbuf[fline].len != 0) {
     341                free(circbuf[fline].line);
     342            }
    332343        }
    333344    }
  • trunk/base/src/port/Makefile.in

    r122044 r123002  
    3939        $(INSTALL) -d -o "${DSTUSR}" -g "${DSTGRP}" -m "${DSTMODE}" "${INSTALLDIR}/var/macports"
    4040        $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 555 port portindex portmirror "${INSTALLDIR}/bin/"
    41         $(INSTALL)    -o "${DSTUSR}" -g "${DSTGRP}" -m 444 "$(srcdir)/port-help.tcl" "${INSTALLDIR}/var/macports/"
    4241        cd "${INSTALLDIR}/bin" && $(LN_S) -f port portf
    4342        cd "${INSTALLDIR}/bin" && $(LN_S) -f "${TCLSH}" port-tclsh
  • trunk/base/src/port/port.tcl

    r122827 r123002  
    18211821
    18221822proc action_help { action portlist opts } {
    1823     set helpfile "$macports::prefix/var/macports/port-help.tcl"
    1824 
     1823    set manext ".gz"
    18251824    if {[llength $portlist] == 0} {
    1826         print_help
    1827         return 0
    1828     }
    1829 
    1830     if {[file exists $helpfile]} {
    1831         if {[catch {source $helpfile} err]} {
    1832             puts stderr "Error reading helpfile $helpfile: $err"
     1825        set page "man1/port.1$manext"
     1826    } else {
     1827        set topic [lindex $portlist 0]
     1828
     1829        # Look for an action with the requested argument
     1830        set actions [find_action $topic]
     1831        if {[llength $actions] == 1} {
     1832            set page "man1/port-[lindex $actions 0].1$manext"
     1833        } else {
     1834            if {[llength $actions] > 1} {
     1835                ui_error "\"port help ${action}\" is ambiguous: \n  port help [join $actions "\n  port help "]"
     1836                return 1
     1837            }
     1838
     1839            # No valid command specified
     1840            set page ""
     1841        }
     1842    }
     1843
     1844    set pagepath ${macports::prefix}/share/man/$page
     1845    if {$page == "" || ![file exists $pagepath]} {
     1846        set page "man7/portundocumented.7$manext"
     1847        set pagepath ${macports::prefix}/share/man/$page
     1848    }
     1849
     1850    if {$pagepath != ""} {
     1851        ui_debug "Opening man page '$pagepath'"
     1852
     1853        # Restore our entire environment from start time.
     1854        # man might want to evaluate TERM
     1855        global env boot_env
     1856        array unset env_save; array set env_save [array get env]
     1857        array unset env *
     1858        if {${macports::macosx_version} == "10.5"} {
     1859            unsetenv *
     1860        }
     1861        array set env [array get boot_env]
     1862
     1863        if [catch {system -nodup "${macports::autoconf::man_path} $pagepath"} result] {
     1864            ui_debug "$::errorInfo"
     1865            ui_error "Unable to show man page using ${macports::autoconf::man_path}: $result"
    18331866            return 1
    18341867        }
     1868
     1869        # Restore internal MacPorts environment
     1870        array unset env *
     1871        if {${macports::macosx_version} == "10.5"} {
     1872            unsetenv *
     1873        }
     1874        array set env [array get env_save]
    18351875    } else {
    1836         puts stderr "Unable to open help file $helpfile"
     1876        ui_error "Sorry, no help for this topic is available."
    18371877        return 1
    1838     }
    1839 
    1840     foreach topic $portlist {
    1841         if {![info exists porthelp($topic)]} {
    1842             puts stderr "No help for topic $topic"
    1843             return 1
    1844         }
    1845 
    1846         set usage [action_get_usage $topic]
    1847         if {$usage != -1} {
    1848            puts -nonewline stderr $usage
    1849         } else {
    1850             ui_error "No usage for topic $topic"
    1851             return 1
    1852         }
    1853 
    1854         puts stderr $porthelp($topic)
    18551878    }
    18561879
  • trunk/base/src/registry2.0/receipt_sqlite.tcl

Note: See TracChangeset for help on using the changeset viewer.