remove unused files
[platform/upstream/build.git] / substitutedeps
index d04aa52..3d77840 100755 (executable)
@@ -8,7 +8,6 @@ use strict;
 
 use Build;
 
-
 sub expand {
   my ($config, $str) = @_;
   my @xspec;
@@ -83,30 +82,30 @@ my $inchangelog = 0;
 my $mainpkg = '';
 my $pkg;
 
-for my $l (@$xspec) {
+for my $line (@$xspec) {
   $used = 1;
-  if (ref($l)) {
-    if (!defined($l->[1])) {
+  if (ref($line)) {
+    if (!defined($line->[1])) {
       $used = 0;
-      $l = $l->[0];
+      $line = $line->[0];
     } else {
-      $l = $l->[1];
+      $line = $line->[1];
     }
   }
 
   if ($inchangelog) {
-    $inchangelog = 0 if $l =~ /^\s*%[^%]/;
+    $inchangelog = 0 if $line =~ /^\s*%[^%]/;
     next if $inchangelog;
   }
-  if ($changelog && ($l =~ /\s*\%changelog\b/)) {
+  if ($changelog && ($line =~ /\s*\%changelog\b/)) {
     $inchangelog = 1;
     next;
   }
 
-  if ($l =~ /^Name\s*:\s*(\S+)/i) {
+  if ($line =~ /^Name\s*:\s*(\S+)/i) {
     $pkg = $mainpkg = $1 unless $mainpkg;
   }
-  if ($l =~ /^\s*%package\s+(-n\s+)?(\S+)/) {
+  if ($line =~ /^\s*%package\s+(-n\s+)?(\S+)/) {
     if ($1) {
       $pkg = $2;
     } else {
@@ -114,24 +113,33 @@ for my $l (@$xspec) {
     }
   }
 
-  if ($l =~ /^Release:/i) {
-    my $oldl = $l;
-    if ($release) {
-      if (!($l =~ s/<RELEASE\d*>/$release/g)) {
-       if ($l =~ /<(?:CI_CNT|B_CNT)>/) {
+  if ($line =~ /^Release:(.*)\s*$/i) {
+    my $spec_rel = $1; # User-provided value
+    my $oldl = $line;
+    if (defined $release) {
+      $line =~ s/<SPEC_REL>/$spec_rel/;
+      if (!($line =~ s/<RELEASE\d*>/$release/g)) {
+       if ($line =~ /<(?:CI_CNT|B_CNT)>/) {
          # XXX: should pass ci_cnt/b_cnt instead
          if ($release =~ /(\d+)\.(\d+)$/) {
            my ($ci, $b) = ($1, $2);
-           $l =~ s/<CI_CNT>/$ci/;
-           $l =~ s/<B_CNT>/$b/;
+           $line =~ s/<CI_CNT>/$ci/;
+           $line =~ s/<B_CNT>/$b/;
          } elsif ($release =~ /(\d+)$/) {
            my $b = $1;
-           $l =~ s/<B_CNT>/$b/ unless $l =~ s/<CI_CNT>/$b/;
+           $b = '0' if $line =~ s/<CI_CNT>/$b/;
+           $line =~ s/<B_CNT>/$b/;
          }
        } else {
-         $l =~ s/^(Release:\s*).*/$1$release/i;
+         $line =~ s/^(Release:\s*).*/$1$release/i;
        }
       }
+    } else {
+      # remove macros, as rpm doesn't like them
+      $line =~ s/<RELEASE\d*>/0/;
+      $line =~ s/<CI_CNT>/0/;
+      $line =~ s/<B_CNT>/0/;
+      $line =~ s/<SPEC_REL>/0/;
     }
     # this is to be compatible to legacy autobuild.
     # you can specify a releaseprg in the project configuration,
@@ -139,7 +147,7 @@ for my $l (@$xspec) {
     # output is used as a release.
     # use only if you really must.
     if ($cf->{'releaseprg'} && -f "$specdir$cf->{'releaseprg'}") {
-      my $newl = $l;
+      my $newl = $line;
       $newl =~ s/^Release:\s*//;
       $oldl =~ s/^Release:\s*//;
       my $project = expand($cf, "%?_project") || 'BUILD_BASENAME';
@@ -149,7 +157,7 @@ for my $l (@$xspec) {
       my $interpreter = "/bin/bash";
       if (open(RP, '<', "$specdir$cf->{'releaseprg'}")) {
        @nl = <RP>;
-        close RP;
+       close RP;
        if (@nl && $nl[0] =~ /^#!\s*(\S*)/) {
          $interpreter = $1;
        }
@@ -157,9 +165,9 @@ for my $l (@$xspec) {
       if ($buildroot) {
        my $sd = $specdir;
        $sd =~ s/^\Q$buildroot\E//;
-        open(RP, "-|", 'chroot', $buildroot, $interpreter, "$sd$cf->{'releaseprg'}", $project, $newl, $pkg, $arch) || die("$cf->{'releaseprg'}: $!\n");
+       open(RP, "-|", 'chroot', $buildroot, $interpreter, "$sd$cf->{'releaseprg'}", $project, $newl, $pkg, $arch) || die("$cf->{'releaseprg'}: $!\n");
       } else {
-        open(RP, "-|", $interpreter, "$specdir$cf->{'releaseprg'}", $project, $newl, $pkg, $arch) || die("$cf->{'releaseprg'}: $!\n");
+       open(RP, "-|", $interpreter, "$specdir$cf->{'releaseprg'}", $project, $newl, $pkg, $arch) || die("$cf->{'releaseprg'}: $!\n");
       }
       @nl = grep {$_ ne ''} <RP>;
       if (!close(RP)) {
@@ -175,25 +183,25 @@ for my $l (@$xspec) {
        } else {
          open(RP, "-|", 'rpm', '-q', '--qf', '%{RELEASE}', $relpkg) || die("rpm: $!\n");
        }
-        @nl = grep {$_ ne ''} <RP>;
-        if (!close(RP)) {
+       @nl = grep {$_ ne ''} <RP>;
+       if (!close(RP)) {
          warn("rpm package query of '$relpkg' failed: $?\n");
-        }
+       }
       }
       if ($nl[0]) {
        chomp $nl[0];
-       $l =~ s/^(Release:\s*).*/$1$nl[0]/i;
-        if ($release) {
-         if (!($l =~ s/<RELEASE\d*>/$release/g)) {
-           if ($l =~ /<(?:CI_CNT|B_CNT)>/) {
+       $line =~ s/^(Release:\s*).*/$1$nl[0]/i;
+       if (defined $release) {
+         if (!($line =~ s/<RELEASE\d*>/$release/g)) {
+           if ($line =~ /<(?:CI_CNT|B_CNT)>/) {
              # XXX: should pass ci_cnt/b_cnt instead
              if ($release =~ /(\d+)\.(\d+)$/) {
                my ($ci, $b) = ($1, $2);
-               $l =~ s/<CI_CNT>/$ci/;
-               $l =~ s/<B_CNT>/$b/;
+               $line =~ s/<CI_CNT>/$ci/;
+               $line =~ s/<B_CNT>/$b/;
              } elsif ($release =~ /(\d+)$/) {
                my $b = $1;
-               $l =~ s/<B_CNT>/$b/ unless $l =~ s/<CI_CNT>/$b/;
+               $line =~ s/<B_CNT>/$b/ unless $line =~ s/<CI_CNT>/$b/;
              }
            }
          }
@@ -203,14 +211,19 @@ for my $l (@$xspec) {
     # all compat stuff done. we return to your scheduled program
   }
 
-  if (!$used || ($l !~ /^(?:Build)?Requires:/i)) {
-    print F "$l\n";
+  if (!$used || ($line !~ /^(?:Build)?Requires:/i)) {
+    print F "$line\n";
+    next;
+  }
+  if ($line =~ /%\(/) {
+    # too hard for us
+    print F "$line\n";
     next;
   }
 
   my $isbuildrequires = 0;
-  $isbuildrequires = 1 if $l =~ /^BuildRequires:/i;
-  my $r = $l;
+  $isbuildrequires = 1 if $line =~ /^BuildRequires:/i;
+  my $r = $line;
   $r =~ s/^[^:]*:\s*//;
   my @deps = $r =~ /([^\s\[,]+)(\s+[<=>]+\s+[^\s\[,]+)?[\s,]*/g;
   my @ndeps = ();
@@ -241,10 +254,10 @@ for my $l (@$xspec) {
     $replace = 1
   }
   if ($replace) {
-    $l =~ /^(.*?:\s*)/;
+    $line =~ /^(.*?:\s*)/;
     print F $1.join(' ', @ndeps)."\n" if @ndeps;
   } else {
-    print F "$l\n";
+    print F "$line\n";
   }
 }