openpkg/rpmtool.8

Wed, 14 Jan 2009 15:59:12 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 14 Jan 2009 15:59:12 +0100
changeset 86
78e7deb1d6ab
child 428
f880f219c566
permissions
-rw-r--r--

Correct and improve many buildconf and code logic blocks. In particular:
1. Document potential problems building with current binutils releases.
2. Document the flawed webkit and explain its temporary exclusion.
3. Document the edition of Qt which is built and installed.
4. Remove the Solaris x11_supdir logic as it is no longer found.
5. Correct several .pr[io] files including QMAKE_CXXFLAGS and INCPATH,
which previously caused preexisting Qt installations to deliver
erroneous old include and library logic instead of relying on
that of the currently building package. -I/opkg/include is now
placed at the end of the compile statements.
6. Don't trust the QMAKE_[INC|LIB]DIR_X11 identifiers in qmake.conf.
7. Allow more 64-bit builds and more properly identify the platform.
8. Place plugins (which are shared objects) in lib instead of share.
9. Build components as plugins when possible if with_shared is enabled.
10. Translate German text to English to be more consistent.
11. Instead of removing the pkgconfig directory of with_shared builds,
place it in a child directory useful for shared building.
12. Document the nonstandard shared build directory structure,
including using the hidden pkgconfig directory (PKG_CONFIG_PATH.)
13. Change %doc to specify files rather than directories in the RPM DB.

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

mercurial