openpkg/rpmtool.8

Fri, 22 Oct 2010 13:22:33 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 22 Oct 2010 13:22:33 +0200
changeset 271
f45355418dfd
child 428
f880f219c566
permissions
-rw-r--r--

Import package vendor original specs for necessary manipulations.

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

mercurial