]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-test_stage.patch
- testing new pear provides/requires scripts
[packages/rpm.git] / rpm-test_stage.patch
CommitLineData
a83eeac3 1diff -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;
28diff -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) {
41diff -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 };
52diff -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;
71diff -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
138diff -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. */
149diff -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>") },
203diff -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 )
230diff -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
This page took 0.46179 seconds and 4 git commands to generate.