- my $glob="$componentdir/*.src.rpm";
- @{[glob $glob]}==0 or die "Found some before test-srpm: $glob";
- # No `spawn' as we could get:
- # error: unpacking of archive failed on file X;4a56efef: cpio: MD5 sum mismatch
- mockrun "cd $componentdir; make test-srpm";
- my @srcrpm=(glob $glob);
- @srcrpm==1 or die "Did not find 1 srcrpm: @srcrpm";
- $srcrpm=$srcrpm[0];
- }
+ if ($cvsbasedir) {
+ die if !$cvsroot;
+ die if !$cvsrepo;
+ spawn "cd $distrodir; cvs -q -z3 -d $cvsroot co rpms/$cvsrepo/$cvsbasedir";
+ my $componentdir="$distrodir/rpms/$cvsrepo/$cvsbasedir";
+ -d $componentdir or die "Failed checkout to: $componentdir";
+ # Required for RHEL; Fedora does so automatically.
+ spawn "cd $componentdir/..; cvs -q -z3 -d $cvsroot co common";
+ # Workaround (RHEL-5?) curl which uses `Pragma: nocache' on $http_proxy.
+ subst sub { s{echo "curl }{$&-H 'Pragma: cache' }; },"$componentdir/../common/Makefile.common";
+
+ for my $file (@file) {
+ my $filebase=$file;
+ $filebase=~s{^.*/}{};
+ my $target="$componentdir/$filebase";
+ # Some *.patch files may be new.
+ # -f $target or die "File $file does not exist at $target";
+ spawn "rm -f $target; cp -p $file $target";
+ }
+
+ my $glob="$componentdir/*.src.rpm";
+ @{[glob $glob]}==0 or die "Found some before test-srpm: $glob";
+ # No `spawn' as we could get:
+ # error: unpacking of archive failed on file X;4a56efef: cpio: MD5 sum mismatch
+ mockrun "cd $componentdir; make test-srpm";
+ my @srcrpm=(glob $glob);
+ @srcrpm==1 or die "Did not find 1 srcrpm: @srcrpm";
+ $srcrpm=$srcrpm[0];
+ }