Thu, 04 Oct 2012 20:30:05 +0200
Correct out of date build configuration, porting to Solaris 11 network
link infrastructure and new libpcap logic. This additionally allows for
device drivers in subdirectories of /dev. Correct packaged nmap
personalities and signatures to work out of the box. Finally, hack
arpd logic to properly close sockets and quit on TERM by repeating
signaling in the run command script. Sadly, all this fails to correct
the run time behaviour of honeyd which fails to bind to the IP layer.
michael@428 | 1 | .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) |
michael@428 | 2 | .\" |
michael@428 | 3 | .\" Standard preamble: |
michael@428 | 4 | .\" ======================================================================== |
michael@428 | 5 | .de Sp \" Vertical space (when we can't use .PP) |
michael@428 | 6 | .if t .sp .5v |
michael@428 | 7 | .if n .sp |
michael@428 | 8 | .. |
michael@428 | 9 | .de Vb \" Begin verbatim text |
michael@428 | 10 | .ft CW |
michael@428 | 11 | .nf |
michael@428 | 12 | .ne \\$1 |
michael@428 | 13 | .. |
michael@428 | 14 | .de Ve \" End verbatim text |
michael@428 | 15 | .ft R |
michael@428 | 16 | .fi |
michael@428 | 17 | .. |
michael@428 | 18 | .\" Set up some character translations and predefined strings. \*(-- will |
michael@428 | 19 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
michael@428 | 20 | .\" double quote, and \*(R" will give a right double quote. \*(C+ will |
michael@428 | 21 | .\" give a nicer C++. Capital omega is used to do unbreakable dashes and |
michael@428 | 22 | .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, |
michael@428 | 23 | .\" nothing in troff, for use with C<>. |
michael@428 | 24 | .tr \(*W- |
michael@428 | 25 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
michael@428 | 26 | .ie n \{\ |
michael@428 | 27 | . ds -- \(*W- |
michael@428 | 28 | . ds PI pi |
michael@428 | 29 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
michael@428 | 30 | . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
michael@428 | 31 | . ds L" "" |
michael@428 | 32 | . ds R" "" |
michael@428 | 33 | . ds C` |
michael@428 | 34 | . ds C' |
michael@428 | 35 | 'br\} |
michael@428 | 36 | .el\{\ |
michael@428 | 37 | . ds -- \|\(em\| |
michael@428 | 38 | . ds PI \(*p |
michael@428 | 39 | . ds L" `` |
michael@428 | 40 | . ds R" '' |
michael@428 | 41 | 'br\} |
michael@428 | 42 | .\" |
michael@428 | 43 | .\" Escape single quotes in literal strings from groff's Unicode transform. |
michael@428 | 44 | .ie \n(.g .ds Aq \(aq |
michael@428 | 45 | .el .ds Aq ' |
michael@428 | 46 | .\" |
michael@428 | 47 | .\" If the F register is turned on, we'll generate index entries on stderr for |
michael@428 | 48 | .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index |
michael@428 | 49 | .\" entries marked with X<> in POD. Of course, you'll have to process the |
michael@428 | 50 | .\" output yourself in some meaningful fashion. |
michael@428 | 51 | .ie \nF \{\ |
michael@428 | 52 | . de IX |
michael@428 | 53 | . tm Index:\\$1\t\\n%\t"\\$2" |
michael@428 | 54 | .. |
michael@428 | 55 | . nr % 0 |
michael@428 | 56 | . rr F |
michael@428 | 57 | .\} |
michael@428 | 58 | .el \{\ |
michael@428 | 59 | . de IX |
michael@428 | 60 | .. |
michael@428 | 61 | .\} |
michael@428 | 62 | .\" |
michael@428 | 63 | .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
michael@428 | 64 | .\" Fear. Run. Save yourself. No user-serviceable parts. |
michael@428 | 65 | . \" fudge factors for nroff and troff |
michael@428 | 66 | .if n \{\ |
michael@428 | 67 | . ds #H 0 |
michael@428 | 68 | . ds #V .8m |
michael@428 | 69 | . ds #F .3m |
michael@428 | 70 | . ds #[ \f1 |
michael@428 | 71 | . ds #] \fP |
michael@428 | 72 | .\} |
michael@428 | 73 | .if t \{\ |
michael@428 | 74 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
michael@428 | 75 | . ds #V .6m |
michael@428 | 76 | . ds #F 0 |
michael@428 | 77 | . ds #[ \& |
michael@428 | 78 | . ds #] \& |
michael@428 | 79 | .\} |
michael@428 | 80 | . \" simple accents for nroff and troff |
michael@428 | 81 | .if n \{\ |
michael@428 | 82 | . ds ' \& |
michael@428 | 83 | . ds ` \& |
michael@428 | 84 | . ds ^ \& |
michael@428 | 85 | . ds , \& |
michael@428 | 86 | . ds ~ ~ |
michael@428 | 87 | . ds / |
michael@428 | 88 | .\} |
michael@428 | 89 | .if t \{\ |
michael@428 | 90 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
michael@428 | 91 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
michael@428 | 92 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
michael@428 | 93 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
michael@428 | 94 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
michael@428 | 95 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
michael@428 | 96 | .\} |
michael@428 | 97 | . \" troff and (daisy-wheel) nroff accents |
michael@428 | 98 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
michael@428 | 99 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
michael@428 | 100 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
michael@428 | 101 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
michael@428 | 102 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
michael@428 | 103 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
michael@428 | 104 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
michael@428 | 105 | .ds ae a\h'-(\w'a'u*4/10)'e |
michael@428 | 106 | .ds Ae A\h'-(\w'A'u*4/10)'E |
michael@428 | 107 | . \" corrections for vroff |
michael@428 | 108 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
michael@428 | 109 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
michael@428 | 110 | . \" for low resolution devices (crt and lpr) |
michael@428 | 111 | .if \n(.H>23 .if \n(.V>19 \ |
michael@428 | 112 | \{\ |
michael@428 | 113 | . ds : e |
michael@428 | 114 | . ds 8 ss |
michael@428 | 115 | . ds o a |
michael@428 | 116 | . ds d- d\h'-1'\(ga |
michael@428 | 117 | . ds D- D\h'-1'\(hy |
michael@428 | 118 | . ds th \o'bp' |
michael@428 | 119 | . ds Th \o'LP' |
michael@428 | 120 | . ds ae ae |
michael@428 | 121 | . ds Ae AE |
michael@428 | 122 | .\} |
michael@428 | 123 | .rm #[ #] #H #V #F C |
michael@428 | 124 | .\" ======================================================================== |
michael@428 | 125 | .\" |
michael@428 | 126 | .IX Title "DEV 8" |
michael@428 | 127 | .TH DEV 8 "OpenPKG" "DEV(8)" "OpenPKG" |
michael@428 | 128 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
michael@428 | 129 | .\" way too many mistakes in technical documents. |
michael@428 | 130 | .if n .ad l |
michael@428 | 131 | .nh |
michael@428 | 132 | \&\fBopenpkg dev\fR \- OpenPKG Package Development Tool |
michael@428 | 133 | .SH "DESCRIPTION" |
michael@428 | 134 | .IX Header "DESCRIPTION" |
michael@428 | 135 | \&\fBopenpkg dev\fR is a package development tool for \fBOpenPKG\fR. |
michael@428 | 136 | .SS "\s-1SOURCE\s0 \s-1PACKAGE\s0 \s-1HANDLING\s0" |
michael@428 | 137 | .IX Subsection "SOURCE PACKAGE HANDLING" |
michael@428 | 138 | .ie n .IP "\fBopenpkg dev unpack\fR [\*(C`\-l\*(C' \fIlayout\fR] [\*(C`\-b\*(C' \fIbasedir\fR] [\*(C`\-s\*(C'] [\*(C`\-d\*(C'] \fIname\fR\*(C`\-\*(C'\fIversion\fR\*(C`\-\*(C'\fIrelease\fR\*(C`.src.rpm\*(C'" 4 |
michael@428 | 139 | .el .IP "\fBopenpkg dev unpack\fR [\f(CW\*(C`\-l\*(C'\fR \fIlayout\fR] [\f(CW\*(C`\-b\*(C'\fR \fIbasedir\fR] [\f(CW\*(C`\-s\*(C'\fR] [\f(CW\*(C`\-d\*(C'\fR] \fIname\fR\f(CW\*(C`\-\*(C'\fR\fIversion\fR\f(CW\*(C`\-\*(C'\fR\fIrelease\fR\f(CW\*(C`.src.rpm\*(C'\fR" 4 |
michael@428 | 140 | .IX Item "openpkg dev unpack [-l layout] [-b basedir] [-s] [-d] name-version-release.src.rpm" |
michael@428 | 141 | Unpacks an OpenPKG source \s-1RPM\s0 package |
michael@428 | 142 | \&\fIname\fR\f(CW\*(C`\-\*(C'\fR\fIversion\fR\f(CW\*(C`\-\*(C'\fR\fIrelease\fR\f(CW\*(C`.src.rpm\*(C'\fR into \fIbasedir\fR |
michael@428 | 143 | (default is \fIname\fR\f(CW\*(C`\-\*(C'\fR\fIversion\fR\f(CW\*(C`\-\*(C'\fR\fIrelease\fR) |
michael@428 | 144 | using \fIlayout\fR (default is \fIstructured\fR). |
michael@428 | 145 | Additionally, |
michael@428 | 146 | \&\fIfile-rpmmacros\fR |
michael@428 | 147 | configuration file is generated where |
michael@428 | 148 | \&\f(CW\*(C`\-s\*(C'\fR enables shared mode and |
michael@428 | 149 | \&\f(CW\*(C`\-d\*(C'\fR enables debug mode, see \fIfile-rpmmacros\fR. |
michael@428 | 150 | .SS "\s-1SOURCE\s0 \s-1PACKAGE\s0 \s-1DEVELOPMENT\s0" |
michael@428 | 151 | .IX Subsection "SOURCE PACKAGE DEVELOPMENT" |
michael@428 | 152 | .IP "\fBopenpkg dev shell\fR" 4 |
michael@428 | 153 | .IX Item "openpkg dev shell" |
michael@428 | 154 | This is a convenience command which enters an interactive \fB\s-1GNU\s0 Bash\fR |
michael@428 | 155 | shell which provides the following work environment: |
michael@428 | 156 | .RS 4 |
michael@428 | 157 | .IP "\fBEnvironment Variables:\fR" 4 |
michael@428 | 158 | .IX Item "Environment Variables:" |
michael@428 | 159 | .Vb 5 |
michael@428 | 160 | \& OPENPKG_PREFIX "<prefix>" |
michael@428 | 161 | \& PS1 "\e\e[\e\ee[31;1m\e\e]\e\eu\e\e[\e\ee[0m\e\e]@\e\eh:\e\ew [OPENPKG_PREFIX=$OPENPKG_PREFIX]\en\e\e\e$ " |
michael@428 | 162 | \& T %{_tmppath} |
michael@428 | 163 | \& S %{_specdir} |
michael@428 | 164 | \& D %{_sourcedir} |
michael@428 | 165 | .Ve |
michael@428 | 166 | .IP "\fBCommand-Line Aliases:\fR" 4 |
michael@428 | 167 | .IX Item "Command-Line Aliases:" |
michael@428 | 168 | .Vb 2 |
michael@428 | 169 | \& openpkg "${OPENPKG_PREFIX}/bin/openpkg" |
michael@428 | 170 | \& opd "${OPENPKG_PREFIX}/bin/openpkg dev" |
michael@428 | 171 | .Ve |
michael@428 | 172 | .IP "\fBCommand-Line Keystrokes:\fR" 4 |
michael@428 | 173 | .IX Item "Command-Line Keystrokes:" |
michael@428 | 174 | .Vb 10 |
michael@428 | 175 | \& ESC+x "opd unpack\en" |
michael@428 | 176 | \& ESC+v "opd edit\en" |
michael@428 | 177 | \& ESC+t "opd build \-s track\en" |
michael@428 | 178 | \& ESC+f "opd build \-s fetch\en" |
michael@428 | 179 | \& ESC+b "opd build\en" |
michael@428 | 180 | \& ESC+1 "opd build \-s prep\en" |
michael@428 | 181 | \& ESC+2 "opd build \-s compile\en" |
michael@428 | 182 | \& ESC+3 "opd build \-s install\en" |
michael@428 | 183 | \& ESC+4 "opd build \-s binary\en" |
michael@428 | 184 | \& ESC+s "opd build \-s source\en" |
michael@428 | 185 | \& ESC+p "opd peek\en" |
michael@428 | 186 | \& ESC+d "opd diff\en" |
michael@428 | 187 | \& ESC+i "opd install\en" |
michael@428 | 188 | \& ESC+e "opd erase\en" |
michael@428 | 189 | \& ESC+l "opd lint\en" |
michael@428 | 190 | \& ESC+r "opd release\en" |
michael@428 | 191 | .Ve |
michael@428 | 192 | .RE |
michael@428 | 193 | .RS 4 |
michael@428 | 194 | .Sp |
michael@428 | 195 | If option \f(CW\*(C`\-s\*(C'\fR is passed to \fBopenpkg dev shell\fR and \fIscreen\fR\|(1) is |
michael@428 | 196 | available in \f(CW$PATH\fR, the interactive development shell is started up |
michael@428 | 197 | in a convenient virtual screen environment. |
michael@428 | 198 | .RE |
michael@428 | 199 | .IP "\fBopenpkg dev edit\fR" 4 |
michael@428 | 200 | .IX Item "openpkg dev edit" |
michael@428 | 201 | Load spec file into editor. |
michael@428 | 202 | .RS 4 |
michael@428 | 203 | .IP "\fBEnvironment Variables:\fR" 4 |
michael@428 | 204 | .IX Item "Environment Variables:" |
michael@428 | 205 | .Vb 1 |
michael@428 | 206 | \& EDITOR "vi" |
michael@428 | 207 | .Ve |
michael@428 | 208 | .RE |
michael@428 | 209 | .RS 4 |
michael@428 | 210 | .RE |
michael@428 | 211 | .ie n .IP "\fBopenpkg dev build\fR [\*(C`\-s\*(C' \fIstep\fR] [\*(C`\-D\*(C' \fIdefine\fR[=\fIvalue\fR]] [\*(C`\-w\*(C' \fIvariant\fR]" 4 |
michael@428 | 212 | .el .IP "\fBopenpkg dev build\fR [\f(CW\*(C`\-s\*(C'\fR \fIstep\fR] [\f(CW\*(C`\-D\*(C'\fR \fIdefine\fR[=\fIvalue\fR]] [\f(CW\*(C`\-w\*(C'\fR \fIvariant\fR]" 4 |
michael@428 | 213 | .IX Item "openpkg dev build [-s step] [-D define[=value]] [-w variant]" |
michael@428 | 214 | Builds package steps. Default \fIstep\fR is \f(CW\*(C`all\*(C'\fR. Option \f(CW\*(C`\-D\*(C'\fR translated |
michael@428 | 215 | into "\f(CW\*(C`\-\-define \*(Aq\f(CIdefine\f(CW \f(CIvalue\f(CW\*(Aq\*(C'\fR" while option \f(CW\*(C`\-w\*(C'\fR translated |
michael@428 | 216 | into "\f(CW\*(C`\-\-with\*(C'\fR \fIvariant\fR". The \fIstep\fR arguments translate into the |
michael@428 | 217 | following \s-1RPM\s0 options: |
michael@428 | 218 | .Sp |
michael@428 | 219 | .Vb 8 |
michael@428 | 220 | \& track: \-bt |
michael@428 | 221 | \& fetch: \-bf |
michael@428 | 222 | \& prep: \-bp |
michael@428 | 223 | \& compile: \-bc \-\-short\-circuit |
michael@428 | 224 | \& install: \-bi \-\-short\-circuit |
michael@428 | 225 | \& binary: \-bb \-\-short\-circuit |
michael@428 | 226 | \& source: \-bs |
michael@428 | 227 | \& all: \-ba |
michael@428 | 228 | .Ve |
michael@428 | 229 | .IP "\fBopenpkg dev peek\fR" 4 |
michael@428 | 230 | .IX Item "openpkg dev peek" |
michael@428 | 231 | Peeks file list from package and tags configuration and documentation files. |
michael@428 | 232 | .IP "\fBopenpkg dev diff\fR" 4 |
michael@428 | 233 | .IX Item "openpkg dev diff" |
michael@428 | 234 | Shows modifications with the help of a possibly underlying Version |
michael@428 | 235 | Control System (\s-1VCS\s0) like \s-1CVS\s0, Subversion, Monotone, Git, Mercurial or |
michael@428 | 236 | (as a fallback ) \s-1OSSP\s0 svs. |
michael@428 | 237 | .ie n .IP "\fBopenpkg dev install\fR [\*(C`\-f\*(C'] [\*(C`\-o\*(C'] [\*(C`\-n\*(C'] [\*(C`\-s\*(C']" 4 |
michael@428 | 238 | .el .IP "\fBopenpkg dev install\fR [\f(CW\*(C`\-f\*(C'\fR] [\f(CW\*(C`\-o\*(C'\fR] [\f(CW\*(C`\-n\*(C'\fR] [\f(CW\*(C`\-s\*(C'\fR]" 4 |
michael@428 | 239 | .IX Item "openpkg dev install [-f] [-o] [-n] [-s]" |
michael@428 | 240 | Installs package. |
michael@428 | 241 | Option |
michael@428 | 242 | \&\f(CW\*(C`\-f\*(C'\fR adds \f(CW\*(C`\-\-force\*(C'\fR, |
michael@428 | 243 | \&\f(CW\*(C`\-n\*(C'\fR adds \f(CW\*(C`\-\-nodeps\*(C'\fR and |
michael@428 | 244 | \&\f(CW\*(C`\-o\*(C'\fR adds \f(CW\*(C`\-\-oldpackage\*(C'\fR |
michael@428 | 245 | to the underlying \f(CW\*(C`rpm\*(C'\fR call. |
michael@428 | 246 | Option \f(CW\*(C`\-s\*(C'\fR prefixes the command with \fIsudo\fR\|(1). |
michael@428 | 247 | .ie n .IP "\fBopenpkg dev erase\fR [\*(C`\-f\*(C'] [\*(C`\-o\*(C'] [\*(C`\-a\*(C'] [\*(C`\-s\*(C']" 4 |
michael@428 | 248 | .el .IP "\fBopenpkg dev erase\fR [\f(CW\*(C`\-f\*(C'\fR] [\f(CW\*(C`\-o\*(C'\fR] [\f(CW\*(C`\-a\*(C'\fR] [\f(CW\*(C`\-s\*(C'\fR]" 4 |
michael@428 | 249 | .IX Item "openpkg dev erase [-f] [-o] [-a] [-s]" |
michael@428 | 250 | Erases package. |
michael@428 | 251 | Option |
michael@428 | 252 | \&\f(CW\*(C`\-f\*(C'\fR adds \f(CW\*(C`\-\-force\*(C'\fR, |
michael@428 | 253 | \&\f(CW\*(C`\-n\*(C'\fR adds \f(CW\*(C`\-\-nodeps\*(C'\fR and |
michael@428 | 254 | \&\f(CW\*(C`\-a\*(C'\fR adds \f(CW\*(C`\-\-allmatches\*(C'\fR |
michael@428 | 255 | to the underlying \f(CW\*(C`rpm\*(C'\fR call. |
michael@428 | 256 | Option \f(CW\*(C`\-s\*(C'\fR prefixes the command with \fIsudo\fR\|(1). |
michael@428 | 257 | .ie n .IP "\fBopenpkg dev lint\fR [\*(C`\-v\*(C'] [\*(C`\-b\*(C']" 4 |
michael@428 | 258 | .el .IP "\fBopenpkg dev lint\fR [\f(CW\*(C`\-v\*(C'\fR] [\f(CW\*(C`\-b\*(C'\fR]" 4 |
michael@428 | 259 | .IX Item "openpkg dev lint [-v] [-b]" |
michael@428 | 260 | Lints package sources \f(CW\*(C`*.spec\*(C'\fR, \f(CW\*(C`fsl.*\*(C'\fR, \f(CW\*(C`rc.*\*(C'\fR and binary package files. |
michael@428 | 261 | Option \f(CW\*(C`\-v\*(C'\fR enables verboseness. |
michael@428 | 262 | Option \f(CW\*(C`\-b\*(C'\fR disables the linting of an existing binary package file. |
michael@428 | 263 | .ie n .IP "\fBopenpkg dev release\fR [\*(C`\-m\*(C' \fImessage\fR] [\*(C`\-n\*(C']" 4 |
michael@428 | 264 | .el .IP "\fBopenpkg dev release\fR [\f(CW\*(C`\-m\*(C'\fR \fImessage\fR] [\f(CW\*(C`\-n\*(C'\fR]" 4 |
michael@428 | 265 | .IX Item "openpkg dev release [-m message] [-n]" |
michael@428 | 266 | Releases package specification to the repository. Unlike previous |
michael@428 | 267 | incarnations of \*(L"openpkg dev\*(R" this one is not tied to any repository or |
michael@428 | 268 | structure. The default message is created using the difference between |
michael@428 | 269 | the previous and current version of the package specification. In order |
michael@428 | 270 | to grab the previous version, the working directory and three levels |
michael@428 | 271 | towards root are checked for signs of \s-1CVS\s0, Subversion, Monotone, Git, |
michael@428 | 272 | Mercurial or \s-1SVS\s0 information, in that order. The appropriate command is |
michael@428 | 273 | then executed to retrieve the data and the \s-1VCS\s0 found is passed to the |
michael@428 | 274 | actual release command. |
michael@428 | 275 | .Sp |
michael@428 | 276 | Finally, the command specified by the environment variable |
michael@428 | 277 | \&\f(CW\*(C`OPENPKG_DEV_RELEASE\*(C'\fR or, if omitted, specified by the rpm macro |
michael@428 | 278 | \&\f(CW\*(C`%{openpkg_dev_release}\*(C'\fR is run and passed the following positional |
michael@428 | 279 | arguments: |
michael@428 | 280 | .RS 4 |
michael@428 | 281 | .Sp |
michael@428 | 282 | .Vb 12 |
michael@428 | 283 | \& openpkg\-prefix |
michael@428 | 284 | \& spec\-dir |
michael@428 | 285 | \& source\-dir |
michael@428 | 286 | \& binary\-rpm\-file |
michael@428 | 287 | \& source\-rpm\-file |
michael@428 | 288 | \& package\-name |
michael@428 | 289 | \& package\-version |
michael@428 | 290 | \& package\-release |
michael@428 | 291 | \& package\-version\-old |
michael@428 | 292 | \& package\-release\-old |
michael@428 | 293 | \& commit\-message |
michael@428 | 294 | \& vcs |
michael@428 | 295 | .Ve |
michael@428 | 296 | .RE |
michael@428 | 297 | .RS 4 |
michael@428 | 298 | .Sp |
michael@428 | 299 | For a dry run, set \f(CW$OPENPKG_DEV_RELEASE\fR to \*(L"echo\*(R" or use option "\f(CW\*(C`\-n\*(C'\fR". |
michael@428 | 300 | .RE |
michael@428 | 301 | .SH "UNPACKED SOURCE RPM PACKAGE FILESYSTEM LAYOUT" |
michael@428 | 302 | .IX Header "UNPACKED SOURCE RPM PACKAGE FILESYSTEM LAYOUT" |
michael@428 | 303 | When an OpenPKG source \s-1RPM\s0 package |
michael@428 | 304 | \&\fIname\fR\f(CW\*(C`\-\*(C'\fR\fIversion\fR\f(CW\*(C`\-\*(C'\fR\fIrelease\fR\f(CW\*(C`.src.rpm\*(C'\fR is unpacked to the |
michael@428 | 305 | filesystem, the following distinct filesystem layouts are known: |
michael@428 | 306 | .IP "\fBglobal\fR" 4 |
michael@428 | 307 | .IX Item "global" |
michael@428 | 308 | .RS 4 |
michael@428 | 309 | .PD 0 |
michael@428 | 310 | .ie n .IP "\fIprefix\fR\*(C`/RPM/SRC/\*(C'\fIname\fR\*(C`/.openpkg/rpmmacros\*(C'" 4 |
michael@428 | 311 | .el .IP "\fIprefix\fR\f(CW\*(C`/RPM/SRC/\*(C'\fR\fIname\fR\f(CW\*(C`/.openpkg/rpmmacros\*(C'\fR" 4 |
michael@428 | 312 | .IX Item "prefix/RPM/SRC/name/.openpkg/rpmmacros" |
michael@428 | 313 | .ie n .IP "\fIprefix\fR\*(C`/RPM/SRC/\*(C'\fIname\fR\*(C`/\*(C'\fIname\fR\*(C`.spec\*(C'" 4 |
michael@428 | 314 | .el .IP "\fIprefix\fR\f(CW\*(C`/RPM/SRC/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`.spec\*(C'\fR" 4 |
michael@428 | 315 | .IX Item "prefix/RPM/SRC/name/name.spec" |
michael@428 | 316 | .ie n .IP "\fIprefix\fR\*(C`/RPM/SRC/\*(C'\fIname\fR\*(C`/\*(C'\fIpackaging-source-file\fR" 4 |
michael@428 | 317 | .el .IP "\fIprefix\fR\f(CW\*(C`/RPM/SRC/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIpackaging-source-file\fR" 4 |
michael@428 | 318 | .IX Item "prefix/RPM/SRC/name/packaging-source-file" |
michael@428 | 319 | .ie n .IP "\fIprefix\fR\*(C`/RPM/SRC/\*(C'\fIname\fR\*(C`/\*(C'\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 320 | .el .IP "\fIprefix\fR\f(CW\*(C`/RPM/SRC/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 321 | .IX Item "prefix/RPM/SRC/name/thirdparty-distribution-file" |
michael@428 | 322 | .ie n .IP "\fIprefix\fR\*(C`/RPM/PKG/\*(C'\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 323 | .el .IP "\fIprefix\fR\f(CW\*(C`/RPM/PKG/\*(C'\fR\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 324 | .IX Item "prefix/RPM/PKG/binary-rpm-package-file" |
michael@428 | 325 | .ie n .IP "\fIprefix\fR\*(C`/RPM/PKG/\*(C'\fIsource-rpm-package-file\fR" 4 |
michael@428 | 326 | .el .IP "\fIprefix\fR\f(CW\*(C`/RPM/PKG/\*(C'\fR\fIsource-rpm-package-file\fR" 4 |
michael@428 | 327 | .IX Item "prefix/RPM/PKG/source-rpm-package-file" |
michael@428 | 328 | .ie n .IP "\fIprefix\fR\*(C`/RPM/TMP/\*(C'\fItemporary-file\fR" 4 |
michael@428 | 329 | .el .IP "\fIprefix\fR\f(CW\*(C`/RPM/TMP/\*(C'\fR\fItemporary-file\fR" 4 |
michael@428 | 330 | .IX Item "prefix/RPM/TMP/temporary-file" |
michael@428 | 331 | .RE |
michael@428 | 332 | .RS 4 |
michael@428 | 333 | .PD |
michael@428 | 334 | .Sp |
michael@428 | 335 | This is just the \*(L"simple\*(R" filesystem layout (see below) with the |
michael@428 | 336 | \&\fIbase-dir\fR set to \fIprefix\fR\f(CW\*(C`/RPM/SRC/\*(C'\fR. |
michael@428 | 337 | .Sp |
michael@428 | 338 | This is the filesystem layout used by default for building OpenPKG |
michael@428 | 339 | packages during \f(CW\*(C`openpkg build\*(C'\fR or the underlying \f(CW\*(C`openpkg rpm |
michael@428 | 340 | \&\-\-rebuild\*(C'\fR commands. |
michael@428 | 341 | .RE |
michael@428 | 342 | .IP "\fBlocal\fR" 4 |
michael@428 | 343 | .IX Item "local" |
michael@428 | 344 | .RS 4 |
michael@428 | 345 | .PD 0 |
michael@428 | 346 | .ie n .IP "\fIbase-dir\fR\*(C`/.openpkg/rpmmacros\*(C'" 4 |
michael@428 | 347 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/.openpkg/rpmmacros\*(C'\fR" 4 |
michael@428 | 348 | .IX Item "base-dir/.openpkg/rpmmacros" |
michael@428 | 349 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`.spec\*(C'" 4 |
michael@428 | 350 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`.spec\*(C'\fR" 4 |
michael@428 | 351 | .IX Item "base-dir/name.spec" |
michael@428 | 352 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIpackaging-source-file\fR" 4 |
michael@428 | 353 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIpackaging-source-file\fR" 4 |
michael@428 | 354 | .IX Item "base-dir/packaging-source-file" |
michael@428 | 355 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 356 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 357 | .IX Item "base-dir/thirdparty-distribution-file" |
michael@428 | 358 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 359 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 360 | .IX Item "base-dir/binary-rpm-package-file" |
michael@428 | 361 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIsource-rpm-package-file\fR" 4 |
michael@428 | 362 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIsource-rpm-package-file\fR" 4 |
michael@428 | 363 | .IX Item "base-dir/source-rpm-package-file" |
michael@428 | 364 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fItemporary-file\fR" 4 |
michael@428 | 365 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fItemporary-file\fR" 4 |
michael@428 | 366 | .IX Item "base-dir/temporary-file" |
michael@428 | 367 | .RE |
michael@428 | 368 | .RS 4 |
michael@428 | 369 | .PD |
michael@428 | 370 | .Sp |
michael@428 | 371 | This puts everything into one directory. |
michael@428 | 372 | .RE |
michael@428 | 373 | .IP "\fBsimple\fR" 4 |
michael@428 | 374 | .IX Item "simple" |
michael@428 | 375 | .RS 4 |
michael@428 | 376 | .PD 0 |
michael@428 | 377 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/.openpkg/rpmmacros\*(C'" 4 |
michael@428 | 378 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/.openpkg/rpmmacros\*(C'\fR" 4 |
michael@428 | 379 | .IX Item "base-dir/name/.openpkg/rpmmacros" |
michael@428 | 380 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/\*(C'\fIname\fR\*(C`.spec\*(C'" 4 |
michael@428 | 381 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`.spec\*(C'\fR" 4 |
michael@428 | 382 | .IX Item "base-dir/name/name.spec" |
michael@428 | 383 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/\*(C'\fIpackaging-source-file\fR" 4 |
michael@428 | 384 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIpackaging-source-file\fR" 4 |
michael@428 | 385 | .IX Item "base-dir/name/packaging-source-file" |
michael@428 | 386 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/\*(C'\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 387 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 388 | .IX Item "base-dir/name/thirdparty-distribution-file" |
michael@428 | 389 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 390 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 391 | .IX Item "base-dir/binary-rpm-package-file" |
michael@428 | 392 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIsource-rpm-package-file\fR" 4 |
michael@428 | 393 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIsource-rpm-package-file\fR" 4 |
michael@428 | 394 | .IX Item "base-dir/source-rpm-package-file" |
michael@428 | 395 | .ie n .IP "\fI\fI$TMPDIR\fI\fR\*(C`/openpkg/\*(C'\fItemporary-file\fR" 4 |
michael@428 | 396 | .el .IP "\fI\f(CI$TMPDIR\fI\fR\f(CW\*(C`/openpkg/\*(C'\fR\fItemporary-file\fR" 4 |
michael@428 | 397 | .IX Item "$TMPDIR/openpkg/temporary-file" |
michael@428 | 398 | .RE |
michael@428 | 399 | .RS 4 |
michael@428 | 400 | .PD |
michael@428 | 401 | .Sp |
michael@428 | 402 | This is the simple filesystem layout of an unpacked |
michael@428 | 403 | OpenPKG package. All files are simply put into a sub-directory with the |
michael@428 | 404 | \&\fIname\fR of the package. |
michael@428 | 405 | .Sp |
michael@428 | 406 | This is the filesystem layout used for the quick patching of a single |
michael@428 | 407 | OpenPKG package in a stand-alone environment. |
michael@428 | 408 | .RE |
michael@428 | 409 | .IP "\fBstructured\fR" 4 |
michael@428 | 410 | .IX Item "structured" |
michael@428 | 411 | .RS 4 |
michael@428 | 412 | .PD 0 |
michael@428 | 413 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/.openpkg/rpmmacros\*(C'" 4 |
michael@428 | 414 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/.openpkg/rpmmacros\*(C'\fR" 4 |
michael@428 | 415 | .IX Item "base-dir/name/.openpkg/rpmmacros" |
michael@428 | 416 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/src/\*(C'\fIname\fR\*(C`.spec\*(C'" 4 |
michael@428 | 417 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/src/\*(C'\fR\fIname\fR\f(CW\*(C`.spec\*(C'\fR" 4 |
michael@428 | 418 | .IX Item "base-dir/name/src/name.spec" |
michael@428 | 419 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/src/\*(C'\fIpackaging-source-file\fR" 4 |
michael@428 | 420 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/src/\*(C'\fR\fIpackaging-source-file\fR" 4 |
michael@428 | 421 | .IX Item "base-dir/name/src/packaging-source-file" |
michael@428 | 422 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/dst/\*(C'\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 423 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/dst/\*(C'\fR\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 424 | .IX Item "base-dir/name/dst/thirdparty-distribution-file" |
michael@428 | 425 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/pkg/\*(C'[\*(C`bin/\*(C']\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 426 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/pkg/\*(C'\fR[\f(CW\*(C`bin/\*(C'\fR]\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 427 | .IX Item "base-dir/name/pkg/[bin/]binary-rpm-package-file" |
michael@428 | 428 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/pkg/\*(C'[\*(C`src/\*(C']\fIsource-rpm-package-file\fR" 4 |
michael@428 | 429 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/pkg/\*(C'\fR[\f(CW\*(C`src/\*(C'\fR]\fIsource-rpm-package-file\fR" 4 |
michael@428 | 430 | .IX Item "base-dir/name/pkg/[src/]source-rpm-package-file" |
michael@428 | 431 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\fIname\fR\*(C`/tmp/\*(C'\fItemporary-file\fR" 4 |
michael@428 | 432 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`/tmp/\*(C'\fR\fItemporary-file\fR" 4 |
michael@428 | 433 | .IX Item "base-dir/name/tmp/temporary-file" |
michael@428 | 434 | .RE |
michael@428 | 435 | .RS 4 |
michael@428 | 436 | .PD |
michael@428 | 437 | .Sp |
michael@428 | 438 | This is the structured (and default) filesystem layout of an unpacked |
michael@428 | 439 | OpenPKG package. A top-level sub-directory with the \fIname\fR of the |
michael@428 | 440 | package is created. There the package specification and all packaging |
michael@428 | 441 | source files are put into the sub-directory \fIsrc\fR and all the |
michael@428 | 442 | third-party distribution files are put into the sub-directory \fIdst\fR. |
michael@428 | 443 | .Sp |
michael@428 | 444 | This is the filesystem layout used for the development of a single |
michael@428 | 445 | OpenPKG package in a stand-alone environment. |
michael@428 | 446 | .RE |
michael@428 | 447 | .IP "\fBdistributed\fR" 4 |
michael@428 | 448 | .IX Item "distributed" |
michael@428 | 449 | .RS 4 |
michael@428 | 450 | .PD 0 |
michael@428 | 451 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\*(C`.openpkg/rpmmacros\*(C'" 4 |
michael@428 | 452 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\f(CW\*(C`.openpkg/rpmmacros\*(C'\fR" 4 |
michael@428 | 453 | .IX Item "base-dir/.openpkg/rpmmacros" |
michael@428 | 454 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\*(C`src/\*(C'\fIname\fR\*(C`/\*(C'\fIname\fR\*(C`.spec\*(C'" 4 |
michael@428 | 455 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\f(CW\*(C`src/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIname\fR\f(CW\*(C`.spec\*(C'\fR" 4 |
michael@428 | 456 | .IX Item "base-dir/src/name/name.spec" |
michael@428 | 457 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\*(C`src/\*(C'\fIname\fR\*(C`/\*(C'\fIpackaging-source-file\fR" 4 |
michael@428 | 458 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\f(CW\*(C`src/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIpackaging-source-file\fR" 4 |
michael@428 | 459 | .IX Item "base-dir/src/name/packaging-source-file" |
michael@428 | 460 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\*(C`dst/\*(C'\fIname\fR\*(C`/\*(C'\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 461 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\f(CW\*(C`dst/\*(C'\fR\fIname\fR\f(CW\*(C`/\*(C'\fR\fIthirdparty-distribution-file\fR" 4 |
michael@428 | 462 | .IX Item "base-dir/dst/name/thirdparty-distribution-file" |
michael@428 | 463 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\*(C`pkg/\*(C'[\*(C`bin/\*(C']\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 464 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\f(CW\*(C`pkg/\*(C'\fR[\f(CW\*(C`bin/\*(C'\fR]\fIbinary-rpm-package-file\fR" 4 |
michael@428 | 465 | .IX Item "base-dir/pkg/[bin/]binary-rpm-package-file" |
michael@428 | 466 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\*(C`pkg/\*(C'[\*(C`src/\*(C']\fIsource-rpm-package-file\fR" 4 |
michael@428 | 467 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\f(CW\*(C`pkg/\*(C'\fR[\f(CW\*(C`src/\*(C'\fR]\fIsource-rpm-package-file\fR" 4 |
michael@428 | 468 | .IX Item "base-dir/pkg/[src/]source-rpm-package-file" |
michael@428 | 469 | .ie n .IP "\fIbase-dir\fR\*(C`/\*(C'\*(C`tmp/\*(C'\fItemporary-file\fR" 4 |
michael@428 | 470 | .el .IP "\fIbase-dir\fR\f(CW\*(C`/\*(C'\fR\f(CW\*(C`tmp/\*(C'\fR\fItemporary-file\fR" 4 |
michael@428 | 471 | .IX Item "base-dir/tmp/temporary-file" |
michael@428 | 472 | .RE |
michael@428 | 473 | .RS 4 |
michael@428 | 474 | .PD |
michael@428 | 475 | .Sp |
michael@428 | 476 | This is the distributed filesystem layout of an unpacked OpenPKG |
michael@428 | 477 | package. It is similar to the structured filesystem layout but the |
michael@428 | 478 | \&\f(CW\*(C`src\*(C'\fR and \f(CW\*(C`dst\*(C'\fR directories and the \fIname\fR directory are swapped, |
michael@428 | 479 | mainly with the intention of bundling together all third-party |
michael@428 | 480 | distribution files of a large number of packages. |
michael@428 | 481 | .Sp |
michael@428 | 482 | This is the filesystem layout used for regular OpenPKG package |
michael@428 | 483 | development. |
michael@428 | 484 | .RE |
michael@428 | 485 | .SH "LOCAL RPM MACROS FILE (.openpkg/rpmmacros)" |
michael@428 | 486 | .IX Header "LOCAL RPM MACROS FILE (.openpkg/rpmmacros)" |
michael@428 | 487 | OpenPKG supports local \s-1RPM\s0 macros files \fI.openpkg/rpmmacros\fR which |
michael@428 | 488 | can be used to configure \s-1RPM\s0 in a local scope. This is especially |
michael@428 | 489 | interesting to configure a local (even per-package) build environment |
michael@428 | 490 | with the help of the \f(CW%openpkg_layout\fR macro. |
michael@428 | 491 | .PP |
michael@428 | 492 | \&\f(CW%openpkg_layout\fR |
michael@428 | 493 | [\f(CW\*(C`macrosfile=\*(C'\fR\fIfilename\fR] |
michael@428 | 494 | [\f(CW\*(C`basedir=\*(C'\fR\fIdirectory\fR] |
michael@428 | 495 | [\f(CW\*(C`specdir=\*(C'\fR\fIdirectory\fR] |
michael@428 | 496 | [\f(CW\*(C`sourcedir=\*(C'\fR\fIdirectory\fR] |
michael@428 | 497 | [\f(CW\*(C`builddir=\*(C'\fR\fIdirectory\fR] |
michael@428 | 498 | [\f(CW\*(C`tmpdir=\*(C'\fR\fIdirectory\fR] |
michael@428 | 499 | [\f(CW\*(C`binrpmdir=\*(C'\fR\fIdirectory\fR] |
michael@428 | 500 | [\f(CW\*(C`srcrpmdir=\*(C'\fR\fIdirectory\fR] |
michael@428 | 501 | [\f(CW\*(C`shared=\*(C'\fR\fIyes-or-no\fR] |
michael@428 | 502 | [\f(CW\*(C`debug=\*(C'\fR\fIyes-or-no\fR] |
michael@428 | 503 | .ie n .IP "\*(C`macrosfile=\*(C'\fIfilename\fR" 4 |
michael@428 | 504 | .el .IP "\f(CW\*(C`macrosfile=\*(C'\fR\fIfilename\fR" 4 |
michael@428 | 505 | .IX Item "macrosfile=filename" |
michael@428 | 506 | Absolute file path of the \f(CW\*(C`.openpkg/rpmmacros\*(C'\fR file where this |
michael@428 | 507 | \&\f(CW%openpkg_layout\fR macro is defined. Usually, the intended usage is to |
michael@428 | 508 | leverage from OpenPKG \s-1RPM\s0's special \f(CW\*(C`%{macrosfile}\*(C'\fR macro by simply |
michael@428 | 509 | using \f(CW\*(C`macrosfile=%{macrosfile}\*(C'\fR. This parameter is important as |
michael@428 | 510 | the default \f(CW\*(C`basename\*(C'\fR is derived from it. |
michael@428 | 511 | .ie n .IP "\*(C`basedir=\*(C'\fIdirectory\fR" 4 |
michael@428 | 512 | .el .IP "\f(CW\*(C`basedir=\*(C'\fR\fIdirectory\fR" 4 |
michael@428 | 513 | .IX Item "basedir=directory" |
michael@428 | 514 | Absolute directory path where the \f(CW\*(C`.openpkg/rpmmacros\*(C'\fR file is |
michael@428 | 515 | located under. Usually, the intended usage is to not explicitly |
michael@428 | 516 | set this parameter but let it be determined indirectly via |
michael@428 | 517 | \&\f(CW\*(C`macrosfile\*(C'\fR. The effective default value is equal to a value like |
michael@428 | 518 | \&\f(CW\*(C`%{realpath:%{dirname:%{realpath:%{macrosfile}}}/..}\*(C'\fR This parameter is |
michael@428 | 519 | important as all standard filesystem layouts (see parameter \f(CW\*(C`layout\*(C'\fR) |
michael@428 | 520 | are always at least partially based on this base directory in order |
michael@428 | 521 | to provide absolute-path-independent flexible filesystem layouts. |
michael@428 | 522 | .ie n .IP "\*(C`layout=\*(C'\fIlayout\fR" 4 |
michael@428 | 523 | .el .IP "\f(CW\*(C`layout=\*(C'\fR\fIlayout\fR" 4 |
michael@428 | 524 | .IX Item "layout=layout" |
michael@428 | 525 | The name of the filesystem layout type to use. The following standard |
michael@428 | 526 | filesystem layout types are pre-defined: \f(CW\*(C`global\*(C'\fR, \f(CW\*(C`local\*(C'\fR, \f(CW\*(C`simple\*(C'\fR, |
michael@428 | 527 | \&\f(CW\*(C`structured\*(C'\fR (default) and \f(CW\*(C`distributed\*(C'\fR. |
michael@428 | 528 | .Sp |
michael@428 | 529 | .Vb 8 |
michael@428 | 530 | \& global macrosdir <openpkg_prefix>/etc/openpkg |
michael@428 | 531 | \& global macrosfile <openpkg_prefix>/etc/openpkg/rpmmacros |
michael@428 | 532 | \& global specdir <openpkg_prefix>/RPM/SRC/$name |
michael@428 | 533 | \& global sourcedir <openpkg_prefix>/RPM/SRC/$name |
michael@428 | 534 | \& global builddir <openpkg_prefix>/RPM/TMP |
michael@428 | 535 | \& global tmpdir <openpkg_prefix>/RPM/TMP |
michael@428 | 536 | \& global binrpmdir <openpkg_prefix>/RPM/PKG |
michael@428 | 537 | \& global srcrpmdir <openpkg_prefix>/RPM/PKG |
michael@428 | 538 | \& |
michael@428 | 539 | \& local macrosdir <basedir>/.openpkg |
michael@428 | 540 | \& local macrosfile <basedir>/.openpkg/rpmmacros |
michael@428 | 541 | \& local specdir <basedir> |
michael@428 | 542 | \& local sourcedir <basedir> |
michael@428 | 543 | \& local builddir <basedir> |
michael@428 | 544 | \& local tmpdir <basedir> |
michael@428 | 545 | \& local binrpmdir <basedir> |
michael@428 | 546 | \& local srcrpmdir <basedir> |
michael@428 | 547 | \& |
michael@428 | 548 | \& simple macrosdir <basedir>/.openpkg |
michael@428 | 549 | \& simple macrosfile <basedir>/.openpkg/rpmmacros |
michael@428 | 550 | \& simple specdir <basedir> |
michael@428 | 551 | \& simple sourcedir <basedir> |
michael@428 | 552 | \& simple builddir <tmpdir> |
michael@428 | 553 | \& simple tmpdir <tmpdir> |
michael@428 | 554 | \& simple binrpmdir <basedir>/.. |
michael@428 | 555 | \& simple srcrpmdir <basedir>/.. |
michael@428 | 556 | \& |
michael@428 | 557 | \& structured macrosdir <basedir>/.openpkg |
michael@428 | 558 | \& structured macrosfile <basedir>/.openpkg/rpmmacros |
michael@428 | 559 | \& structured specdir <basedir>/src |
michael@428 | 560 | \& structured sourcedir <basedir>/dst |
michael@428 | 561 | \& structured builddir <basedir>/tmp |
michael@428 | 562 | \& structured tmpdir <basedir>/tmp |
michael@428 | 563 | \& structured binrpmdir <basedir>/pkg/bin |
michael@428 | 564 | \& structured srcrpmdir <basedir>/pkg/src |
michael@428 | 565 | \& |
michael@428 | 566 | \& distributed macrosdir <basedir>/.openpkg |
michael@428 | 567 | \& distributed macrosfile <basedir>/.openpkg/rpmmacros |
michael@428 | 568 | \& distributed specdir <basedir>/src/<name> |
michael@428 | 569 | \& distributed sourcedir <basedir>/dst/<name> |
michael@428 | 570 | \& distributed builddir <basedir>/tmp |
michael@428 | 571 | \& distributed tmpdir <basedir>/tmp |
michael@428 | 572 | \& distributed binrpmdir <basedir>/pkg/bin |
michael@428 | 573 | \& distributed srcrpmdir <basedir>/pkg/src |
michael@428 | 574 | .Ve |
michael@428 | 575 | .ie n .IP "\*(C`specdir=\*(C'\fIdirectory-list\fR" 4 |
michael@428 | 576 | .el .IP "\f(CW\*(C`specdir=\*(C'\fR\fIdirectory-list\fR" 4 |
michael@428 | 577 | .IX Item "specdir=directory-list" |
michael@428 | 578 | .PD 0 |
michael@428 | 579 | .ie n .IP "\*(C`sourcedir=\*(C'\fIdirectory-list\fR" 4 |
michael@428 | 580 | .el .IP "\f(CW\*(C`sourcedir=\*(C'\fR\fIdirectory-list\fR" 4 |
michael@428 | 581 | .IX Item "sourcedir=directory-list" |
michael@428 | 582 | .ie n .IP "\*(C`builddir=\*(C'\fIdirectory-list\fR" 4 |
michael@428 | 583 | .el .IP "\f(CW\*(C`builddir=\*(C'\fR\fIdirectory-list\fR" 4 |
michael@428 | 584 | .IX Item "builddir=directory-list" |
michael@428 | 585 | .ie n .IP "\*(C`tmpdir=\*(C'\fIdirectory-list\fR" 4 |
michael@428 | 586 | .el .IP "\f(CW\*(C`tmpdir=\*(C'\fR\fIdirectory-list\fR" 4 |
michael@428 | 587 | .IX Item "tmpdir=directory-list" |
michael@428 | 588 | .ie n .IP "\*(C`binrpmdir=\*(C'\fIdirectory-list\fR" 4 |
michael@428 | 589 | .el .IP "\f(CW\*(C`binrpmdir=\*(C'\fR\fIdirectory-list\fR" 4 |
michael@428 | 590 | .IX Item "binrpmdir=directory-list" |
michael@428 | 591 | .ie n .IP "\*(C`srcrpmdir=\*(C'\fIdirectory-list\fR" 4 |
michael@428 | 592 | .el .IP "\f(CW\*(C`srcrpmdir=\*(C'\fR\fIdirectory-list\fR" 4 |
michael@428 | 593 | .IX Item "srcrpmdir=directory-list" |
michael@428 | 594 | .PD |
michael@428 | 595 | These parameters correspond to the six individual directories provided |
michael@428 | 596 | by a standard layout and allow you to selectively adjust parts of a |
michael@428 | 597 | standard layout to local needs and without having to define a full |
michael@428 | 598 | standard layout yourself. |
michael@428 | 599 | .Sp |
michael@428 | 600 | The \fIdirectory-list\fR is a whitespace-separated list of |
michael@428 | 601 | \&\fIdirectory\fR[\f(CW\*(C`:\*(C'\fR[\f(CW\*(C`+\*(C'\fR]\fIdirectory\fR] specifications which are |
michael@428 | 602 | \&\*(L"first-match\*(R" searched for existence. The last directory in the list |
michael@428 | 603 | is always taken as the fallback and if it is not existing it is |
michael@428 | 604 | even created on-the-fly. The \fIdirectory-check\fR\f(CW\*(C`:\*(C'\fR\fIdirectory-use\fR |
michael@428 | 605 | syntax variant allows the existence test to use \fIdirectory-check\fR, |
michael@428 | 606 | but expands to \fIdirectory-use\fR (replace mode). The |
michael@428 | 607 | \&\fIdirectory-check\fR\f(CW\*(C`:+\*(C'\fR\fIdirectory-use\fR syntax variant allows |
michael@428 | 608 | the existence test to use \fIdirectory-check\fR, but expands to |
michael@428 | 609 | \&\fIdirectory-check\fR\fIdirectory-use\fR (append mode). For instance |
michael@428 | 610 | \&\f(CW\*(C`tmpdir="%{getenv:HOME)/tmp:+/openpkg %{getenv:TMPDIR}:+/openpkg |
michael@428 | 611 | /tmp/%(echo $LOGNAME)/openpkg"\*(C'\fR will first check for ~/tmp (and then use |
michael@428 | 612 | ~/tmp/openpkg), then for \f(CW$TMPDIR\fR (and use \f(CW$TMPDIR\fR/openpkg) and finally |
michael@428 | 613 | it will use /tmp/$LOGNAME/openpkg at last resort. |
michael@428 | 614 | .Sp |
michael@428 | 615 | Paths are usually assembled by using \s-1RPM\s0 macros like |
michael@428 | 616 | \&\f(CW\*(C`%{l_prefix}\*(C'\fR (the instance prefix), \f(CW\*(C`%{_\|_openpkg_basename}\*(C'\fR (the |
michael@428 | 617 | \&\fIbasename\fR parameter), \f(CW\*(C`%{realpath:<path\*(C'\fR} (path resolution), |
michael@428 | 618 | \&\f(CW\*(C`%{dirname:<path\*(C'\fR} (directory name extraction), \f(CW\*(C`%{basename:<path\*(C'\fR} |
michael@428 | 619 | (file name extraction), etc. |
michael@428 | 620 | .ie n .IP "\*(C`shared=\*(C'\fIyes-or-no\fR" 4 |
michael@428 | 621 | .el .IP "\f(CW\*(C`shared=\*(C'\fR\fIyes-or-no\fR" 4 |
michael@428 | 622 | .IX Item "shared=yes-or-no" |
michael@428 | 623 | This enables the \fIsubdir\fR components in the standard filesystem |
michael@428 | 624 | layouts by setting it to an automatically generated sub-directory named |
michael@428 | 625 | \&\fIhost\fR\f(CW\*(C`\-\*(C'\fR\fIarch\fR\-\fIos\fR. This allows one to build the same OpenPKG |
michael@428 | 626 | package in parallel on multiple hosts in a shared environment (usually |
michael@428 | 627 | on an \s-1NFS\s0 based filesystem). |
michael@428 | 628 | .ie n .IP "\*(C`debug=\*(C'\fIyes-or-no\fR" 4 |
michael@428 | 629 | .el .IP "\f(CW\*(C`debug=\*(C'\fR\fIyes-or-no\fR" 4 |
michael@428 | 630 | .IX Item "debug=yes-or-no" |
michael@428 | 631 | This enables debug outputs which shows the effectively used directory |
michael@428 | 632 | paths. |
michael@428 | 633 | .PP |
michael@428 | 634 | The generated \f(CW\*(C`.openpkg/rpmmacros\*(C'\fR file contains the generic filesystem |
michael@428 | 635 | layout glue configuration for the particular filesystem \fIlayout\fR. |
michael@428 | 636 | .ie n .IP "\*(C`%openpkg_layout macrosfile=%{macrosfile} layout=\*(C'\fItype\fR" 1 |
michael@428 | 637 | .el .IP "\f(CW\*(C`%openpkg_layout macrosfile=%{macrosfile} layout=\*(C'\fR\fItype\fR" 1 |
michael@428 | 638 | .IX Item "%openpkg_layout macrosfile=%{macrosfile} layout=type" |
michael@428 | 639 | .SH "CONFIGURATION" |
michael@428 | 640 | .IX Header "CONFIGURATION" |
michael@428 | 641 | .Vb 3 |
michael@428 | 642 | \& OPENPKG_NAME="Ralf S. Engelschall" |
michael@428 | 643 | \& OPENPKG_MAIL="rse@openpkg.net" |
michael@428 | 644 | \& OPENPKG_MODE="developer" |
michael@428 | 645 | \& |
michael@428 | 646 | \& OPENPKG_PREFIX="/openpkg" |
michael@428 | 647 | \& OPENPKG_TMPDIR="${TMPDIR\-/tmp}/openpkg" |
michael@428 | 648 | \& |
michael@428 | 649 | \& OPENPKG_VCS="cvs ci \-m \*(Aq<msg>\*(Aq ." |
michael@428 | 650 | \& OPENPKG_UPLD="scp <srpm> openpkg\-ftp@ftp.openpkg.org:/current/SRC/00UPLOAD/" |
michael@428 | 651 | .Ve |
michael@428 | 652 | .SH "ABOUT" |
michael@428 | 653 | .IX Header "ABOUT" |
michael@428 | 654 | OpenPKG \fBdev\fR is Ralf S. Engelschall's Perl-based clean-room partial |
michael@428 | 655 | re-implementation of 2008 for OpenPKG 4.0 of Thomas Lotterer's original |
michael@428 | 656 | OpenPKG \fBdev\fR Bash-based shell from 2002. |