2 AT_BANNER([RPM file replacement])
4 AT_SETUP([upgrade to/from regular file])
9 tf="${RPMTEST}"/opt/foo
10 rm -rf "${tf}" "${tf}".rpm*
13 runroot rpmbuild --quiet -bb \
15 --define "filetype file" \
16 --define "filedata foo" \
17 /data/SPECS/replacetest.spec
19 runroot rpmbuild --quiet -bb \
21 --define "filetype file" \
22 --define "filedata bar" \
23 /data/SPECS/replacetest.spec
25 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
27 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
29 runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
40 AT_SETUP([upgrade regular file to/from broken link])
41 AT_KEYWORDS([install])
45 tf="${RPMTEST}"/opt/foo
46 rm -rf "${RPMTEST}"/opt/*
49 runroot rpmbuild --quiet -bb \
51 --define "filetype file" \
52 --define "filedata foo" \
53 /data/SPECS/replacetest.spec
55 runroot rpmbuild --quiet -bb \
57 --define "filetype link" \
58 --define "filedata stuff" \
59 /data/SPECS/replacetest.spec
61 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
63 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
65 runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
76 AT_SETUP([upgrade regular file to/from file link])
77 AT_KEYWORDS([install])
81 tf="${RPMTEST}"/opt/foo
82 rm -rf "${RPMTEST}"/opt/*
85 runroot rpmbuild --quiet -bb \
87 --define "filetype file" \
88 --define "filedata foo" \
89 /data/SPECS/replacetest.spec
91 runroot rpmbuild --quiet -bb \
93 --define "filetype link" \
94 --define "filedata goo" \
95 /data/SPECS/replacetest.spec
97 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
99 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
101 runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
112 AT_SETUP([upgrade broken link to broken link])
113 AT_KEYWORDS([install])
117 tf="${RPMTEST}"/opt/foo
118 rm -rf "${RPMTEST}"/opt/*
121 runroot rpmbuild --quiet -bb \
123 --define "filetype link" \
124 --define "filedata stiff" \
125 /data/SPECS/replacetest.spec
127 runroot rpmbuild --quiet -bb \
129 --define "filetype link" \
130 --define "filedata stuff" \
131 /data/SPECS/replacetest.spec
133 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
135 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
145 AT_SETUP([upgrade file link to file link])
146 AT_KEYWORDS([install])
150 tf="${RPMTEST}"/opt/foo
151 rm -rf "${RPMTEST}"/opt/*
154 runroot rpmbuild --quiet -bb \
156 --define "filetype link" \
157 --define "filedata goo" \
158 /data/SPECS/replacetest.spec
160 runroot rpmbuild --quiet -bb \
162 --define "filetype link" \
163 --define "filedata goo" \
164 /data/SPECS/replacetest.spec
166 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
168 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
178 AT_SETUP([upgrade directory link to directory link])
179 AT_KEYWORDS([install])
183 tf="${RPMTEST}"/opt/foo
184 rm -rf "${RPMTEST}"/opt/*
187 runroot rpmbuild --quiet -bb \
189 --define "filetype link" \
190 --define "filedata zoo" \
191 /data/SPECS/replacetest.spec
193 runroot rpmbuild --quiet -bb \
195 --define "filetype link" \
196 --define "filedata zoo" \
197 /data/SPECS/replacetest.spec
199 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
201 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
211 AT_SETUP([upgrade regular file to directory])
212 AT_KEYWORDS([install])
216 tf="${RPMTEST}"/opt/foo
217 rm -rf "${RPMTEST}"/opt/*
220 runroot rpmbuild --quiet -bb \
222 --define "filetype file" \
223 --define "filedata foo" \
224 /data/SPECS/replacetest.spec
226 runroot rpmbuild --quiet -bb \
228 --define "filetype dir" \
229 /data/SPECS/replacetest.spec
231 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
233 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
242 AT_SETUP([upgrade broken link to directory])
243 AT_KEYWORDS([install])
247 tf="${RPMTEST}"/opt/foo
248 rm -rf "${RPMTEST}"/opt/*
251 runroot rpmbuild --quiet -bb \
253 --define "filetype link" \
254 --define "filedata other" \
255 /data/SPECS/replacetest.spec
257 runroot rpmbuild --quiet -bb \
259 --define "filetype dir" \
260 /data/SPECS/replacetest.spec
262 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
264 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
273 AT_SETUP([upgrade file link to directory])
274 AT_KEYWORDS([install])
278 tf="${RPMTEST}"/opt/foo
279 rm -rf "${RPMTEST}"/opt/*
282 runroot rpmbuild --quiet -bb \
284 --define "filetype link" \
285 --define "filedata goo" \
286 /data/SPECS/replacetest.spec
288 runroot rpmbuild --quiet -bb \
290 --define "filetype dir" \
291 /data/SPECS/replacetest.spec
293 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
295 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
304 AT_SETUP([upgrade directory link to directory])
305 AT_KEYWORDS([install])
309 tf="${RPMTEST}"/opt/foo
310 rm -rf "${RPMTEST}"/opt/*
313 runroot rpmbuild --quiet -bb \
315 --define "filetype link" \
316 --define "filedata zoo" \
317 /data/SPECS/replacetest.spec
319 runroot rpmbuild --quiet -bb \
321 --define "filetype dir" \
322 /data/SPECS/replacetest.spec
324 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
326 runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
331 [ file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
335 AT_SETUP([upgrade empty directory to empty directory])
336 AT_KEYWORDS([install])
340 tf="${RPMTEST}"/opt/foo
341 rm -rf "${RPMTEST}"/opt/*
344 runroot rpmbuild --quiet -bb \
346 --define "filetype dir" \
347 /data/SPECS/replacetest.spec
349 runroot rpmbuild --quiet -bb \
351 --define "filetype dir" \
352 /data/SPECS/replacetest.spec
354 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
355 test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
363 AT_SETUP([upgrade empty directory to regular file])
364 AT_KEYWORDS([install])
368 tf="${RPMTEST}"/opt/foo
369 rm -rf "${RPMTEST}"/opt/*
372 runroot rpmbuild --quiet -bb \
374 --define "filetype dir" \
375 /data/SPECS/replacetest.spec
377 runroot rpmbuild --quiet -bb \
379 --define "filetype file" \
380 --define "filedata woot" \
381 /data/SPECS/replacetest.spec
383 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
384 test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
388 [ file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
392 AT_SETUP([upgrade locally symlinked directory])
393 AT_KEYWORDS([install])
397 tf="${RPMTEST}"/opt/foo
398 rm -rf "${RPMTEST}"/opt/*
401 runroot rpmbuild --quiet -bb \
403 --define "filetype datadir" \
404 --define "filedata README1" \
405 --define "user $(id -u -n)" \
406 --define "grp $(id -g -n)" \
407 /data/SPECS/replacetest.spec
409 runroot rpmbuild --quiet -bb \
411 --define "filetype datadir" \
412 --define "filedata README2" \
413 --define "user $(id -u -n)" \
414 --define "grp $(id -g -n)" \
415 /data/SPECS/replacetest.spec
417 mkdir "${RPMTEST}"/opt/f00f
418 ln -s f00f "${RPMTEST}"/opt/foo
419 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
420 test -L "${tf}" && test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
421 test -L "${tf}" && test -d "${tf}"
428 AT_SETUP([upgrade invalid locally symlinked directory])
429 AT_KEYWORDS([install])
433 tf="${RPMTEST}"/opt/foo
434 rm -rf "${RPMTEST}"/opt/*
437 runroot rpmbuild --quiet -bb \
439 --define "filetype datadir" \
440 --define "filedata README1" \
441 /data/SPECS/replacetest.spec
443 runroot rpmbuild --quiet -bb \
445 --define "filetype datadir" \
446 --define "filedata README2" \
447 /data/SPECS/replacetest.spec
449 mkdir "${RPMTEST}"/opt/f00f
450 ln -s f00f "${RPMTEST}"/opt/foo
451 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
452 test -L "${tf}" && test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
460 AT_SETUP([upgrade empty directory to broken link])
461 AT_KEYWORDS([install])
465 tf="${RPMTEST}"/opt/foo
466 rm -rf "${RPMTEST}"/opt/*
469 runroot rpmbuild --quiet -bb \
471 --define "filetype dir" \
472 /data/SPECS/replacetest.spec
474 runroot rpmbuild --quiet -bb \
476 --define "filetype link" \
477 --define "filedata woot" \
478 /data/SPECS/replacetest.spec
480 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
481 test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
485 [ file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
489 AT_SETUP([upgrade empty directory to file link])
490 AT_KEYWORDS([install])
494 tf="${RPMTEST}"/opt/foo
495 rm -rf "${RPMTEST}"/opt/*
498 runroot rpmbuild --quiet -bb \
500 --define "filetype dir" \
501 /data/SPECS/replacetest.spec
503 runroot rpmbuild --quiet -bb \
505 --define "filetype link" \
506 --define "filedata woot" \
507 /data/SPECS/replacetest.spec
509 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
510 test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
514 [ file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
518 AT_SETUP([upgrade removed empty directory to file link])
519 AT_KEYWORDS([install])
523 tf="${RPMTEST}"/opt/foo
524 rm -rf "${RPMTEST}"/opt/*
527 runroot rpmbuild --quiet -bb \
529 --define "filetype dir" \
530 /data/SPECS/replacetest.spec
532 runroot rpmbuild --quiet -bb \
534 --define "filetype link" \
535 --define "filedata goo" \
536 /data/SPECS/replacetest.spec
538 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
539 test -d "${tf}" && rmdir "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
548 AT_SETUP([upgrade replaced empty directory to file link])
549 AT_KEYWORDS([install])
553 tf="${RPMTEST}"/opt/foo
554 rm -rf "${RPMTEST}"/opt/*
557 runroot rpmbuild --quiet -bb \
559 --define "filetype dir" \
560 /data/SPECS/replacetest.spec
562 runroot rpmbuild --quiet -bb \
564 --define "filetype link" \
565 --define "filedata goo" \
566 /data/SPECS/replacetest.spec
568 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
569 test -d "${tf}" && rmdir "${tf}" && ln -sf goo "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
578 AT_SETUP([upgrade empty directory to file link with pretrans])
579 AT_KEYWORDS([install])
583 tf="${RPMTEST}"/opt/foo
584 rm -rf "${RPMTEST}"/opt/*
587 runroot rpmbuild --quiet -bb \
589 --define "filetype dir" \
590 /data/SPECS/replacetest.spec
592 runroot rpmbuild --quiet -bb \
594 --define "filetype link" \
595 --define "filedata goo" \
596 --define "fixit posix.rmdir('/opt/foo')" \
597 /data/SPECS/replacetest.spec
599 runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
600 test -d "${tf}" && runroot rpm -U --test /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm