<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>rpm: build/rpmbuild.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>build/rpmbuild.h</h1><a href="rpmbuild_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef _H_RPMBUILD_</span> <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define _H_RPMBUILD_</span> <a name="l00003"></a>00003 <span class="preprocessor"></span> <a name="l00009"></a>00009 <span class="preprocessor">#include "<a class="code" href="rpmcli_8h.html">rpmcli.h</a>"</span> <a name="l00010"></a>00010 <a name="l00011"></a>00011 <span class="comment">/* and it shouldn't need these :-( */</span> <a name="l00012"></a>00012 <span class="preprocessor">#include "<a class="code" href="stringbuf_8h.html">stringbuf.h</a>"</span> <a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="misc_8h.html">misc.h</a>"</span> <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="comment">/* but this will be needed */</span> <a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="rpmspec_8h.html">rpmspec.h</a>"</span> <a name="l00017"></a>00017 <a name="l00021"></a>00021 <span class="comment">/*@-typeuse@*/</span> <a name="l00022"></a><a class="code" href="group__rpmbuild.html#g23067366f7d82aa059f41658099fda93">00022</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__rpmbuild.html#g23067366f7d82aa059f41658099fda93">rpmBuildFlags_e</a> { <a name="l00023"></a>00023 <span class="comment">/*@-enummemuse@*/</span> <a name="l00024"></a>00024 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda9340ddb2da48019f2a072191d1c59f05bc">RPMBUILD_NONE</a> = 0, <a name="l00025"></a>00025 <span class="comment">/*@=enummemuse@*/</span> <a name="l00026"></a>00026 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda936d23c56a543b891c14a930381e8aa4d4">RPMBUILD_PREP</a> = (1 << 0), <a name="l00027"></a>00027 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda939dcb94f0392b645ea2db78ae65ecc646">RPMBUILD_BUILD</a> = (1 << 1), <a name="l00028"></a>00028 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda93eb2fb63437f3b19e7a8d31a6ed687e00">RPMBUILD_INSTALL</a> = (1 << 2), <a name="l00029"></a>00029 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda9346ed92a3c82cf43f647f0318f56d1d5c">RPMBUILD_CHECK</a> = (1 << 3), <a name="l00030"></a>00030 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda936ccd1151d24c9909c41eeb717d4e02c3">RPMBUILD_CLEAN</a> = (1 << 4), <a name="l00031"></a>00031 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda933d1894c5e4c1f8436c861da5972b90a5">RPMBUILD_FILECHECK</a> = (1 << 5), <a name="l00032"></a>00032 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda93047c64b4edeb3242c89e54e91bf734f2">RPMBUILD_PACKAGESOURCE</a> = (1 << 6), <a name="l00033"></a>00033 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda933e00a16af29d1c03cb0e9b31cf9e2ca8">RPMBUILD_PACKAGEBINARY</a> = (1 << 7), <a name="l00034"></a>00034 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda93473063df8b824255634653ba80a437f2">RPMBUILD_RMSOURCE</a> = (1 << 8), <a name="l00035"></a>00035 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda93a808a844a94806debc804a18c58023f3">RPMBUILD_RMBUILD</a> = (1 << 9), <a name="l00036"></a>00036 <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda93ed3a4323aa34cd8f8d1ae19ba94744ba">RPMBUILD_STRINGBUF</a> = (1 << 10), <a name="l00037"></a><a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda937e26df39cdf47fbfe2a1c5069decf033">00037</a> <a class="code" href="group__rpmbuild.html#gg23067366f7d82aa059f41658099fda937e26df39cdf47fbfe2a1c5069decf033">RPMBUILD_RMSPEC</a> = (1 << 11) <a name="l00038"></a>00038 } <a class="code" href="group__rpmbuild.html#g7ca76f6876da4c5a8dd770757e2b030c">rpmBuildFlags</a>; <a name="l00039"></a>00039 <span class="comment">/*@=typeuse@*/</span> <a name="l00040"></a>00040 <a name="l00041"></a>00041 <span class="preprocessor">#include <ctype.h></span> <a name="l00042"></a>00042 <a name="l00043"></a><a class="code" href="rpmbuild_8h.html#79a89867cd7b92d22b5cc85721dde96c">00043</a> <span class="preprocessor">#define SKIPSPACE(s) { while (*(s) && xisspace(*(s))) (s)++; }</span> <a name="l00044"></a><a class="code" href="rpmbuild_8h.html#fda95150a1ffca3599480ab615a333ba">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define SKIPNONSPACE(s) { while (*(s) && !xisspace(*(s))) (s)++; }</span> <a name="l00045"></a>00045 <span class="preprocessor"></span> <a name="l00046"></a><a class="code" href="rpmbuild_8h.html#d9ab4ff03a7d3ccc939ede0256c00779">00046</a> <span class="preprocessor">#define PART_SUBNAME 0</span> <a name="l00047"></a><a class="code" href="rpmbuild_8h.html#f68863e27d9e2570da3bc63a5a919d58">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define PART_NAME 1</span> <a name="l00048"></a>00048 <span class="preprocessor"></span> <a name="l00052"></a><a class="code" href="group__rpmbuild.html#gf28a7613ca6ffd8eb22d970ca11d7cda">00052</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__rpmbuild.html#gf28a7613ca6ffd8eb22d970ca11d7cda">rpmParseState_e</a> { <a name="l00053"></a>00053 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdaa0bc59c88d809934355d91b5ac688b56">PART_NONE</a> = 0, <a name="l00054"></a>00054 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdaf485f81647eea95d81425b69854f62f0">PART_PREAMBLE</a> = 1, <a name="l00055"></a>00055 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdad453365cda8884e13d317e39e53201ef">PART_PREP</a> = 2, <a name="l00056"></a>00056 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda315e6a5a223979e86eda5fcf65d18cd2">PART_BUILD</a> = 3, <a name="l00057"></a>00057 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdab0e29b45959ec2ba0888cc04b476b7ac">PART_INSTALL</a> = 4, <a name="l00058"></a>00058 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdac333110f80cc7d8adf2e1428a17bf5d5">PART_CHECK</a> = 5, <a name="l00059"></a>00059 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda520827943b12ae6cc730a38ab9473f2d">PART_CLEAN</a> = 6, <a name="l00060"></a>00060 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdac5febdf2ed52ce3a9b4c07710011efe8">PART_FILES</a> = 7, <a name="l00061"></a>00061 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda9028bdf2324d72e6473beb5e6194a6c9">PART_PRE</a> = 8, <a name="l00062"></a>00062 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda1f3e0d1690c17aec2b9b6738f5b03904">PART_POST</a> = 9, <a name="l00063"></a>00063 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdafc433a4aae935fa65bf819c6b2b73bc5">PART_PREUN</a> = 10, <a name="l00064"></a>00064 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda314aaf0b99b04f1fbb8344d5e16ed1b5">PART_POSTUN</a> = 11, <a name="l00065"></a>00065 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdaa2b143cab5225eb2a1cd76ff1813e312">PART_PRETRANS</a> = 12, <a name="l00066"></a>00066 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda5d3b821df16d87834307d2cfa70aaa30">PART_POSTTRANS</a> = 13, <a name="l00067"></a>00067 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda8360f70471cc6429784a9ed0438cb6a4">PART_DESCRIPTION</a> = 14, <a name="l00068"></a>00068 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda2abb7fecb9aed088078da7657a04220f">PART_CHANGELOG</a> = 15, <a name="l00069"></a>00069 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda696007b0ffa50fdfc21f5eeb97626105">PART_TRIGGERIN</a> = 16, <a name="l00070"></a>00070 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda961dfe8a00458bfb0718d05757cabb16">PART_TRIGGERUN</a> = 17, <a name="l00071"></a>00071 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdafd48d6597c33ebffcb01fc5623873d8d">PART_VERIFYSCRIPT</a> = 18, <a name="l00072"></a>00072 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda0ae1b801d670b188a549a563ac2756fb">PART_BUILDARCHITECTURES</a>= 19, <a name="l00073"></a>00073 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda65afc3d106e184fdb77e61f710aba50f">PART_TRIGGERPOSTUN</a> = 20, <a name="l00074"></a>00074 <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cdabac36da970f1b275198a7956b870f707">PART_TRIGGERPREIN</a> = 21, <a name="l00075"></a><a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda334dc66d0cf7655cc024c6623b9ca0ff">00075</a> <a class="code" href="group__rpmbuild.html#ggf28a7613ca6ffd8eb22d970ca11d7cda334dc66d0cf7655cc024c6623b9ca0ff">PART_LAST</a> = 22 <a name="l00076"></a>00076 } <a class="code" href="group__rpmbuild.html#g5e16f31b3f058a87b3d0a4e47c4ff6ec">rpmParseState</a>; <a name="l00077"></a>00077 <a name="l00078"></a><a class="code" href="rpmbuild_8h.html#f391f45de139d94b115bc5907a49e927">00078</a> <span class="preprocessor">#define STRIP_NOTHING 0</span> <a name="l00079"></a><a class="code" href="rpmbuild_8h.html#7821575e7ee1a80c8bbcdf4180ad539e">00079</a> <span class="preprocessor"></span><span class="preprocessor">#define STRIP_TRAILINGSPACE (1 << 0)</span> <a name="l00080"></a><a class="code" href="rpmbuild_8h.html#42d8f54856f6c854260a9cf6b4767be2">00080</a> <span class="preprocessor"></span><span class="preprocessor">#define STRIP_COMMENTS (1 << 1)</span> <a name="l00081"></a>00081 <span class="preprocessor"></span> <a name="l00082"></a>00082 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00083"></a>00083 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00084"></a>00084 <span class="preprocessor">#endif</span> <a name="l00085"></a>00085 <span class="preprocessor"></span><span class="comment">/*@-redecl@*/</span> <a name="l00086"></a>00086 <a name="l00090"></a>00090 <span class="keywordtype">void</span> <a class="code" href="group__rpmbuild.html#ge623c4db45fe97c8e8e514e14d0eab4f">freeNames</a>(<span class="keywordtype">void</span>) <a name="l00091"></a>00091 <span class="comment">/*@globals internalState@*/</span> <a name="l00092"></a>00092 <span class="comment">/*@modifies internalState */</span>; <a name="l00093"></a>00093 <a name="l00100"></a>00100 <span class="keyword">extern</span> <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmbuild.html#gbbe3367c079cf6e43c9f9ed0f35911df">getUname</a>(uid_t uid) <a name="l00101"></a>00101 <span class="comment">/*@globals internalState @*/</span> <a name="l00102"></a>00102 <span class="comment">/*@modifies internalState @*/</span>; <a name="l00103"></a>00103 <a name="l00110"></a>00110 <span class="keyword">extern</span> <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmbuild.html#g367ec28d34bf49423c0202bee1bcff4a">getUnameS</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * uname) <a name="l00111"></a>00111 <span class="comment">/*@globals internalState @*/</span> <a name="l00112"></a>00112 <span class="comment">/*@modifies internalState @*/</span>; <a name="l00113"></a>00113 <a name="l00120"></a>00120 uid_t <a class="code" href="group__rpmbuild.html#gaf3cdeea09d6432976862d7087e33184">getUidS</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * uname) <a name="l00121"></a>00121 <span class="comment">/*@globals internalState @*/</span> <a name="l00122"></a>00122 <span class="comment">/*@modifies internalState @*/</span>; <a name="l00123"></a>00123 <a name="l00130"></a>00130 <span class="keyword">extern</span> <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmbuild.html#gf61417e9104de80755cd3055a28b8192">getGname</a>(gid_t gid) <a name="l00131"></a>00131 <span class="comment">/*@globals internalState @*/</span> <a name="l00132"></a>00132 <span class="comment">/*@modifies internalState @*/</span>; <a name="l00133"></a>00133 <a name="l00140"></a>00140 <span class="keyword">extern</span> <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmbuild.html#g4d2b270af4d037e774857f648cdccb9e">getGnameS</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * gname) <a name="l00141"></a>00141 <span class="comment">/*@globals internalState @*/</span> <a name="l00142"></a>00142 <span class="comment">/*@modifies internalState @*/</span>; <a name="l00143"></a>00143 <a name="l00150"></a>00150 gid_t <a class="code" href="group__rpmbuild.html#g00dd0fed9c3a207db6a33e526c742074">getGidS</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * gname) <a name="l00151"></a>00151 <span class="comment">/*@globals internalState @*/</span> <a name="l00152"></a>00152 <span class="comment">/*@modifies internalState @*/</span>; <a name="l00153"></a>00153 <a name="l00158"></a>00158 <span class="keyword">extern</span> <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__rpmbuild.html#g08a0d6cd21f43685660600e599e3442c">buildHost</a>(<span class="keywordtype">void</span>) <span class="comment">/*@*/</span>; <a name="l00159"></a>00159 <a name="l00164"></a>00164 <span class="keyword">extern</span> <span class="comment">/*@observer@*/</span> <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> * <span class="keyword">const</span> <a class="code" href="group__rpmbuild.html#gd92fa0a6b68f818c47a36d80dc13f564">getBuildTime</a>(<span class="keywordtype">void</span>) <span class="comment">/*@*/</span>; <a name="l00165"></a>00165 <a name="l00172"></a>00172 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g3cc2d9ce185b2a529b790abd4db13bb5">readLine</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keywordtype">int</span> strip) <a name="l00173"></a>00173 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00174"></a>00174 <span class="comment">/*@modifies spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00175"></a>00175 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00176"></a>00176 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00177"></a>00177 <a name="l00182"></a>00182 <span class="keywordtype">void</span> <a class="code" href="group__rpmbuild.html#ge29a546390bc89f15e647cb85a144a4a">closeSpec</a>(<span class="comment">/*@partial@*/</span> <a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00183"></a>00183 <span class="comment">/*@globals fileSystem, internalState @*/</span> <a name="l00184"></a>00184 <span class="comment">/*@modifies spec->fileStack, fileSystem, internalState @*/</span>; <a name="l00185"></a>00185 <a name="l00190"></a>00190 <span class="keywordtype">void</span> <a class="code" href="group__rpmbuild.html#gc93c94ec9379044ad20c40d511fb45d5">handleComments</a>(<span class="keywordtype">char</span> * s) <a name="l00191"></a>00191 <span class="comment">/*@modifies s @*/</span>; <a name="l00192"></a>00192 <a name="l00198"></a>00198 <a class="code" href="group__rpmbuild.html#g5e16f31b3f058a87b3d0a4e47c4ff6ec">rpmParseState</a> <a class="code" href="group__rpmbuild.html#g8c7b433bf3ff695618b066591e859765">isPart</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * line) <span class="comment">/*@*/</span>; <a name="l00199"></a>00199 <a name="l00206"></a>00206 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#gf71ed492e39aef9cc4f61bbb4f80b0cb">parseNum</a>(<span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * line, <span class="comment">/*@null@*/</span> <span class="comment">/*@out@*/</span><span class="keywordtype">int</span> * res) <a name="l00207"></a>00207 <span class="comment">/*@modifies *res @*/</span>; <a name="l00208"></a>00208 <a name="l00216"></a>00216 <span class="keywordtype">void</span> <a class="code" href="group__rpmbuild.html#g4d875e39d318a0c181ce76b2f97fb11e">addChangelogEntry</a>(<a class="code" href="structheaderToken__s.html">Header</a> h, time_t time, <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structname.html">name</a>, <a name="l00217"></a>00217 <span class="keyword">const</span> <span class="keywordtype">char</span> * text) <a name="l00218"></a>00218 <span class="comment">/*@modifies h @*/</span>; <a name="l00219"></a>00219 <a name="l00226"></a>00226 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g97d42c44fa779226f3012e61d13834e9">parseBuildInstallClean</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <a class="code" href="group__rpmbuild.html#g5e16f31b3f058a87b3d0a4e47c4ff6ec">rpmParseState</a> parsePart) <a name="l00227"></a>00227 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00228"></a>00228 <span class="comment">/*@modifies spec->build, spec->install, spec->check, spec->clean,</span> <a name="l00229"></a>00229 <span class="comment"> spec->macros,</span> <a name="l00230"></a>00230 <span class="comment"> spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00231"></a>00231 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00232"></a>00232 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00233"></a>00233 <a name="l00239"></a>00239 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#ge253a7b38f0fcf429179ecf13e9ed6d6">parseChangelog</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00240"></a>00240 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00241"></a>00241 <span class="comment">/*@modifies spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00242"></a>00242 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00243"></a>00243 <span class="comment"> spec->packages->header,</span> <a name="l00244"></a>00244 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00245"></a>00245 <a name="l00251"></a>00251 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g31c10e99ae9e1aab1325bc0874a63648">parseDescription</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00252"></a>00252 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00253"></a>00253 <span class="comment">/*@modifies spec->packages,</span> <a name="l00254"></a>00254 <span class="comment"> spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00255"></a>00255 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00256"></a>00256 <span class="comment"> spec->st,</span> <a name="l00257"></a>00257 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00258"></a>00258 <a name="l00264"></a>00264 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g7fe42584bc4707da865fc35e971d44f4">parseFiles</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00265"></a>00265 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00266"></a>00266 <span class="comment">/*@modifies spec->packages,</span> <a name="l00267"></a>00267 <span class="comment"> spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00268"></a>00268 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00269"></a>00269 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00270"></a>00270 <a name="l00277"></a>00277 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g70f0412fa948841bce0ccb639eb2b119">parsePreamble</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keywordtype">int</span> initialPackage) <a name="l00278"></a>00278 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno,</span> <a name="l00279"></a>00279 <span class="comment"> fileSystem, internalState @*/</span> <a name="l00280"></a>00280 <span class="comment">/*@modifies spec->packages,</span> <a name="l00281"></a>00281 <span class="comment"> spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00282"></a>00282 <span class="comment"> spec->buildSubdir,</span> <a name="l00283"></a>00283 <span class="comment"> spec->macros, spec->st, spec->buildRootURL,</span> <a name="l00284"></a>00284 <span class="comment"> spec->sources, spec->numSources, spec->noSource,</span> <a name="l00285"></a>00285 <span class="comment"> spec->buildRestrictions, spec->BANames, spec->BACount,</span> <a name="l00286"></a>00286 <span class="comment"> spec->gotBuildRootURL,</span> <a name="l00287"></a>00287 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00288"></a>00288 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00289"></a>00289 <a name="l00295"></a>00295 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g249948e3e048f44ddd1f0b6ac722767e">parsePrep</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00296"></a>00296 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00297"></a>00297 <span class="comment">/*@modifies spec->prep, spec->buildSubdir, spec->macros,</span> <a name="l00298"></a>00298 <span class="comment"> spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00299"></a>00299 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00300"></a>00300 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00301"></a>00301 <a name="l00312"></a>00312 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g0b381d6afc4bc9395e84c3e36673d94a">parseRCPOT</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <a class="code" href="structPackage__s.html">Package</a> pkg, <span class="keyword">const</span> <span class="keywordtype">char</span> * field, <a class="code" href="rpmlib_8h.html#d0da081a8aa5491edae4ad732d03c2f3">rpmTag</a> tagN, <a name="l00313"></a>00313 <span class="keywordtype">int</span> index, <a class="code" href="rpmlib_8h.html#f2ea06418fac00ef5f6afb61f7a07429">rpmsenseFlags</a> tagflags) <a name="l00314"></a>00314 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno @*/</span> <a name="l00315"></a>00315 <span class="comment">/*@modifies rpmGlobalMacroContext @*/</span>; <a name="l00316"></a>00316 <a name="l00323"></a>00323 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g922cbdc4a08acbe0925fce996acac56b">parseScript</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keywordtype">int</span> parsePart) <a name="l00324"></a>00324 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00325"></a>00325 <span class="comment">/*@modifies spec->packages,</span> <a name="l00326"></a>00326 <span class="comment"> spec->fileStack, spec->readStack, spec->line, spec->lineNum,</span> <a name="l00327"></a>00327 <span class="comment"> spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,</span> <a name="l00328"></a>00328 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00329"></a>00329 <a name="l00336"></a>00336 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g14ac1120be03f6918d1e7451b8cba2a4">parseExpressionBoolean</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="lparser_8c.html#f2c543df6cbb49247cd0a71956786d92">expr</a>) <a name="l00337"></a>00337 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno @*/</span> <a name="l00338"></a>00338 <span class="comment">/*@modifies rpmGlobalMacroContext @*/</span>; <a name="l00339"></a>00339 <a name="l00346"></a>00346 <span class="comment">/*@unused@*/</span> <span class="comment">/*@null@*/</span> <a name="l00347"></a>00347 <span class="keywordtype">char</span> * <a class="code" href="group__rpmbuild.html#gb9d043607e79979aac95e2a26827df50">parseExpressionString</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keyword">const</span> <span class="keywordtype">char</span> * expr) <a name="l00348"></a>00348 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno @*/</span> <a name="l00349"></a>00349 <span class="comment">/*@modifies rpmGlobalMacroContext @*/</span>; <a name="l00350"></a>00350 <a name="l00361"></a>00361 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#gdd4b73b05980a2816b49897c403a94c3">doScript</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keywordtype">int</span> what, <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <a name="l00362"></a>00362 <span class="comment">/*@null@*/</span> <a class="code" href="structStringBufRec.html">StringBuf</a> sb, <span class="keywordtype">int</span> test) <a name="l00363"></a>00363 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno,</span> <a name="l00364"></a>00364 <span class="comment"> fileSystem, internalState @*/</span> <a name="l00365"></a>00365 <span class="comment">/*@modifies spec->macros,</span> <a name="l00366"></a>00366 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00367"></a>00367 <a name="l00376"></a>00376 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g2c4de15d3f68801622c829d304990f65">lookupPackage</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">int</span> flag, <a name="l00377"></a>00377 <span class="comment">/*@out@*/</span> <a class="code" href="structPackage__s.html">Package</a> * pkg) <a name="l00378"></a>00378 <span class="comment">/*@modifies spec->packages, *pkg @*/</span>; <a name="l00379"></a>00379 <a name="l00385"></a>00385 <span class="comment">/*@only@*/</span> <a name="l00386"></a>00386 <a class="code" href="structPackage__s.html">Package</a> <a class="code" href="group__rpmbuild.html#g3511f6814c97f689d9e923bd70c6b64b">newPackage</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00387"></a>00387 <span class="comment">/*@modifies spec->packages, spec->packages->next @*/</span>; <a name="l00388"></a>00388 <a name="l00394"></a>00394 <span class="comment">/*@null@*/</span> <a name="l00395"></a>00395 <a class="code" href="structPackage__s.html">Package</a> <a class="code" href="group__rpmbuild.html#g8c50d05656b363329cebf3881c4ca8b5">freePackages</a>(<span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> <a class="code" href="structPackage__s.html">Package</a> packages) <a name="l00396"></a>00396 <span class="comment">/*@globals fileSystem @*/</span> <a name="l00397"></a>00397 <span class="comment">/*@modifies packages, fileSystem @*/</span>; <a name="l00398"></a>00398 <a name="l00404"></a>00404 <span class="comment">/*@null@*/</span> <a name="l00405"></a>00405 <a class="code" href="structPackage__s.html">Package</a> <a class="code" href="group__rpmbuild.html#g61dfb8a50f486eb710f1a83a4de569ec">freePackage</a>(<span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> <a class="code" href="structPackage__s.html">Package</a> pkg) <a name="l00406"></a>00406 <span class="comment">/*@globals fileSystem @*/</span> <a name="l00407"></a>00407 <span class="comment">/*@modifies pkg, fileSystem @*/</span>; <a name="l00408"></a>00408 <a name="l00420"></a>00420 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g99c61e697aad58f4687d49db5f6b124b">addReqProv</a>(<span class="comment">/*@unused@*/</span><a class="code" href="structSpec__s.html">Spec</a> spec, <a class="code" href="structheaderToken__s.html">Header</a> h, <a class="code" href="rpmlib_8h.html#d0da081a8aa5491edae4ad732d03c2f3">rpmTag</a> tagN, <a name="l00421"></a>00421 <span class="keyword">const</span> <span class="keywordtype">char</span> * N, <span class="keyword">const</span> <span class="keywordtype">char</span> * EVR, <a class="code" href="rpmlib_8h.html#f2ea06418fac00ef5f6afb61f7a07429">rpmsenseFlags</a> Flags, <a name="l00422"></a>00422 <span class="keywordtype">int</span> index) <a name="l00423"></a>00423 <span class="comment">/*@modifies h @*/</span>; <a name="l00424"></a>00424 <a name="l00432"></a>00432 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g09ec84a63d1aabe2b767615b9b1fe810">rpmlibNeedsFeature</a>(<a class="code" href="structheaderToken__s.html">Header</a> h, <span class="keyword">const</span> <span class="keywordtype">char</span> * feature, <span class="keyword">const</span> <span class="keywordtype">char</span> * featureEVR) <a name="l00433"></a>00433 <span class="comment">/*@modifies h @*/</span>; <a name="l00434"></a>00434 <a name="l00442"></a>00442 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#ga92dddde3db468b1f683cb2dd87b9eff">processBinaryFiles</a>(<a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keywordtype">int</span> installSpecialDoc, <span class="keywordtype">int</span> test) <a name="l00443"></a>00443 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00444"></a>00444 <span class="comment">/*@modifies spec->macros,</span> <a name="l00445"></a>00445 <span class="comment"> spec->packages->cpioList, spec->packages->fileList,</span> <a name="l00446"></a>00446 <span class="comment"> spec->packages->specialDoc, spec->packages->header,</span> <a name="l00447"></a>00447 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00448"></a>00448 <a name="l00453"></a>00453 <span class="keywordtype">void</span> <a class="code" href="group__rpmbuild.html#gc0dacc7f82464b3836df9de4030f748b">initSourceHeader</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00454"></a>00454 <span class="comment">/*@modifies spec->sourceHeader,</span> <a name="l00455"></a>00455 <span class="comment"> spec->buildRestrictions, spec->BANames,</span> <a name="l00456"></a>00456 <span class="comment"> spec->packages->header @*/</span>; <a name="l00457"></a>00457 <a name="l00463"></a>00463 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#gb1795196ed3a0f6ca8f90132e316c9cb">processSourceFiles</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00464"></a>00464 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00465"></a>00465 <span class="comment">/*@modifies spec->sourceHeader, spec->sourceCpioList,</span> <a name="l00466"></a>00466 <span class="comment"> spec->buildRestrictions, spec->BANames,</span> <a name="l00467"></a>00467 <span class="comment"> spec->packages->header,</span> <a name="l00468"></a>00468 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00469"></a>00469 <a name="l00483"></a>00483 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g1ab0f21171b777c14da12d3a1fc584c2">parseSpec</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keyword">const</span> <span class="keywordtype">char</span> * specFile, <a name="l00484"></a>00484 <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * rootURL, <a name="l00485"></a>00485 <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * buildRootURL, <a name="l00486"></a>00486 <span class="keywordtype">int</span> recursing, <a name="l00487"></a>00487 <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * passPhrase, <a name="l00488"></a>00488 <span class="comment">/*@null@*/</span> <span class="keywordtype">char</span> * cookie, <a name="l00489"></a>00489 <span class="keywordtype">int</span> anyarch, <span class="keywordtype">int</span> force) <a name="l00490"></a>00490 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00491"></a>00491 <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00492"></a>00492 <a name="l00501"></a>00501 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#gf082ae59da46ff27e657c3e38668fa56">buildSpec</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="structSpec__s.html">Spec</a> spec, <span class="keywordtype">int</span> what, <span class="keywordtype">int</span> test) <a name="l00502"></a>00502 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00503"></a>00503 <span class="comment">/*@modifies spec->sourceHeader, spec->sourceCpioList, spec->cookie,</span> <a name="l00504"></a>00504 <span class="comment"> spec->sourceRpmName, spec->sourcePkgId,</span> <a name="l00505"></a>00505 <span class="comment"> spec->macros, spec->BASpecs,</span> <a name="l00506"></a>00506 <span class="comment"> spec->buildRestrictions, spec->BANames,</span> <a name="l00507"></a>00507 <span class="comment"> spec->packages->cpioList, spec->packages->fileList,</span> <a name="l00508"></a>00508 <span class="comment"> spec->packages->specialDoc, spec->packages->header,</span> <a name="l00509"></a>00509 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00510"></a>00510 <a name="l00516"></a>00516 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g2fb830904b1fc13d452bc97fc9c8d2c4">packageBinaries</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00517"></a>00517 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00518"></a>00518 <span class="comment">/*@modifies spec->packages->header, spec->packages->cpioList,</span> <a name="l00519"></a>00519 <span class="comment"> spec->sourceRpmName,</span> <a name="l00520"></a>00520 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00521"></a>00521 <a name="l00527"></a>00527 <span class="keywordtype">int</span> <a class="code" href="group__rpmbuild.html#g4d18775e4fe7d342bc828d87de5e695a">packageSources</a>(<a class="code" href="structSpec__s.html">Spec</a> spec) <a name="l00528"></a>00528 <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span> <a name="l00529"></a>00529 <span class="comment">/*@modifies spec->sourceHeader, spec->cookie, spec->sourceCpioList,</span> <a name="l00530"></a>00530 <span class="comment"> spec->sourceRpmName, spec->sourcePkgId,</span> <a name="l00531"></a>00531 <span class="comment"> rpmGlobalMacroContext, fileSystem, internalState @*/</span>; <a name="l00532"></a>00532 <a name="l00533"></a>00533 <span class="comment">/*@=redecl@*/</span> <a name="l00534"></a>00534 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00535"></a>00535 <span class="preprocessor"></span>} <a name="l00536"></a>00536 <span class="preprocessor">#endif</span> <a name="l00537"></a>00537 <span class="preprocessor"></span> <a name="l00538"></a>00538 <span class="preprocessor">#endif </span><span class="comment">/* _H_RPMBUILD_ */</span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>