openpkg/rpmtool.8

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 13
cb59d6afeb61
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

     1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
     2 .\"
     3 .\" Standard preamble:
     4 .\" ========================================================================
     5 .de Sp \" Vertical space (when we can't use .PP)
     6 .if t .sp .5v
     7 .if n .sp
     8 ..
     9 .de Vb \" Begin verbatim text
    10 .ft CW
    11 .nf
    12 .ne \\$1
    13 ..
    14 .de Ve \" End verbatim text
    15 .ft R
    16 .fi
    17 ..
    18 .\" Set up some character translations and predefined strings.  \*(-- will
    19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
    20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
    21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
    22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
    23 .\" nothing in troff, for use with C<>.
    24 .tr \(*W-
    25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
    26 .ie n \{\
    27 .    ds -- \(*W-
    28 .    ds PI pi
    29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
    30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
    31 .    ds L" ""
    32 .    ds R" ""
    33 .    ds C` 
    34 .    ds C' 
    35 'br\}
    36 .el\{\
    37 .    ds -- \|\(em\|
    38 .    ds PI \(*p
    39 .    ds L" ``
    40 .    ds R" ''
    41 'br\}
    42 .\"
    43 .\" Escape single quotes in literal strings from groff's Unicode transform.
    44 .ie \n(.g .ds Aq \(aq
    45 .el       .ds Aq '
    46 .\"
    47 .\" If the F register is turned on, we'll generate index entries on stderr for
    48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
    49 .\" entries marked with X<> in POD.  Of course, you'll have to process the
    50 .\" output yourself in some meaningful fashion.
    51 .ie \nF \{\
    52 .    de IX
    53 .    tm Index:\\$1\t\\n%\t"\\$2"
    54 ..
    55 .    nr % 0
    56 .    rr F
    57 .\}
    58 .el \{\
    59 .    de IX
    60 ..
    61 .\}
    62 .\"
    63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
    64 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
    65 .    \" fudge factors for nroff and troff
    66 .if n \{\
    67 .    ds #H 0
    68 .    ds #V .8m
    69 .    ds #F .3m
    70 .    ds #[ \f1
    71 .    ds #] \fP
    72 .\}
    73 .if t \{\
    74 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
    75 .    ds #V .6m
    76 .    ds #F 0
    77 .    ds #[ \&
    78 .    ds #] \&
    79 .\}
    80 .    \" simple accents for nroff and troff
    81 .if n \{\
    82 .    ds ' \&
    83 .    ds ` \&
    84 .    ds ^ \&
    85 .    ds , \&
    86 .    ds ~ ~
    87 .    ds /
    88 .\}
    89 .if t \{\
    90 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
    91 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
    92 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
    93 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
    94 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
    95 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
    96 .\}
    97 .    \" troff and (daisy-wheel) nroff accents
    98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
    99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
   100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
   101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
   102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
   103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
   104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
   105 .ds ae a\h'-(\w'a'u*4/10)'e
   106 .ds Ae A\h'-(\w'A'u*4/10)'E
   107 .    \" corrections for vroff
   108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
   109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
   110 .    \" for low resolution devices (crt and lpr)
   111 .if \n(.H>23 .if \n(.V>19 \
   112 \{\
   113 .    ds : e
   114 .    ds 8 ss
   115 .    ds o a
   116 .    ds d- d\h'-1'\(ga
   117 .    ds D- D\h'-1'\(hy
   118 .    ds th \o'bp'
   119 .    ds Th \o'LP'
   120 .    ds ae ae
   121 .    ds Ae AE
   122 .\}
   123 .rm #[ #] #H #V #F C
   124 .\" ========================================================================
   125 .\"
   126 .IX Title "RPMTOOL 8"
   127 .TH RPMTOOL 8 "OpenPKG" "RPMTOOL(8)" "OpenPKG"
   128 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
   129 .\" way too many mistakes in technical documents.
   130 .if n .ad l
   131 .nh
   132 .SH "NAME"
   133 rpmtool \- RPM Auxiliary Tool
   134 .SH "SYNOPSIS"
   135 .IX Header "SYNOPSIS"
   136 \&\fBrpmtool\fR
   137 \&\fIcommand\fR
   138 [\fIcommand-options\fR]
   139 .SH "DESCRIPTION"
   140 .IX Header "DESCRIPTION"
   141 This is an auxiliary tool to the RedHat Package Manager (\s-1RPM\s0). It
   142 provides additional functionality for use in \s-1RPM\s0 \fIspec\fR files while
   143 building packages. The following \fIcommand\fRs are available:
   144 .IP "\fBplatform\fR" 4
   145 .IX Item "platform"
   146 This command outputs a unique platform id in the format
   147 \&\*(L"<architecture>\-<system><release>\*(R". For instance, the output on a
   148 FreeBSD platform can be \*(L"i386\-freebsd4.2\*(R", the output on a Linux
   149 platform can be \*(L"i686\-linux2.2.16\*(R", the output on a Solaris platform can
   150 be \*(L"sun4u\-sunos5.8\*(R", etc.
   151 .Sp
   152 Example:
   153 .Sp
   154 .Vb 5
   155 \& case \`rpmtool platform\`; in
   156 \&     *\-freebsd[34].* ) ... ;;
   157 \&     *\-sunos5.[678]  ) ... ;;
   158 \&     *\-linux2.[24].* ) ... ;;
   159 \& esac
   160 .Ve
   161 .IP "\fBmflags\fR [\fB\-O\fR] \fItool\fR" 4
   162 .IX Item "mflags [-O] tool"
   163 This command outputs additional flags for \fImake\fR\|(1) for
   164 use with the program \fItool\fR. It provides only standard flags which
   165 always can be used. In conjunction with \fB\-O\fR (optimization), it also provides
   166 reasonable job control for use on multi-processor platforms (for instance it
   167 outputs \*(L"\-j4\*(R" on an \s-1SMP\s0 system with 2 CPUs if \s-1GNU\s0 make or \s-1BSD\s0 pmake is used).
   168 .Sp
   169 Example:
   170 .Sp
   171 .Vb 1
   172 \& make \`rpmtool mflags \-O make\`
   173 .Ve
   174 .IP "\fBcflags\fR [\fB\-O\fR] \fItool\fR" 4
   175 .IX Item "cflags [-O] tool"
   176 This command outputs additional flags for \fIcc\fR\|(1) for use with the program
   177 \&\fItool\fR. It provides only standard flags which always can be used.
   178 conjunction with \fB\-O\fR it provides also optimization flags (for instance
   179 it outputs \*(L"\-O2 \-pipe\*(R" for \s-1GNU\s0 C/\*(C+ compiler).
   180 .Sp
   181 Example:
   182 .Sp
   183 .Vb 1
   184 \& CC="$CC" CFLAGS=\`rpmtool cflags \-O $CC\` ./configure ...
   185 .Ve
   186 .ie n .IP "\fBcppflags\fR [\fB\-p\fR \fIprefix\fR] [[\*(C`+|\-\*(C'\fIsubdir\fR ...]" 4
   187 .el .IP "\fBcppflags\fR [\fB\-p\fR \fIprefix\fR] [[\f(CW\*(C`+|\-\*(C'\fR\fIsubdir\fR ...]" 4
   188 .IX Item "cppflags [-p prefix] [[+|-subdir ...]"
   189 This command output \fIcpp\fR\|(1) \f(CW\*(C`\-I\*(C'\fR options for the OpenPKG instance
   190 \&\fIprefix\fR. It optionally can prefix or suffix with one or more \fIsubdir\fR
   191 related options, too. If \fIsubdir\fR is prefixed with \f(CW\*(C`+\*(C'\fR (or not
   192 prefixed at all), the generated option is appended. If \fIsubdir\fR is
   193 prefixed with \f(CW\*(C`\-\*(C'\fR the generated option is prepended.
   194 .Sp
   195 Example:
   196 .Sp
   197 .Vb 1
   198 \& rpmtool cppflags \-p /foo bar \-baz +quux
   199 .Ve
   200 .ie n .IP "\fBldflags\fR [\fB\-p\fR \fIprefix\fR] [[\*(C`+|\-\*(C'\fIsubdir\fR ...]" 4
   201 .el .IP "\fBldflags\fR [\fB\-p\fR \fIprefix\fR] [[\f(CW\*(C`+|\-\*(C'\fR\fIsubdir\fR ...]" 4
   202 .IX Item "ldflags [-p prefix] [[+|-subdir ...]"
   203 This command output \fIld\fR\|(1) \f(CW\*(C`\-L\*(C'\fR options for the OpenPKG instance
   204 \&\fIprefix\fR. It optionally can prefix or suffix with one or more \fIsubdir\fR
   205 related options, too. If \fIsubdir\fR is prefixed with \f(CW\*(C`+\*(C'\fR (or not
   206 prefixed at all), the generated option is appended. If \fIsubdir\fR is
   207 prefixed with \f(CW\*(C`\-\*(C'\fR the generated option is prepended.
   208 .Sp
   209 Example:
   210 .Sp
   211 .Vb 1
   212 \& rpmtool ldflags \-p /foo bar \-baz +quux
   213 .Ve
   214 .IP "\fBfiles\fR [\fB\-v\fR] [\fB\-o\fR \fIoutfile\fR] [\fB\-r\fR \fIbuild-root\fR] [\fIentry\fR ...]" 4
   215 .IX Item "files [-v] [-o outfile] [-r build-root] [entry ...]"
   216 This is a dynamic variant of the \s-1RPM\s0 \f(CW%files\fR section, i.e., it
   217 dynamically creates the contents of the \f(CW%files\fR section for use with
   218 the \f(CW\*(C`%files \-f\*(C'\fR command. For this the file list entries are read from
   219 the command line (or from stdin if no arguments are given or a single
   220 argument \f(CW\*(C`\-\*(C'\fR is given) and written to stdout (if no \fB\-o\fR option is
   221 given or its \fIoutfile\fR argument is \f(CW\*(C`\-\*(C'\fR) or to \fIoutfile\fR.
   222 .Sp
   223 The trick of this approach is to be able to use additional features in
   224 the file list which \s-1RPM\s0 does not provide. The following features are
   225 provided:
   226 .RS 4
   227 .IP "\fBTrailing Tags\fR" 4
   228 .IX Item "Trailing Tags"
   229 \&\s-1RPM\s0 requires that all tags (like \f(CW\*(C`%attr(...)\*(C'\fR or \f(CW%dir\fR) preceed the
   230 path in a file list entry. This sometimes leads to ugly and unreadable
   231 file lists, because all paths cannot be left-aligned. With \fIrpmtool\fR\|(8)
   232 tags in the input file list can be at leading and trailing positions.
   233 The output file list will nevertheless have all tags in leading
   234 positions for \s-1RPM\s0.
   235 .IP "\fBSyntactical Set Pattern\fR" 4
   236 .IX Item "Syntactical Set Pattern"
   237 \&\s-1RPM\s0 supports simple wildcard patterns like \f(CW\*(C`/path/*\*(C'\fR or \f(CW\*(C`/path/[a\-z]\*(C'\fR,
   238 etc. Sometimes it is convenient, to also have (in addition to character
   239 sets) string sets like \f(CW\*(C`/path/{foo,bar,quux}\*(C'\fR. \fIrpmtool\fR\|(8) provides this
   240 by syntactically (without checking the filesystem) expanding those
   241 string sets.
   242 .IP "\fBOverriding Entries\fR" 4
   243 .IX Item "Overriding Entries"
   244 This is the most important feature and the reason why \fIshtool\fR\|(1)'s
   245 \&\fBfiles\fR command was implemented. Although \s-1RPM\s0 allows one to specify a
   246 directory in a file list and then implicitly expands this recursively
   247 into its contents, it unfortunately does not allow one to later
   248 explcitly override particular entries (usually if an individual
   249 \&\f(CW\*(C`%attr(...)\*(C'\fR tag is required). \fIrpmtool\fR\|(8) now supports overriding
   250 entries, i.e., if a path occurs multiple times, only the last occurance
   251 is kept.
   252 .IP "\fBNegation Tag\fR" 4
   253 .IX Item "Negation Tag"
   254 This provides an additional tag \f(CW%not\fR which can be used to explicitly
   255 exclude a previously implicitly added entry.
   256 .RE
   257 .RS 4
   258 .Sp
   259 Example:
   260 .Sp
   261 .Vb 8
   262 \& %install
   263 \&   :
   264 \& rpmtool files \-o files \-r$RPM_BUILD_ROOT \e
   265 \&     \*(Aq%defattr(\-,foo,foo)\*(Aq \e
   266 \&     \*(Aq%{prefix}\*(Aq \e
   267 \&     \*(Aq%attr(1755,root,foo) %{prefix}/bin/bar\*(Aq \e
   268 \&     \*(Aq%not %dir {%{prefix},%{prefix}/*,%{prefix}/man/*}\*(Aq \e
   269 \&     \*(Aq%not %{prefix}/info/dir\*(Aq
   270 \&
   271 \& %files \-f files
   272 .Ve
   273 .RE
   274 .IP "\fBmsg\fR [\fB\-b\fR]" 4
   275 .IX Item "msg [-b]"
   276 This displays the contents of \fIstdin\fR as a boxed message. If option
   277 \&\fB\-b\fR is given it additionally beeps once before displaying the box.
   278 .SH "HISTORY"
   279 .IX Header "HISTORY"
   280 This tool was created in November 2000 for use in OpenPKG, the
   281 cross-platform RPM-based Unix software packaging facility.
   282 .SH "AUTHOR"
   283 .IX Header "AUTHOR"
   284 .Vb 3
   285 \& Ralf S. Engelschall
   286 \& rse@engelschall.com
   287 \& www.engelschall.com
   288 .Ve

mercurial