]>
Commit | Line | Data |
---|---|---|
a83eeac3 | 1 | diff -ur rpm-4.0.2/build/build.c rpm-4.0.2-test/build/build.c |
2 | --- rpm-4.0.2/build/build.c Tue Jan 16 00:10:04 2001 | |
3 | +++ rpm-4.0.2-test/build/build.c Fri May 24 20:46:26 2002 | |
4 | @@ -81,6 +81,12 @@ | |
5 | mTemplate = "%{__spec_build_template}"; | |
6 | mPost = "%{__spec_build_post}"; | |
7 | break; | |
8 | + case RPMBUILD_TEST: | |
9 | + name = "%test"; | |
10 | + sb = spec->test; | |
11 | + mTemplate = "%{__spec_build_template}"; | |
12 | + mPost = "%{__spec_build_post}"; | |
13 | + break; | |
14 | case RPMBUILD_INSTALL: | |
15 | name = "%install"; | |
16 | sb = spec->install; | |
17 | @@ -266,6 +272,10 @@ | |
18 | (rc = doScript(spec, RPMBUILD_BUILD, NULL, NULL, test))) | |
19 | goto exit; | |
20 | ||
21 | + if ((what & RPMBUILD_TEST) && | |
22 | + (rc = doScript(spec, RPMBUILD_TEST, NULL, NULL, test))) | |
23 | + goto exit; | |
24 | + | |
25 | if ((what & RPMBUILD_INSTALL) && | |
26 | (rc = doScript(spec, RPMBUILD_INSTALL, NULL, NULL, test))) | |
27 | goto exit; | |
28 | diff -ur rpm-4.0.2/build/parseBuildInstallClean.c rpm-4.0.2-test/build/parseBuildInstallClean.c | |
29 | --- rpm-4.0.2/build/parseBuildInstallClean.c Tue Jan 16 00:10:04 2001 | |
30 | +++ rpm-4.0.2-test/build/parseBuildInstallClean.c Fri May 24 20:46:26 2002 | |
31 | @@ -22,6 +22,9 @@ | |
32 | } else if (parsePart == PART_CLEAN) { | |
33 | sbp = &(spec->clean); | |
34 | name = "%clean"; | |
35 | + } else if (parsePart == PART_TEST) { | |
36 | + sbp = &(spec->test); | |
37 | + name = "%test"; | |
38 | } | |
39 | ||
40 | if (*sbp != NULL) { | |
41 | diff -ur rpm-4.0.2/build/parsePreamble.c rpm-4.0.2-test/build/parsePreamble.c | |
42 | --- rpm-4.0.2/build/parsePreamble.c Tue Jan 16 00:10:04 2001 | |
43 | +++ rpm-4.0.2-test/build/parsePreamble.c Fri May 24 20:46:26 2002 | |
44 | @@ -122,6 +122,7 @@ | |
45 | { "prep", RPMSENSE_SCRIPT_PREP }, | |
46 | { "build", RPMSENSE_SCRIPT_BUILD }, | |
47 | { "install", RPMSENSE_SCRIPT_INSTALL }, | |
48 | + { "test", RPMSENSE_SCRIPT_TEST }, | |
49 | { "clean", RPMSENSE_SCRIPT_CLEAN }, | |
50 | { NULL, 0 } | |
51 | }; | |
52 | diff -ur rpm-4.0.2/build/parseSpec.c rpm-4.0.2-test/build/parseSpec.c | |
53 | --- rpm-4.0.2/build/parseSpec.c Fri May 24 20:47:45 2002 | |
54 | +++ rpm-4.0.2-test/build/parseSpec.c Fri May 24 20:46:26 2002 | |
55 | @@ -22,6 +22,7 @@ | |
56 | { PART_PREP, 0, "%prep"}, | |
57 | { PART_BUILD, 0, "%build"}, | |
58 | { PART_INSTALL, 0, "%install"}, | |
59 | + { PART_TEST, 0, "%test"}, | |
60 | { PART_CLEAN, 0, "%clean"}, | |
61 | { PART_PREUN, 0, "%preun"}, | |
62 | { PART_POSTUN, 0, "%postun"}, | |
63 | @@ -427,6 +428,7 @@ | |
64 | break; | |
65 | case PART_BUILD: | |
66 | case PART_INSTALL: | |
67 | + case PART_TEST: | |
68 | case PART_CLEAN: | |
69 | parsePart = parseBuildInstallClean(spec, parsePart); | |
70 | break; | |
71 | diff -ur rpm-4.0.2/build/rpmbuild.h rpm-4.0.2-test/build/rpmbuild.h | |
72 | --- rpm-4.0.2/build/rpmbuild.h Fri May 24 20:47:45 2002 | |
73 | +++ rpm-4.0.2-test/build/rpmbuild.h Fri May 24 20:46:26 2002 | |
74 | @@ -21,15 +21,16 @@ | |
75 | typedef enum rpmBuildFlags_e { | |
76 | RPMBUILD_PREP = (1 << 0), /*!< Execute %%prep. */ | |
77 | RPMBUILD_BUILD = (1 << 1), /*!< Execute %%build. */ | |
78 | - RPMBUILD_INSTALL = (1 << 2), /*!< Execute %%install. */ | |
79 | - RPMBUILD_CLEAN = (1 << 3), /*!< Execute %%clean. */ | |
80 | - RPMBUILD_FILECHECK = (1 << 4), /*!< Check %%files manifest. */ | |
81 | - RPMBUILD_PACKAGESOURCE = (1 << 5), /*!< Create source package. */ | |
82 | - RPMBUILD_PACKAGEBINARY = (1 << 6), /*!< Create binary package(s). */ | |
83 | - RPMBUILD_RMSOURCE = (1 << 7), /*!< Remove source(s) and patch(s). */ | |
84 | - RPMBUILD_RMBUILD = (1 << 8), /*!< Remove build sub-tree. */ | |
85 | - RPMBUILD_STRINGBUF = (1 << 9), /*!< only for doScript() */ | |
86 | - RPMBUILD_RMSPEC = (1 << 10) /*!< Remove spec file. */ | |
87 | + RPMBUILD_TEST = (1 << 2), /*!< Execute %%test. */ | |
88 | + RPMBUILD_INSTALL = (1 << 3), /*!< Execute %%install. */ | |
89 | + RPMBUILD_CLEAN = (1 << 4), /*!< Execute %%clean. */ | |
90 | + RPMBUILD_FILECHECK = (1 << 5), /*!< Check %%files manifest. */ | |
91 | + RPMBUILD_PACKAGESOURCE = (1 << 6), /*!< Create source package. */ | |
92 | + RPMBUILD_PACKAGEBINARY = (1 << 7), /*!< Create binary package(s). */ | |
93 | + RPMBUILD_RMSOURCE = (1 << 8), /*!< Remove source(s) and patch(s). */ | |
94 | + RPMBUILD_RMBUILD = (1 << 9), /*!< Remove build sub-tree. */ | |
95 | + RPMBUILD_STRINGBUF = (1 << 10), /*!< only for doScript() */ | |
96 | + RPMBUILD_RMSPEC = (1 << 11) /*!< Remove spec file. */ | |
97 | } rpmBuildFlags; | |
98 | ||
99 | #include <ctype.h> | |
100 | @@ -49,21 +50,22 @@ | |
101 | PART_PREAMBLE = 1, /*!< */ | |
102 | PART_PREP = 2, /*!< */ | |
103 | PART_BUILD = 3, /*!< */ | |
104 | - PART_INSTALL = 4, /*!< */ | |
105 | - PART_CLEAN = 5, /*!< */ | |
106 | - PART_FILES = 6, /*!< */ | |
107 | - PART_PRE = 7, /*!< */ | |
108 | - PART_POST = 8, /*!< */ | |
109 | - PART_PREUN = 9, /*!< */ | |
110 | - PART_POSTUN = 10, /*!< */ | |
111 | - PART_DESCRIPTION = 11, /*!< */ | |
112 | - PART_CHANGELOG = 12, /*!< */ | |
113 | - PART_TRIGGERIN = 13, /*!< */ | |
114 | - PART_TRIGGERUN = 14, /*!< */ | |
115 | - PART_VERIFYSCRIPT = 15, /*!< */ | |
116 | - PART_BUILDARCHITECTURES= 16,/*!< */ | |
117 | - PART_TRIGGERPOSTUN = 17, /*!< */ | |
118 | - PART_LAST = 18 /*!< */ | |
119 | + PART_TEST = 4, /*!< */ | |
120 | + PART_INSTALL = 5, /*!< */ | |
121 | + PART_CLEAN = 6, /*!< */ | |
122 | + PART_FILES = 7, /*!< */ | |
123 | + PART_PRE = 8, /*!< */ | |
124 | + PART_POST = 9, /*!< */ | |
125 | + PART_PREUN = 10, /*!< */ | |
126 | + PART_POSTUN = 11, /*!< */ | |
127 | + PART_DESCRIPTION = 12, /*!< */ | |
128 | + PART_CHANGELOG = 13, /*!< */ | |
129 | + PART_TRIGGERIN = 14, /*!< */ | |
130 | + PART_TRIGGERUN = 15, /*!< */ | |
131 | + PART_VERIFYSCRIPT = 16, /*!< */ | |
132 | + PART_BUILDARCHITECTURES= 17,/*!< */ | |
133 | + PART_TRIGGERPOSTUN = 18, /*!< */ | |
134 | + PART_LAST = 19 /*!< */ | |
135 | } rpmParseState; | |
136 | ||
137 | #define STRIP_NOTHING 0 | |
138 | diff -ur rpm-4.0.2/build/rpmspec.h rpm-4.0.2-test/build/rpmspec.h | |
139 | --- rpm-4.0.2/build/rpmspec.h Thu Jan 11 15:15:15 2001 | |
140 | +++ rpm-4.0.2-test/build/rpmspec.h Fri May 24 20:46:26 2002 | |
141 | @@ -131,6 +131,7 @@ | |
142 | /*@dependent@*/ struct MacroContext *macros; | |
143 | ||
144 | /*@only@*/ StringBuf prep; /*!< %prep scriptlet. */ | |
145 | +/*@only@*/ StringBuf test; /*!< %test scriptlet. */ | |
146 | /*@only@*/ StringBuf build; /*!< %build scriptlet. */ | |
147 | /*@only@*/ StringBuf install; /*!< %install scriptlet. */ | |
148 | /*@only@*/ StringBuf clean; /*!< %clean scriptlet. */ | |
149 | diff -ur rpm-4.0.2/lib/poptBT.c rpm-4.0.2-test/lib/poptBT.c | |
150 | --- rpm-4.0.2/lib/poptBT.c Wed Jan 3 20:29:11 2001 | |
151 | +++ rpm-4.0.2-test/lib/poptBT.c Fri May 24 20:46:26 2002 | |
152 | @@ -35,6 +35,7 @@ | |
153 | #define POPT_BL 0x626c | |
154 | #define POPT_BP 0x6270 | |
155 | #define POPT_BS 0x6273 | |
156 | +#define POPT_BT 0x6274 | |
157 | #define POPT_TA 0x7461 | |
158 | #define POPT_TB 0x7462 | |
159 | #define POPT_TC 0x7463 | |
160 | @@ -42,6 +43,7 @@ | |
161 | #define POPT_TL 0x746c | |
162 | #define POPT_TP 0x7470 | |
163 | #define POPT_TS 0x7473 | |
164 | +#define POPT_TT 0x7474 | |
165 | ||
166 | extern int _noDirTokens; | |
167 | static int force = 0; | |
168 | @@ -67,12 +69,14 @@ | |
169 | case POPT_BL: | |
170 | case POPT_BP: | |
171 | case POPT_BS: | |
172 | + case POPT_BT: | |
173 | case POPT_TA: | |
174 | case POPT_TB: | |
175 | case POPT_TC: | |
176 | case POPT_TI: | |
177 | case POPT_TL: | |
178 | case POPT_TP: | |
179 | + case POPT_TT: | |
180 | case POPT_TS: | |
181 | if (rba->buildMode == ' ') { | |
182 | rba->buildMode = (opt->val >> 8) & 0xff; | |
183 | @@ -121,6 +125,9 @@ | |
184 | { "bc", 0, POPT_ARGFLAG_ONEDASH, 0, POPT_BC, | |
185 | N_("build through %build (%prep, then compile) from <specfile>"), | |
186 | N_("<specfile>") }, | |
187 | + { "bt", 0, POPT_ARGFLAG_ONEDASH, 0, POPT_BT, | |
188 | + N_("build through %test (%prep, %build then test) from <specfile>"), | |
189 | + N_("<specfile>") }, | |
190 | { "bi", 0, POPT_ARGFLAG_ONEDASH, 0, POPT_BI, | |
191 | N_("build through %install (%prep, %build, then install) from <specfile>"), | |
192 | N_("<specfile>") }, | |
193 | @@ -143,6 +150,9 @@ | |
194 | { "tc", 0, POPT_ARGFLAG_ONEDASH, 0, POPT_TC, | |
195 | N_("build through %build (%prep, then compile) from <tarball>"), | |
196 | N_("<tarball>") }, | |
197 | + { "tt", 0, POPT_ARGFLAG_ONEDASH, 0, POPT_BT, | |
198 | + N_("build through %test (%prep, %build then test) from <tarball>"), | |
199 | + N_("<tarball>") }, | |
200 | { "ti", 0, POPT_ARGFLAG_ONEDASH, 0, POPT_TI, | |
201 | N_("build through %install (%prep, %build, then install) from <tarball>"), | |
202 | N_("<tarball>") }, | |
203 | diff -ur rpm-4.0.2/lib/rpmlib.h rpm-4.0.2-test/lib/rpmlib.h | |
204 | --- rpm-4.0.2/lib/rpmlib.h Fri May 24 20:47:45 2002 | |
205 | +++ rpm-4.0.2-test/lib/rpmlib.h Fri May 24 20:46:26 2002 | |
206 | @@ -356,10 +356,11 @@ | |
207 | RPMSENSE_MULTILIB = (1 << 19), | |
208 | RPMSENSE_SCRIPT_PREP = (1 << 20), /*!< %prep build dependency. */ | |
209 | RPMSENSE_SCRIPT_BUILD = (1 << 21), /*!< %build build dependency. */ | |
210 | - RPMSENSE_SCRIPT_INSTALL = (1 << 22),/*!< %install build dependency. */ | |
211 | - RPMSENSE_SCRIPT_CLEAN = (1 << 23), /*!< %clean build dependency. */ | |
212 | - RPMSENSE_RPMLIB = ((1 << 24) | RPMSENSE_PREREQ), /*!< rpmlib(feature) dependency. */ | |
213 | - RPMSENSE_TRIGGERPREIN = (1 << 25) /*!< @todo Implement %triggerprein. */ | |
214 | + RPMSENSE_SCRIPT_TEST = (1 << 22), /*!< %test build dependency. */ | |
215 | + RPMSENSE_SCRIPT_INSTALL = (1 << 23),/*!< %install build dependency. */ | |
216 | + RPMSENSE_SCRIPT_CLEAN = (1 << 24), /*!< %clean build dependency. */ | |
217 | + RPMSENSE_RPMLIB = ((1 << 25) | RPMSENSE_PREREQ), /*!< rpmlib(feature) dependency. */ | |
218 | + RPMSENSE_TRIGGERPREIN = (1 << 26) /*!< @todo Implement %triggerprein. */ | |
219 | ||
220 | } rpmsenseFlags; | |
221 | ||
222 | @@ -381,6 +382,7 @@ | |
223 | RPMSENSE_FIND_REQUIRES | \ | |
224 | RPMSENSE_SCRIPT_PREP | \ | |
225 | RPMSENSE_SCRIPT_BUILD | \ | |
226 | + RPMSENSE_SCRIPT_TEST | \ | |
227 | RPMSENSE_SCRIPT_INSTALL | \ | |
228 | RPMSENSE_SCRIPT_CLEAN | \ | |
229 | RPMSENSE_RPMLIB ) | |
230 | diff -ur rpm-4.0.2/rpmqv.c rpm-4.0.2-test/rpmqv.c | |
231 | --- rpm-4.0.2/rpmqv.c Mon Mar 12 19:20:29 2001 | |
232 | +++ rpm-4.0.2-test/rpmqv.c Fri May 24 20:46:26 2002 | |
233 | @@ -1316,7 +1316,7 @@ | |
234 | if (!poptPeekArg(optCon)) | |
235 | argerror(_("no packages files given for rebuild")); | |
236 | ||
237 | - ba->buildAmount = RPMBUILD_PREP | RPMBUILD_BUILD | RPMBUILD_INSTALL; | |
238 | + ba->buildAmount = RPMBUILD_PREP | RPMBUILD_BUILD | RPMBUILD_TEST | RPMBUILD_INSTALL; | |
239 | if (bigMode == MODE_REBUILD) { | |
240 | ba->buildAmount |= RPMBUILD_PACKAGEBINARY; | |
241 | ba->buildAmount |= RPMBUILD_RMSOURCE; | |
242 | @@ -1358,6 +1358,11 @@ | |
243 | if ((ba->buildChar == 'i') && ba->shortCircuit) | |
244 | break; | |
245 | /*@fallthrough@*/ | |
246 | + case 't': | |
247 | + ba->buildAmount |= RPMBUILD_TEST; | |
248 | + if ((ba->buildChar == 't') && ba->shortCircuit) | |
249 | + break; | |
250 | + /*@fallthrough@*/ | |
251 | case 'c': | |
252 | ba->buildAmount |= RPMBUILD_BUILD; | |
253 | if ((ba->buildChar == 'c') && ba->shortCircuit) | |
254 | --- rpm-4.0.2.new/build/spec.c~ Tue Jan 16 00:10:04 2001 | |
255 | +++ rpm-4.0.2.new/build/spec.c Fri May 24 22:07:42 2002 | |
256 | @@ -415,6 +415,7 @@ | |
257 | spec->rootURL = NULL; | |
258 | spec->prep = NULL; | |
259 | spec->build = NULL; | |
260 | + spec->test = NULL; | |
261 | spec->install = NULL; | |
262 | spec->clean = NULL; | |
263 | ||
264 | @@ -460,6 +461,7 @@ | |
265 | ||
266 | freeStringBuf(spec->prep); spec->prep = NULL; | |
267 | freeStringBuf(spec->build); spec->build = NULL; | |
268 | + freeStringBuf(spec->test); spec->test = NULL; | |
269 | freeStringBuf(spec->install); spec->install = NULL; | |
270 | freeStringBuf(spec->clean); spec->clean = NULL; | |
271 | ||
272 | --- rpm-4.0.2.new/macros.in~ Fri May 24 21:10:35 2002 | |
273 | +++ rpm-4.0.2.new/macros.in Fri May 24 22:11:11 2002 | |
274 | @@ -408,6 +408,16 @@ | |
275 | #%{__spec_autodep_post}\ | |
276 | #%{nil} | |
277 | ||
278 | +%__spec_test_shell %{___build_shell} | |
279 | +%__spec_test_args %{___build_args} | |
280 | +%__spec_test_cmd %{___build_cmd} | |
281 | +%__spec_test_pre %{___build_pre} | |
282 | +%__spec_test_body %{___build_body} | |
283 | +%__spec_test_post %{___build_post} | |
284 | +%__spec_test_template #!%{__spec_test_shell}\ | |
285 | +%{__spec_test_pre}\ | |
286 | +%{nil} | |
287 | + | |
288 | %__spec_clean_shell %{___build_shell} | |
289 | %__spec_clean_args %{___build_args} | |
290 | %__spec_clean_cmd %{___build_cmd} | |
291 | --- rpm-4.0.2.new/build.c~ Tue Jan 16 00:10:04 2001 | |
292 | +++ rpm-4.0.2.new/build.c Fri May 24 22:02:03 2002 | |
293 | @@ -235,7 +235,7 @@ | |
294 | ||
295 | /* Parse the spec file */ | |
296 | #define _anyarch(_f) \ | |
297 | -(((_f)&(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0) | |
298 | +(((_f)&(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_TEST|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0) | |
299 | if (parseSpec(&spec, specURL, ba->rootdir, buildRootURL, 0, passPhrase, | |
300 | cookie, _anyarch(buildAmount), ba->force)) { | |
301 | rc = 1; | |
302 | --- rpm-4.0.2/rpmpopt.in~ Fri May 24 21:16:31 2002 | |
303 | +++ rpm-4.0.2/rpmpopt.in Fri May 24 22:19:33 2002 | |
304 | @@ -133,6 +133,7 @@ | |
305 | rpm exec --bl rpmb -bl | |
306 | rpm exec --ba rpmb -ba | |
307 | rpm exec --bb rpmb -bb | |
308 | +rpm exec --bt rpmb -bt | |
309 | rpm exec --bs rpmb -bs | |
310 | rpm exec --tp rpmb -tp | |
311 | rpm exec --tc rpmb -tc | |
312 | @@ -140,6 +141,7 @@ | |
313 | rpm exec --tl rpmb -tl | |
314 | rpm exec --ta rpmb -ta | |
315 | rpm exec --tb rpmb -tb | |
316 | +rpm exec --tt rpmb -tt | |
317 | rpm exec --ts rpmb -ts | |
318 | rpm exec --rebuild rpmb --rebuild | |
319 | rpm exec --recompile rpmb --recompile |