- 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";
+ 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];